Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
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);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function isInArray(_arg1:String, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg2.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg2[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
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 numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
}
}//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):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:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):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:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
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):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:Number=NaN):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):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):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5, _arg6));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5, _arg6));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):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):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):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var valueComplete:Number;
public var modifierFunction:Function;
public var hasModifier:Boolean;
public var valueStart:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Function, _arg4:Array){
valueStart = _arg1;
valueComplete = _arg2;
hasModifier = Boolean(_arg3);
modifierFunction = _arg3;
modifierParameters = _arg4;
}
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 + ("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, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialPropertiesDefault (caurina.transitions.SpecialPropertiesDefault)
package caurina.transitions {
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
public class SpecialPropertiesDefault {
public function SpecialPropertiesDefault(){
trace("SpecialProperties is a static class and should not be instantiated.");
}
public static function _sound_volume_get(_arg1:Object):Number{
return (_arg1.soundTransform.volume);
}
public static function _color_splitter(_arg1, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if (_arg1 == null){
_local3.push({name:"_color_ra", value:1});
_local3.push({name:"_color_rb", value:0});
_local3.push({name:"_color_ga", value:1});
_local3.push({name:"_color_gb", value:0});
_local3.push({name:"_color_ba", value:1});
_local3.push({name:"_color_bb", value:0});
} else {
_local3.push({name:"_color_ra", value:0});
_local3.push({name:"_color_rb", value:AuxFunctions.numberToR(_arg1)});
_local3.push({name:"_color_ga", value:0});
_local3.push({name:"_color_gb", value:AuxFunctions.numberToG(_arg1)});
_local3.push({name:"_color_ba", value:0});
_local3.push({name:"_color_bb", value:AuxFunctions.numberToB(_arg1)});
};
return (_local3);
}
public static function frame_get(_arg1:Object):Number{
return (_arg1.currentFrame);
}
public static function _sound_pan_get(_arg1:Object):Number{
return (_arg1.soundTransform.pan);
}
public static function _color_property_get(_arg1:Object, _arg2:Array):Number{
return (_arg1.transform.colorTransform[_arg2[0]]);
}
public static function _sound_volume_set(_arg1:Object, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.volume = _arg2;
_arg1.soundTransform = _local3;
}
public static function _autoAlpha_get(_arg1:Object):Number{
return (_arg1.alpha);
}
public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if ((_arg1 is BlurFilter)){
_local3.push({name:"_blur_blurX", value:BlurFilter(_arg1).blurX});
_local3.push({name:"_blur_blurY", value:BlurFilter(_arg1).blurY});
_local3.push({name:"_blur_quality", value:BlurFilter(_arg1).quality});
} else {
trace("??");
};
return (_local3);
}
public static function init():void{
Tweener.registerSpecialProperty("_frame", frame_get, frame_set);
Tweener.registerSpecialProperty("_sound_volume", _sound_volume_get, _sound_volume_set);
Tweener.registerSpecialProperty("_sound_pan", _sound_pan_get, _sound_pan_set);
Tweener.registerSpecialProperty("_color_ra", _color_property_get, _color_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_ga", _color_property_get, _color_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_ba", _color_property_get, _color_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_aa", _color_property_get, _color_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialProperty("_autoAlpha", _autoAlpha_get, _autoAlpha_set);
Tweener.registerSpecialPropertySplitter("_color", _color_splitter);
Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter);
Tweener.registerSpecialPropertySplitter("_scale", _scale_splitter);
Tweener.registerSpecialProperty("_blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
Tweener.registerSpecialProperty("_blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
Tweener.registerSpecialProperty("_blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
Tweener.registerSpecialPropertyModifier("_bezier", _bezier_modifier, _bezier_get);
}
public static function _sound_pan_set(_arg1:Object, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.pan = _arg2;
_arg1.soundTransform = _local3;
}
public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{
var _local4:ColorTransform;
_local4 = _arg1.transform.colorTransform;
_local4[_arg3[0]] = _arg2;
_arg1.transform.colorTransform = _local4;
}
public static function _filter_property_get(_arg1:Object, _arg2:Array):Number{
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:String;
var _local7:Object;
_local3 = _arg1.filters;
_local5 = _arg2[0];
_local6 = _arg2[1];
_local4 = 0;
while (_local4 < _local3.length) {
if ((((_local3[_local4] is BlurFilter)) && ((_local5 == BlurFilter)))){
return (_local3[_local4][_local6]);
};
_local4++;
};
switch (_local5){
case BlurFilter:
_local7 = {blurX:0, blurY:0, quality:NaN};
break;
};
return (_local7[_local6]);
}
public static function _bezier_get(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{
var _local5:uint;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg4.length == 1){
return ((_arg1 + (_arg3 * (((2 * (1 - _arg3)) * (_arg4[0] - _arg1)) + (_arg3 * (_arg2 - _arg1))))));
};
_local5 = Math.floor((_arg3 * _arg4.length));
_local6 = ((_arg3 - (_local5 * (1 / _arg4.length))) * _arg4.length);
if (_local5 == 0){
_local7 = _arg1;
_local8 = ((_arg4[0] + _arg4[1]) / 2);
} else {
if (_local5 == (_arg4.length - 1)){
_local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2);
_local8 = _arg2;
} else {
_local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2);
_local8 = ((_arg4[_local5] + _arg4[(_local5 + 1)]) / 2);
};
};
return ((_local7 + (_local6 * (((2 * (1 - _local6)) * (_arg4[_local5] - _local7)) + (_local6 * (_local8 - _local7))))));
}
public static function frame_set(_arg1:Object, _arg2:Number):void{
_arg1.gotoAndStop(Math.round(_arg2));
}
public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{
var _local4:Array;
var _local5:uint;
var _local6:Object;
var _local7:String;
var _local8:BitmapFilter;
_local4 = _arg1.filters;
_local6 = _arg3[0];
_local7 = _arg3[1];
_local5 = 0;
while (_local5 < _local4.length) {
if ((((_local4[_local5] is BlurFilter)) && ((_local6 == BlurFilter)))){
_local4[_local5][_local7] = _arg2;
_arg1.filters = _local4;
return;
};
_local5++;
};
if (_local4 == null){
_local4 = new Array();
};
switch (_local6){
case BlurFilter:
_local8 = new BlurFilter(0, 0);
break;
};
_local8[_local7] = _arg2;
_local4.push(_local8);
_arg1.filters = _local4;
}
public static function _autoAlpha_set(_arg1:Object, _arg2:Number):void{
_arg1.alpha = _arg2;
_arg1.visible = (_arg2 > 0);
}
public static function _scale_splitter(_arg1:Number, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
_local3.push({name:"scaleX", value:_arg1});
_local3.push({name:"scaleY", value:_arg1});
return (_local3);
}
public static function _colorTransform_splitter(_arg1, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if (_arg1 == null){
_local3.push({name:"_color_ra", value:1});
_local3.push({name:"_color_rb", value:0});
_local3.push({name:"_color_ga", value:1});
_local3.push({name:"_color_gb", value:0});
_local3.push({name:"_color_ba", value:1});
_local3.push({name:"_color_bb", value:0});
} else {
if (_arg1.ra != undefined){
_local3.push({name:"_color_ra", value:_arg1.ra});
};
if (_arg1.rb != undefined){
_local3.push({name:"_color_rb", value:_arg1.rb});
};
if (_arg1.ga != undefined){
_local3.push({name:"_color_ba", value:_arg1.ba});
};
if (_arg1.gb != undefined){
_local3.push({name:"_color_bb", value:_arg1.bb});
};
if (_arg1.ba != undefined){
_local3.push({name:"_color_ga", value:_arg1.ga});
};
if (_arg1.bb != undefined){
_local3.push({name:"_color_gb", value:_arg1.gb});
};
if (_arg1.aa != undefined){
_local3.push({name:"_color_aa", value:_arg1.aa});
};
if (_arg1.ab != undefined){
_local3.push({name:"_color_ab", value:_arg1.ab});
};
};
return (_local3);
}
public static function _bezier_modifier(_arg1):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:String;
var _local6:Object;
_local2 = [];
if ((_arg1 is Array)){
_local3 = _arg1;
} else {
_local3 = [_arg1];
};
_local6 = {};
_local4 = 0;
while (_local4 < _local3.length) {
for (_local5 in _local3[_local4]) {
if (_local6[_local5] == undefined){
_local6[_local5] = [];
};
_local6[_local5].push(_local3[_local4][_local5]);
};
_local4++;
};
for (_local5 in _local6) {
_local2.push({name:_local5, parameters:_local6[_local5]});
};
return (_local2);
}
}
}//package caurina.transitions
Section 5
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var setValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
}
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 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 6
//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 7
//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;
}
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 8
//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 _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):void{
var _local5:SpecialProperty;
if (!_inited){
init();
};
_local5 = new SpecialProperty(_arg2, _arg3, _arg4);
_specialPropertyList[_arg1] = _local5;
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Function;
var _local11:TweenListObj;
var _local12:Number;
var _local13:String;
if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){
return (false);
};
_local4 = new Array();
if ((arguments[0] is Array)){
_local5 = 0;
while (_local5 < arguments[0].length) {
_local4.push(arguments[0][_local5]);
_local5++;
};
} else {
_local5 = 0;
while (_local5 < (arguments.length - 1)) {
_local4.push(arguments[_local5]);
_local5++;
};
};
_local7 = arguments[(arguments.length - 1)];
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
if (typeof(_local7.transition) == "string"){
_local13 = _local7.transition.toLowerCase();
_local10 = _transitionList[_local13];
} else {
_local10 = _local7.transition;
};
if (!Boolean(_local10)){
_local10 = _transitionList["easeoutexpo"];
};
_local5 = 0;
while (_local5 < _local4.length) {
_local11 = new TweenListObj(_local4[_local5], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), (_local7.useFrames == true), _local10);
_local11.properties = null;
_local11.onStart = _local7.onStart;
_local11.onUpdate = _local7.onUpdate;
_local11.onComplete = _local7.onComplete;
_local11.onOverwrite = _local7.onOverwrite;
_local11.onStartParams = _local7.onStartParams;
_local11.onUpdateParams = _local7.onUpdateParams;
_local11.onCompleteParams = _local7.onCompleteParams;
_local11.onOverwriteParams = _local7.onOverwriteParams;
_local11.isCaller = true;
_local11.count = _local7.count;
_local11.waitFrames = _local7.waitFrames;
_tweenList.push(_local11);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local12 = (_tweenList.length - 1);
updateTweenByIndex(_local12);
removeTweenByIndex(_local12);
};
_local5++;
};
return (true);
}
public static function init(_arg1=null):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
SpecialPropertiesDefault.init();
}
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 removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
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 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 resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local2.timeStart = (_local2.timeStart + (_currentTime - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_currentTime - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function debug_getList():String{
var _local1:String;
var _local2:uint;
var _local3:uint;
_local1 = "";
_local2 = 0;
while (_local2 < _tweenList.length) {
_local1 = (_local1 + (("[" + _local2) + "] ::\n"));
_local3 = 0;
while (_local3 < _tweenList[_local2].properties.length) {
_local1 = (_local1 + ((((" " + _tweenList[_local2].properties[_local3].name) + " -> ") + _tweenList[_local2].properties[_local3].valueComplete) + "\n"));
_local3++;
};
_local2++;
};
return (_local1);
}
public static function getVersion():String{
return ("AS3 1.26.62");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
_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 tScope:Object;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
if (_currentTime >= 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 (!(_currentTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (_currentTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
try {
tTweening.onStart.apply(tScope, tTweening.onStartParams);
} catch(e:Error) {
handleError(tTweening, e, "onStart");
};
};
for (pName in tTweening.properties) {
pv = getPropertyValue(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 = (_currentTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (_currentTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
setPropertyValue(tScope, pName, nv);
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
try {
tTweening.onUpdate.apply(tScope, tTweening.onUpdateParams);
} catch(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
try {
tTweening.onComplete.apply(tScope, tTweening.onCompleteParams);
} catch(e:Error) {
handleError(tTweening, e, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2: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) {
_tweenList[_local2].timeStart = (_currentTime - (((_currentTime - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_currentTime - (((_currentTime - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_currentTime - (((_currentTime - _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 pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
try {
pTweening.onError.apply(pTweening.scope, [pTweening.scope, pError]);
} catch(metaError:Error) {
trace("## [Tweener] Error:", pTweening.scope, "raised an error while executing the 'onError' handler. Original error:\n", pError.getStackTrace(), "\nonError error:", metaError.getStackTrace());
};
} else {
if (!Boolean(pTweening.onError)){
trace("## [Tweener] Error: :", 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);
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 _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:Object;
var _local10:Number;
var _local11:Number;
var _local12:Array;
var _local13:Object;
var _local14:Object;
var _local15:Function;
var _local16:Object;
var _local17:TweenListObj;
var _local18:Number;
var _local19:Array;
var _local20:Array;
var _local21:String;
if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){
return (false);
};
_local4 = new Array();
if ((arguments[0] is Array)){
_local5 = 0;
while (_local5 < arguments[0].length) {
_local4.push(arguments[0][_local5]);
_local5++;
};
} else {
_local5 = 0;
while (_local5 < (arguments.length - 1)) {
_local4.push(arguments[_local5]);
_local5++;
};
};
_local9 = TweenListObj.makePropertiesChain(arguments[(arguments.length - 1)]);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local10 = (isNaN(_local9.time)) ? 0 : _local9.time;
_local11 = (isNaN(_local9.delay)) ? 0 : _local9.delay;
_local12 = new Array();
_local13 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true};
_local14 = new Object();
for (_local7 in _local9) {
if (!_local13[_local7]){
if (_specialPropertySplitterList[_local7]){
_local19 = _specialPropertySplitterList[_local7].splitValues(_local9[_local7], _specialPropertySplitterList[_local7].parameters);
_local5 = 0;
while (_local5 < _local19.length) {
_local12[_local19[_local5].name] = {valueStart:undefined, valueComplete:_local19[_local5].value};
_local5++;
};
} else {
if (_specialPropertyModifierList[_local7] != undefined){
_local20 = _specialPropertyModifierList[_local7].modifyValues(_local9[_local7]);
_local5 = 0;
while (_local5 < _local20.length) {
_local14[_local20[_local5].name] = {modifierParameters:_local20[_local5].parameters, modifierFunction:_specialPropertyModifierList[_local7].getValue};
_local5++;
};
} else {
_local12[_local7] = {valueStart:undefined, valueComplete:_local9[_local7]};
};
};
};
};
for (_local7 in _local14) {
if (_local12[_local7] != undefined){
_local12[_local7].modifierParameters = _local14[_local7].modifierParameters;
_local12[_local7].modifierFunction = _local14[_local7].modifierFunction;
};
};
if (typeof(_local9.transition) == "string"){
_local21 = _local9.transition.toLowerCase();
_local15 = _transitionList[_local21];
} else {
_local15 = _local9.transition;
};
if (!Boolean(_local15)){
_local15 = _transitionList["easeoutexpo"];
};
_local5 = 0;
while (_local5 < _local4.length) {
_local16 = new Object();
for (_local7 in _local12) {
_local16[_local7] = new PropertyInfoObj(_local12[_local7].valueStart, _local12[_local7].valueComplete, _local12[_local7].modifierFunction, _local12[_local7].modifierParameters);
};
_local17 = new TweenListObj(_local4[_local5], (_currentTime + ((_local11 * 1000) / _timeScale)), (_currentTime + (((_local11 * 1000) + (_local10 * 1000)) / _timeScale)), (_local9.useFrames == true), _local15);
_local17.properties = _local16;
_local17.onStart = _local9.onStart;
_local17.onUpdate = _local9.onUpdate;
_local17.onComplete = _local9.onComplete;
_local17.onOverwrite = _local9.onOverwrite;
_local17.onError = _local9.onError;
_local17.onStartParams = _local9.onStartParams;
_local17.onUpdateParams = _local9.onUpdateParams;
_local17.onCompleteParams = _local9.onCompleteParams;
_local17.onOverwriteParams = _local9.onOverwriteParams;
_local17.rounded = _local9.rounded;
_local17.skipUpdates = _local9.skipUpdates;
removeTweensByTime(_local17.scope, _local17.properties, _local17.timeStart, _local17.timeComplete);
_tweenList.push(_local17);
if ((((_local10 == 0)) && ((_local11 == 0)))){
_local18 = (_tweenList.length - 1);
updateTweenByIndex(_local18);
removeTweenByIndex(_local18);
};
_local5++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
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 (_tweenList[_local2].scope == _arg1){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
private static function setPropertyValue(_arg1:Object, _arg2:String, _arg3:Number):void{
if (_specialPropertyList[_arg2] != undefined){
if (Boolean(_specialPropertyList[_arg2].parameters)){
_specialPropertyList[_arg2].setValue(_arg1, _arg3, _specialPropertyList[_arg2].parameters);
} else {
_specialPropertyList[_arg2].setValue(_arg1, _arg3);
};
} else {
_arg1[_arg2] = _arg3;
};
}
private static function getPropertyValue(_arg1:Object, _arg2:String):Number{
if (_specialPropertyList[_arg2] != undefined){
if (Boolean(_specialPropertyList[_arg2].parameters)){
return (_specialPropertyList[_arg2].getValue(_arg1, _specialPropertyList[_arg2].parameters));
};
return (_specialPropertyList[_arg2].getValue(_arg1));
} else {
};
return (!NULL!);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
return (true);
};
_local2++;
};
return (false);
}
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 (_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;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = _currentTime;
_local2.isPaused = true;
return (true);
}
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 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)){
try {
_tweenList[i].onOverwrite.apply(_tweenList[i].scope, _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")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_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")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 9
//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 auxProperties:Object;
public var timeComplete:Number;
public var onStartParams:Array;
public var rounded:Boolean;
public var properties:Object;
public var onUpdateParams:Array;
public var onComplete:Function;
public var updatesSkipped:Number;
public var onStart:Function;
public var skipUpdates:Number;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
auxProperties = new Object();
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);
_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.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:uint;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = 0;
while (_local2 < properties.length) {
if (_local2 > 0){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local2].name));
_local1 = (_local1 + (",valueStart:" + properties[_local2].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local2].valueComplete));
_local1 = (_local1 + "]");
_local2++;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
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 (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 10
//FloatingItem (code.float.FloatingItem)
package code.float {
import flash.display.*;
public class FloatingItem implements IFloatable {
private var displayObject:DisplayObject;
private var yVelocity:Number;
public function getYVelocity():Number{
return (yVelocity);
}
public function setDisplayObject(_arg1:DisplayObject):void{
displayObject = _arg1;
}
public function getDisplayObject():DisplayObject{
return (displayObject);
}
public function setYVelocity(_arg1:Number):void{
yVelocity = _arg1;
}
}
}//package code.float
Section 11
//IFloatable (code.float.IFloatable)
package code.float {
import flash.display.*;
public interface IFloatable {
function getYVelocity():Number;
function setYVelocity(_arg1:Number):void;
function getDisplayObject():DisplayObject;
function setDisplayObject(_arg1:DisplayObject):void;
}
}//package code.float
Section 12
//Dot (code.water.Dot)
package code.water {
import flash.events.*;
import flash.display.*;
public class Dot extends MovieClip {
private var waves:Array;
public function Dot(){
waves = new Array();
}
public function getWaves():Array{
return (waves);
}
public function addedToStage(_arg1:Event):void{
}
override public function toString():String{
return (((("x: " + Math.round(x).toString()) + " , ") + Math.round(y).toString()));
}
public function addWave(_arg1:Wave):void{
waves.push(_arg1);
}
}
}//package code.water
Section 13
//Water (code.water.Water)
package code.water {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import code.float.*;
public class Water extends MovieClip {
private var spacing:Number;
private var floatingItems:Array;
private var dots:Array;
private var waves:Array;
private var shape:Shape;
private var waterWidth:Number;
private var mColor:uint;
private var numDots:Number;
public function Water(_arg1:uint){
mColor = _arg1;
}
public function getWaves():Array{
return (waves);
}
public function moveFloatingItems():void{
var _local1:Number;
var _local2:int;
var _local3:FloatingItem;
var _local4:DisplayObject;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:*;
var _local12:Number;
_local1 = 0.25;
_local2 = 0;
while (_local2 < getFloatingItems().length) {
_local3 = getFloatingItems()[_local2];
_local4 = _local3.getDisplayObject();
_local5 = 0.9;
_local6 = Math.round(_local4.x);
_local7 = 4;
_local8 = (Math.floor((_local6 / spacing)) - (_local7 / 2));
_local9 = 0;
_local10 = 0;
_local11 = _local8;
while (_local11 < (_local8 + _local7)) {
_local9 = (_local9 + dots[_local11].y);
if (_local11 != _local8){
_local10 = (_local10 + Math.atan2((dots[_local11].y - dots[(_local11 - 1)].y), (dots[_local11].x - dots[(_local11 - 1)].x)));
};
_local11++;
};
_local9 = (_local9 / _local7);
_local3.setYVelocity((_local3.getYVelocity() + _local1));
_local4.y = (_local4.y + _local3.getYVelocity());
if (_local4.y >= _local9){
_local4.y = _local9;
_local3.setYVelocity((_local3.getYVelocity() * 0.4));
_local12 = 0.3;
_local4.rotation = (_local4.rotation + (((((_local10 / _local7) * 180) / Math.PI) - _local4.rotation) * _local12));
};
_local2++;
};
}
public function floatingItemsDone(){
addChild(shape);
}
public function enterFrameHandler(_arg1:Event):void{
if (Math.round((Math.random() * 20)) == 0){
gentlyDisturbWater();
};
propogateWaves();
renderWater();
moveFloatingItems();
}
public function addedToStage():void{
dots = new Array();
waves = new Array();
floatingItems = new Array();
waterWidth = 2500;
numDots = 60;
spacing = (waterWidth / numDots);
addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true);
initDots();
shape = new Shape();
renderWater();
gentlyDisturbWater();
gentlyDisturbWater();
}
public function renderWater():void{
var _local1:Number;
var _local2:*;
var _local3:Dot;
shape.graphics.clear();
shape.graphics.beginFill(mColor);
shape.graphics.lineStyle(0, 0, 0);
shape.graphics.moveTo(0, 0);
_local1 = getTimer();
_local2 = 0;
while (_local2 < dots.length) {
_local3 = dots[_local2];
shape.graphics.lineTo(_local3.x, _local3.y);
_local2++;
};
shape.graphics.lineTo(dots[(dots.length - 1)].x, 400);
shape.graphics.lineTo(0, 400);
shape.graphics.endFill();
}
public function injectWave(_arg1:Number, _arg2:Number){
addWave(_arg1, _arg2, 1);
addWave(_arg1, _arg2, -1);
}
public function addWave(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Wave;
_local4 = new Wave();
_local4.setIndex(Math.floor((_arg2 / spacing)));
_local4.setA(_arg1);
_local4.setDir(_arg3);
_local4.setFirstOne(true);
_local4.setStartX(_arg2);
_local4.setStartTime(getTimer());
getWaves().push(_local4);
}
public function addFloatingItem(_arg1:DisplayObject):void{
var _local2:IFloatable;
_local2 = new FloatingItem();
_local2.setDisplayObject(_arg1);
_local2.setYVelocity(0);
addIFloatable(_local2);
}
public function gentlyDisturbWater():void{
injectWave(3, (Math.random() * waterWidth));
}
public function getFloatingItems():Array{
return (floatingItems);
}
public function propogateWaves():void{
var _local1:Number;
var _local2:Number;
var _local3:int;
var _local4:int;
var _local5:Wave;
var _local6:Number;
var _local7:Dot;
var _local8:Number;
var _local9:Wave;
var _local10:Number;
var _local11:Number;
_local1 = getTimer();
_local2 = (waterWidth / 3000);
_local3 = (waves.length - 1);
while (_local3 >= 0) {
_local5 = getWaves()[_local3];
_local6 = 0.0001;
_local5.setA((_local5.getA() / Math.pow(Math.E, (_local6 * (_local1 - _local5.getStartTime())))));
_local8 = Math.floor(((_local5.getStartX() + ((_local5.getDir() * (_local1 - _local5.getStartTime())) * _local2)) / spacing));
if ((((_local8 < 0)) || ((_local8 > (numDots - 1))))){
waves.splice(_local3, 1);
} else {
if (((!((_local8 == _local5.getIndex()))) || ((((((_local8 == _local5.getIndex())) && ((_local5.getDir() == 1)))) && (_local5.getFirstOne()))))){
if (((_local5.getFirstOne()) && ((_local5.getDir() == 1)))){
_local9 = new Wave();
_local9.setA(_local5.getA());
_local9.setStartTime(_local1);
_local7 = getDots()[_local5.getIndex()];
_local7.getWaves().push(_local9);
};
if (_local5.getDir() == 1){
_local4 = (_local5.getIndex() + 1);
while (_local4 <= _local8) {
_local9 = new Wave();
_local9.setA(_local5.getA());
_local9.setStartTime(_local1);
_local7 = getDots()[_local4];
_local7.getWaves().push(_local9);
_local4++;
};
} else {
_local4 = (_local5.getIndex() - 1);
while (_local4 >= _local8) {
_local9 = new Wave();
_local9.setA(_local5.getA());
_local9.setStartTime(_local1);
_local7 = getDots()[_local4];
_local7.getWaves().push(_local9);
_local4--;
};
};
_local5.setIndex(_local8);
_local5.setFirstOne(false);
};
};
_local3--;
};
_local4 = 0;
while (_local4 < dots.length) {
_local7 = dots[_local4];
_local10 = 0;
_local3 = (_local7.getWaves().length - 1);
while (_local3 >= 0) {
_local5 = _local7.getWaves()[_local3];
_local11 = 0.005;
_local6 = 0.99;
_local5.setA((_local5.getA() * _local6));
_local10 = (_local10 + (_local5.getA() * Math.sin((_local11 * (_local1 - _local5.getStartTime())))));
if (_local5.getA() < 0.5){
_local7.getWaves().splice(_local3, 1);
};
_local3--;
};
_local7.y = _local10;
_local4++;
};
}
public function addIFloatable(_arg1:IFloatable):void{
getFloatingItems().push(_arg1);
addChild(_arg1.getDisplayObject());
}
public function getDots():Array{
return (dots);
}
public function removeFloatingItem(_arg1:DisplayObject):void{
var _local2:int;
var _local3:IFloatable;
_local2 = 0;
while (_local2 < getFloatingItems().length) {
_local3 = getFloatingItems()[_local2];
if (_local3.getDisplayObject() == _arg1){
getFloatingItems().splice(_local2, 1);
removeChild(_arg1);
};
_local2++;
};
}
public function addDot(_arg1:Dot):void{
getDots().push(_arg1);
}
public function initDots(){
var _local1:int;
var _local2:Dot;
_local1 = 0;
while (_local1 < numDots) {
_local2 = new Dot();
_local2.x = (_local1 * spacing);
_local2.y = 0;
addDot(_local2);
_local1++;
};
}
}
}//package code.water
Section 14
//Wave (code.water.Wave)
package code.water {
import flash.events.*;
import flash.display.*;
public class Wave extends MovieClip {
private var startX:Number;
private var A:Number;
private var startTime:Number;
private var firstOne:Boolean;
private var dir:Number;
private var index:int;
public function setStartTime(_arg1:Number):void{
startTime = _arg1;
}
public function getFirstOne():Boolean{
return (firstOne);
}
public function getIndex():int{
return (index);
}
public function addedToStage(_arg1:Event):void{
}
public function setA(_arg1:Number):void{
A = _arg1;
}
public function setFirstOne(_arg1:Boolean):void{
firstOne = _arg1;
}
public function setStartX(_arg1:Number):void{
startX = _arg1;
}
public function getStartX():Number{
return (startX);
}
public function getDir():Number{
return (dir);
}
public function setIndex(_arg1:int):void{
index = _arg1;
}
public function getStartTime():Number{
return (startTime);
}
public function getA():Number{
return (A);
}
public function setDir(_arg1:Number):void{
dir = _arg1;
}
}
}//package code.water
Section 15
//animationbear_124 (FishingGirlBubbleBox3_fla.animationbear_124)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class animationbear_124 extends MovieClip {
public var characterYellowBear:MovieClip;
public function animationbear_124(){
addFrameScript(0, frame1, 67, frame68, 79, frame80, 144, frame145, 156, frame157);
}
function frame157(){
gotoAndPlay("heart_loop2");
}
function frame80(){
gotoAndPlay("heart_loop");
}
function frame1(){
stop();
}
function frame145(){
gotoAndStop(1);
}
function frame68(){
gotoAndPlay("jump_loop");
}
}
}//package FishingGirlBubbleBox3_fla
Section 16
//assetsLoader_3 (FishingGirlBubbleBox3_fla.assetsLoader_3)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class assetsLoader_3 extends MovieClip {
public function assetsLoader_3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package FishingGirlBubbleBox3_fla
Section 17
//Background_hills_85 (FishingGirlBubbleBox3_fla.Background_hills_85)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class Background_hills_85 extends MovieClip {
public var MidTree2:MovieClip;
public var FarTree:MovieClip;
public var MidGround1:MovieClip;
public var FarTree2:MovieClip;
public var FarGround2:MovieClip;
public var cloud1:MovieClip;
public var MidTree:MovieClip;
}
}//package FishingGirlBubbleBox3_fla
Section 18
//backgroundfade_84 (FishingGirlBubbleBox3_fla.backgroundfade_84)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class backgroundfade_84 extends MovieClip {
public function backgroundfade_84(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package FishingGirlBubbleBox3_fla
Section 19
//bottle_115 (FishingGirlBubbleBox3_fla.bottle_115)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class bottle_115 extends MovieClip {
public function bottle_115(){
addFrameScript(799, frame800);
}
function frame800(){
stop();
}
}
}//package FishingGirlBubbleBox3_fla
Section 20
//bubble_logo3_152 (FishingGirlBubbleBox3_fla.bubble_logo3_152)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class bubble_logo3_152 extends MovieClip {
public function bubble_logo3_152(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
}
}//package FishingGirlBubbleBox3_fla
Section 21
//BubbleBoxLogoGraphicMc_154 (FishingGirlBubbleBox3_fla.BubbleBoxLogoGraphicMc_154)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class BubbleBoxLogoGraphicMc_154 extends MovieClip {
public var play_latest_text:MovieClip;
}
}//package FishingGirlBubbleBox3_fla
Section 22
//BubbleBoxSplash_150 (FishingGirlBubbleBox3_fla.BubbleBoxSplash_150)
package FishingGirlBubbleBox3_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class BubbleBoxSplash_150 extends MovieClip {
public var link:MovieClip;
public var play_latest_text:MovieClip;
public function BubbleBoxSplash_150(){
addFrameScript(0, frame1, 160, frame161);
}
function frame161(){
stop();
MovieClip(parent).play();
}
function frame1(){
MovieClip(parent).stop();
link.addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1213&subid=splash"), "_blank");
}
}
}//package FishingGirlBubbleBox3_fla
Section 23
//Dialogue_67 (FishingGirlBubbleBox3_fla.Dialogue_67)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Dialogue_67 extends MovieClip {
public var butCancel:MovieClip;
public var txtCost:TextField;
public var txtDescription:TextField;
public var purText2:MovieClip;
public var purText3:MovieClip;
public var butPurchase:MovieClip;
public var txtTitle:TextField;
public var butPurchase2:MovieClip;
public var butPurchase3:MovieClip;
public var purText:MovieClip;
}
}//package FishingGirlBubbleBox3_fla
Section 24
//FishWorld_83 (FishingGirlBubbleBox3_fla.FishWorld_83)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class FishWorld_83 extends MovieClip {
public var mcFish:MovieClip;
public var mcFishingRod:fishingRod;
public var mcFireworks:MovieClip;
public var mcLure:fishLure;
public var mcBird:Bird;
public var mcBoyfriend:MovieClip;
public var characterPinkBear:MovieClip;
public var mcDisplayFish:MovieClip;
public function FishWorld_83(){
addFrameScript(0, frame1, 470, frame471);
}
function frame1(){
stop();
}
function frame471(){
stop();
}
}
}//package FishingGirlBubbleBox3_fla
Section 25
//interface_137 (FishingGirlBubbleBox3_fla.interface_137)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
import flash.text.*;
public dynamic class interface_137 extends MovieClip {
public var PetalIcon:MovieClip;
public var mcTackleBox:TackleBox;
public var mFeedbackMov:MovieClip;
public var logo:MovieClip;
public var mcScore:TextField;
public var mcMute:MovieClip;
}
}//package FishingGirlBubbleBox3_fla
Section 26
//introbottleanim_101 (FishingGirlBubbleBox3_fla.introbottleanim_101)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class introbottleanim_101 extends MovieClip {
public function introbottleanim_101(){
addFrameScript(449, frame450);
}
function frame450(){
stop();
}
}
}//package FishingGirlBubbleBox3_fla
Section 27
//island_paradise_105 (FishingGirlBubbleBox3_fla.island_paradise_105)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class island_paradise_105 extends MovieClip {
public var topper1x1:MovieClip;
public var trophyHouse2:MovieClip;
public var trophyForest1:MovieClip;
public var trophyForest2:MovieClip;
public var topper2x1:MovieClip;
public var trophyHouse1x1:MovieClip;
}
}//package FishingGirlBubbleBox3_fla
Section 28
//MainTimeline (FishingGirlBubbleBox3_fla.MainTimeline)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
import flash.events.*;
public dynamic class MainTimeline extends MovieClip {
public var smallFish:MovieClip;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7);
}
function frame6(){
stop();
}
function frame7(){
gotoAndStop(6);
}
function frame1(){
MochiAd.showPreGameAd({clip:root, id:"ff00e48ec9d26253", res:"640x480", no_bg:true});
stop();
this.stage.addEventListener(Event.ENTER_FRAME, preloader);
stop();
}
public function preloader(_arg1:Event):void{
var _local2:*;
var _local3:*;
var _local4:int;
var _local5:BubbleSplash;
_local2 = stage.loaderInfo.bytesTotal;
_local3 = stage.loaderInfo.bytesLoaded;
_local4 = ((_local3 * 100) / _local2);
_local5 = new BubbleSplash();
_local5.x = smallFish.x;
_local5.y = smallFish.y;
addChild(_local5);
_local5.init((String(_local4) + "%"));
if (_local3 >= _local2){
if (framesLoaded == totalFrames){
this.stage.removeEventListener(Event.ENTER_FRAME, preloader);
};
};
}
function frame2(){
if (((true) || (!((this.root.loaderInfo.url.indexOf("bubblebox.com") == -1))))){
gotoAndPlay(4);
} else {
stop();
};
}
}
}//package FishingGirlBubbleBox3_fla
Section 29
//mEndScoreText_136 (FishingGirlBubbleBox3_fla.mEndScoreText_136)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mEndScoreText_136 extends MovieClip {
public var endScoreText:TextField;
}
}//package FishingGirlBubbleBox3_fla
Section 30
//SplashInterface_145 (FishingGirlBubbleBox3_fla.SplashInterface_145)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
public dynamic class SplashInterface_145 extends MovieClip {
public var viewscores:MovieClip;
public var secondtime:MovieClip;
public var firsttime:MovieClip;
public var playmore:MovieClip;
}
}//package FishingGirlBubbleBox3_fla
Section 31
//textMovie_141 (FishingGirlBubbleBox3_fla.textMovie_141)
package FishingGirlBubbleBox3_fla {
import flash.display.*;
import flash.text.*;
public dynamic class textMovie_141 extends MovieClip {
public var mcFeedback:TextField;
}
}//package FishingGirlBubbleBox3_fla
Section 32
//Bird (Bird)
package {
import flash.events.*;
import flash.display.*;
public class Bird extends MovieClip {
private var delta:int;
public function Bird(){
delta = 10;
this.x = 0;
this.y = (Math.random() * 550);
this.addEventListener(Event.ENTER_FRAME, birdFly, false, 0, true);
}
private function birdFly(_arg1:Event):void{
this.x = (this.x + delta);
if ((((this.x > 3000)) || ((this.x < 0)))){
delta = -(delta);
if (delta < 0){
this.scaleX = -1;
} else {
this.scaleX = 1;
};
this.y = (Math.random() * 550);
};
}
public function destroy():void{
this.removeEventListener(Event.ENTER_FRAME, birdFly);
parent.removeChild(this);
}
}
}//package
Section 33
//BoyIsland (BoyIsland)
package {
import flash.display.*;
public dynamic class BoyIsland extends MovieClip {
public var mcSadBoy:MovieClip;
public var trophyForest2:MovieClip;
public function BoyIsland(){
addFrameScript(0, frame1, 1, frame2, 49, frame50);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame50(){
stop();
}
}
}//package
Section 34
//Bubble (Bubble)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class Bubble extends MovieClip {
public var counter:int;
public var airBubble:MovieClip;
public function Bubble(){
stop();
this.addEventListener(Event.ENTER_FRAME, bubbleUpdate, false, 0, true);
counter = 0;
this.scaleX = 0;
this.scaleY = 0;
}
private function bubbleUpdate(_arg1:Event):void{
var _local2:Sound;
counter++;
if (this.hitTestPoint(FishingGame.mStage.mouseX, FishingGame.mStage.mouseY)){
if (currentFrame == 1){
gotoAndStop(2);
_local2 = new BubblePop();
_local2.play();
};
};
this.scaleX = ((counter / 100) * 2);
this.scaleY = ((counter / 100) * 2);
this.alpha = (1 - (counter / 100));
this.y = (this.y - 5);
if (this.y < 0){
gotoAndStop(2);
};
if (counter > 100){
this.removeEventListener(Event.ENTER_FRAME, bubbleUpdate);
FishBowl(parent).removeBubble(this);
};
}
}
}//package
Section 35
//bubblebox_score (bubblebox_score)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.system.*;
import flash.ui.*;
public dynamic class bubblebox_score extends MovieClip {
public var loader:URLLoader;
public var loadingStatus:String;
public var hexChars:String;
public var score:Number;
public var gameID:Number;
public var insertname:TextField;
public function bubblebox_score(){
addFrameScript(0, frame1);
}
public function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public function hash(_arg1:String):String{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
public function removeListeners():void{
loader.removeEventListener(Event.COMPLETE, completeHandler);
loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
public function clicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:URLVariables;
var _local7:URLRequest;
if (loadingStatus == "insertName"){
if (((((!((_arg1.target.name == "insertName"))) && (!((this.insertname.text == "YOUR NAME"))))) && ((this.insertname.text.length > 0)))){
_local2 = this.insertname.text;
_local3 = ((((gameID + "_") + score) + "_") + _local2);
_local4 = ((((((((((gameID + "_") + "4234232143214421") + "_") + score) + "_") + "2537625476251") + "_") + _local2) + "_") + "desleutelistessa");
_local5 = hash(_local4);
_local6 = new URLVariables();
_local6.datastring = _local3;
_local6.hashstring = _local5;
_local7 = new URLRequest("http://www.bubblebox.com/scripts/insertscore2008.php");
_local7.data = _local6;
_local7.method = URLRequestMethod.POST;
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, completeHandler, false, 0, true);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler, false, 0, true);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true);
loader.load(_local7);
this.gotoAndStop(2);
loadingStatus = "sending";
};
} else {
if (loadingStatus == "sending"){
} else {
if (loadingStatus == "completed"){
navigateToURL(new URLRequest((("http://www.bubblebox.com/highscores/" + gameID) + ".htm")), "_blank");
} else {
if (loadingStatus == "failed"){
loadingStatus = "insertName";
this.gotoAndStop(1);
};
};
};
};
}
public function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public function failed():void{
loadingStatus = "failed";
removeListeners();
this.gotoAndStop(4);
}
public function setScore(_arg1:Number, _arg2:Number):void{
score = _arg1;
gameID = _arg2;
}
public function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
public function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
function frame1(){
hexChars = "0123456789abcdef";
this.stage.focus = this.insertname;
this.insertname.setSelection(0, this.insertname.text.length);
loader = new URLLoader();
loadingStatus = "insertName";
this.addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
stop();
}
public function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
public function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
public function ioErrorHandler(_arg1:IOErrorEvent):void{
trace("ioError");
failed();
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
trace("securityError");
failed();
}
public function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public function createBlocks(_arg1:ByteArray):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
public function hashBinary(_arg1:ByteArray):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((toHex(_local2) + toHex(_local3)) + toHex(_local4)) + toHex(_local5)));
}
public function tr(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((rol(_local9, _arg7) + _arg3));
}
public function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public function completeHandler(_arg1:Event):void{
loadingStatus = "completed";
removeListeners();
this.gotoAndStop(3);
}
public function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package
Section 36
//BubblePop (BubblePop)
package {
import flash.media.*;
public dynamic class BubblePop extends Sound {
}
}//package
Section 37
//BubbleSplash (BubbleSplash)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
public class BubbleSplash extends MovieClip {
public var counter:int;
private var velX:Number;
public var airBubble:MovieClip;
public var perText:TextField;
public function BubbleSplash(){
stop();
}
public function init(_arg1:String){
velX = ((Math.random() * 50) - 25);
perText.text = _arg1;
this.addEventListener(Event.ENTER_FRAME, bubbleUpdate, false, 0, true);
counter = 0;
this.scaleX = 0;
this.scaleY = 0;
}
private function bubbleUpdate(_arg1:Event):void{
var _local2:Sound;
counter++;
if (this.hitTestPoint(MovieClip(parent).mouseX, MovieClip(parent).mouseY)){
if (currentFrame == 1){
gotoAndStop(2);
_local2 = new BubblePop();
_local2.play();
};
};
this.scaleX = ((counter / 100) * 2);
this.scaleY = ((counter / 100) * 2);
this.alpha = (1 - (counter / 100));
this.y = (this.y - 5);
this.x = (this.x + velX);
velX = (velX * 0.9);
if (counter > 100){
this.removeEventListener(Event.ENTER_FRAME, bubbleUpdate);
MovieClip(parent).removeChild(this);
};
}
}
}//package
Section 38
//Explode (Explode)
package {
import flash.events.*;
import flash.display.*;
public class Explode extends MovieClip {
public function Explode(){
this.addEventListener(Event.ENTER_FRAME, explodeUpdate, false, 0, true);
}
private function explodeUpdate(_arg1:Event):void{
if (currentFrame == totalFrames){
this.removeEventListener(Event.ENTER_FRAME, explodeUpdate);
parent.removeChild(this);
};
}
}
}//package
Section 39
//ExplodeSound (ExplodeSound)
package {
import flash.media.*;
public dynamic class ExplodeSound extends Sound {
}
}//package
Section 40
//Firework (Firework)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class Firework extends MovieClip {
private const gravity:int = 1;
public var counter:int;
public var explodeTime:int;
private var deltaY:int;
private var deltaX:int;
private var particles:TParticles;
public function Firework(_arg1:TParticles){
particles = _arg1;
gotoAndStop((int((Math.random() * 4)) + 1));
this.addEventListener(Event.ENTER_FRAME, bubbleUpdate, false, 0, true);
this.x = (Math.random() * 600);
this.y = 0;
deltaY = -(((Math.random() * 15) + 20));
deltaX = ((Math.random() * 15) - 7.5);
explodeTime = ((Math.random() * 40) + 10);
counter = 0;
}
private function bubbleUpdate(_arg1:Event):void{
var _local2:Sound;
counter++;
deltaY = (deltaY + gravity);
this.x = (this.x + deltaX);
this.y = (this.y + deltaY);
if (explodeTime == counter){
_local2 = new FireworkSound();
_local2.play();
particles.DoParticleExplosionForMovieClip(this);
this.parent.removeChild(this);
};
}
}
}//package
Section 41
//FireworkSound (FireworkSound)
package {
import flash.media.*;
public dynamic class FireworkSound extends Sound {
}
}//package
Section 42
//Fish (Fish)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import dummyClasses.*;
public class Fish extends MovieClip {
private const biteArray:Array;
private const scoreArrray:Array;
public var mSize:int;
public var mFishScore:int;
private var mBite:int;
private var mShape:Shape;
private var mAngle:Number;// = 0
private var mNibbleDelay:int;// = 100
private var mTopSpeed:int;
private var mLure:Lure;
private var mMode:String;
private var mAby:Number;// = 0
private var mSpeed:Number;// = 0
private var mFishingGame:FishingGame;
public static var mFishArray:Array = new Array();
private static var thetas:Array;
public static var mFishHooked:Fish;
public static var tempTotalScoreInLevel:int = 0;
public function Fish(_arg1:int, _arg2:int=0){
var _local3:int;
var _local4:Number;
mSpeed = 0;
mAngle = 0;
mAby = 0;
scoreArrray = [50, 100, 200, 400, 100, 200, 400, 800, 200, 400, 800, 1600, 3000];
biteArray = [150, 100, 75, 0, 150, 100, 75, 25, 150, 100, 75, 0, 0];
mNibbleDelay = 100;
super();
mSize = _arg1;
mShape = new Shape();
addChild(mShape);
this.addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
mMode = "Swimming";
if (!thetas){
thetas = new Array();
_local4 = -360;
while (_local4 <= 360) {
thetas[_local4] = {cos:Math.cos(((_local4 * Math.PI) / 180)), sin:Math.sin(((_local4 * Math.PI) / 180))};
_local4++;
};
};
this.gotoAndStop(_local3);
if (_arg2 == 0){
if (mSize == 2){
_local3 = (int((Math.random() * 4)) + 1);
} else {
if (mSize == 3){
_local3 = (int((Math.random() * 4)) + 5);
} else {
if (mSize == 4){
_local3 = (int((Math.random() * 4)) + 9);
} else {
if (mSize == 5){
_local3 = 13;
};
};
};
};
} else {
_local3 = _arg2;
};
mFishScore = scoreArrray[(_local3 - 1)];
mBite = biteArray[(_local3 - 1)];
tempTotalScoreInLevel = (tempTotalScoreInLevel + mFishScore);
this.gotoAndStop(_local3);
if (Math.random() < 0.5){
mAngle = 0;
this.x = ((Math.random() * 3000) - 1000);
} else {
mAngle = 180;
this.x = ((Math.random() * 3000) - 1000);
};
this.y = ((Math.random() * 200) + (300 * (mSize - 1)));
mTopSpeed = int(((mSize * 2) + 1));
mFishArray.push(this);
trace(tempTotalScoreInLevel);
}
public function init(_arg1:Lure, _arg2:int=0):void{
mLure = _arg1;
if (_arg2 != 0){
mSize = _arg2;
if (mSize == 4){
this.gotoAndStop(4);
};
if (mSize == 3){
this.gotoAndStop(8);
};
if (mSize == 2){
this.gotoAndStop(12);
};
if (mSize == 5){
this.gotoAndStop(13);
};
};
}
private function addedToStage(_arg1:Event):void{
mFishingGame = FishingGame(parent.parent.parent.parent);
this.addEventListener(Event.ENTER_FRAME, fishUpdate, false, 0, true);
this.removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
}
private function fishUpdate(_arg1:Event):void{
var _local2:*;
var _local3:int;
var _local4:int;
var _local5:Vector2D;
var _local6:Boolean;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:Vector2D;
var _local12:Number;
mNibbleDelay++;
_local2 = (5 - mSize);
if (mMode == "Hooked"){
this.x = (mLure.x - mFishingGame.mcFishWorld.mcFish.x);
this.y = (mLure.y - mFishingGame.mcFishWorld.mcFish.y);
if (this.scaleX == -1){
this.rotation = (this.rotation - 2);
if (this.rotation < -90){
this.rotation = -90;
};
};
if (this.scaleX == 1){
this.rotation = (this.rotation + 2);
if (this.rotation > 90){
this.rotation = 90;
};
};
} else {
if (mMode == "Swimming"){
if ((Math.random() * 100) < 1){
FishBowl(parent).makeBubble(this.x, this.y);
};
_local3 = ((this.x - mLure.x) + mFishingGame.mcFishWorld.mcFish.x);
_local4 = ((this.y - mLure.y) + mFishingGame.mcFishWorld.mcFish.y);
if ((((mAngle > -90)) && ((mAngle < 90)))){
_local5 = new Vector2D(-(_local3), -(_local4));
} else {
_local5 = new Vector2D(-(_local3), -(_local4));
};
_local6 = false;
if (mLure.mLureType != -1){
if ((((_local5.Length() < mBite)) && ((this.y > 25)))){
if (_local3 > 0){
if (!(((mAngle > -90)) && ((mAngle < 90)))){
_local6 = true;
};
} else {
if ((((mAngle > -90)) && ((mAngle < 90)))){
_local6 = true;
};
};
};
};
_local7 = mTopSpeed;
_local8 = _local7;
if (_local6){
_local10 = _local5.VectorToDegree();
_local11 = new Vector2D(100, 0);
_local11.Rotate(mAngle);
_local12 = _local11.VectorToDegree();
if (_local12 < _local10){
mAby = _local2;
} else {
if (_local12 > _local10){
mAby = -(_local2);
};
};
if (this.y < 50){
this.y = 50;
if ((((mAngle > -90)) && ((mAngle < 90)))){
mAngle = 0;
} else {
mAngle = 180;
};
} else {
if (this.y < 150){
if ((((mAngle > -90)) && ((mAngle < 90)))){
mAby = (mAby + _local2);
} else {
mAby = (mAby - _local2);
};
};
};
} else {
mAby = (_local2 - int((Math.random() * ((_local2 * 2) + 1))));
if (this.y < 50){
this.y = 50;
if ((((mAngle > -90)) && ((mAngle < 90)))){
mAngle = 0;
} else {
mAngle = 180;
};
} else {
if (this.y < 150){
if ((((mAngle > -90)) && ((mAngle < 90)))){
mAby = (mAby + _local2);
} else {
mAby = (mAby - _local2);
};
};
};
};
mSpeed = (mSpeed + ((_local8 - mSpeed) * 0.05));
mAngle = (mAngle + mAby);
mAngle = (int(mAngle) % 360);
if ((((mAngle > -90)) && ((mAngle < 90)))){
this.rotation = mAngle;
this.scaleX = -1;
} else {
this.rotation = (mAngle - 180);
this.scaleX = 1;
};
_local9 = ((mAngle + 360) % 360);
this.x = (this.x + (mSpeed * thetas[_local9].cos));
this.y = (this.y + (mSpeed * thetas[_local9].sin));
if (this.x > 2000){
this.x = -1000;
this.y = ((Math.random() * 200) + (300 * (mSize - 1)));
mAngle = 0;
};
if (this.x < -1000){
this.x = 2000;
this.y = ((Math.random() * 200) + (300 * (mSize - 1)));
mAngle = 180;
};
checkLureCollision();
};
};
}
private function stealFish(_arg1:Fish){
var _local2:int;
_arg1.removeEventListener(Event.ENTER_FRAME, fishUpdate);
_local2 = 0;
while (_local2 < mFishArray.length) {
if (mFishArray[_local2] == _arg1){
mFishArray.splice(_local2, 1);
};
_local2++;
};
if (FishBowl(parent)){
FishBowl(parent).removeFish(_arg1);
mFishHooked = null;
FishingGame.idealZoom = 0.75;
} else {
trace("something strange here.. this fish shouldn't be here");
};
}
private function sharkEnding(){
trace("WE ARE FORCING RESTET NOW>>>IT MUST WORK");
mLure.forceReset();
mLure.stopReel();
mFishingGame.sharkEnding();
}
public function explodeFish(_arg1:Fish):void{
var _local2:Sound;
var _local3:int;
_local2 = new ExplodeSound();
_local2.play();
FishingGame.addToScore((_arg1.mFishScore * 2));
_arg1.removeEventListener(Event.ENTER_FRAME, fishUpdate);
_local3 = 0;
while (_local3 < mFishArray.length) {
if (mFishArray[_local3] == _arg1){
mFishArray.splice(_local3, 1);
};
_local3++;
};
if (FishBowl(parent)){
FishBowl(parent).explodeFish(_arg1);
mFishHooked = null;
} else {
trace("something strange here.. this fish shouldn't be here");
};
}
private function checkLureCollision():void{
var _local1:int;
var _local2:String;
var _local3:Point;
var _local4:Point;
var _local5:Boolean;
var _local6:int;
_local1 = 20;
if (((!(mFishHooked)) && (!((mLure.mLureType == -1))))){
_local3 = new Point((this.x + mFishingGame.mcFishWorld.mcFish.x), (this.y + mFishingGame.mcFishWorld.mcFish.y));
_local4 = new Point(mLure.x, mLure.y);
if (((((_local4.x - _local1) < _local3.x)) && (((_local4.x + _local1) > _local3.x)))){
if (((((_local4.y - _local1) < _local3.y)) && (((_local4.y + _local1) > _local3.y)))){
if (mLure.mLureType == 4){
FishingGame.helpText("Fish don't eat birds!");
} else {
if (mLure.mLureType == 3){
explodeFish(this);
mLure.destroyLure();
FishingGame.helpText("BOOM!");
_local5 = false;
_local6 = 0;
while (_local6 < mFishArray.length) {
if (mFishArray[_local6].mSize == 5){
_local5 = true;
};
_local6++;
};
if (!_local5){
sharkEnding();
};
} else {
if (mSize == (mLure.mLureType + 2)){
this.x = (mLure.x - mFishingGame.mcFishWorld.mcFish.x);
this.y = (mLure.y - mFishingGame.mcFishWorld.mcFish.y);
mFishHooked = this;
FishingGame.idealZoom = 1;
mMode = "Hooked";
FishingGame.helpText("You hooked it!");
FishingGame.mBoyfriend.gotoAndPlay("reeling_in_fish");
} else {
if (mSize < (mLure.mLureType + 2)){
if (mNibbleDelay > 100){
if (FishingGame.mHard){
mNibbleDelay = 0;
_local2 = mLure.damageLure((mSize - 1));
if (_local2 == "damage"){
FishingGame.helpText("That fish was too small and nibbled your lure!");
} else {
if (_local2 == "destroyed"){
FishingGame.helpText("That fish nibbled the last of your lure!");
} else {
if (_local2 == "nothing"){
FishingGame.helpText("That fish was too small for this lure!");
};
};
};
} else {
FishingGame.helpText("That fish was too small for this lure!");
};
};
} else {
if (mSize > (mLure.mLureType + 2)){
mLure.destroyLure();
FishingGame.helpText("That fish was too big for this lure. Your lure was stolen!");
};
};
};
};
};
};
};
} else {
if (((mFishHooked) && (!((mLure.mLureType == -1))))){
_local3 = new Point((this.x + mFishingGame.mcFishWorld.mcFish.x), (this.y + mFishingGame.mcFishWorld.mcFish.y));
_local4 = new Point(mLure.x, mLure.y);
if (((((_local4.x - _local1) < _local3.x)) && (((_local4.x + _local1) > _local3.x)))){
if (((((_local4.y - _local1) < _local3.y)) && (((_local4.y + _local1) > _local3.y)))){
if (mSize == (mLure.mLureType + 3)){
FishingGame.mBoyfriend.gotoAndPlay("return_position");
stealFish(mFishHooked);
mLure.destroyLure();
FishingGame.helpText("Your lure and fish was stolen!");
};
if (mSize < (mLure.mLureType + 2)){
if (mNibbleDelay > 100){
mNibbleDelay = 0;
_local2 = mLure.damageLure((mSize - 1));
if (_local2 == "damage"){
FishingGame.helpText("That fish was too small and nibbled your lure!");
} else {
if (_local2 == "destroyed"){
FishingGame.helpText("Your fish was set free!");
mFishHooked.setFree();
} else {
if (_local2 == "nothing"){
FishingGame.helpText("That fish was too small for this lure!");
};
};
};
};
};
};
};
};
};
}
private function setFree(){
mMode = "Swimming";
mFishHooked = null;
FishingGame.idealZoom = 0.75;
}
public static function removeFish():void{
var i:int;
if (mFishHooked){
FishingGame.idealZoom = 0.75;
FishingGame.addToScore(mFishHooked.mFishScore);
FishingGame.mDisplayFish.gotoAndStop(mFishHooked.currentFrame);
FishingGame.mDisplayFish.alpha = 0;
FishingGame.mDisplayFish.visible = true;
FishingGame.mBoyfriend.gotoAndPlay("heart_loop");
Tweener.addTween(FishingGame.mDisplayFish, {alpha:1, time:1, transition:"linear"});
Tweener.addTween(FishingGame.mDisplayFish, {alpha:0, delay:5, time:1, transition:"linear", onComplete:function (){
FishingGame.mDisplayFish.visible = false;
FishingGame.mBoyfriend.gotoAndPlay("return_position");
}});
mFishHooked.removeEventListener(Event.ENTER_FRAME, mFishHooked.fishUpdate);
i = 0;
while (i < mFishArray.length) {
if (mFishArray[i] == mFishHooked){
mFishArray.splice(i, 1);
};
i = (i + 1);
};
if (FishBowl(mFishHooked.parent)){
FishBowl(mFishHooked.parent).removeFish(mFishHooked);
mFishHooked = null;
} else {
trace("something strange here.. this fish shouldn't be here");
};
};
}
public static function destroyAllFish(){
var _local1:int;
_local1 = 0;
while (_local1 < mFishArray.length) {
mFishArray[_local1].removeEventListener(Event.ENTER_FRAME, mFishArray[_local1].fishUpdate);
FishBowl(mFishArray[_local1].parent).removeFish(mFishArray[_local1]);
_local1++;
};
mFishArray = new Array();
}
}
}//package
Section 43
//FishBowl (FishBowl)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class FishBowl extends MovieClip {
private const waterDepth = 800;
private const fishStartPositionY:int = 223;
private const fishStartPositionX:int = 1426;
public var bubbleCount:int;
private var mFishArray:Array;
private var mLure:Lure;
public var bubblecounttext:TextField;
private var mfg:FishingGame;
private function bubblesCounting(_arg1:Event){
}
public function removeFish(_arg1:Fish):void{
this.removeChild(_arg1);
_arg1 = null;
}
public function init(_arg1:Lure, _arg2:FishingGame){
var _local3:int;
var _local4:Fish;
var _local5:int;
trace("WHERE DID THIS DAMN LURE GO", _arg1);
mfg = _arg2;
mLure = _arg1;
trace("lure again", mLure);
Fish.destroyAllFish();
mFishArray = new Array();
if (FishingGame.mHard){
_local5 = 1;
} else {
_local5 = 0;
};
_local3 = 0;
while (_local3 < (5 + _local5)) {
_local4 = new Fish(2, 1);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (5 + _local5)) {
_local4 = new Fish(2, 2);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (3 + _local5)) {
_local4 = new Fish(2, 3);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (2 + _local5)) {
_local4 = new Fish(2, 4);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (4 + _local5)) {
_local4 = new Fish(3, 5);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (4 + _local5)) {
_local4 = new Fish(3, 6);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (3 + _local5)) {
_local4 = new Fish(3, 7);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (2 + _local5)) {
_local4 = new Fish(3, 8);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (2 + _local5)) {
_local4 = new Fish(4, 9);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (2 + _local5)) {
_local4 = new Fish(4, 10);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (2 + _local5)) {
_local4 = new Fish(4, 11);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < (1 + _local5)) {
_local4 = new Fish(4, 12);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < 2) {
_local4 = new Fish(5, 13);
_local4.init(mLure);
this.addChild(_local4);
_local3++;
};
}
public function makeBubble(_arg1:int, _arg2:int):void{
var _local3:Bubble;
bubbleCount++;
_local3 = new Bubble();
_local3.x = _arg1;
_local3.y = _arg2;
this.addChild(_local3);
}
public function removeBubble(_arg1:Bubble):void{
bubbleCount--;
this.removeChild(_arg1);
_arg1 = null;
}
public function removeExplode(_arg1:Explode):void{
this.removeChild(_arg1);
_arg1 = null;
}
public function explodeFish(_arg1:Fish):void{
var _local2:Explode;
_local2 = new Explode();
_local2.x = _arg1.x;
_local2.y = _arg1.y;
this.addChild(_local2);
removeFish(_arg1);
}
}
}//package
Section 44
//FishingGame (FishingGame)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import code.water.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
public class FishingGame extends MovieClip {
public var mRod:Rod;
public var mcLure:MovieClip;
public var mcInterface:MovieClip;
public var mGameMode:int;// = 1
public var bbscore:bubblebox_score;
private var mSharkEndCounter:int;
private var mSoundToggle:Boolean;// = true
private var particles:TParticles;
public var mWater:Water;
public var mStoreCapsuleArray:Array;
public var mWater3:Water;
public var mWater4:Water;
public var mWater5:Water;
private var happyBoy:HappyBoy;
public var mWater2:Water;
private var mFollowSprite:MovieClip;
public var mFishingLine:FishingLine;
private var mStartGameTime:int;
public var mcFish:MovieClip;
public var mcFishingRod:MovieClip;
public var mBoyIsland:BoyIsland;
private var swimmingGirl:SwimmingGirl;
private var fireworks:Boolean;// = false
public var mcFishWorld:MovieClip;
private var mTackleBox:TackleBox;
private var mFPS:FPS;
public var mEndScoreText:MovieClip;
public var mLure:Lure;
public var mcLevel:MovieClip;
public var mHitArea:MovieClip;
private var swimmingBoy:SwimmingBoy;
private var mFirstTime:Boolean;// = true
public var fpsText:TextField;
private var lastPosition:Point;// = null
public var mFishBowl:FishBowl;
public static var mBoyfriend:MovieClip;
private static var mScore:int = 0;
private static var mSoundLoop:Sound;
public static var idealZoom:Number = 0.75;
public static var staticInterface:MovieClip;
public static var mDisplayFish:MovieClip;
public static var mStage:MovieClip;
public static var mBird:MovieClip;
public static var mHard:Boolean = true;
private static var mChannel:SoundChannel;
public function FishingGame(){
mGameMode = 1;
mFirstTime = true;
mSoundToggle = true;
lastPosition = null;
fireworks = false;
super();
mEndScoreText.visible = false;
mFPS = new FPS();
bbscore.visible = false;
mSoundLoop = new SoundLoop();
mChannel = mSoundLoop.play(0, int.MAX_VALUE);
mStage = this;
staticInterface = mcInterface;
staticInterface.mFeedbackMov.alpha = 0;
this.mcFishWorld.scaleX = 0.75;
this.mcFishWorld.scaleY = 0.75;
mRod = mcFishWorld.mcFishingRod;
mLure = mcFishWorld.mcLure;
mcFish = mcFishWorld.mcFish;
mTackleBox = mcInterface.mcTackleBox;
mDisplayFish = mcFishWorld.mcDisplayFish;
mDisplayFish.visible = false;
mBoyfriend = mcFishWorld.mcBoyfriend;
mBird = mcFishWorld.mcBird;
mTackleBox.hide();
mLure.init(this, mTackleBox);
mRod.init(this);
mWater = new Water(5462113);
mWater.x = -500;
mcFishWorld.mcFish.addChild(mWater);
mWater.addedToStage();
mWater2 = new Water(5790822);
mWater2.x = -500;
mWater2.y = 300;
mcFishWorld.mcFish.addChild(mWater2);
mWater2.addedToStage();
mWater3 = new Water(5462113);
mWater3.x = -500;
mWater3.y = 600;
mcFishWorld.mcFish.addChild(mWater3);
mWater3.addedToStage();
mWater4 = new Water(6054251);
mWater4.x = -500;
mWater4.y = 900;
mcFishWorld.mcFish.addChild(mWater4);
mWater4.addedToStage();
mWater5 = new Water(5790822);
mWater5.x = -500;
mWater5.y = 1200;
mcFishWorld.mcFish.addChild(mWater5);
mWater5.addedToStage();
StoreCapsule.init(mLure, mRod);
mStoreCapsuleArray = new Array();
mStoreCapsuleArray[0] = new StoreCapsule(0);
mStoreCapsuleArray[0].x = 900;
mWater.addFloatingItem(mStoreCapsuleArray[0]);
mStoreCapsuleArray[1] = new StoreCapsule(1);
mStoreCapsuleArray[1].x = 1200;
mWater.addFloatingItem(mStoreCapsuleArray[1]);
mStoreCapsuleArray[2] = new StoreCapsule(2);
mStoreCapsuleArray[2].x = 1500;
mWater.addFloatingItem(mStoreCapsuleArray[2]);
mStoreCapsuleArray[3] = new StoreCapsule(3);
mStoreCapsuleArray[3].x = 1800;
mWater.addFloatingItem(mStoreCapsuleArray[3]);
mWater.floatingItemsDone();
mBoyIsland = new BoyIsland();
mBoyIsland.x = 2300;
mWater.addFloatingItem(mBoyIsland);
mWater2.floatingItemsDone();
mWater3.floatingItemsDone();
mWater4.floatingItemsDone();
mWater5.floatingItemsDone();
mFishBowl = new FishBowl();
mcFishWorld.mcFish.addChild(mFishBowl);
mFishingLine = new FishingLine(mLure, mRod);
mcFishWorld.addChild(mFishingLine);
staticInterface.mFeedbackMov.mcFeedback.mouseEnabled = false;
staticInterface.mFeedbackMov.mouseEnabled = false;
staticInterface.mouseEnabled = false;
mcFishWorld.addEventListener(Event.ENTER_FRAME, ScrollWorld, false, 0, true);
addToScore(0);
addButtons();
mcInterface.mcMute.addEventListener(MouseEvent.CLICK, mute);
mcInterface.mcMute.buttonMode = true;
mcInterface.mcMute.gotoAndStop(1);
}
private function castRod(_arg1:MouseEvent):void{
if (mGameMode == 1){
mRod.cast();
mTackleBox.hide();
};
}
private function easy(_arg1:MouseEvent){
mHard = false;
startGame();
}
private function bubbleBoxBut2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1213&subid=playmore"), "_blank");
}
private function bubbleBoxBut3(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1213&subid=scores&action=viewscores"), "_blank");
}
private function mute(_arg1:MouseEvent){
var _local2:SoundTransform;
_local2 = new SoundTransform();
_local2.volume = 0;
if (mSoundToggle){
mSoundToggle = false;
_local2.volume = 0;
mChannel.soundTransform = _local2;
_arg1.currentTarget.gotoAndStop(2);
} else {
mSoundToggle = true;
_local2.volume = 1;
mChannel.soundTransform = _local2;
_arg1.currentTarget.gotoAndStop(1);
};
}
private function sharkLoop(_arg1:Event){
var e = _arg1;
mSharkEndCounter++;
if (mSharkEndCounter == 200){
mcFishWorld.characterPinkBear.visible = false;
mcFishWorld.mcBoyfriend.visible = false;
swimmingGirl = new SwimmingGirl();
swimmingGirl.x = 700;
mWater.addFloatingItem(swimmingGirl);
swimmingBoy = new SwimmingBoy();
swimmingBoy.x = 600;
mWater.addFloatingItem(swimmingBoy);
};
if (mSharkEndCounter == 800){
helpText("and they all lived happily ever after", 0, -128, function (){
helpText("except...", 0, -128, function (){
helpText("...for the fireworks", 0, -128, function (){
FishingGame.helpText("The End", 0, -128, function (){
FishingGame.helpText("", 5, -128, function (){
restartGame();
});
});
});
});
});
};
if ((((mSharkEndCounter > 200)) && ((mSharkEndCounter < 840)))){
happyBoy.x = (happyBoy.x - 2);
};
if (mSharkEndCounter == 1400){
lastPosition = new Point(800, 500);
particles = new TParticles(10000, 1);
particles.x = -300;
particles.y = -800;
this.mcFishWorld.mcFireworks.addChild(particles);
fireworks = true;
doHighScore(true);
};
if (fireworks){
startFirework();
};
}
private function bubbleBoxBut(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1213&subid=ingamelogo"), "_blank");
}
public function restartGame(){
addButtons();
}
private function ScrollWorld(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Number;
var _local9:Number;
_local2 = (idealZoom - mcFishWorld.scaleX);
_local3 = (_local2 / 60);
_local4 = (640 / mcFishWorld.scaleX);
_local5 = (480 / mcFishWorld.scaleX);
_local7 = (-((mcFishWorld.x / mcFishWorld.scaleX)) + (_local4 / 2));
_local6 = (-((mcFishWorld.y / mcFishWorld.scaleX)) + (_local5 / 2));
if (lastPosition){
_local8 = (-((lastPosition.x - _local7)) / 150);
_local9 = (-((lastPosition.y - _local6)) / 150);
} else {
if (!mFollowSprite){
_local8 = (-((mLure.x - _local7)) / (15 / mcFishWorld.scaleX));
_local9 = (-((mLure.y - _local6)) / (15 / mcFishWorld.scaleX));
} else {
_local8 = (-((((mFollowSprite.x + mcFishWorld.mcFish.x) - 500) - _local7)) / 150);
_local9 = (-(((mFollowSprite.y + mcFishWorld.mcFish.y) - _local6)) / 150);
};
};
mcFishWorld.x = (mcFishWorld.x + _local8);
mcFishWorld.y = (mcFishWorld.y + _local9);
if (mcFishWorld.x < -1300){
mcFishWorld.x = -1300;
};
if (mcFishWorld.y > 90){
mcFishWorld.y = 90;
};
}
private function startFirework(){
var _local1:Firework;
particles.MoveParticles();
particles.DrawParticles();
if (Math.random() < 0.1){
_local1 = new Firework(particles);
this.mcFishWorld.mcFireworks.addChild(_local1);
};
}
private function butover(_arg1:MouseEvent){
_arg1.currentTarget.gotoAndStop(2);
}
private function hard(_arg1:MouseEvent){
mHard = true;
startGame();
}
public function SetScrollLoc(_arg1:MovieClip){
mFollowSprite = _arg1;
}
private function butout(_arg1:MouseEvent){
_arg1.currentTarget.gotoAndStop(1);
}
private function castLure(_arg1:MouseEvent):void{
if (mGameMode == 2){
mLure.cast(mRod.lureCast());
};
}
private function startGame(){
mcLevel.firsttime.removeEventListener(MouseEvent.MOUSE_OVER, butover);
mcLevel.secondtime.removeEventListener(MouseEvent.MOUSE_OVER, butover);
mcLevel.firsttime.removeEventListener(MouseEvent.MOUSE_OUT, butout);
mcLevel.secondtime.removeEventListener(MouseEvent.MOUSE_OUT, butout);
mcLevel.firsttime.removeEventListener(MouseEvent.CLICK, easy);
mcLevel.secondtime.removeEventListener(MouseEvent.CLICK, hard);
mcLevel.visible = false;
mStage.mcFishWorld.addEventListener(MouseEvent.MOUSE_DOWN, castRod, false, 0, true);
mStage.mcFishWorld.addEventListener(MouseEvent.MOUSE_UP, castLure, false, 0, true);
if (mFirstTime){
mFirstTime = false;
FishingGame.helpText("Click and Hold to pull back rod", 1, -128, function (){
FishingGame.helpText("Release the button to cast!", 0);
});
mStartGameTime = getTimer();
mFishBowl.init(mLure, this);
} else {
secondPlay();
};
}
public function sharkEnding(){
mSharkEndCounter = 0;
this.mGameMode = -999;
mBoyIsland.gotoAndStop(2);
mFishingLine.visible = false;
mRod.visible = false;
mLure.visible = false;
mcFishWorld.play();
happyBoy = new HappyBoy();
happyBoy.x = 2100;
mWater.addFloatingItem(happyBoy);
SetScrollLoc(happyBoy);
addEventListener(Event.ENTER_FRAME, sharkLoop, false, 0, true);
}
private function addButtons(){
if (!mFirstTime){
mcLevel.y = 18;
};
mcLevel.visible = true;
mcLevel.alpha = 0;
Tweener.addTween(mcLevel, {alpha:1, delay:0, time:2, transition:"linear"});
mcLevel.firsttime.gotoAndStop(1);
mcLevel.secondtime.gotoAndStop(1);
mcLevel.firsttime.buttonMode = true;
mcLevel.secondtime.buttonMode = true;
mcLevel.firsttime.addEventListener(MouseEvent.CLICK, easy);
mcLevel.secondtime.addEventListener(MouseEvent.CLICK, hard);
mcLevel.firsttime.addEventListener(MouseEvent.MOUSE_OVER, butover);
mcLevel.secondtime.addEventListener(MouseEvent.MOUSE_OVER, butover);
mcLevel.firsttime.addEventListener(MouseEvent.MOUSE_OUT, butout);
mcLevel.secondtime.addEventListener(MouseEvent.MOUSE_OUT, butout);
mcInterface.logo.gotoAndStop(1);
mcInterface.logo.addEventListener(MouseEvent.CLICK, bubbleBoxBut);
mcInterface.logo.addEventListener(MouseEvent.MOUSE_OVER, butover);
mcInterface.logo.addEventListener(MouseEvent.MOUSE_OUT, butout);
mcLevel.playmore.gotoAndStop(1);
mcLevel.playmore.addEventListener(MouseEvent.CLICK, bubbleBoxBut2);
mcLevel.playmore.addEventListener(MouseEvent.MOUSE_OVER, butover);
mcLevel.playmore.addEventListener(MouseEvent.MOUSE_OUT, butout);
mcLevel.viewscores.gotoAndStop(1);
mcLevel.viewscores.addEventListener(MouseEvent.CLICK, bubbleBoxBut3);
mcLevel.viewscores.addEventListener(MouseEvent.MOUSE_OVER, butover);
mcLevel.viewscores.addEventListener(MouseEvent.MOUSE_OUT, butout);
mcInterface.logo.buttonMode = true;
mcLevel.playmore.buttonMode = true;
mcLevel.viewscores.buttonMode = true;
}
public function doHighScore(_arg1:Boolean=false){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:String;
_local4 = 0;
_local5 = getTimer();
_local5 = (_local5 - mStartGameTime);
_local3 = Math.floor((_local5 / 1000));
_local2 = Math.floor((_local3 / 60));
_local3 = (_local3 % 60);
_local4 = (_local5 / 1000);
if (_local4 > 3600){
_local4 = 3600;
};
_local4 = (3600 - _local4);
_local6 = 0;
if (mHard){
_local6 = 2000;
};
if (_arg1){
_local7 = "Shark";
} else {
_local7 = "Save the Boy";
};
mEndScoreText.endScoreText.htmlText = (((((("You completed FishingGirl " + _local7) + " ending in ") + _local2) + ":") + _local3) + "<br>");
mEndScoreText.endScoreText.htmlText = (mEndScoreText.endScoreText.htmlText + (((((("Money left: " + mScore) + " - Time bonus: ") + _local4) + " - Difficulty bonus:") + _local6) + "<br>"));
mScore = ((mScore + _local4) + _local6);
mEndScoreText.endScoreText.htmlText = (mEndScoreText.endScoreText.htmlText + (("TOTAL SCORE: <u>" + mScore) + "</u><br>"));
mEndScoreText.alpha = 0;
bbscore.alpha = 0;
mEndScoreText.visible = true;
bbscore.setScore(mScore, 1213);
bbscore.visible = true;
Tweener.addTween(mEndScoreText, {alpha:1, delay:0, time:1, transition:"linear"});
Tweener.addTween(bbscore, {alpha:1, delay:0, time:1, transition:"linear"});
}
private function secondPlay(){
if (fireworks){
mBoyIsland.gotoAndStop(1);
mFishingLine.visible = true;
mFishingLine.resetLure(mLure);
mRod.visible = true;
mLure.visible = true;
mcFishWorld.gotoAndStop(1);
mWater.removeFloatingItem(happyBoy);
SetScrollLoc(null);
removeEventListener(Event.ENTER_FRAME, sharkLoop);
mcFishWorld.characterPinkBear.visible = true;
mcFishWorld.mcBoyfriend.visible = true;
mWater.removeFloatingItem(swimmingGirl);
mWater.removeFloatingItem(swimmingBoy);
lastPosition = null;
particles.clear();
this.mcFishWorld.mcFireworks.removeChild(particles);
particles = null;
fireworks = false;
};
mBoyIsland.x = 2300;
mBoyIsland.gotoAndStop(1);
bbscore.visible = false;
mEndScoreText.visible = false;
mFishBowl.init(mLure, this);
mRod.changeRod(0);
mScore = 0;
staticInterface.mcScore.text = mScore;
mGameMode = 1;
mcFishWorld.characterPinkBear.scaleX = 1;
mLure.resetLures();
mStartGameTime = getTimer();
mLure.x = 992;
mLure.y = 656;
}
public static function getScore():int{
return (mScore);
}
public static function helpText(_arg1:String, _arg2:Number=0, _arg3:int=-128, _arg4:Function=null):void{
if (((!((staticInterface.mFeedbackMov.mcFeedback.text == _arg1))) || ((staticInterface.mFeedbackMov.alpha == 0)))){
staticInterface.mFeedbackMov.mcFeedback.text = _arg1;
staticInterface.mFeedbackMov.y = _arg3;
Tweener.addTween(staticInterface.mFeedbackMov, {alpha:1, delay:_arg2, time:1, transition:"linear"});
Tweener.addTween(staticInterface.mFeedbackMov, {alpha:0, delay:(3 + _arg2), time:1, transition:"linear", onComplete:_arg4});
};
}
public static function addToScore(_arg1:int):void{
mScore = (mScore + _arg1);
staticInterface.mcScore.text = mScore;
}
public static function removeMoney(_arg1:int):void{
mScore = (mScore - _arg1);
staticInterface.mcScore.text = mScore;
}
}
}//package
Section 45
//FishingLine (FishingLine)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class FishingLine extends Shape {
private var mLure:Lure;
private var mRod:Rod;
public function FishingLine(_arg1:Lure, _arg2:Rod){
mLure = _arg1;
mRod = _arg2;
mLure.addEventListener(Event.ENTER_FRAME, drawline, false, 0, true);
}
private function drawline(_arg1:Event):void{
var _local2:Point;
_local2 = mRod.rodTip();
this.graphics.clear();
this.graphics.lineStyle(1, 0, 0.1);
this.graphics.moveTo(_local2.x, _local2.y);
this.graphics.lineTo(mLure.x, mLure.y);
}
public function resetLure(_arg1:Lure){
var _local2:Point;
trace("reset lure");
_local2 = mRod.rodTip();
mLure = _arg1;
mLure.x = _local2.x;
mLure.y = _local2.y;
}
}
}//package
Section 46
//fishingRod (fishingRod)
package {
public dynamic class fishingRod extends Rod {
public function fishingRod(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 47
//fishLure (fishLure)
package {
public dynamic class fishLure extends Lure {
}
}//package
Section 48
//FPS (FPS)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class FPS extends MovieClip {
var targetRate:Number;// = 0
var secondTimer:Timer;
var framesPassed:Number;// = 0
var currentRate:Number;// = 0
public function FPS():void{
targetRate = 0;
currentRate = 0;
framesPassed = 0;
super();
this.secondTimer = new Timer(1000);
this.secondTimer.start();
this.secondTimer.addEventListener(TimerEvent.TIMER, handleTimer);
this.addEventListener(Event.ENTER_FRAME, update);
}
public function get TargetRate():Number{
return (this.targetRate);
}
private function update(_arg1:Event):void{
this.framesPassed++;
}
public function get FrameRate():Number{
return (this.currentRate);
}
private function handleTimer(_arg1:TimerEvent):void{
this.currentRate = this.framesPassed;
this.framesPassed = 0;
}
}
}//package
Section 49
//HappyBoy (HappyBoy)
package {
import flash.display.*;
public dynamic class HappyBoy extends MovieClip {
}
}//package
Section 50
//Lure (Lure)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import dummyClasses.*;
public class Lure extends MovieClip {
public var lureSmall:MovieClip;
private var sinkingRotation:Number;// = 0.2
private var mWave:int;
private var mSinkVector:Vector2D;
public var lureMedium:MovieClip;
public var lureLarge:MovieClip;
private var mRodTip:Point;
private var mBestDistance:int;
private var mVisitedStore:Boolean;
public var lureBomb:MovieClip;
private var mTackleBox:TackleBox;
private var mAtStore:Boolean;// = false
private var mLureHealth:Array;
private var mLureArray:Array;
public var mLureType:int;
private var mEndGame:Boolean;// = false
private var mLureDeltaY:int;
private var mLureDeltaX:int;
private var mIslandCurrentPosition:Point;
private var mPlayingEndAnimation:Boolean;// = false
public var Bird:MovieClip;
private var mReelingIn:Boolean;
private var mFishingGame:FishingGame;
public static var mFishHooked:Object;
public function Lure(){
sinkingRotation = 0.2;
mAtStore = false;
mEndGame = false;
mPlayingEndAnimation = false;
super();
trace("FUcKING CONSTRUCTORR");
mLureArray = [3, 0, 0, 0, 0];
mLureHealth = [1, 1, 1, 1, 1];
}
private function birdFly(_arg1:Event):void{
var e = _arg1;
if ((((this.y > 500)) && ((this.x > 680)))){
this.y = (this.y - 2);
} else {
if (this.x > 680){
if (this.x < 780){
mFishingGame.mcFishWorld.characterPinkBear.scaleX = -1;
};
this.x = (this.x - 2);
} else {
if (this.y < 660){
this.y = (this.y + 2);
} else {
this.gotoAndStop(7);
FishingGame.helpText("and they all lived happily ever after", 0, -128, function (){
FishingGame.helpText("but so did the sharks", 0, -128, function (){
mFishingGame.mBoyIsland.gotoAndPlay(3);
FishingGame.helpText("The End", 0, -128, function (){
mFishingGame.doHighScore();
FishingGame.helpText("", 5, -128, function (){
mFishingGame.restartGame();
});
});
});
});
this.removeEventListener(Event.ENTER_FRAME, birdFly);
};
};
};
}
public function init(_arg1:FishingGame, _arg2:TackleBox):void{
this.alpha = 1;
mLureType = 0;
gotoAndStop((mLureType + 1));
mFishingGame = _arg1;
mTackleBox = _arg2;
mTackleBox.init(mLureArray, this);
mTackleBox.hide();
}
public function forceReset():void{
this.removeEventListener(Event.ENTER_FRAME, sinkLure);
trace("we are seetinig this to ", this, mRodTip.x, mRodTip.y);
this.x = mRodTip.x;
this.y = mRodTip.y;
}
private function reelStop(_arg1:MouseEvent):void{
mReelingIn = false;
}
public function stopReel():void{
mFishingGame.mcFishWorld.removeEventListener(MouseEvent.MOUSE_DOWN, reelStart);
mFishingGame.mcFishWorld.removeEventListener(MouseEvent.MOUSE_UP, reelStop);
}
private function playEndAnimation():void{
this.removeEventListener(Event.ENTER_FRAME, flyLure);
mFishingGame.mFishingLine.visible = false;
mFishingGame.mRod.visible = false;
mFishingGame.mBoyIsland.mcSadBoy.visible = false;
this.gotoAndStop(6);
this.addEventListener(Event.ENTER_FRAME, birdFly, false, 0, true);
}
public function cast(_arg1:Number):void{
var _local2:Number;
var _local3:Vector2D;
mFishingGame.mGameMode = 3;
if (mLureType == 4){
_local2 = (Rod.mCastSpeed + 5);
} else {
_local2 = Rod.mCastSpeed;
};
_local3 = new Vector2D(_local2, 0);
_local3.Rotate((_arg1 + 90));
mLureDeltaX = _local3.x;
mLureDeltaY = _local3.y;
mVisitedStore = false;
mReelingIn = false;
mFishingGame.mcFishWorld.addEventListener(MouseEvent.MOUSE_DOWN, reelStart, false, 0, true);
mFishingGame.mcFishWorld.addEventListener(MouseEvent.MOUSE_UP, reelStop, false, 0, true);
this.addEventListener(Event.ENTER_FRAME, flyLure, false, 10, true);
}
public function continueGame():void{
mAtStore = false;
this.addEventListener(Event.ENTER_FRAME, flyLure, false, 0, true);
}
public function resetLures(){
mLureArray = [3, 0, 0, 0, 0];
mLureHealth = [1, 1, 1, 1, 1];
mLureType = 0;
gotoAndStop((mLureType + 1));
this.alpha = mLureHealth[mLureType];
mTackleBox.init(mLureArray, this);
mTackleBox.hide();
mRodTip = mFishingGame.mRod.rodTip();
trace("ROD TIP LOACVTION", mRodTip.x, mRodTip.y);
this.x = mRodTip.x;
this.y = mRodTip.y;
trace(this.x, this.y);
this.x = 992;
this.y = 656;
trace(this.x, this.y);
trace("in game resets");
mReelingIn = false;
mEndGame = false;
mVisitedStore = false;
mBestDistance = 0;
mAtStore = false;
mFishingGame.mFishingLine.visible = true;
mFishingGame.mRod.visible = true;
if (mEndGame){
mFishingGame.mBoyIsland.mcSadBoy.visible = true;
mFishingGame.mBoyIsland.x = 2300;
mPlayingEndAnimation = false;
};
}
private function dragShop(_arg1:Event):void{
if (mReelingIn){
trace("drag that shop home");
};
}
private function reelStart(_arg1:MouseEvent):void{
mReelingIn = true;
}
public function damageLure(_arg1:int):String{
var _local2:String;
_local2 = "nothing";
if (_arg1 == 1){
if (mLureType == 1){
_local2 = "damage";
mLureHealth[mLureType] = (mLureHealth[mLureType] - 0.5);
};
if (mLureType == 2){
_local2 = "damage";
mLureHealth[mLureType] = (mLureHealth[mLureType] - 0.25);
};
};
if (_arg1 == 2){
if (mLureType == 2){
_local2 = "damage";
mLureHealth[mLureType] = (mLureHealth[mLureType] - 0.5);
};
};
if (mLureHealth[mLureType] <= 0){
_local2 = "destroyed";
mLureHealth[mLureType] = 1;
this.destroyLure();
} else {
if (_local2 == "damage"){
this.alpha = mLureHealth[mLureType];
};
};
return (_local2);
}
public function destroyLure():void{
mTackleBox.init(mLureArray, this);
mLureHealth[mLureType] = 1;
mLureType = -1;
this.alpha = 0;
}
public function selectLure(_arg1:int):void{
if ((((_arg1 == -1)) && (!((mLureType == -1))))){
mLureHealth[mLureType] = 1;
mLureType = -1;
this.alpha = 0;
} else {
var _local2 = mLureArray;
var _local3 = _arg1;
var _local4 = (_local2[_local3] - 1);
_local2[_local3] = _local4;
mLureType = _arg1;
this.alpha = mLureHealth[mLureType];
gotoAndStop((mLureType + 1));
};
mTackleBox.init(mLureArray, this);
}
public function position(_arg1:int, _arg2:int):void{
this.x = _arg1;
this.y = _arg2;
}
private function sinkLure(_arg1:Event):void{
var e = _arg1;
if (mReelingIn){
if (mFishHooked){
if (mFishingGame.mRod.mRodType == 3){
mSinkVector.ChangeLength((15 / mFishHooked.size));
} else {
mSinkVector.ChangeLength((30 / mFishHooked.size));
};
} else {
if (mFishingGame.mRod.mRodType == 3){
mSinkVector.ChangeLength(10);
} else {
mSinkVector.ChangeLength(5);
};
};
};
if (mSinkVector.Length() < 5){
this.x = mRodTip.x;
this.y = mRodTip.y;
if (mLureType == -1){
if ((((((((((FishingGame.getScore() < 100)) && ((mLureArray[0] < 1)))) && ((mLureArray[1] < 1)))) && ((mLureArray[2] < 1)))) && ((mLureArray[3] < 1)))){
mFishingGame.mGameMode = -1;
FishingGame.helpText("You can't afford anymore lures.", 0, -128, function (){
FishingGame.helpText("How about trying again?", 0, -128, function (){
mFishingGame.restartGame();
});
});
} else {
FishingGame.helpText("Select a lure", 1, -16);
mTackleBox.show();
mFishingGame.mGameMode = 1;
};
} else {
mTackleBox.show();
mFishingGame.mGameMode = 1;
};
Fish.removeFish();
mFishingGame.mcFishWorld.removeEventListener(MouseEvent.MOUSE_DOWN, reelStart);
mFishingGame.mcFishWorld.removeEventListener(MouseEvent.MOUSE_UP, reelStop);
this.removeEventListener(Event.ENTER_FRAME, sinkLure);
} else {
if (mWave == 1){
if (this.y > (mFishingGame.mcFishWorld.mcFish.y + mFishingGame.mWater2.y)){
mFishingGame.mWater2.injectWave(15, ((this.x - mFishingGame.mcFishWorld.mcFish.x) + 500));
mWave = 2;
};
} else {
if (mWave == 2){
if (this.y > (mFishingGame.mcFishWorld.mcFish.y + mFishingGame.mWater3.y)){
mFishingGame.mWater3.injectWave(15, ((this.x - mFishingGame.mcFishWorld.mcFish.x) + 500));
mWave = 3;
};
} else {
if (mWave == 3){
if (this.y > (mFishingGame.mcFishWorld.mcFish.y + mFishingGame.mWater4.y)){
mFishingGame.mWater4.injectWave(15, ((this.x - mFishingGame.mcFishWorld.mcFish.x) + 500));
mWave = 4;
};
} else {
if (mWave == 4){
if (this.y > (mFishingGame.mcFishWorld.mcFish.y + mFishingGame.mWater5.y)){
mFishingGame.mWater5.injectWave(15, ((this.x - mFishingGame.mcFishWorld.mcFish.x) + 500));
mWave = 5;
};
};
};
};
};
if (mSinkVector.VectorToDegree() < 180){
mSinkVector.Rotate(sinkingRotation);
};
this.x = (mRodTip.x + mSinkVector.x);
this.y = (mRodTip.y + mSinkVector.y);
};
}
private function flyLure(_arg1:Event):void{
var _local2:int;
var _local3:Number;
var _local4:Point;
var _local5:Point;
var _local6:int;
var _local7:int;
var _local8:Point;
var _local9:Point;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:Sound;
_local3 = 2;
if (((!(mVisitedStore)) && (!(mEndGame)))){
endGameCheck();
_local2 = 0;
while (_local2 < mFishingGame.mStoreCapsuleArray.length) {
_local4 = parent.localToGlobal(new Point(x, y));
_local5 = mFishingGame.mStoreCapsuleArray[_local2].parent.localToGlobal(new Point(mFishingGame.mStoreCapsuleArray[_local2].x, mFishingGame.mStoreCapsuleArray[_local2].y));
_local6 = (this.width / 2);
_local7 = 30;
_local8 = _local4;
_local9 = _local5;
_local10 = (_local8.x - _local9.x);
_local11 = (_local8.y - _local9.y);
if (((_local10 * _local10) + (_local11 * _local11)) < ((_local6 + _local7) * (_local6 + _local7))){
mLureDeltaX = 0;
mLureDeltaY = 0;
mAtStore = true;
mFishingGame.mStoreCapsuleArray[_local2].openForBusiness();
mVisitedStore = true;
this.removeEventListener(Event.ENTER_FRAME, flyLure);
};
_local2++;
};
};
if (this.hitTestObject(FishingGame.mBird)){
if (mLureType != -1){
FishingGame.helpText("A bird ate your lure!");
mLureType = 4;
gotoAndStop((mLureType + 1));
mTackleBox.init(mLureArray, this);
FishingGame.mBird.destroy();
};
};
if (!mAtStore){
if (this.y < mFishingGame.mcFishWorld.mcFish.y){
if (mReelingIn){
this.x = (this.x + (mLureDeltaX / 2));
this.y = (this.y + (mLureDeltaY / 2));
} else {
this.x = (this.x + mLureDeltaX);
this.y = (this.y + mLureDeltaY);
};
mLureDeltaY = (mLureDeltaY + _local3);
} else {
if (this.mLureType != -1){
_local13 = new SplashSound();
_local13.play();
};
mFishingGame.mWater.injectWave(30, ((this.x - mFishingGame.mcFishWorld.mcFish.x) + 500));
mWave = 1;
this.y = (this.y + 1);
mRodTip = mFishingGame.mRod.rodTip();
_local12 = (-((mRodTip.x - this.x)) / 20);
if (_local12 > mBestDistance){
mBestDistance = _local12;
FishingGame.helpText((("You cast " + _local12) + " meters. Best ever!"));
} else {
FishingGame.helpText((("You cast " + _local12) + " meters."));
};
mSinkVector = new Vector2D((this.x - mRodTip.x), (this.y - mRodTip.y));
mFishingGame.mGameMode = 4;
this.removeEventListener(Event.ENTER_FRAME, flyLure);
this.addEventListener(Event.ENTER_FRAME, sinkLure, false, 10, true);
};
} else {
if (mEndGame){
if (this.x <= 1035){
if (!mPlayingEndAnimation){
mPlayingEndAnimation = true;
playEndAnimation();
};
} else {
if (mReelingIn){
mFishingGame.mBoyIsland.x = (mFishingGame.mBoyIsland.x - 5);
};
this.x = (2510 + (mFishingGame.mBoyIsland.x - mIslandCurrentPosition.x));
this.y = (640 + (mFishingGame.mBoyIsland.y - mIslandCurrentPosition.y));
};
};
};
}
private function endGameCheck():void{
var _local1:Point;
var _local2:Point;
_local1 = parent.localToGlobal(new Point(x, y));
_local2 = mFishingGame.mBoyIsland.parent.localToGlobal(new Point(mFishingGame.mBoyIsland.x, mFishingGame.mBoyIsland.y));
if (_local1.x > (_local2.x - 100)){
mAtStore = true;
mEndGame = true;
mIslandCurrentPosition = new Point(mFishingGame.mBoyIsland.x, mFishingGame.mBoyIsland.y);
};
}
public function addLure(_arg1:int):void{
var _local2 = mLureArray;
var _local3 = _arg1;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
mTackleBox.init(mLureArray, this);
}
public function returnLure():void{
if (mLureType != -1){
var _local1 = mLureArray;
var _local2 = mLureType;
var _local3 = (_local1[_local2] + 1);
_local1[_local2] = _local3;
mTackleBox.init(mLureArray, this);
mLureType = -1;
this.alpha = 0;
};
}
public function struggle(_arg1:Vector2D):void{
mSinkVector.Add(_arg1);
}
}
}//package
Section 51
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiAd {
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var sendHostProgress:Boolean;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
sendHostProgress = false;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 52
//Particle (Particle)
package {
public class Particle {
public var color:uint;
public var horizLoc:Number;
public var vertSpeed:Number;
public var oldVertLoc:int;
public var oldHorizLoc:int;
public var vertLoc:Number;
public var horizSpeed:Number;
public var lifeRemaining:int;
}
}//package
Section 53
//Rod (Rod)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class Rod extends MovieClip {
private const maxRotation:int = -140;
private const vertOffset:int = -20;
private const rodLength:int = 187;
private const rodSpeedBack:int = 5;
private const rodSpeedForward:int = 5;
private var mRodFrameCounter:int;
private var mPullingBack:Boolean;
public var mRodType:int;
private var mRodRotation:int;
private var mFishingGame:FishingGame;
public static var mCastSpeed:Number;
public function Rod(){
changeRod(0);
}
public function changeRod(_arg1:int):void{
mRodType = _arg1;
if (mRodType == 0){
mCastSpeed = 35;
} else {
if (mRodType == 1){
mCastSpeed = 43;
} else {
if (mRodType == 2){
mCastSpeed = 49;
} else {
if (mRodType == 3){
mCastSpeed = 54;
};
};
};
};
this.gotoAndStop((mRodType + 1));
}
public function init(_arg1:FishingGame):void{
mFishingGame = _arg1;
PositionLureToRod();
}
private function moveRod(_arg1:Event):void{
if (mPullingBack){
mRodFrameCounter++;
mRodRotation = -((mRodFrameCounter * rodSpeedBack));
if (mRodRotation < maxRotation){
mRodRotation = maxRotation;
mPullingBack = false;
};
this.rotation = mRodRotation;
PositionLureToRod();
} else {
mRodFrameCounter--;
mRodRotation = -((mRodFrameCounter * rodSpeedForward));
if (mRodRotation >= 0){
mRodRotation = 0;
mFishingGame.mGameMode = 1;
FishingGame.mStage.removeEventListener(Event.ENTER_FRAME, moveRod);
};
this.rotation = mRodRotation;
PositionLureToRod();
};
}
public function cast():void{
mFishingGame.mGameMode = 2;
mRodFrameCounter = 0;
mPullingBack = true;
this.addEventListener(Event.ENTER_FRAME, moveRod, false, 0, true);
}
public function rodTip():Point{
var _local1:Vector2D;
var _local2:int;
var _local3:int;
_local1 = new Vector2D(rodLength, vertOffset);
_local1.Rotate(mRodRotation);
_local2 = this.x;
_local3 = this.y;
_local2 = (_local2 + _local1.x);
_local3 = (_local3 + _local1.y);
return (new Point(_local2, _local3));
}
public function lureCast():Number{
var _local1:int;
_local1 = this.rotation;
mRodRotation = 0;
this.rotation = mRodRotation;
this.removeEventListener(Event.ENTER_FRAME, moveRod);
return (_local1);
}
private function PositionLureToRod():void{
var _local1:Point;
_local1 = rodTip();
mFishingGame.mLure.position(_local1.x, _local1.y);
}
}
}//package
Section 54
//SoundLoop (SoundLoop)
package {
import flash.media.*;
public dynamic class SoundLoop extends Sound {
}
}//package
Section 55
//SplashSound (SplashSound)
package {
import flash.media.*;
public dynamic class SplashSound extends Sound {
}
}//package
Section 56
//StoreCapsule (StoreCapsule)
package {
import flash.events.*;
import flash.display.*;
public class StoreCapsule extends MovieClip {
private const mItems:Array;
private var mType:int;
private var mCurrentItem:Object;
public var mcDialogue:MovieClip;
private static var mLure:Lure;
private static var mRod:Rod;
private static var mTickTock:Boolean;
public function StoreCapsule(_arg1:int){
mItems = [{title:"Small Lure", description:"Catch small fish.", cost:100}, {title:"Silver rod", description:"Cast further.", cost:700}, {title:"Medium Lure", description:"Catch medium fish.", cost:200}, {title:"Gold rod", description:"Cast even further.", cost:2000}, {title:"Large Lure", description:"Catch large fish.", cost:400}, {title:"Legendary Rod", description:"Cast far and reel in heavy fish quickly.", cost:4000}, {title:"Bomb Lure", description:"Explodes and kills the first fish that touches it. Even if it is a very large fish.", cost:800}];
super();
mType = _arg1;
mcDialogue.visible = false;
}
private function purchase(_arg1:MouseEvent):void{
FishingGame.removeMoney(mCurrentItem.cost);
if (mCurrentItem.title == "Silver rod"){
mRod.changeRod(1);
} else {
if (mCurrentItem.title == "Gold rod"){
mRod.changeRod(2);
} else {
if (mCurrentItem.title == "Legendary Rod"){
mRod.changeRod(3);
};
};
};
if (mCurrentItem.title == "Small Lure"){
mLure.addLure(0);
} else {
if (mCurrentItem.title == "Medium Lure"){
mLure.addLure(1);
} else {
if (mCurrentItem.title == "Large Lure"){
mLure.addLure(2);
} else {
if (mCurrentItem.title == "Bomb Lure"){
mLure.addLure(3);
};
};
};
};
closeDialogue();
}
private function butOver(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(2);
}
private function closeDialogue(){
mLure.continueGame();
mcDialogue.butCancel.removeEventListener(MouseEvent.MOUSE_OVER, butOver);
mcDialogue.butCancel.removeEventListener(MouseEvent.MOUSE_OUT, butOut);
mcDialogue.butCancel.removeEventListener(MouseEvent.CLICK, cancel);
mcDialogue.butPurchase.removeEventListener(MouseEvent.MOUSE_OVER, butOver);
mcDialogue.butPurchase.removeEventListener(MouseEvent.MOUSE_OUT, butOut);
mcDialogue.butPurchase.removeEventListener(MouseEvent.CLICK, purchase);
mcDialogue.y = 60;
mcDialogue.visible = false;
}
private function butOut(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(1);
}
private function purchase2(_arg1:MouseEvent):void{
FishingGame.removeMoney((mCurrentItem.cost * 2));
if (mCurrentItem.title == "Small Lure"){
mLure.addLure(0);
mLure.addLure(0);
} else {
if (mCurrentItem.title == "Medium Lure"){
mLure.addLure(1);
mLure.addLure(1);
} else {
if (mCurrentItem.title == "Large Lure"){
mLure.addLure(2);
mLure.addLure(2);
} else {
if (mCurrentItem.title == "Bomb Lure"){
mLure.addLure(3);
mLure.addLure(3);
};
};
};
};
closeDialogue();
}
private function purchase3(_arg1:MouseEvent):void{
FishingGame.removeMoney((mCurrentItem.cost * 3));
if (mCurrentItem.title == "Small Lure"){
mLure.addLure(0);
mLure.addLure(0);
mLure.addLure(0);
} else {
if (mCurrentItem.title == "Medium Lure"){
mLure.addLure(1);
mLure.addLure(1);
mLure.addLure(1);
} else {
if (mCurrentItem.title == "Large Lure"){
mLure.addLure(2);
mLure.addLure(2);
mLure.addLure(2);
} else {
if (mCurrentItem.title == "Bomb Lure"){
mLure.addLure(3);
mLure.addLure(3);
mLure.addLure(3);
};
};
};
};
closeDialogue();
}
private function cancel(_arg1:MouseEvent):void{
closeDialogue();
}
public function openForBusiness():void{
var _local1:Boolean;
if (mTickTock){
mTickTock = false;
} else {
mTickTock = true;
};
_local1 = false;
if (mType == 0){
mCurrentItem = mItems[0];
_local1 = true;
} else {
if (mType == 1){
if (mRod.mRodType < 1){
if (mTickTock){
mCurrentItem = mItems[2];
_local1 = true;
} else {
mCurrentItem = mItems[1];
};
} else {
mCurrentItem = mItems[2];
_local1 = true;
};
} else {
if (mType == 2){
if (mRod.mRodType < 2){
if (mTickTock){
mCurrentItem = mItems[4];
_local1 = true;
} else {
mCurrentItem = mItems[3];
};
} else {
mCurrentItem = mItems[4];
_local1 = true;
};
} else {
if (mType == 3){
if (mRod.mRodType < 3){
if (mTickTock){
mCurrentItem = mItems[6];
_local1 = true;
} else {
mCurrentItem = mItems[5];
};
} else {
mCurrentItem = mItems[6];
_local1 = true;
};
};
};
};
};
mcDialogue.txtTitle.text = mCurrentItem.title;
mcDialogue.txtDescription.text = mCurrentItem.description;
mcDialogue.txtCost.text = ("Cost: " + mCurrentItem.cost);
mcDialogue.butCancel.gotoAndStop(1);
mcDialogue.butPurchase.gotoAndStop(1);
mcDialogue.butPurchase2.gotoAndStop(1);
mcDialogue.butPurchase3.gotoAndStop(1);
mcDialogue.purText.mouseEnabled = false;
mcDialogue.purText2.mouseEnabled = false;
mcDialogue.purText3.mouseEnabled = false;
mcDialogue.butCancel.addEventListener(MouseEvent.MOUSE_OVER, butOver);
mcDialogue.butCancel.addEventListener(MouseEvent.MOUSE_OUT, butOut);
mcDialogue.butCancel.addEventListener(MouseEvent.CLICK, cancel);
if (FishingGame.getScore() < mCurrentItem.cost){
mcDialogue.butPurchase.visible = false;
mcDialogue.purText.visible = false;
} else {
mcDialogue.butPurchase.visible = true;
mcDialogue.purText.visible = true;
};
if (_local1){
if (FishingGame.getScore() < (mCurrentItem.cost * 2)){
mcDialogue.butPurchase2.visible = false;
mcDialogue.purText2.visible = false;
} else {
mcDialogue.butPurchase2.visible = true;
mcDialogue.purText2.visible = true;
};
if (FishingGame.getScore() < (mCurrentItem.cost * 3)){
mcDialogue.butPurchase3.visible = false;
mcDialogue.purText3.visible = false;
} else {
mcDialogue.butPurchase3.visible = true;
mcDialogue.purText3.visible = true;
};
} else {
mcDialogue.butPurchase2.visible = false;
mcDialogue.purText2.visible = false;
mcDialogue.butPurchase3.visible = false;
mcDialogue.purText3.visible = false;
};
mcDialogue.butPurchase.addEventListener(MouseEvent.MOUSE_OVER, butOver);
mcDialogue.butPurchase.addEventListener(MouseEvent.MOUSE_OUT, butOut);
mcDialogue.butPurchase.addEventListener(MouseEvent.CLICK, purchase);
mcDialogue.butPurchase.buttonMode = true;
mcDialogue.butPurchase2.addEventListener(MouseEvent.MOUSE_OVER, butOver);
mcDialogue.butPurchase2.addEventListener(MouseEvent.MOUSE_OUT, butOut);
mcDialogue.butPurchase2.addEventListener(MouseEvent.CLICK, purchase2);
mcDialogue.butPurchase2.buttonMode = true;
mcDialogue.butPurchase3.addEventListener(MouseEvent.MOUSE_OVER, butOver);
mcDialogue.butPurchase3.addEventListener(MouseEvent.MOUSE_OUT, butOut);
mcDialogue.butPurchase3.addEventListener(MouseEvent.CLICK, purchase3);
mcDialogue.butPurchase3.buttonMode = true;
mcDialogue.butCancel.buttonMode = true;
mcDialogue.y = -360;
mcDialogue.visible = true;
}
public static function init(_arg1:Lure, _arg2:Rod):void{
mLure = _arg1;
mRod = _arg2;
}
}
}//package
Section 57
//SwimmingBoy (SwimmingBoy)
package {
import flash.display.*;
public dynamic class SwimmingBoy extends MovieClip {
}
}//package
Section 58
//SwimmingGirl (SwimmingGirl)
package {
import flash.display.*;
public dynamic class SwimmingGirl extends MovieClip {
}
}//package
Section 59
//TackleBox (TackleBox)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class TackleBox extends MovieClip {
public var lureSmall:MovieClip;
public var lure1txt:TextField;
public var lureMedium:MovieClip;
public var lureLarge:MovieClip;
public var lure4txt:TextField;
public var lureBomb:MovieClip;
private var mLureArray:Array;
private var mLure:Lure;
public var lure5txt:TextField;
public var lure2txt:TextField;
public var bird:MovieClip;
public var lure3txt:TextField;
public function TackleBox(){
lureSmall.addEventListener(MouseEvent.CLICK, lureSmallClick, false, 0, true);
lureSmall.buttonMode = true;
lureMedium.addEventListener(MouseEvent.CLICK, lureMediumClick, false, 0, true);
lureMedium.buttonMode = true;
lureLarge.addEventListener(MouseEvent.CLICK, lureLargeClick, false, 0, true);
lureLarge.buttonMode = true;
lureBomb.addEventListener(MouseEvent.CLICK, lureBombClick, false, 0, true);
lureBomb.buttonMode = true;
bird.addEventListener(MouseEvent.CLICK, birdClick, false, 0, true);
bird.buttonMode = true;
}
private function lureMediumClick(_arg1:MouseEvent){
mLure.returnLure();
if (mLureArray[1] > 0){
mLure.selectLure(1);
} else {
mLure.selectLure(-1);
};
}
public function init(_arg1:Array, _arg2:Lure):void{
mLureArray = _arg1;
mLure = _arg2;
lure1txt.text = ("x" + mLureArray[0]);
lure2txt.text = ("x" + mLureArray[1]);
lure3txt.text = ("x" + mLureArray[2]);
lure4txt.text = ("x" + mLureArray[3]);
lure5txt.text = ("x" + mLureArray[4]);
}
private function lureSmallClick(_arg1:MouseEvent){
mLure.returnLure();
if (mLureArray[0] > 0){
mLure.selectLure(0);
} else {
mLure.selectLure(-1);
};
}
private function birdClick(_arg1:MouseEvent){
mLure.returnLure();
if (mLureArray[4] > 0){
mLure.selectLure(4);
} else {
mLure.selectLure(-1);
};
}
public function hide():void{
this.visible = false;
}
private function lureLargeClick(_arg1:MouseEvent){
mLure.returnLure();
if (mLureArray[2] > 0){
mLure.selectLure(2);
} else {
mLure.selectLure(-1);
};
}
private function lureBombClick(_arg1:MouseEvent){
mLure.returnLure();
if (mLureArray[3] > 0){
mLure.selectLure(3);
} else {
mLure.selectLure(-1);
};
}
public function show():void{
if ((((mLureArray[4] > 0)) || ((mLure.mLureType == 4)))){
bird.visible = true;
lure5txt.visible = true;
} else {
bird.visible = false;
lure5txt.visible = false;
};
this.visible = true;
}
}
}//package
Section 60
//TParticles (TParticles)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class TParticles extends MovieClip {
public var gNumArrayElements:uint;
private var bitmap:Bitmap;
private var workFrame:BitmapData;
public var gParticleArray:Array;
public var gNumberOfParticlesActive:int;
public var gLastElementInUse:int;
public var gLowestUnusedElement:int;
public var gGravity:Number;
public var gParticlesInitialized:Boolean;// = false
public function TParticles(_arg1:int, _arg2:Number){
gParticlesInitialized = false;
super();
bitmap = new Bitmap();
workFrame = new BitmapData(int(1300), int(800), true, 0);
bitmap.bitmapData = workFrame;
addChild(bitmap);
gNumArrayElements = _arg1;
gGravity = _arg2;
gParticleArray = new Array(gNumArrayElements);
ClearParticles();
gLowestUnusedElement = 0;
gLastElementInUse = 0;
gNumberOfParticlesActive = 0;
gParticlesInitialized = true;
}
private function ClearParticles():void{
var _local1:int;
_local1 = 0;
while (_local1 < gNumArrayElements) {
gParticleArray[_local1] = new Particle();
_local1++;
};
gLowestUnusedElement = 0;
gLastElementInUse = 0;
gNumberOfParticlesActive = 0;
}
private function ExitParticles():void{
if (gParticlesInitialized){
if (gParticleArray != null){
gParticleArray = null;
};
gNumberOfParticlesActive = 0;
gNumArrayElements = 0;
gParticlesInitialized = false;
};
}
public function NewParticle(_arg1:uint, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number, _arg6:int):void{
if (gParticlesInitialized == false){
return;
};
if (gNumberOfParticlesActive < gNumArrayElements){
while (gParticleArray[gLowestUnusedElement].lifeRemaining > 0) {
gLowestUnusedElement++;
};
gParticleArray[gLowestUnusedElement] = new Particle();
gParticleArray[gLowestUnusedElement].lifeRemaining = _arg6;
gParticleArray[gLowestUnusedElement].color = _arg1;
gParticleArray[gLowestUnusedElement].horizSpeed = _arg4;
gParticleArray[gLowestUnusedElement].vertSpeed = _arg5;
gParticleArray[gLowestUnusedElement].horizLoc = _arg2;
gParticleArray[gLowestUnusedElement].vertLoc = _arg3;
gParticleArray[gLowestUnusedElement].oldHorizLoc = _arg2;
gParticleArray[gLowestUnusedElement].oldVertLoc = _arg3;
if (gLowestUnusedElement > gLastElementInUse){
gLastElementInUse = gLowestUnusedElement;
};
gNumberOfParticlesActive++;
gLowestUnusedElement++;
};
}
public function clear():void{
if (workFrame){
workFrame.dispose();
};
}
public function DrawParticles():void{
var _local1:Particle;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
if (workFrame){
workFrame.dispose();
};
workFrame = new BitmapData(int(1300), int(800), true, 0);
bitmap.bitmapData = workFrame;
_local9 = gLastElementInUse;
_local2 = 0;
_local3 = workFrame.width;
_local4 = 0;
_local5 = workFrame.height;
_local8 = 0;
while (_local8 <= _local9) {
_local1 = gParticleArray[_local8];
if (_local1.lifeRemaining > 1){
_local6 = int(_local1.horizLoc);
_local7 = int(_local1.vertLoc);
if ((((((((_local6 < _local3)) && ((_local6 > _local2)))) && ((_local7 < _local5)))) && ((_local7 > _local4)))){
workFrame.setPixel32(_local6, _local7, _local1.color);
};
};
_local8++;
};
}
public function DoParticleExplosionForMovieClip(_arg1:MovieClip):void{
var _local2:BitmapData;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:uint;
var _local8:uint;
var _local9:Number;
var _local10:Number;
var _local11:int;
var _local12:int;
_local8 = 0;
_local2 = CreateBitmapFromMovieClipFrame(_arg1, _arg1.currentFrame);
if (_local2){
_local5 = _arg1.y;
_local6 = _arg1.x;
_local11 = (_local2.width / 2);
_local12 = (_local2.height / 2);
_local3 = 0;
while (_local3 < _local2.height) {
_local4 = 0;
while (_local4 < _local2.width) {
_local7 = _local2.getPixel32(_local4, _local3);
if (_local7 != _local8){
_local9 = (Number((_local4 - _local11)) / 3);
_local10 = ((Number((_local3 - _local12)) / 3) - 8);
_local9 = (_local9 + ((Math.random() + 10) - 5));
_local10 = (_local10 + ((Math.random() + 10) - 5));
this.NewParticle(_local7, ((_local6 + _local4) + 300), ((_local5 + _local3) + 800), _local9, _local10, 50);
};
_local4++;
};
_local3++;
};
};
}
public function CreateBitmapFromMovieClipFrame(_arg1:MovieClip, _arg2:int):BitmapData{
var frameBitmapData:BitmapData;
var rect:Rectangle;
var matrix:Matrix;
var bitmapWidth:int;
var bitmapHeight:int;
var movie = _arg1;
var frame = _arg2;
movie.gotoAndStop(frame);
rect = movie.getBounds(movie);
matrix = new Matrix();
if (rect.x > 0){
bitmapWidth = (rect.width + rect.x);
} else {
bitmapWidth = (rect.width + -(rect.x));
};
if (rect.y > 0){
bitmapHeight = (rect.height + rect.y);
} else {
bitmapHeight = (rect.height + -(rect.y));
};
if ((((rect.width <= 0)) || ((rect.height <= 0)))){
trace("CANT HAVE A BITMAP DATA WITH NO WIDTH OR HEIGHT");
return (null);
};
matrix.translate(-(rect.x), -(rect.y));
try {
frameBitmapData = new BitmapData(rect.width, rect.height, true, 0);
} catch(e:Error) {
trace(e.message);
return (null);
};
frameBitmapData.draw(movie, matrix, null, null, null, true);
return (frameBitmapData);
}
public function MoveParticles():void{
var _local1:Particle;
var _local2:int;
var _local3:int;
_local3 = gLastElementInUse;
if (gParticlesInitialized == false){
return;
};
_local2 = 0;
while (_local2 <= _local3) {
_local1 = gParticleArray[_local2];
if (_local1.lifeRemaining > 0){
_local1.lifeRemaining--;
if (_local1.lifeRemaining == 0){
gNumberOfParticlesActive--;
if (_local2 < gLowestUnusedElement){
gLowestUnusedElement = _local2;
};
} else {
_local1.oldHorizLoc = _local1.horizLoc;
_local1.oldVertLoc = _local1.vertLoc;
_local1.horizLoc = (_local1.horizLoc + _local1.horizSpeed);
_local1.vertLoc = (_local1.vertLoc + _local1.vertSpeed);
_local1.vertSpeed = (_local1.vertSpeed + gGravity);
};
};
_local2++;
};
if (gNumberOfParticlesActive <= 0){
gLastElementInUse = 0;
} else {
while ((((gParticleArray[gLastElementInUse].lifeRemaining == 0)) && ((gLastElementInUse > 0)))) {
gLastElementInUse--;
};
};
}
}
}//package
Section 61
//Vector2D (Vector2D)
package {
import flash.geom.*;
public class Vector2D extends Point {
public static const kAnticlockwise:int = -1;
public static const kClockwise:int = 1;
public function Vector2D(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
}
private function RadToDegree(_arg1:Number):Number{
return ((_arg1 / (Math.PI / 180)));
}
public function LengthSq():Number{
return (((x * x) + (y * y)));
}
public function Length():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function Zero():void{
x = 0;
y = 0;
}
public function Multiply(_arg1:Vector2D):void{
x = (x * _arg1.x);
y = (y * _arg1.y);
}
public function GetReverse():Vector2D{
return (new Vector2D(-(x), -(y)));
}
public function transform(_arg1:Matrix):Vector2D{
var _local2:Point;
_local2 = _arg1.transformPoint(Point(this));
trace(_local2);
return (new Vector2D(_local2.x, _local2.y));
}
public function Add(_arg1:Vector2D):void{
x = (x + _arg1.x);
y = (y + _arg1.y);
}
public function Perp():Vector2D{
return (new Vector2D(-(y), x));
}
public function Distance(_arg1:Vector2D):Number{
var _local2:Number;
var _local3:Number;
_local2 = (_arg1.y - y);
_local3 = (_arg1.x - x);
return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))));
}
public function ChangeLength(_arg1:Number):void{
var _local2:Vector2D;
_local2 = new Vector2D(0, _arg1);
_local2.Rotate(VectorToDegree());
Add(_local2);
_local2 = null;
}
public function VectorToAngle():Number{
var _local1:Number;
_local1 = (Math.atan2(y, x) + (Math.PI * 0.5));
if (_local1 < 0){
_local1 = (_local1 + (Math.PI * 2));
};
return (_local1);
}
public function SubtractByNumber(_arg1:Number):void{
x = (x - _arg1);
y = (y - _arg1);
}
public function Devide(_arg1:Vector2D):void{
x = (x / _arg1.x);
y = (y / _arg1.y);
}
public function Sign(_arg1:Vector2D):int{
if ((y * _arg1.x) > (x * _arg1.y)){
return (kAnticlockwise);
};
return (kClockwise);
}
public function Truncate(_arg1:Number):void{
if (Length() > _arg1){
Normalize();
MultiplyByNumber(_arg1);
};
}
public function DistanceSq(_arg1:Vector2D):Number{
var _local2:Number;
var _local3:Number;
_local2 = (_arg1.y - y);
_local3 = (_arg1.x - x);
return (((_local2 * _local2) + (_local3 * _local3)));
}
public function AddByNumber(_arg1:Number):void{
x = (x + _arg1);
y = (y + _arg1);
}
public function Dot(_arg1:Vector2D):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function VectorToDegree():Number{
return (RadToDegree(VectorToAngle()));
}
public function MultiplyByNumber(_arg1:Number):void{
x = (x * _arg1);
y = (y * _arg1);
}
public function Normalize():void{
var _local1:Number;
_local1 = Length();
if (_local1 > 0){
x = (x / _local1);
y = (y / _local1);
};
}
private function DegreeToRad(_arg1:Number):Number{
return ((_arg1 * (Math.PI / 180)));
}
public function Subtract(_arg1:Vector2D):void{
x = (x - _arg1.x);
y = (y - _arg1.y);
}
public function Reflect(_arg1:Vector2D):void{
_arg1.GetReverse().MultiplyByNumber((2 * Dot(_arg1)));
x = _arg1.x;
y = _arg1.y;
}
public function Rotate(_arg1:Number):void{
var _local2:Matrix;
var _local3:Point;
_local2 = new Matrix();
_local2.rotate(DegreeToRad(_arg1));
_local3 = _local2.transformPoint(Point(this));
x = _local3.x;
y = _local3.y;
_local3 = null;
_local2 = null;
}
public function DevideByNumber(_arg1:Number):void{
x = (x / _arg1);
y = (y / _arg1);
}
public function Clone():Vector2D{
return (new Vector2D(x, y));
}
public static function Vec2DNormalize(_arg1:Vector2D):Vector2D{
var _local2:Number;
_local2 = _arg1.Length();
if (_local2 > 0){
_arg1.x = (_arg1.x / _local2);
_arg1.y = (_arg1.y / _local2);
};
return (_arg1);
}
}
}//package