STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228125
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/17228842?noj=FRM17228842-13DC" width="1" height="1"></div>

Monkie.swf

This is the info page for
Flash #117958

(Click the ID number above for more basic data on this flash file.)


Text
MONKIE

<p align="center"><font face="Ben krush" size="15" color="#ffff00" letterSpacing="1.000000" kerning="0">loading</font></p>

start

GAME
OVER

200

submit

submit

retry

retry

Credits

Credits

START GAME

START GAME

MORE GAMES

MORE GAMES

<p align="left"><font face="Ben krush" size="15" color="#ffffff" letterSpacing="1.000000" kerning="0"><a href="http://www.smileygamer.com/freecontent.html?gameref=4773" target = "_blank">add this game to your site</a></font></p>

back

back

By pressing the left mouse button hit the next plaform to
jump on it!
Score is based on your distance and bonuses you collect on
your way!
Bonuses are displayed on the rotating platforms:
Numbers = extra score
L- = -1 life
L+ = 2 extra lives
You have 5 lives, you lose one for each missed shot.

How to play

CREDITS

BG graphics: Petr charvat

sounds: soundsnap.com

Author: shajby.borec.cz

SET THE DIRECTION FOR SECOND HAND!

sponsor

R

0

DISTANCE:

ActionScript [AS3]

Section 1
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local2:uint; var _local3:String; _local2 = 0; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function concatObjects(... _args):Object{ var _local2:Object; var _local3:Object; var _local4:int; var _local5:String; _local2 = {}; _local4 = 0; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package caurina.transitions
Section 2
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var originalValueComplete:Object; public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var hasModifier:Boolean; public var valueComplete:Number; public var extra:Object; public var valueStart:Number; public var modifierFunction:Function; public var arrayIndex:Number; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function toString():String{ var _local1:String; _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj; _local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var preProcess:Function; public var setValue:Function; public var getValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 5
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 6
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 7
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ var _local4:SpecialPropertyModifier; if (!_inited){ init(); }; _local4 = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ var _local6:SpecialProperty; if (!_inited){ init(); }; _local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; _local5 = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local6 = (isNaN(_local5.time)) ? 0 : _local5.time; _local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local3:TweenListObj; var _local4:TweenListObj; var _local5:uint; var _local6:String; var _local7:Boolean; _local3 = _tweenList[_arg1]; _local4 = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; var _local3:Number; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; _local3 = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.31.74"); } public static function onEnterFrame(_arg1:Event):void{ var _local2:Boolean; updateTime(); updateFrame(); _local2 = false; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var isOver:Boolean; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var cTime:Number; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; isOver = false; cTime = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } public static function removeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:Array; var _local11:Object; var _local12:Object; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; _local7 = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local8 = (isNaN(_local7.time)) ? 0 : _local7.time; _local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay; _local10 = new Array(); _local11 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; _local12 = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local4:Boolean; var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; _local4 = false; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; var _local4:Array; if (!Boolean(_tweenList)){ return ([]); }; _local4 = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; var _local3:Number; if (!Boolean(_tweenList)){ return (0); }; _local3 = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removed:Boolean; var removedLocally:Boolean; var i:uint; var tl:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; removed = false; tl = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ var _local4:SpecialPropertySplitter; if (!_inited){ init(); }; _local4 = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var onUpdate:Function; public var useFrames:Boolean; public var hasStarted:Boolean; public var onOverwriteParams:Array; public var timeStart:Number; public var count:Number; public var timeComplete:Number; public var onStartParams:Array; public var onUpdateScope:Object; public var rounded:Boolean; public var onUpdateParams:Array; public var properties:Object; public var onComplete:Function; public var transitionParams:Object; public var updatesSkipped:Number; public var onStart:Function; public var onOverwriteScope:Object; public var skipUpdates:Number; public var onStartScope:Object; public var scope:Object; public var transition:Function; public var timePaused:Number; public var onCompleteParams:Array; public var timesCalled:Number; public var isCaller:Boolean; public var onError:Function; public var onErrorScope:Object; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public var onCompleteScope:Object; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local2:TweenListObj; var _local3:String; _local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local1:String; var _local2:Boolean; var _local3:String; _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); _local2 = true; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 9
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class AdLoader extends Sprite { private var contentspotid:String; private var cpmstarLoader:Loader; public function AdLoader(_arg1:String){ this.contentspotid = _arg1; addEventListener(Event.ADDED, addedHandler); } private function addedHandler(_arg1:Event):void{ var _local2:String; var _local3:DisplayObjectContainer; removeEventListener(Event.ADDED, addedHandler); Security.allowDomain("server.cpmstar.com"); _local2 = "http://server.cpmstar.com/adviewas3.swf"; _local3 = parent; cpmstarLoader = new Loader(); cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler); cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler); cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid))); addChild(cpmstarLoader); } private function dispatchHandler(_arg1:Event):void{ dispatchEvent(_arg1); } } }//package CPMStar
Section 10
//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"; public static var _inventory:MochiInventory; public static function triggerEvent(_arg1:String, _arg2:Object):void{ MochiSocial.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.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.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } 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.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.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _inventory = new MochiInventory(); }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 11
//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 set value(_arg1:Number):void{ setValue(_arg1); } public function reencode():void{ var _local1:uint; _local1 = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function toString():String{ var _local1:String; _local1 = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function get value():Number{ return (Number(this.toString())); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String; _local3 = _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 addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 12
//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 13
//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 _local3:Object; var _local4:Object; _local3 = {}; 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 14
//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 _consumableProperties:Object; private var _syncID:Number; 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.consumable){ if (!this[_arg1.privateProperties.tag]){ this[_arg1.privateProperties.tag] = 0; }; this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count)); }; } 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); } 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 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)); } 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 sync(_arg1:Event=null):void{ var _local2:Object; var _local3:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; _local2 = {}; 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)]); } private function loggedIn(_arg1:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } 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 itemOwned(_arg1:Object):void{ _storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count}; } private function putConsumableBag(_arg1:MochiUserData):void{ _syncPending = false; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } 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]); }; 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 15
//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)){ } 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 _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; 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 16
//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 { 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; public static var servicesSync:MochiSync = new MochiSync(); private static var _nextCallbackID:Number; private static var _clip:MovieClip; 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 _loader:Loader; 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 cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = _callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = 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); }; } public static function get childClip():Object{ return (_clip); } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local3:Array; var _local4:int; var _local5:Array; var _local6:Array; var _local7:MovieClip; var _local8:LocalConnection; var _local9:String; var _local10:ByteArray; var _local11:ByteArray; var _local12:uint; var _local13:uint; var _local14:Loader; _local3 = [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]; _local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; _local6 = [0, 64, 0, 0, 0]; _local7 = new MovieClip(); _local8 = new LocalConnection(); _local9 = ((("_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); _local10 = new ByteArray(); _local11 = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); _local12 = ((_local3.length + _local11.length) + 4); _local13 = (_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); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; 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; vars = 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); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ var _local2:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); _local2 = 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 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(); } 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.8 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } public static function warnID(_arg1:String, _arg2:Boolean):void{ var _local3:Number; _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; }; }; }; _local3 = 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; var _local3:String; _local2 = _arg1.target; _local3 = _arg1.event; switch (_local2){ case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "sync": servicesSync.triggerEvent(_arg1.event, _arg1.args); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local2:Object; var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; _local2 = {}; 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 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"); } 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()); }; }; } private static function loadLCBridge(_arg1:Object):void{ var loader:Loader; var mochiLCURL:String; var req:URLRequest; var complete:Function; var clip = _arg1; loader = new Loader(); mochiLCURL = (_servURL + _mochiLC); req = new URLRequest(mochiLCURL); complete = function (_arg1:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } 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 get clip():Object{ return (_container); } 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{ var _local3:String; var _local4:URLRequest; var _local5:URLVariables; if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; _local3 = (_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(IOErrorEvent.IO_ERROR, loadError); _local4 = new URLRequest(_local3); _local5 = 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 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 updateCopy(_arg1:Object):void{ MochiServices.send("coins_updateCopy", _arg1, null, null); } 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"); }; } } }//package mochi.as3
Section 17
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const USER_INFO:String = "UserInfo"; public static const ERROR:String = "Error"; public static const LOGIN_SHOW:String = "LoginShow"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_SHOWN:String = "LoginShown"; public static const LOGIN_HIDE:String = "LoginHide"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _user_info:Object = null; public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("coins_saveUserProperties", _arg1); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:_arg1}); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function requestLogin():void{ MochiServices.send("coins_requestLogin"); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("coins_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 18
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_PROPERTY:String = "UpdateProperty"; public static var SYNC_REQUEST:String = "SyncRequest"; public function MochiSync():void{ _syncContainer = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ switch (_arg1){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[_arg2.name] = _arg2.value; break; }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_syncContainer[_arg1]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:String; if (_syncContainer[_arg1] == _arg2){ return; }; _local3 = _arg1.toString(); _syncContainer[_local3] = _arg2; MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2}); } } }//package mochi.as3
Section 19
//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 error:Event;// = null public var key:String;// = null public var operation:String;// = null public var data;// = null public var _loader:URLLoader; public function MochiUserData(_arg1:String="", _arg2:Function=null){ key = null; data = null; error = null; operation = null; callback = null; super(); this.key = _arg1; this.callback = _arg2; } public function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString()))); } public function putEvent(_arg1):void{ request("put", serialize(_arg1)); } public function request(_arg1:String, _arg2:ByteArray):void{ var api_url:String; var api_token:String; var args:URLVariables; var req:URLRequest; var _operation = _arg1; var _data = _arg2; operation = _operation; api_url = MochiSocial.getAPIURL(); api_token = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); args = new URLVariables(); args.op = _operation; args.key = key; req = 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 performCallback():void{ try { callback(this); } catch(e:Error) { trace(("[MochiUserData] exception during callback: " + e)); }; } public function serialize(_arg1):ByteArray{ var _local2:ByteArray; _local2 = 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 getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } 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 function deserialize(_arg1:ByteArray){ _arg1.objectEncoding = ObjectEncoding.AMF3; _arg1.uncompress(); return (_arg1.readObject()); } public static function get(_arg1:String, _arg2:Function):void{ var _local3:MochiUserData; _local3 = new MochiUserData(_arg1, _arg2); _local3.getEvent(); } public static function put(_arg1:String, _arg2, _arg3:Function):void{ var _local4:MochiUserData; _local4 = new MochiUserData(_arg1, _arg3); _local4.putEvent(_arg2); } } }//package mochi.as3
Section 20
//222_50 (monkie_fla.222_50) package monkie_fla { import flash.display.*; public dynamic class 222_50 extends MovieClip { public var ruka:MovieClip; } }//package monkie_fla
Section 21
//adBox_3 (monkie_fla.adBox_3) package monkie_fla { import flash.display.*; public dynamic class adBox_3 extends MovieClip { public var logo:MovieClip; public function adBox_3(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ logo.gotoAndStop(1); } } }//package monkie_fla
Section 22
//adBoxcopy2_20 (monkie_fla.adBoxcopy2_20) package monkie_fla { import flash.display.*; public dynamic class adBoxcopy2_20 extends MovieClip { public var logo:MovieClip; public function adBoxcopy2_20(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 23
//btnBack_42 (monkie_fla.btnBack_42) package monkie_fla { import flash.display.*; public dynamic class btnBack_42 extends MovieClip { public function btnBack_42(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 24
//btnCredits_31 (monkie_fla.btnCredits_31) package monkie_fla { import flash.display.*; public dynamic class btnCredits_31 extends MovieClip { public function btnCredits_31(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 25
//btnMore2_33 (monkie_fla.btnMore2_33) package monkie_fla { import flash.display.*; public dynamic class btnMore2_33 extends MovieClip { public function btnMore2_33(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 26
//btnRetry_19 (monkie_fla.btnRetry_19) package monkie_fla { import flash.display.*; public dynamic class btnRetry_19 extends MovieClip { public function btnRetry_19(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 27
//BTNsTARTE_32 (monkie_fla.BTNsTARTE_32) package monkie_fla { import flash.display.*; public dynamic class BTNsTARTE_32 extends MovieClip { public function BTNsTARTE_32(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 28
//btnSubmit_18 (monkie_fla.btnSubmit_18) package monkie_fla { import flash.display.*; public dynamic class btnSubmit_18 extends MovieClip { public function btnSubmit_18(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 29
//counter_53 (monkie_fla.counter_53) package monkie_fla { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class counter_53 extends MovieClip { public var btnRestart:MovieClip; public var linkMe:MovieClip; public var btnMute:MovieClip; public var mc_level:MovieClip; public var info:TextField; public var audio:Number; public function counter_53(){ addFrameScript(0, frame1); } public function rollMe(_arg1:MouseEvent):void{ if (_arg1.target.name == "btnRestart"){ info.text = "Restart"; }; if (_arg1.target.name == "btnExit"){ info.text = "Exit"; }; if (_arg1.target.name == "btnMute"){ info.text = "Mute"; }; } public function mute(_arg1:MouseEvent):void{ if (audio == 1){ audio = 0; btnMute.alpha = 0.6; SoundMixer.soundTransform = new SoundTransform(0); } else { audio = 1; btnMute.alpha = 1; SoundMixer.soundTransform = new SoundTransform(1); }; } public function rollMeOut(_arg1:MouseEvent):void{ info.text = ""; } function frame1(){ mc_level.alpha = 0; btnRestart.addEventListener(MouseEvent.CLICK, MovieClip(root).game.restart); btnMute.addEventListener(MouseEvent.CLICK, mute); btnRestart.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnMute.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnRestart.addEventListener(MouseEvent.ROLL_OUT, rollMeOut); btnMute.addEventListener(MouseEvent.ROLL_OUT, rollMeOut); btnRestart.buttonMode = true; btnMute.buttonMode = true; audio = 1; } } }//package monkie_fla
Section 30
//extra_40 (monkie_fla.extra_40) package monkie_fla { import flash.events.*; import caurina.transitions.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class extra_40 extends MovieClip { public var btnBack:MovieClip; public function extra_40(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function rollMe(_arg1:MouseEvent):void{ if (_arg1.target.currentFrame == 1){ _arg1.target.gotoAndStop(2); MovieClip(root).playSound(new clickSound(), 0.4, 0, 50); } else { _arg1.target.gotoAndStop(1); }; } public function initBack():void{ btnBack.addEventListener(MouseEvent.CLICK, back); btnBack.buttonMode = true; btnBack.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnBack.addEventListener(MouseEvent.ROLL_OUT, rollMe); } function frame3(){ initBack(); } function frame1(){ stop(); } function frame2(){ stop(); initBack(); } public function back(_arg1:MouseEvent):void{ Tweener.addTween(this, {y:-450, time:1}); } } }//package monkie_fla
Section 31
//game_46 (monkie_fla.game_46) package monkie_fla { import flash.events.*; import caurina.transitions.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class game_46 extends MovieClip { public var speedRot:Number; public var radian:Number; public var climber:MovieClip; public var origY:Number; public var kotva:MovieClip; public var thrown:Boolean; public var livesCount:Number; public var moving:Number; public var speed:Number; public var c:Rock; public var angleChange:Number; public var counting:Boolean; public var posX:Number; public var posY:Number; public var dir:Number; public var radius:Number; public var score:Number; public var centerX:Number; public var centerY:Number; public var angle:Number; public var dirClimber:Number; public var lastHelp:Boolean; public var angle_circ:Number; public var climbing:Boolean; public var init:Number; public var shown:Boolean; public var total:Number; public var top:MovieClip; public var kotva2:MovieClip; public var canvas:Sprite; public var max:Number; public var item2:Rock; public var item4:Rock; public var level:Number; public var item1:Rock; public var item3:Rock; public var mcOver:MovieClip; public var posInit:Number; public var target:MovieClip; public var limit:Number; public var pointsMc:MovieClip; public var canvas2:Sprite; public var distance:Number; public function game_46(){ addFrameScript(0, frame1); } public function makeRope(_arg1:Event):void{ if (climbing){ this.x = (posX - climber.x); MovieClip(root).background.x = ((posX - climber.x) + posInit); if (MovieClip(root).background.x <= (-1100 - (MovieClip(root).background.width / 2))){ MovieClip(root).background.x = -1100; posInit = (posInit + (MovieClip(root).background.width / 2)); }; }; if (kotva2.visible){ kotva2.rotation = (Math.atan2((mouseY - kotva2.y), (mouseX - kotva2.x)) * (180 / Math.PI)); }; if (climber.x > max){ max = climber.x; MovieClip(root).tf_score.text = String(Math.floor((max - posX))); }; checkCollision(); centerX = climber.x; centerY = climber.y; if (!climbing){ if (!thrown){ if (kotva.rotation <= -90){ kotva.rotation = -90; dir = 1; } else { if (kotva.rotation >= 90){ dir = 2; kotva.rotation = 90; }; }; if (dir == 1){ angleChange = speedRot; } else { angleChange = -(speedRot); }; radian = deg2rad(angle_circ); kotva.x = (centerX + (radius * Math.cos(radian))); kotva.y = (centerY + (radius * Math.sin(radian))); angle_circ = (angle_circ + angleChange); angle_circ = (angle_circ % 360); kotva.rotation = (kotva.rotation + angleChange); kotva.visible = true; drawLine(); } else { kotva.x = (kotva.x + (Math.cos(radian) * 25)); kotva.y = (kotva.y + (Math.sin(radian) * 25)); climber.y = (climber.y + 3); if (((((((kotva.hitTestObject(MovieClip(root).top)) || (kotva.hitTestObject(MovieClip(root).bottom)))) || (kotva.hitTestObject(MovieClip(root).right)))) || (kotva.hitTestObject(MovieClip(root).left)))){ thrown = false; ukonci(); return; }; drawLine(); }; } else { rotating(); }; } public function restart(_arg1:MouseEvent):void{ deleteAll("restart"); } public function ukonci():void{ canvas.graphics.clear(); canvas2.graphics.clear(); stage.removeEventListener(Event.ENTER_FRAME, makeRope); Tweener.addTween(climber, {y:550, time:1, transition:"linear", onComplete:showEnd}); MovieClip(root).playSound(new babyangry(), 1, 0, 300); kotva2.visible = false; kotva.visible = false; } public function goRight(_arg1):void{ Tweener.addTween(_arg1, {x:(_arg1.x + 130), time:speed, transition:"linear", onComplete:goLeft, onCompleteParams:[_arg1]}); } public function checkLife():void{ } function frame1(){ stop(); thrown = false; angleChange = 10; speedRot = 5; angle_circ = 0; radius = 60; centerX = climber.x; centerY = climber.y; radian = 0; total = 4; climbing = false; distance = 400; posX = climber.x; posY = climber.y; top = item4; canvas = new Sprite(); canvas2 = new Sprite(); livesCount = 5; limit = -10; score = 0; moving = 0; speed = 2; addChild(canvas); addChild(canvas2); addChild(kotva); addChild(climber); SoundMixer.stopAll(); MovieClip(root).playSound(new jungle(), 0.4, 999); MovieClip(root).playSound(new jungleSound(), 0.1, 999); counting = false; origY = 0; dir = 1; max = climber.x; init = 159.9; posInit = -1100; dirClimber = 2; kotva2.visible = false; lastHelp = false; c.stop(); shown = false; initGame(); } public function initHelp():void{ showLevelInfo(0); } public function setLife(_arg1:Number):void{ var _local2:*; var _local3:*; livesCount = (livesCount + _arg1); if (livesCount == 0){ MovieClip(root).lives[("kotva" + 1)].alpha = 0.3; MovieClip(root).counter.mc_level.y = -300; Tweener.removeAllTweens(); } else { if (livesCount >= 5){ livesCount = 5; }; }; _local2 = 1; while (_local2 <= 5) { MovieClip(root).lives[("kotva" + _local2)].alpha = 0.3; _local2++; }; _local3 = 1; while (_local3 <= livesCount) { MovieClip(root).lives[("kotva" + _local3)].alpha = 1; _local3++; }; } public function showEnd():void{ var _local1:Number; mcOver = new gameOver(); MovieClip(root).addChild(mcOver); mcOver.x = 275; mcOver.y = 220; mcOver.scaleX = (mcOver.scaleY = 0); Tweener.addTween(mcOver, {scaleY:1, scaleX:1, time:1}); MovieClip(root).playSound(new gameSound(), 1, 0, 100); _local1 = Math.abs(Number(MovieClip(root).tf_score.text)); mcOver.score.text = _local1.toString(); } public function remove(_arg1:MovieClip):void{ removeChild(_arg1); } public function hideMe():void{ if (MovieClip(root).counter.mc_level.alpha != 0){ Tweener.addTween(MovieClip(root).counter.mc_level, {alpha:0, time:1}); }; } public function backScale():void{ Tweener.addTween(climber, {transition:"linear", scaleX:1, scaleY:1, time:0.5}); } public function throwRope(_arg1:MouseEvent):void{ if (!thrown){ thrown = true; MovieClip(root).playSound(new shootSound(), 0.3, 0, 100); } else { if (kotva.visible){ kotva2.visible = false; climbing = false; thrown = true; kotva.x = kotva2.x; kotva.y = kotva2.y; kotva.rotation = kotva2.rotation; angle_circ = kotva.rotation; radian = deg2rad(angle_circ); MovieClip(root).playSound(new shootSound(), 0.5, 0, 100); if (((shown) && (!(lastHelp)))){ lastHelp = true; showLevelInfo(2); }; }; }; } public function goLeft(_arg1):void{ Tweener.addTween(_arg1, {x:(_arg1.x - 130), time:speed, transition:"linear", onComplete:goRight, onCompleteParams:[_arg1]}); } public function initGame():void{ moving = 0; speed = 2; MovieClip(root).gp++; if (MovieClip(root).gp == 4){ MovieClip(root).gp = 1; }; climber.counter.text = "0"; level = 0; stage.addEventListener(Event.ENTER_FRAME, makeRope); MovieClip(root).active.addEventListener(MouseEvent.MOUSE_DOWN, throwRope); } public function checkCollision():void{ var _local1:uint; var _local2:Number; var _local3:Number; _local1 = 1; while (_local1 <= total) { if (this[("item" + _local1)]){ if (((((thrown) && (!((target == this[("item" + _local1)]))))) && (HitTest.complexHitTestObject(kotva, this[("item" + _local1)], 1)))){ if (!shown){ shown = true; showLevelInfo(1); }; kotva.y = this[("item" + _local1)].y; target = this[("item" + _local1)]; Tweener.removeTweens(this[("item" + _local1)]); _local2 = ((kotva.y - target.height) - (climber.height / 2)); dirClimber = 2; angle = Math.atan2((kotva.y - climber.y), (kotva.x - climber.x)); angle_circ = (angle * (180 / Math.PI)); climber.rotation = angle_circ; angle_circ = ((angle * (180 / Math.PI)) - 180); canvas.graphics.clear(); climbing = true; kotva2.visible = true; break; }; }; if (this[("item" + _local1)].x < (climber.x - 400)){ Tweener.removeTweens(this[("item" + _local1)]); this[("item" + _local1)].x = (top.x + (310 + (Math.random() * 200))); if ((this[("item" + _local1)].scaleX - (1 / 10)) > 0.4){ this[("item" + _local1)].scaleX = (this[("item" + _local1)].scaleX - (1 / 10)); } else { goLeft(this[("item" + _local1)]); moving++; if (moving > 5){ speed = (speed - 0.2); moving = 0; }; if (speed < 0.2){ speed = 0.2; }; }; this[("item" + _local1)].y = (this[("item" + _local1)].y + (-60 + (Math.random() * 120))); if (this[("item" + _local1)].y < 10){ this[("item" + _local1)].y = 10; }; if (this[("item" + _local1)].y > 122){ this[("item" + _local1)].y = 122; }; this[("item" + _local1)].visible = true; _local3 = 0; top = this[("item" + _local1)]; }; _local1++; }; } public function setScore(_arg1:Number):void{ score = (score + _arg1); } public function reached():void{ centerX = climber.x; centerY = climber.y; climbing = false; thrown = false; } public function rotating():void{ var _local1:*; if (climber.rotation <= -170){ if (dirClimber == 2){ }; dirClimber = 1; } else { if (climber.rotation >= -10){ if (dirClimber == 1){ }; dirClimber = 2; }; }; if (dirClimber == 1){ angleChange = 3; } else { angleChange = -3; }; radian = deg2rad(angle_circ); _local1 = Point.distance(new Point(kotva.x, kotva.y), new Point(climber.x, climber.y)); climber.x = (kotva.x + (_local1 * Math.cos(radian))); climber.y = (kotva.y + (_local1 * Math.sin(radian))); angle_circ = (angle_circ + angleChange); angle_circ = (angle_circ % 360); kotva2.x = climber.x; kotva2.y = climber.y; climber.rotation = (climber.rotation + angleChange); kotva.rotation = climber.rotation; drawLine(); } public function drawLine():void{ canvas.graphics.clear(); canvas.graphics.lineStyle(4, MovieClip(root).rukaColor); canvas.graphics.moveTo(climber.x, climber.y); canvas.graphics.lineTo(kotva.x, kotva.y); } public function showStopa():void{ var _local1:MovieClip; _local1 = new Kotva(); _local1.y = kotva.y; _local1.x = kotva.x; _local1.rotation = kotva.rotation; addChild(_local1); swapChildren(_local1, kotva); swapChildren(_local1, climber); Tweener.addTween(_local1, {alpha:0, time:1, transition:"linear", onComplete:remove, onCompleteParams:[_local1]}); } public function deg2rad(_arg1:Number):Number{ return ((_arg1 * (Math.PI / 180))); } public function showLevelInfo(_arg1:Number):void{ var _local2:String; if (_arg1 == 0){ _local2 = "Use left mouse click to hit the tree branch!"; Tweener.addTween(MovieClip(root).counter.mc_level, {alpha:1, time:2}); }; if (_arg1 == 1){ MovieClip(root).counter.mc_level.alpha = 1; _local2 = "By mouse set the direction for the second hand and click to hit the another branch!"; Tweener.addTween(MovieClip(root).counter.mc_level, {alpha:1, time:2}); }; if (_arg1 == 2){ MovieClip(root).counter.mc_level.alpha = 1; _local2 = "Get as far as you can!"; Tweener.addTween(MovieClip(root).counter.mc_level, {alpha:1, time:2, onComplete:hideMe}); }; MovieClip(root).counter.mc_level.level.text = _local2; } public function drawLine2():void{ canvas2.graphics.clear(); canvas2.graphics.lineStyle(4, 0x663300); canvas2.graphics.moveTo(climber.x, climber.y); canvas2.graphics.lineTo(kotva.x, kotva.y); } public function deleteAll(_arg1:String):void{ var _local2:Number; stage.removeEventListener(Event.ENTER_FRAME, makeRope); MovieClip(root).active.removeEventListener(MouseEvent.MOUSE_DOWN, throwRope); Tweener.removeAllTweens(); SoundMixer.stopAll(); if (_arg1 == "restart"){ y = 0; MovieClip(root).gotoAndStop("restart"); }; if (_arg1 == "over"){ MovieClip(root).addChild(mcOver); mcOver.y = -400; Tweener.addTween(mcOver, {y:0, time:1}); x = 0; SoundMixer.stopAll(); MovieClip(root).playSound(new gameSound(), 1, 0, 100); _local2 = Math.abs(Number(MovieClip(root).tf_score.text)); mcOver.score.text = _local2.toString(); }; if (_arg1 == "menu"){ y = 0; gotoAndStop("exit"); }; } } }//package monkie_fla
Section 32
//hlavy1copy_7 (monkie_fla.hlavy1copy_7) package monkie_fla { import flash.display.*; import flash.text.*; public dynamic class hlavy1copy_7 extends MovieClip { public var counter:TextField; public var hlava:MovieClip; public var usi:MovieClip; public function hlavy1copy_7(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 33
//hlavy1copy2_48 (monkie_fla.hlavy1copy2_48) package monkie_fla { import flash.display.*; import flash.text.*; public dynamic class hlavy1copy2_48 extends MovieClip { public var counter:TextField; public var hlava:MovieClip; public var usi:MovieClip; public function hlavy1copy2_48(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 34
//intro_21 (monkie_fla.intro_21) package monkie_fla { import flash.display.*; public dynamic class intro_21 extends MovieClip { public function intro_21(){ addFrameScript(165, frame166); } function frame166(){ stop(); MovieClip(root).play(); } } }//package monkie_fla
Section 35
//kotva2_45 (monkie_fla.kotva2_45) package monkie_fla { import flash.display.*; public dynamic class kotva2_45 extends MovieClip { public var climber:MovieClip; } }//package monkie_fla
Section 36
//levelMc_54 (monkie_fla.levelMc_54) package monkie_fla { import flash.display.*; import flash.text.*; public dynamic class levelMc_54 extends MovieClip { public var level:TextField; } }//package monkie_fla
Section 37
//lives_44 (monkie_fla.lives_44) package monkie_fla { import flash.display.*; public dynamic class lives_44 extends MovieClip { public var kotva2:MovieClip; public var kotva1:MovieClip; public var kotva3:MovieClip; public var kotva5:MovieClip; public var kotva4:MovieClip; } }//package monkie_fla
Section 38
//MainTimeline (monkie_fla.MainTimeline) package monkie_fla { import flash.events.*; import caurina.transitions.*; import flash.display.*; import flash.geom.*; import mochi.as3.*; import flash.utils.*; import flash.media.*; import flash.net.*; import CPMStar.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var counter:MovieClip; public var loaded:Number; public var left:MovieClip; public var tmGame:Timer; public var extra:MovieClip; public var sites:Array; public var right:MovieClip; public var logoSmile:MovieClip; public var s1:MovieClip; public var s3:MovieClip; public var s4:MovieClip; public var ad:DisplayObject; public var prel:MovieClip; public var bottom:MovieClip; public var rukaColor; public var c1:MovieClip; public var c3:MovieClip; public var c4:MovieClip; public var c5:MovieClip; public var c6:MovieClip; public var c7:MovieClip; public var c8:MovieClip; public var c2:MovieClip; public var s2:MovieClip; public var bc:MovieClip; public var c9:MovieClip; public var pos:Number; public var blue:Number; public var i; public var efekt:MovieClip; public var smiley:MovieClip; public var preloader1:MovieClip; public var k; public var testClipTransform:ColorTransform; public var tf_score:TextField; public var j; public var red:Number; public var CPMStarContentSpotID:String; public var btnCredits:MovieClip; public var adBox:MovieClip; public var climb:MovieClip; public var domain:String; public var btnOpenMe:MovieClip; public var gp:Number; public var active:MovieClip; public var lives:MovieClip; public var green:Number; public var shown:Number; public var background:MovieClip; public var initX; public var top:MovieClip; public var zakaz:Boolean; public var btnStart:MovieClip; public var arr_btn:Array; public var meter:TextField; public var logo:MovieClip; public var c10:MovieClip; public var c11:MovieClip; public var btnMore:MovieClip; public var c12:MovieClip; public var btnSt:MovieClip; public var game:MovieClip; public function MainTimeline(){ addFrameScript(0, frame1, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7); } public function gotoGame(_arg1:MouseEvent):void{ removeChild(adBox); gotoAndStop("intro"); } public function rollMeOut(_arg1:MouseEvent):void{ _arg1.target.gotoAndStop(1); } public function playSound(_arg1:Sound, _arg2:Number, _arg3:Number=0, _arg4:Number=0):void{ var _local5:*; var _local6:SoundTransform; _local5 = _arg1.play(_arg4, _arg3); _local6 = _local5.soundTransform; _local6.volume = _arg2; _local5.soundTransform = _local6; } function frame4(){ red = 102; green = 51; blue = 0; rukaColor = 0x663300; gp = 0; testClipTransform = new ColorTransform(0, 0, 0, 1, red, green, blue, 0); efekt.mouseEnabled = false; stage.showDefaultContextMenu = false; arr_btn = []; arr_btn.push(logo, btnStart, btnCredits, btnMore); pos = 0; j = 1; while (j <= 12) { this[("c" + j)].gotoAndStop(j); this[("c" + j)].buttonMode = true; this[("c" + j)].mouseChildren = false; arr_btn.push(this[("c" + j)]); j++; }; i = 0; while (i < arr_btn.length) { arr_btn[i].scaleX = (arr_btn[i].scaleY = 0); i++; }; showNext(); stop(); initButtons(); playSound(new MenuMusic(), 1, 999); } function frame6(){ prevFrame(); } function frame3(){ stop(); logoSmile.addEventListener(MouseEvent.CLICK, openLink3); logoSmile.buttonMode = true; logoSmile.mouseChildren = false; } function frame5(){ Tweener.addTween(s3, {scaleY:0, time:1, transition:"linear"}); Tweener.addTween(s4, {scaleY:0, time:1, transition:"linear", onComplete:initMe}); game.climber.hlava.transform.colorTransform = testClipTransform; game.climber.usi.usi.transform.colorTransform = testClipTransform; game.kotva2.ruka.transform.colorTransform = testClipTransform; } function frame1(){ stop(); MochiServices.connect("631f0c8de486dded", root); btnSt.addEventListener(MouseEvent.CLICK, gotoGame); btnSt.buttonMode = true; btnSt.mouseChildren = false; btnSt.visible = false; CPMStarContentSpotID = "1708Q92AF859B"; loaded = 0; shown = 0; sites = ["littlebigplay.com", "smileygamer.com", "www.agame.com", "addictinggames.com", "armorgames.com", "kaisergames.de", "flashgamelicense.com"]; domain = this.root.loaderInfo.url; zakaz = false; k = 0; while (k < sites.length) { if (domain.indexOf(sites[k]) != -1){ zakaz = true; }; k++; }; if (!zakaz){ ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); tmGame = new Timer(5000, 1); tmGame.addEventListener(TimerEvent.TIMER, showButton); tmGame.start(); } else { adBox.gotoAndStop(2); }; initX = prel.x; preloader1.addEventListener(Event.ENTER_FRAME, onEnterFramePreload); stop(); btnOpenMe.addEventListener(MouseEvent.CLICK, openLink3); btnOpenMe.buttonMode = true; MochiBot.track(this, "af5e6d20"); } public function initButtons():void{ btnStart.addEventListener(MouseEvent.CLICK, clickMe); btnCredits.addEventListener(MouseEvent.CLICK, clickMe); btnMore.addEventListener(MouseEvent.CLICK, openLink3); btnStart.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnCredits.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnMore.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnStart.addEventListener(MouseEvent.ROLL_OUT, rollMeOut); btnCredits.addEventListener(MouseEvent.ROLL_OUT, rollMeOut); btnMore.addEventListener(MouseEvent.ROLL_OUT, rollMeOut); btnStart.buttonMode = true; btnCredits.buttonMode = true; btnMore.buttonMode = true; btnStart.mouseChildren = false; btnCredits.mouseChildren = false; btnMore.mouseChildren = false; } public function showLeaderboard(_arg1:MouseEvent):void{ } public function showButton(_arg1:TimerEvent=null):void{ if (loaded == 1){ btnSt.visible = true; }; shown = 1; } public function rollBtn(_arg1:MouseEvent):void{ if (_arg1.target.scaleX == 1.355){ playSound(new clickSound(), 0.2, 0, 50); }; Tweener.addTween(_arg1.target, {scaleX:1.5, scaleY:1.5, transition:"linear", time:0.2}); } function frame7(){ gotoAndStop("menu"); } public function onEnterFramePreload(_arg1:Event):void{ var _local2:uint; var _local3:uint; var _local4:*; _local2 = this.root.loaderInfo.bytesLoaded; _local3 = this.root.loaderInfo.bytesTotal; _local4 = (_local2 / _local3); meter.text = (("loading " + String(Math.round((_local4 * 100)))) + "%"); prel.x = (initX + (278 * _local4)); if (_local3 == _local2){ loaded = 1; preloader1.removeEventListener(Event.ENTER_FRAME, onEnterFramePreload); if (zakaz){ btnSt.visible = true; } else { if (shown == 1){ btnSt.visible = true; }; }; }; } public function initMe():void{ game.initHelp(); } public function rolloutBtn(_arg1:MouseEvent):void{ Tweener.addTween(_arg1.target, {scaleX:1.355, scaleY:1.355, transition:"linear", time:0.2}); } public function rollMe(_arg1:MouseEvent):void{ var _local2:String; playSound(new clickSound(), 0.2, 0, 50); _local2 = _arg1.target.name; _arg1.target.gotoAndStop(2); } public function clickMe(_arg1:MouseEvent):void{ var _local2:String; _local2 = _arg1.target.name; if (_local2 == "btnStart"){ SoundMixer.stopAll(); efekt.mouseEnabled = true; Tweener.addTween(s2, {scaleY:5, time:1, transition:"linear"}); Tweener.addTween(s1, {scaleY:5, time:1, transition:"linear", onComplete:launch}); } else { if (_local2 == "btnCredits"){ extra.gotoAndStop(_local2); extra.y = -400; Tweener.addTween(extra, {y:0, time:1}); } else { if (_local2 == "btnHow"){ extra.gotoAndStop(_local2); extra.y = -400; Tweener.addTween(extra, {y:0, time:1}); } else { if (_local2 == "btnMore"){ }; }; }; }; } public function submitScore(_arg1:String):void{ MochiScores.showLeaderboard({boardID:"f3653456dfc198f0", score:Number(_arg1)}); trace(("SCORE" + _arg1)); } public function openLink(_arg1:MouseEvent):void{ } public function openLink3(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.smileygamer.com/?gameref=4773"), "_blank"); } public function showNext():void{ if (pos <= 3){ Tweener.addTween(arr_btn[pos], {scaleX:1, scaleY:1, time:0.4, onComplete:showNext, transition:"linear"}); pos++; } else { if (pos != 17){ Tweener.addTween(arr_btn[pos], {scaleX:1.355, scaleY:1.355, time:0.1, onComplete:showNext, transition:"linear"}); if (pos > 4){ arr_btn[(pos - 1)].addEventListener(MouseEvent.CLICK, changeColor); arr_btn[(pos - 1)].addEventListener(MouseEvent.ROLL_OVER, rollBtn); arr_btn[(pos - 1)].addEventListener(MouseEvent.ROLL_OUT, rolloutBtn); }; pos++; }; }; } public function changeColor(_arg1:MouseEvent):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = _arg1.target.red; _local3 = _arg1.target.green; _local4 = _arg1.target.blue; rukaColor = _arg1.target.rukaColor; testClipTransform = new ColorTransform(0, 0, 0, 1, _local2, _local3, _local4, 0); climb.hlava.transform.colorTransform = testClipTransform; climb.usi.usi.transform.colorTransform = testClipTransform; } public function launch(){ gotoAndStop("game"); } } }//package monkie_fla
Section 39
//Smiley_37 (monkie_fla.Smiley_37) package monkie_fla { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import flash.net.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class Smiley_37 extends MovieClip { public var smiley:MovieClip; public function Smiley_37(){ addFrameScript(0, frame1); } public function rollMe(_arg1:MouseEvent):void{ _arg1.target.gotoAndStop(2); } public function rollMeOut(_arg1:MouseEvent):void{ _arg1.target.gotoAndStop(1); } function frame1(){ smiley.addEventListener(MouseEvent.CLICK, MovieClip(root).openLink3); smiley.addEventListener(MouseEvent.ROLL_OVER, rollMe); smiley.addEventListener(MouseEvent.ROLL_OUT, rollMeOut); smiley.buttonMode = true; smiley.mouseChildren = false; } } }//package monkie_fla
Section 40
//Symbol27_34 (monkie_fla.Symbol27_34) package monkie_fla { import flash.display.*; public dynamic class Symbol27_34 extends MovieClip { public var green; public var rukaColor; public var blue; public var red; public function Symbol27_34(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12); } function frame10(){ red = 102; green = 51; blue = 0; rukaColor = 0x663300; } function frame12(){ red = 204; green = 204; blue = 204; rukaColor = 0xCCCCCC; } function frame3(){ red = 0; green = 0xFF; blue = 0xFF; rukaColor = 0xFFFF; } function frame7(){ red = 153; green = 0; blue = 0xFF; rukaColor = 0x9900FF; } function frame1(){ stop(); red = 0; green = 51; blue = 204; rukaColor = 13260; } function frame6(){ red = 51; green = 51; blue = 51; rukaColor = 0x333333; } function frame4(){ red = 0xFF; green = 0; blue = 0xFF; rukaColor = 0xFF00FF; } function frame5(){ red = 0xFF; green = 0; blue = 0; rukaColor = 0xFF0000; } function frame9(){ red = 153; green = 0xFF; blue = 0; rukaColor = 0x99FF00; } function frame8(){ red = 0xFF; green = 102; blue = 0; rukaColor = 0xFF6600; } function frame2(){ red = 0xFF; green = 0xFF; blue = 0; rukaColor = 0xFFFF00; } function frame11(){ red = 51; green = 51; blue = 102; rukaColor = 3355494; } } }//package monkie_fla
Section 41
//Symbol30_38 (monkie_fla.Symbol30_38) package monkie_fla { import flash.display.*; public dynamic class Symbol30_38 extends MovieClip { public function Symbol30_38(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package monkie_fla
Section 42
//usi1ww_9 (monkie_fla.usi1ww_9) package monkie_fla { import flash.display.*; public dynamic class usi1ww_9 extends MovieClip { public var usi:MovieClip; } }//package monkie_fla
Section 43
//babyangry (babyangry) package { import flash.media.*; public dynamic class babyangry extends Sound { } }//package
Section 44
//clickSound (clickSound) package { import flash.media.*; public dynamic class clickSound extends Sound { } }//package
Section 45
//Exploze (Exploze) package { import flash.display.*; public dynamic class Exploze extends MovieClip { } }//package
Section 46
//gameOver (gameOver) package { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.media.*; import flash.net.*; import CPMStar.*; import flash.text.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class gameOver extends MovieClip { public var ad:DisplayObject; public var score:TextField; public var adBox:MovieClip; public var btnRetry:MovieClip; public var CPMStarContentSpotID:String; public var climb:MovieClip; public var btnSubmit:MovieClip; public function gameOver(){ addFrameScript(0, frame1); } public function rollMe(_arg1:MouseEvent):void{ if (_arg1.target.currentFrame == 1){ MovieClip(root).playSound(new clickSound(), 0.4, 0, 50); _arg1.target.gotoAndStop(2); } else { _arg1.target.gotoAndStop(1); }; } public function submit(_arg1:MouseEvent):void{ MovieClip(root).submitScore(score.text); } public function openLink(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.maxgames.com"), "_blank"); } function frame1(){ btnSubmit.addEventListener(MouseEvent.CLICK, submit); btnSubmit.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnSubmit.addEventListener(MouseEvent.ROLL_OUT, rollMe); btnSubmit.buttonMode = true; btnRetry.addEventListener(MouseEvent.CLICK, retryExit); btnRetry.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnRetry.addEventListener(MouseEvent.ROLL_OUT, rollMe); btnRetry.buttonMode = true; CPMStarContentSpotID = "1709Q1991417F"; if (MovieClip(root).zakaz == false){ ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); }; } public function retryExit(_arg1:MouseEvent):void{ MovieClip(root).y = 0; MovieClip(root).gotoAndStop("restart"); MovieClip(this.parent).removeChild(this); } } }//package
Section 47
//gameSound (gameSound) package { import flash.media.*; public dynamic class gameSound extends Sound { } }//package
Section 48
//HitTest (HitTest) package { 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; _local6 = _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{ var _local4:Rectangle; var _local5:BitmapData; var _local6:Rectangle; if (_arg3 <= 0){ throw (new Error("ArgumentError: Error #5001: Invalid value for accurracy", 5001)); }; if (!_arg1.hitTestObject(_arg2)){ return (new Rectangle()); }; _local4 = intersectionRectangle(_arg1, _arg2); if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){ return (new Rectangle()); }; _local5 = 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); _local6 = _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{ var _local3:Rectangle; var _local4:Rectangle; var _local5:Rectangle; if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){ return (new Rectangle()); }; _local3 = _arg1.getBounds(_arg1.root); _local4 = _arg2.getBounds(_arg2.root); _local5 = 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
Section 49
//jungle (jungle) package { import flash.media.*; public dynamic class jungle extends Sound { } }//package
Section 50
//jungleSound (jungleSound) package { import flash.media.*; public dynamic class jungleSound extends Sound { } }//package
Section 51
//Kotva (Kotva) package { import flash.display.*; public dynamic class Kotva extends MovieClip { } }//package
Section 52
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 53
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 54
//Rock (Rock) package { import flash.display.*; public dynamic class Rock extends MovieClip { } }//package
Section 55
//shootSound (shootSound) package { import flash.media.*; public dynamic class shootSound extends Sound { } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {Kotva}Uses:1
Symbol 3 BitmapUsed by:4 80
Symbol 4 GraphicUses:3Used by:Timeline
Symbol 5 GraphicUsed by:6 15
Symbol 6 MovieClipUses:5Used by:Timeline
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:7Used by:Timeline
Symbol 9 GraphicUsed by:14 53
Symbol 10 FontUsed by:11 35 43 44 82 83 85 86 88 89 109 126 127 128 129 151 162 163
Symbol 11 TextUses:10Used by:12
Symbol 12 MovieClipUses:11Used by:13
Symbol 13 MovieClipUses:12Used by:14 53  Timeline
Symbol 14 MovieClip {monkie_fla.adBox_3}Uses:9 13Used by:Timeline
Symbol 15 MovieClipUses:5Used by:Timeline
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:33 144
Symbol 18 FontUsed by:19 139 160
Symbol 19 EditableTextUses:18Used by:33
Symbol 20 GraphicUsed by:24
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:24
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClip {monkie_fla.usi1ww_9}Uses:20 22 23Used by:33 144
Symbol 25 GraphicUsed by:33
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:33
Symbol 28 GraphicUsed by:33
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:33 144
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:31Used by:33 144
Symbol 33 MovieClip {monkie_fla.hlavy1copy_7}Uses:17 19 24 25 27 28 30 32Used by:54 135  Timeline
Symbol 34 FontUsed by:35 36 109
Symbol 35 EditableTextUses:10 34 45 118Used by:Timeline
Symbol 36 TextUses:34Used by:37
Symbol 37 MovieClipUses:36Used by:Timeline
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClip {Exploze}Uses:38Used by:Timeline
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClip {Rock}Uses:40Used by:150  Timeline
Symbol 42 GraphicUsed by:54
Symbol 43 TextUses:10Used by:54
Symbol 44 EditableTextUses:10Used by:54
Symbol 45 FontUsed by:35 46 47 49 50 109
Symbol 46 TextUses:45Used by:48
Symbol 47 TextUses:45Used by:48
Symbol 48 MovieClip {monkie_fla.btnSubmit_18}Uses:46 47Used by:54
Symbol 49 TextUses:45Used by:51
Symbol 50 TextUses:45Used by:51
Symbol 51 MovieClip {monkie_fla.btnRetry_19}Uses:49 50Used by:54
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClip {monkie_fla.adBoxcopy2_20}Uses:52 9 13Used by:54
Symbol 54 MovieClip {gameOver}Uses:42 33 43 44 48 51 53Used by:Timeline
Symbol 55 Sound {shootSound}Used by:Timeline
Symbol 56 Sound {MenuMusic}Used by:Timeline
Symbol 57 Sound {gameSound}Used by:Timeline
Symbol 58 Sound {clickSound}Used by:Timeline
Symbol 59 Sound {babyangry}Used by:Timeline
Symbol 60 Sound {jungle}Used by:Timeline
Symbol 61 Sound {jungleSound}Used by:Timeline
Symbol 62 GraphicUsed by:78 107 108 166
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:63Used by:76
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:67
Symbol 67 MovieClipUses:66Used by:75
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClipUses:69Used by:75
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:75
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:75
Symbol 75 MovieClipUses:67 70 72 74Used by:76
Symbol 76 MovieClipUses:64 75Used by:77
Symbol 77 MovieClipUses:76Used by:78
Symbol 78 MovieClip {monkie_fla.intro_21}Uses:62 77Used by:Timeline
Symbol 79 MovieClipUsed by:Timeline
Symbol 80 GraphicUses:3Used by:Timeline
Symbol 81 GraphicUsed by:84 87 90
Symbol 82 TextUses:10Used by:84
Symbol 83 TextUses:10Used by:84
Symbol 84 MovieClip {monkie_fla.btnCredits_31}Uses:81 82 83Used by:Timeline
Symbol 85 TextUses:10Used by:87
Symbol 86 TextUses:10Used by:87
Symbol 87 MovieClip {monkie_fla.BTNsTARTE_32}Uses:81 85 86Used by:Timeline
Symbol 88 TextUses:10Used by:90
Symbol 89 TextUses:10Used by:90
Symbol 90 MovieClip {monkie_fla.btnMore2_33}Uses:81 88 89Used by:Timeline
Symbol 91 GraphicUsed by:104
Symbol 92 GraphicUsed by:104
Symbol 93 GraphicUsed by:104
Symbol 94 GraphicUsed by:104
Symbol 95 GraphicUsed by:104
Symbol 96 GraphicUsed by:104
Symbol 97 GraphicUsed by:104
Symbol 98 GraphicUsed by:104
Symbol 99 GraphicUsed by:104
Symbol 100 GraphicUsed by:104
Symbol 101 GraphicUsed by:104
Symbol 102 GraphicUsed by:104
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClip {monkie_fla.Symbol27_34}Uses:91 92 93 94 95 96 97 98 99 100 101 102 103Used by:Timeline
Symbol 105 FontUsed by:106
Symbol 106 TextUses:105Used by:Timeline
Symbol 107 MovieClipUses:62Used by:Timeline
Symbol 108 MovieClipUses:62Used by:Timeline
Symbol 109 EditableTextUses:10 34 45 118Used by:Timeline
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:112 113
Symbol 112 MovieClipUses:111Used by:113
Symbol 113 MovieClip {monkie_fla.Symbol30_38}Uses:111 112Used by:114
Symbol 114 MovieClip {monkie_fla.Smiley_37}Uses:113Used by:Timeline
Symbol 115 GraphicUsed by:130
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:130
Symbol 118 FontUsed by:35 109 119 120
Symbol 119 TextUses:118Used by:121
Symbol 120 TextUses:118Used by:121
Symbol 121 MovieClip {monkie_fla.btnBack_42}Uses:119 120Used by:130
Symbol 122 FontUsed by:123 155
Symbol 123 TextUses:122Used by:130
Symbol 124 FontUsed by:125
Symbol 125 TextUses:124Used by:130
Symbol 126 TextUses:10Used by:130
Symbol 127 TextUses:10Used by:130
Symbol 128 TextUses:10Used by:130
Symbol 129 TextUses:10Used by:130
Symbol 130 MovieClip {monkie_fla.extra_40}Uses:115 117 121 123 125 126 127 128 129Used by:Timeline
Symbol 131 GraphicUsed by:Timeline
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:134
Symbol 134 MovieClipUses:133Used by:Timeline
Symbol 135 MovieClip {monkie_fla.kotva2_45}Uses:33Used by:136
Symbol 136 MovieClip {monkie_fla.lives_44}Uses:135Used by:Timeline
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClipUses:137Used by:150
Symbol 139 EditableTextUses:18Used by:144
Symbol 140 GraphicUsed by:144
Symbol 141 GraphicUsed by:142
Symbol 142 MovieClipUses:141Used by:144
Symbol 143 GraphicUsed by:144
Symbol 144 MovieClip {monkie_fla.hlavy1copy2_48}Uses:17 139 24 140 142 143 30 32Used by:150
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:149
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:149
Symbol 149 MovieClip {monkie_fla.222_50}Uses:146 148Used by:150
Symbol 150 MovieClip {monkie_fla.game_46}Uses:41 138 144 149Used by:Timeline
Symbol 151 EditableTextUses:10Used by:152
Symbol 152 MovieClip {monkie_fla.levelMc_54}Uses:151Used by:161
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:161
Symbol 155 EditableTextUses:122Used by:161
Symbol 156 FontUsed by:157
Symbol 157 TextUses:156Used by:158
Symbol 158 MovieClipUses:157Used by:161
Symbol 159 GraphicUsed by:161
Symbol 160 TextUses:18Used by:161
Symbol 161 MovieClip {monkie_fla.counter_53}Uses:152 154 155 158 159 160Used by:Timeline
Symbol 162 EditableTextUses:10Used by:Timeline
Symbol 163 TextUses:10Used by:Timeline
Symbol 164 GraphicUsed by:165
Symbol 165 MovieClipUses:164Used by:Timeline
Symbol 166 MovieClipUses:62Used by:Timeline

Instance Names

"btnOpenMe"Frame 1Symbol 8 MovieClip
"adBox"Frame 1Symbol 14 MovieClip {monkie_fla.adBox_3}
"preloader1"Frame 1Symbol 15 MovieClip
"prel"Frame 1Symbol 33 MovieClip {monkie_fla.hlavy1copy_7}
"meter"Frame 1Symbol 35 EditableText
"btnSt"Frame 1Symbol 37 MovieClip
"logoSmile"Frame 3Symbol 78 MovieClip {monkie_fla.intro_21}
"bc"Frame 4Symbol 79 MovieClip
"btnCredits"Frame 4Symbol 84 MovieClip {monkie_fla.btnCredits_31}
"btnStart"Frame 4Symbol 87 MovieClip {monkie_fla.BTNsTARTE_32}
"btnMore"Frame 4Symbol 90 MovieClip {monkie_fla.btnMore2_33}
"climb"Frame 4Symbol 33 MovieClip {monkie_fla.hlavy1copy_7}
"logo"Frame 4Symbol 13 MovieClip
"c1"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c2"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c3"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c4"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c5"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c6"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c7"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c8"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c9"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c10"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c11"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"c12"Frame 4Symbol 104 MovieClip {monkie_fla.Symbol27_34}
"efekt"Frame 4Symbol 107 MovieClip
"s1"Frame 4Symbol 108 MovieClip
"s2"Frame 4Symbol 108 MovieClip
"smiley"Frame 4Symbol 114 MovieClip {monkie_fla.Smiley_37}
"extra"Frame 4Symbol 130 MovieClip {monkie_fla.extra_40}
"background"Frame 5Symbol 134 MovieClip
"lives"Frame 5Symbol 136 MovieClip {monkie_fla.lives_44}
"game"Frame 5Symbol 150 MovieClip {monkie_fla.game_46}
"counter"Frame 5Symbol 161 MovieClip {monkie_fla.counter_53}
"tf_score"Frame 5Symbol 162 EditableText
"active"Frame 5Symbol 165 MovieClip
"top"Frame 5Symbol 166 MovieClip
"bottom"Frame 5Symbol 166 MovieClip
"right"Frame 5Symbol 166 MovieClip
"left"Frame 5Symbol 166 MovieClip
"s3"Frame 5Symbol 108 MovieClip
"s4"Frame 5Symbol 108 MovieClip
"logo"Symbol 14 MovieClip {monkie_fla.adBox_3} Frame 2Symbol 13 MovieClip
"usi"Symbol 24 MovieClip {monkie_fla.usi1ww_9} Frame 1Symbol 22 MovieClip
"counter"Symbol 33 MovieClip {monkie_fla.hlavy1copy_7} Frame 1Symbol 19 EditableText
"usi"Symbol 33 MovieClip {monkie_fla.hlavy1copy_7} Frame 1Symbol 24 MovieClip {monkie_fla.usi1ww_9}
"hlava"Symbol 33 MovieClip {monkie_fla.hlavy1copy_7} Frame 1Symbol 27 MovieClip
"logo"Symbol 53 MovieClip {monkie_fla.adBoxcopy2_20} Frame 2Symbol 13 MovieClip
"climb"Symbol 54 MovieClip {gameOver} Frame 1Symbol 33 MovieClip {monkie_fla.hlavy1copy_7}
"score"Symbol 54 MovieClip {gameOver} Frame 1Symbol 44 EditableText
"btnSubmit"Symbol 54 MovieClip {gameOver} Frame 1Symbol 48 MovieClip {monkie_fla.btnSubmit_18}
"btnRetry"Symbol 54 MovieClip {gameOver} Frame 1Symbol 51 MovieClip {monkie_fla.btnRetry_19}
"adBox"Symbol 54 MovieClip {gameOver} Frame 1Symbol 53 MovieClip {monkie_fla.adBoxcopy2_20}
"smiley"Symbol 114 MovieClip {monkie_fla.Smiley_37} Frame 1Symbol 113 MovieClip {monkie_fla.Symbol30_38}
"btnBack"Symbol 130 MovieClip {monkie_fla.extra_40} Frame 2Symbol 121 MovieClip {monkie_fla.btnBack_42}
"climber"Symbol 135 MovieClip {monkie_fla.kotva2_45} Frame 1Symbol 33 MovieClip {monkie_fla.hlavy1copy_7}
"kotva4"Symbol 136 MovieClip {monkie_fla.lives_44} Frame 1Symbol 135 MovieClip {monkie_fla.kotva2_45}
"kotva3"Symbol 136 MovieClip {monkie_fla.lives_44} Frame 1Symbol 135 MovieClip {monkie_fla.kotva2_45}
"kotva2"Symbol 136 MovieClip {monkie_fla.lives_44} Frame 1Symbol 135 MovieClip {monkie_fla.kotva2_45}
"kotva1"Symbol 136 MovieClip {monkie_fla.lives_44} Frame 1Symbol 135 MovieClip {monkie_fla.kotva2_45}
"kotva5"Symbol 136 MovieClip {monkie_fla.lives_44} Frame 1Symbol 135 MovieClip {monkie_fla.kotva2_45}
"counter"Symbol 144 MovieClip {monkie_fla.hlavy1copy2_48} Frame 1Symbol 139 EditableText
"usi"Symbol 144 MovieClip {monkie_fla.hlavy1copy2_48} Frame 1Symbol 24 MovieClip {monkie_fla.usi1ww_9}
"hlava"Symbol 144 MovieClip {monkie_fla.hlavy1copy2_48} Frame 1Symbol 142 MovieClip
"ruka"Symbol 149 MovieClip {monkie_fla.222_50} Frame 1Symbol 148 MovieClip
"item1"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 41 MovieClip {Rock}
"item2"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 41 MovieClip {Rock}
"item3"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 41 MovieClip {Rock}
"item4"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 41 MovieClip {Rock}
"c"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 41 MovieClip {Rock}
"kotva"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 138 MovieClip
"climber"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 144 MovieClip {monkie_fla.hlavy1copy2_48}
"kotva2"Symbol 150 MovieClip {monkie_fla.game_46} Frame 1Symbol 149 MovieClip {monkie_fla.222_50}
"level"Symbol 152 MovieClip {monkie_fla.levelMc_54} Frame 1Symbol 151 EditableText
"mc_level"Symbol 161 MovieClip {monkie_fla.counter_53} Frame 1Symbol 152 MovieClip {monkie_fla.levelMc_54}
"btnMute"Symbol 161 MovieClip {monkie_fla.counter_53} Frame 1Symbol 154 MovieClip
"btnRestart"Symbol 161 MovieClip {monkie_fla.counter_53} Frame 1Symbol 154 MovieClip
"info"Symbol 161 MovieClip {monkie_fla.counter_53} Frame 1Symbol 155 EditableText
"linkMe"Symbol 161 MovieClip {monkie_fla.counter_53} Frame 1Symbol 158 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"intro"Frame 3
"menu"Frame 4
"game"Frame 5
"restart"Frame 6
"exit"Frame 7
"up"Symbol 84 MovieClip {monkie_fla.btnCredits_31} Frame 1
"over"Symbol 84 MovieClip {monkie_fla.btnCredits_31} Frame 2
"up"Symbol 87 MovieClip {monkie_fla.BTNsTARTE_32} Frame 1
"over"Symbol 87 MovieClip {monkie_fla.BTNsTARTE_32} Frame 2
"up"Symbol 90 MovieClip {monkie_fla.btnMore2_33} Frame 1
"over"Symbol 90 MovieClip {monkie_fla.btnMore2_33} Frame 2
"up"Symbol 121 MovieClip {monkie_fla.btnBack_42} Frame 1
"over"Symbol 121 MovieClip {monkie_fla.btnBack_42} Frame 2
"btnHow"Symbol 130 MovieClip {monkie_fla.extra_40} Frame 2
"btnCredits"Symbol 130 MovieClip {monkie_fla.extra_40} Frame 3




http://swfchan.com/24/117958/info.shtml
Created: 7/3 -2019 13:03:47 Last modified: 7/3 -2019 13:03:47 Server time: 13/05 -2024 03:42:49