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
//color_used_51 (colorfill_fla.color_used_51)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class color_used_51 extends MovieClip {
public var points:TextField;
public var colors:TextField;
}
}//package colorfill_fla
Section 11
//container_93 (colorfill_fla.container_93)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class container_93 extends MovieClip {
public var score1:TextField;
public var score5:TextField;
public var submit:MovieClip;
public var score10:TextField;
public var score6:TextField;
public var player1:TextField;
public var player2:TextField;
public var player6:TextField;
public var player7:TextField;
public var player8:TextField;
public var player5:TextField;
public var player9:TextField;
public var player3:TextField;
public var player4:TextField;
public var player10:TextField;
public var score2:TextField;
public var score3:TextField;
public var score7:TextField;
public var score8:TextField;
public var score9:TextField;
public var score4:TextField;
public var nameInput:MovieClip;
}
}//package colorfill_fla
Section 12
//donescoreButton_92 (colorfill_fla.donescoreButton_92)
package colorfill_fla {
import flash.display.*;
public dynamic class donescoreButton_92 extends MovieClip {
public function donescoreButton_92(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 13
//FGL_logo_100 (colorfill_fla.FGL_logo_100)
package colorfill_fla {
import flash.display.*;
public dynamic class FGL_logo_100 extends MovieClip {
public function FGL_logo_100(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package colorfill_fla
Section 14
//final_score_52 (colorfill_fla.final_score_52)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class final_score_52 extends MovieClip {
public var points:TextField;
}
}//package colorfill_fla
Section 15
//helpback_54 (colorfill_fla.helpback_54)
package colorfill_fla {
import flash.display.*;
public dynamic class helpback_54 extends MovieClip {
public function helpback_54(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 16
//level_complete_42 (colorfill_fla.level_complete_42)
package colorfill_fla {
import flash.display.*;
public dynamic class level_complete_42 extends MovieClip {
public function level_complete_42(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 17
//levelCompleteButtons_44 (colorfill_fla.levelCompleteButtons_44)
package colorfill_fla {
import flash.display.*;
public dynamic class levelCompleteButtons_44 extends MovieClip {
public var nextLevel:MovieClip;
public var quit:MovieClip;
public var submitScore:MovieClip;
}
}//package colorfill_fla
Section 18
//lives_left_50 (colorfill_fla.lives_left_50)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class lives_left_50 extends MovieClip {
public var points:TextField;
public var lives:TextField;
}
}//package colorfill_fla
Section 19
//nameInput_95 (colorfill_fla.nameInput_95)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class nameInput_95 extends MovieClip {
public var playerName:TextField;
}
}//package colorfill_fla
Section 20
//nextLevel_47 (colorfill_fla.nextLevel_47)
package colorfill_fla {
import flash.display.*;
public dynamic class nextLevel_47 extends MovieClip {
public function nextLevel_47(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 21
//orMoreGames_36 (colorfill_fla.orMoreGames_36)
package colorfill_fla {
import flash.display.*;
public dynamic class orMoreGames_36 extends MovieClip {
public function orMoreGames_36(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 22
//partA_5 (colorfill_fla.partA_5)
package colorfill_fla {
import flash.display.*;
public dynamic class partA_5 extends MovieClip {
public function partA_5(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 23
//partB_6 (colorfill_fla.partB_6)
package colorfill_fla {
import flash.display.*;
public dynamic class partB_6 extends MovieClip {
public function partB_6(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 24
//quit_45 (colorfill_fla.quit_45)
package colorfill_fla {
import flash.display.*;
public dynamic class quit_45 extends MovieClip {
public function quit_45(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 25
//submitScore_46 (colorfill_fla.submitScore_46)
package colorfill_fla {
import flash.display.*;
public dynamic class submitScore_46 extends MovieClip {
public function submitScore_46(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 26
//submitscorebutton_94 (colorfill_fla.submitscorebutton_94)
package colorfill_fla {
import flash.display.*;
public dynamic class submitscorebutton_94 extends MovieClip {
public function submitscorebutton_94(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package colorfill_fla
Section 27
//time_left_49 (colorfill_fla.time_left_49)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class time_left_49 extends MovieClip {
public var points:TextField;
public var time:TextField;
}
}//package colorfill_fla
Section 28
//yourScore_43 (colorfill_fla.yourScore_43)
package colorfill_fla {
import flash.display.*;
import flash.text.*;
public dynamic class yourScore_43 extends MovieClip {
public var points:TextField;
}
}//package colorfill_fla
Section 29
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 30
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 31
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 32
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
function setMode(_arg1:String):void;
function submit(_arg1:Number, _arg2:String=null):void;
function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 33
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
function getPlayerInfo(_arg1:Function):void;
function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 34
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
function submitArray(_arg1:Array):void;
function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 35
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
function getName():String;
function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 36
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 37
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 38
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 39
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function init(_arg1:Event=null, _arg2:Stage=null):void;
function hideLog():void;
function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 40
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.services.*;
import com.kongregate.as3.client.events.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 41
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public class AdLoader {
private static var cpmstarLoader:Loader;
public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{
var _local3:String;
Security.allowDomain("server.cpmstar.com");
_local3 = "http://server.cpmstar.com/adviewas3.swf";
cpmstarLoader = new Loader();
cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2)));
return (cpmstarLoader);
}
}
}//package CPMStar
Section 42
//MochiBot (mochi.MochiBot)
package mochi {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package mochi
Section 43
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 44
//MochiServices (mochi.MochiServices)
package mochi {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function getVersion():String{
return ("1.31");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()});
_rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
MochiServices.allowDomains(_gatewayURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 45
//_arrowA (_arrowA)
package {
import flash.display.*;
public dynamic class _arrowA extends MovieClip {
public function _arrowA(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 46
//_arrowB (_arrowB)
package {
import flash.display.*;
public dynamic class _arrowB extends MovieClip {
public function _arrowB(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 47
//_cursor (_cursor)
package {
import flash.display.*;
public dynamic class _cursor extends MovieClip {
public var partB:MovieClip;
public var partA:MovieClip;
}
}//package
Section 48
//Adbox (Adbox)
package {
import flash.display.*;
public dynamic class Adbox extends MovieClip {
}
}//package
Section 49
//alert (alert)
package {
import flash.media.*;
public dynamic class alert extends Sound {
}
}//package
Section 50
//back (back)
package {
import flash.display.*;
public dynamic class back extends MovieClip {
public function back(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 51
//backtomain (backtomain)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
public class backtomain extends MovieClip {
public function backtomain():void{
addFrameScript(0, frame1);
this.x = 0xFF;
this.y = 270;
this.alpha = 0;
Tweener.addTween(this, {alpha:1, delay:0.6, time:1, transition:"easeOutSine", onComplete:ready});
}
function frame1(){
stop();
}
private function mouseout(_arg1:MouseEvent):void{
this.gotoAndStop(1);
this.scaleX = (this.scaleY = 1);
}
private function ready():void{
this.addEventListener(MouseEvent.MOUSE_OVER, mouseover, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, mouseout, false, 0, true);
this.addEventListener(Event.REMOVED_FROM_STAGE, bye, false, 0, true);
}
private function bye(_arg1:Event):void{
this.removeEventListener(MouseEvent.MOUSE_OVER, mouseover);
this.removeEventListener(MouseEvent.MOUSE_OUT, mouseout);
this.removeEventListener(Event.REMOVED_FROM_STAGE, bye);
}
private function mouseover(_arg1:MouseEvent):void{
this.gotoAndStop(2);
this.scaleX = (this.scaleY = 1.1);
}
}
}//package
Section 52
//bonusBackground1 (bonusBackground1)
package {
import flash.display.*;
public dynamic class bonusBackground1 extends MovieClip {
}
}//package
Section 53
//bonusBackground2 (bonusBackground2)
package {
import flash.display.*;
public dynamic class bonusBackground2 extends MovieClip {
}
}//package
Section 54
//bonusBackground3 (bonusBackground3)
package {
import flash.display.*;
public dynamic class bonusBackground3 extends MovieClip {
}
}//package
Section 55
//bonuslevel1 (bonuslevel1)
package {
import flash.display.*;
public dynamic class bonuslevel1 extends MovieClip {
}
}//package
Section 56
//bonuslevel2 (bonuslevel2)
package {
import flash.display.*;
public dynamic class bonuslevel2 extends MovieClip {
}
}//package
Section 57
//bonuslevel3 (bonuslevel3)
package {
import flash.display.*;
public dynamic class bonuslevel3 extends MovieClip {
}
}//package
Section 58
//bonuslink (bonuslink)
package {
import flash.display.*;
public dynamic class bonuslink extends MovieClip {
public function bonuslink(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 59
//bonuslink2 (bonuslink2)
package {
import flash.display.*;
public dynamic class bonuslink2 extends MovieClip {
public function bonuslink2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 60
//bonusScreen (bonusScreen)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.utils.*;
public class bonusScreen extends MovieClip {
public var bckButton:back;
private var m:Shape;
public function bonusScreen(_arg1:int):void{
var _local2:bonuslevel1;
var _local3:bonuslevel2;
var _local4:bonuslevel3;
super();
this.bckButton.addEventListener(MouseEvent.ROLL_OVER, btnrollover, false, 0, true);
this.bckButton.addEventListener(MouseEvent.ROLL_OUT, btnrollout, false, 0, true);
this.bckButton.addEventListener(MouseEvent.CLICK, disappear, false, 0, true);
addquestion(59.5, 155);
_local2 = new bonuslevel1();
_local2.x = 59.5;
_local2.y = 155;
this.addChild(_local2);
_local2.addEventListener(MouseEvent.CLICK, level19Clicked, false, 0, true);
_local2.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local2.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
if (_arg1 > 0){
_local3 = new bonuslevel2();
_local3.x = 149.5;
_local3.y = 155;
this.addChild(_local3);
_local3.addEventListener(MouseEvent.CLICK, level20Clicked, false, 0, true);
_local3.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local3.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
} else {
addquestion(149.5, 155);
};
if (_arg1 > 1){
_local4 = new bonuslevel3();
_local4.x = 239.5;
_local4.y = 155;
this.addChild(_local4);
_local4.addEventListener(MouseEvent.CLICK, level21Clicked, false, 0, true);
_local4.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local4.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
} else {
addquestion(239.5, 155);
};
}
private function level20Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 20);
this.dispatchEvent(_local2);
timerBye();
}
private function level21Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 21);
this.dispatchEvent(_local2);
timerBye();
}
private function btnrollover(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.1);
_arg1.target.gotoAndStop(2);
}
private function maskComplete():void{
this.removeChild(m);
this.mask = null;
}
private function timerBye():void{
var _local1:Timer;
_local1 = new Timer(1200, 1);
_local1.addEventListener(TimerEvent.TIMER, bye, false, 0, true);
_local1.start();
}
private function addquestion(_arg1:Number, _arg2:Number):void{
var _local3:question;
_local3 = new question();
_local3.x = _arg1;
_local3.y = _arg2;
this.addChild(_local3);
}
public function appear():void{
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-149.5, -149.5);
m.graphics.lineTo(149.5, -149.5);
m.graphics.lineTo(149.5, 149.5);
m.graphics.lineTo(-149.5, 149.5);
m.graphics.lineTo(-149.5, -149.5);
m.graphics.endFill();
m.x = 149.5;
m.y = 149.5;
m.scaleX = (m.scaleY = 0);
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:1, scaleY:1, rotation:90, time:1, transition:"easeInSine", onComplete:maskComplete});
}
private function onrollover(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.05);
}
private function disappear(_arg1:MouseEvent):void{
dispatchEvent(new gameEvent("quit"));
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-149.5, -149.5);
m.graphics.lineTo(149.5, -149.5);
m.graphics.lineTo(149.5, 149.5);
m.graphics.lineTo(-149.5, 149.5);
m.graphics.lineTo(-149.5, -149.5);
m.graphics.endFill();
m.x = 149.5;
m.y = 149.5;
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:0, scaleY:0, rotation:-90, time:1, transition:"easeInSine", onComplete:bye});
}
private function btnrollout(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
_arg1.target.gotoAndStop(1);
}
private function level19Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 19);
this.dispatchEvent(_local2);
timerBye();
}
private function bye(_arg1:TimerEvent=null):void{
this.mask = null;
this.parent.removeChild(this);
}
private function onrollout(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
}
}
}//package
Section 61
//bottom (bottom)
package {
import flash.display.*;
import flash.text.*;
public dynamic class bottom extends MovieClip {
public var points:TextField;
public var lives:TextField;
public var restart:MovieClip;
public var mute:mutebutton;
public var percent:TextField;
public var timeLeft:TextField;
}
}//package
Section 62
//circleParticle (circleParticle)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class circleParticle extends Shape {
private var delayTimer:Timer;
private var vy:Number;
private var vx:Number;
private var speed:Number;
private var particleTimer:Timer;
private var maxrotation:Number;
private var maxScale:Number;
public function circleParticle(_arg1:Array):void{
var _local2:int;
super();
_local2 = _arg1[int(((Math.random() * _arg1.length) - 0.01))];
this.visible = false;
this.graphics.lineStyle(1, 0xFFFFFF);
this.graphics.beginFill(_local2);
this.graphics.drawCircle(2, 2, 2);
maxScale = ((Math.random() * 0.6) + 1);
this.rotation = ((Math.random() * 360) - 180);
particleTimer = new Timer(((Math.random() * 20) + 20), 0);
particleTimer.addEventListener(TimerEvent.TIMER, update, false, 0, true);
speed = ((Math.random() * 3) + 2);
vx = (Math.cos(((this.rotation * Math.PI) / 180)) * speed);
vy = (Math.sin(((this.rotation * Math.PI) / 180)) * speed);
maxrotation = ((Math.random() * 20) + 20);
if (((Math.random() * 100) % 2)){
maxrotation = -(maxrotation);
};
delayTimer = new Timer((Math.random() * 200), 1);
delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startp, false, 0, true);
delayTimer.start();
}
private function update(_arg1:TimerEvent){
if (this.scaleX < maxScale){
this.scaleX = (this.scaleX + 0.2);
this.scaleY = (this.scaleY + 0.2);
};
this.rotation = (this.rotation + maxrotation);
this.alpha = (this.alpha - 0.04);
this.x = (this.x + vx);
this.y = (this.y + vy);
if (this.alpha <= 0){
particleTimer.stop();
this.parent.removeChild(this);
};
}
private function startp(_arg1:TimerEvent){
this.visible = true;
particleTimer.start();
}
}
}//package
Section 63
//ColorFill (ColorFill)
package {
import flash.display.*;
public dynamic class ColorFill extends MovieClip {
}
}//package
Section 64
//continuebtn (continuebtn)
package {
import flash.display.*;
public dynamic class continuebtn extends MovieClip {
public function continuebtn(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 65
//credits (credits)
package {
import flash.display.*;
public dynamic class credits extends MovieClip {
public function credits(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 66
//creditsScreen (creditsScreen)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.net.*;
public class creditsScreen extends MovieClip {
public var bckButton:back;
private var m:Shape;
public var FGL:MovieClip;
public function creditsScreen():void{
this.bckButton.addEventListener(MouseEvent.ROLL_OVER, btnrollover, false, 0, true);
this.bckButton.addEventListener(MouseEvent.ROLL_OUT, btnrollout, false, 0, true);
this.bckButton.addEventListener(MouseEvent.CLICK, disappear, false, 0, true);
this.FGL.addEventListener(MouseEvent.CLICK, gotoFGL, false, 0, true);
}
private function btnrollover(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.1);
_arg1.target.gotoAndStop(2);
}
private function maskComplete():void{
this.removeChild(m);
this.mask = null;
}
private function gotoFGL(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.flashgamelicense.com/game_referral.php?game_id=847");
navigateToURL(_local2, "_blank");
}
public function appear():void{
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-149.5, -149.5);
m.graphics.lineTo(149.5, -149.5);
m.graphics.lineTo(149.5, 149.5);
m.graphics.lineTo(-149.5, 149.5);
m.graphics.lineTo(-149.5, -149.5);
m.graphics.endFill();
m.x = 149.5;
m.y = 149.5;
m.scaleX = (m.scaleY = 0);
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:1, scaleY:1, rotation:90, time:1, transition:"easeInSine", onComplete:maskComplete});
}
private function disappear(_arg1:MouseEvent):void{
dispatchEvent(new gameEvent("quit"));
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-149.5, -149.5);
m.graphics.lineTo(149.5, -149.5);
m.graphics.lineTo(149.5, 149.5);
m.graphics.lineTo(-149.5, 149.5);
m.graphics.lineTo(-149.5, -149.5);
m.graphics.endFill();
m.x = 149.5;
m.y = 149.5;
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:0, scaleY:0, rotation:-90, time:1, transition:"easeInSine", onComplete:bye});
}
private function btnrollout(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
_arg1.target.gotoAndStop(1);
}
private function bye():void{
this.mask = null;
this.parent.removeChild(this);
}
}
}//package
Section 67
//embedClass (embedClass)
package {
import flash.display.*;
public dynamic class embedClass extends MovieClip {
public var ext:MovieClip;
public function embedClass(){
addFrameScript(0, frame1, 5, frame6);
}
function frame6(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 68
//exclamation (exclamation)
package {
import flash.display.*;
import caurina.transitions.*;
import flash.filters.*;
public class exclamation extends MovieClip {
public function exclamation():void{
var _local1:GlowFilter;
var _local2:Array;
super();
_local1 = new GlowFilter(0xFFFFFF, 1, 3, 3, 6, 2);
_local2 = this.filters;
_local2.push(_local1);
this.filters = _local2;
Tweener.addTween(this, {scaleX:1.2, scaleY:1.2, time:0.3, transition:"easeOutSine"});
Tweener.addTween(this, {alpha:0, delay:0.2, time:0.5, onComplete:byebye, transition:"easeInSine"});
}
private function byebye():void{
this.parent.removeChild(this);
}
}
}//package
Section 69
//game (game)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.filters.*;
import com.kongregate.as3.client.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
public dynamic class game extends MovieClip {
private var fillLeft:int;
private var cfilters:Array;
private var timeleft:int;
private var isGrowing:Boolean;
private var isKong:Boolean;
private var lockedA:Boolean;
private var lockedB:Boolean;
private var finished:Boolean;// = false
private var cursorSpeed:int;
private var yellowBlurParticle:BitmapData;
private var greenBlurParticle:BitmapData;
private var colorArray:Array;
private var shapeB:Shape;
private var shapeC:Shape;
private var shapeA:Shape;
private var lineA:Array;
private var lineB:Array;
private var blurEffect:BlurFilter;
private var time:Number;
private var totalFill:int;
private var bckgrndColor:int;
private var snakeArray:Array;
private var mapLines:Array;
private var points:int;
private var bkground:Shape;
private var effectRect:Rectangle;
private var lives:Number;
private var checkTimer:Timer;
private var timeLeftTimer:Timer;
private var redBlurParticle:BitmapData;
private var cursor:_cursor;
private var arrowA:_arrowA;
private var filled:Shape;
private var map:Shape;
private var currentColor:int;
private var arrowB:_arrowB;
private var muted:Boolean;
private var effectPt:Point;
private var shapeDestroyed:int;
private var bitmapEffectData:BitmapData;
private var ShapesDuplicated:int;
private var lvlComplete:levelComplete;
private var fill:Shape;
private var blueBlurParticle:BitmapData;
private var bitmapEffect:Bitmap;
private var backto:backtomain;
private var percentCleared:Number;
private var enemyArray:Array;
private var originalLines:Array;
private var tryagainbtn:tryagain;
private var colorUsed:int;
private var bottomBar:bottom;
private var purpleBlurParticle:BitmapData;
private var levl:int;
private var sawArray:Array;
public function game(_arg1:int, _arg2:Boolean, _arg3:Boolean):void{
colorArray = [3381759, 10053324, 6736947, 10040115, 0xFFFF00];
finished = false;
super();
isKong = _arg3;
levl = (_arg1 - 1);
muted = _arg2;
init();
}
private function moveSnake(_arg1:snakeHead, _arg2:Number):void{
var _local3:int;
var _local4:int;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Point;
var _local9:snakePart;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Point;
var _local14:Number;
var _local15:Number;
var _local16:snakePart;
_arg1.x = (_arg1.x + ((_arg1.vx * _arg2) / 30));
_arg1.y = (_arg1.y + ((_arg1.vy * _arg2) / 30));
switch (_arg1.isVertical){
case true:
switch (_arg1.isRightorBottom){
case true:
if (_arg1.x < (_arg1.bound + 10)){
_local5 = ((_arg1.bound - _arg1.x) + 20);
_arg1.x = (_arg1.x + _local5);
_arg1.vx = (_arg1.vx * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findCirclePath(_arg1);
};
break;
case false:
if (_arg1.x > (_arg1.bound - 10)){
_local5 = ((_arg1.x - _arg1.bound) + 20);
_arg1.x = (_arg1.x - _local5);
_arg1.vx = (_arg1.vx * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findCirclePath(_arg1);
};
break;
};
break;
case false:
switch (_arg1.isRightorBottom){
case true:
if (_arg1.y < (_arg1.bound + 10)){
_local5 = ((_arg1.bound - _arg1.y) + 20);
_arg1.y = (_arg1.y + _local5);
_arg1.vy = (_arg1.vy * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findCirclePath(_arg1);
};
break;
case false:
if (_arg1.y > (_arg1.bound - 10)){
_local5 = ((_arg1.y - _arg1.bound) + 20);
_arg1.y = (_arg1.y - _local5);
_arg1.vy = (_arg1.vy * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findCirclePath(_arg1);
};
break;
};
break;
};
_local3 = _arg1.followers.length;
_local4 = 0;
while (_local4 < _local3) {
if (_local4 == 0){
_local6 = _arg1.x;
_local7 = _arg1.y;
_local8 = _arg1.localToGlobal(new Point(-11, 0));
} else {
_local16 = _arg1.followers[(_local4 - 1)];
_local6 = _local16.x;
_local7 = _local16.y;
_local8 = _local16.localToGlobal(new Point(-7, 0));
};
_local9 = _arg1.followers[_local4];
_local10 = (_local6 - _local9.x);
_local11 = (_local7 - _local9.y);
_local12 = Math.atan2(_local11, _local10);
_local9.rotation = ((_local12 * 180) / Math.PI);
_local13 = _local9.localToGlobal(new Point(7, 0));
_local14 = (_local13.x - _local9.x);
_local15 = (_local13.y - _local9.y);
_local9.x = (_local8.x - _local14);
_local9.y = (_local8.y - _local15);
_local9.rotation = (_local9.rotation + (_arg1.sin / _local3));
_local4++;
};
}
private function submitKongLevel(_arg1:int):void{
var _local2:KongregateAPI;
_local2 = KongregateAPI.getInstance();
if (_local2.connected){
if (_arg1 == 18){
_local2.stats.submit("gamefinished", 1);
};
if (_arg1 < 19){
_local2.stats.submit("maxlevel", _arg1);
} else {
if (_arg1 == 19){
_local2.stats.submit("maxbonuslevel", 1);
} else {
if (_arg1 == 20){
_local2.stats.submit("maxbonuslevel", 2);
} else {
if (_arg1 == 21){
_local2.stats.submit("maxbonuslevel", 3);
};
};
};
};
if (shapeDestroyed > 0){
_local2.stats.submit("totalshapedestroyed", shapeDestroyed);
};
if (ShapesDuplicated > 0){
_local2.stats.submit("ShapesDuplicated", ShapesDuplicated);
};
};
}
private function clean():void{
timeLeftTimer.stop();
this.removeEventListener(MouseEvent.CLICK, mouseClicked);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, rotateCursor);
}
private function updateSawIndex(_arg1:saw):void{
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:int;
var _local11:Number;
var _local12:int;
Tweener.removeTweens(_arg1, x, y, rotation);
_local2 = _arg1.x;
_local3 = _arg1.y;
_local4 = mapLines.length;
_local5 = 0;
while (_local5 < mapLines.length) {
_local6 = mapLines[_local5][0];
_local7 = mapLines[_local5][1];
_local8 = mapLines[_local5][2];
_local9 = mapLines[_local5][3];
_local10 = 1;
if ((((((((((_local2 <= _local8)) && ((_local2 >= _local6)))) || ((((_local2 >= _local8)) && ((_local2 <= _local6)))))) && ((_local3 == _local9)))) || ((((((((_local3 <= _local9)) && ((_local3 >= _local7)))) || ((((_local3 >= _local9)) && ((_local3 <= _local7)))))) && ((_local2 == _local8)))))){
_local10++;
_local11 = (((_local2 - _local8) + (_local3 - _local9)) / 100);
if (_local11 < 0){
_local11 = -(_local11);
};
_local11 = (_local11 * _arg1.speed);
_local12 = (_arg1.rotation - (_local11 * 200));
Tweener.addTween(_arg1, {x:_local8, y:_local9, rotation:_local12, transition:"easeOutSine", time:_local11, onComplete:moveSaw, onCompleteParams:[_arg1]});
_arg1.index = (_local5 + 1);
if (_arg1.index == mapLines.length){
_arg1.index = 0;
};
};
_local5++;
};
}
private function perFrame(_arg1:Event):void{
var _local2:Number;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:Array;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:Array;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:Number;
var _local16:Shape;
var _local17:Number;
var _local18:Number;
var _local19:percentText;
var _local20:int;
var _local21:Rectangle;
var _local22:int;
var _local23:MovieClip;
var _local24:Point;
var _local25:Point;
var _local26:Point;
var _local27:int;
var _local28:exclamation;
var _local29:*;
var _local30:snakeHead;
var _local31:int;
var _local32:int;
var _local33:snakePart;
var _local34:triangle;
_local2 = (getTimer() - time);
if (isGrowing){
_local3 = enemyArray.length;
_local4 = 0;
while (_local4 < _local3) {
if (cursor.hitTestObject(enemyArray[_local4])){
die();
};
_local4++;
};
_local3 = sawArray.length;
_local4 = 0;
while (_local4 < _local3) {
if (cursor.hitTestObject(sawArray[_local4])){
die();
};
_local4++;
};
_local3 = snakeArray.length;
_local4 = 0;
while (_local4 < _local3) {
if (cursor.hitTestObject(snakeArray[_local4])){
die();
};
_local5 = snakeArray[_local4].followers.length;
_local6 = 0;
while (_local6 < _local5) {
if (cursor.hitTestObject(snakeArray[_local4].followers[_local6])){
die();
};
_local6++;
};
_local4++;
};
if (!lockedA){
cursor.partA.height = (cursor.partA.height + (_local2 / cursorSpeed));
switch (cursor.rotation){
case 0:
if (arrowA.y <= lineA[1]){
arrowA.y = lineA[1];
lockedA = true;
};
break;
case 90:
if (arrowA.x >= lineA[0]){
arrowA.x = lineA[0];
lockedA = true;
};
break;
};
};
if (!lockedB){
cursor.partB.height = (cursor.partB.height + (_local2 / cursorSpeed));
switch (cursor.rotation){
case 0:
if (arrowB.y >= lineB[1]){
arrowB.y = lineB[1];
lockedB = true;
};
break;
case 90:
if (arrowB.x <= lineB[0]){
arrowB.x = lineB[0];
lockedB = true;
};
break;
};
};
if (cursor.partA.width > 1){
cursor.partB.width = (cursor.partB.width - 0.051);
cursor.partA.width = (cursor.partA.width - 0.051);
};
} else {
cursor.x = mouseX;
cursor.y = mouseY;
};
switch (cursor.rotation){
case 0:
if (!lockedA){
arrowA.x = cursor.x;
arrowA.y = (cursor.y - cursor.partA.height);
};
if (!lockedB){
arrowB.y = (cursor.y + cursor.partB.height);
arrowB.x = cursor.x;
};
break;
case 90:
if (!lockedA){
arrowA.y = cursor.y;
arrowA.x = (cursor.x + cursor.partA.height);
};
if (!lockedB){
arrowB.x = (cursor.x - cursor.partB.height);
arrowB.y = cursor.y;
};
break;
};
if (((((lockedA) && (lockedB))) && (isGrowing))){
lockedA = false;
lockedB = false;
isGrowing = false;
cursorBackToNormal();
_local7 = new Array();
_local7.push([arrowA.x, arrowA.y, arrowB.x, arrowB.y]);
_local7.push([arrowB.x, arrowB.y, lineB[2], lineB[3]]);
_local8 = 0;
while (_local8 < mapLines.length) {
if ((((lineB[2] == mapLines[_local8][0])) && ((lineB[3] == mapLines[_local8][1])))){
_local7.push([lineB[2], lineB[3], mapLines[_local8][2], mapLines[_local8][3]]);
break;
};
_local8++;
};
_local9 = 0;
_local10 = (_local8 + 1);
while (_local9 < mapLines.length) {
if (_local10 >= mapLines.length){
_local10 = 0;
};
if (mapLines[_local10] == lineA){
break;
};
_local7.push(mapLines[_local10]);
_local10++;
_local9++;
};
_local7.push([lineA[0], lineA[1], arrowA.x, arrowA.y]);
_local11 = new Array();
_local11.push([arrowB.x, arrowB.y, arrowA.x, arrowA.y]);
_local11.push([arrowA.x, arrowA.y, lineA[2], lineA[3]]);
_local8 = 0;
while (_local8 < mapLines.length) {
if ((((lineA[2] == mapLines[_local8][0])) && ((lineA[3] == mapLines[_local8][1])))){
_local11.push([lineA[2], lineA[3], mapLines[_local8][2], mapLines[_local8][3]]);
break;
};
_local8++;
};
_local9 = 0;
_local10 = (_local8 + 1);
while (_local9 < mapLines.length) {
if (_local10 >= mapLines.length){
_local10 = 0;
};
if (mapLines[_local10] == lineB){
break;
};
_local11.push(mapLines[_local10]);
_local10++;
_local9++;
};
_local11.push([lineB[0], lineB[1], arrowB.x, arrowB.y]);
shapeA = new Shape();
shapeA.graphics.clear();
shapeA.graphics.beginFill(0xFF00);
shapeA.graphics.moveTo(_local7[0][0], _local7[0][1]);
_local12 = 0;
while (_local12 < _local7.length) {
shapeA.graphics.lineTo(_local7[_local12][2], _local7[_local12][3]);
_local12++;
};
shapeA.graphics.endFill();
this.addChildAt(shapeA, 0);
shapeB = new Shape();
shapeB.graphics.clear();
shapeB.graphics.beginFill(0xFF00);
shapeB.graphics.moveTo(_local11[0][0], _local11[0][1]);
_local12 = 0;
while (_local12 < _local11.length) {
shapeB.graphics.lineTo(_local11[_local12][2], _local11[_local12][3]);
_local12++;
};
shapeB.graphics.endFill();
this.addChildAt(shapeB, 0);
_local13 = getFill(shapeA);
_local18 = (_local13 / fillLeft);
if (_local18 <= 0.5){
_local17 = _local18;
_local14 = _local13;
filled.graphics.lineStyle(5, 0xFFFFFF, 1, false, "normal", "round", "round");
filled.graphics.beginFill(currentColor, 0.7);
filled.graphics.moveTo(_local7[0][0], _local7[0][1]);
_local12 = 0;
while (_local12 < _local7.length) {
filled.graphics.lineTo(_local7[_local12][2], _local7[_local12][3]);
_local12++;
};
filled.graphics.endFill();
mapLines = _local11;
fillLeft = (fillLeft - _local13);
shapeC = shapeB;
_local16 = shapeA;
} else {
_local17 = (1 - _local18);
_local14 = (fillLeft - _local13);
filled.graphics.lineStyle(5, 0xFFFFFF, 1, false, "normal", "round", "round");
filled.graphics.beginFill(currentColor, 0.7);
filled.graphics.moveTo(_local11[0][0], _local11[0][1]);
_local12 = 0;
while (_local12 < _local11.length) {
filled.graphics.lineTo(_local11[_local12][2], _local11[_local12][3]);
_local12++;
};
filled.graphics.endFill();
mapLines = _local7;
fillLeft = _local13;
shapeC = shapeA;
_local16 = shapeB;
};
_local19 = new percentText(((_local14 / totalFill) * 10));
_local15 = (int(((_local14 / totalFill) * 1000)) / 10);
_local19.percent.text = (_local15.toString() + " %");
_local19.x = cursor.x;
_local19.y = cursor.y;
this.addChild(_local19);
percentCleared = (percentCleared + _local15);
updatePercent();
points = (points + int(((_local15 * _local17) * 25)));
updatePoints();
_local20 = enemyArray.length;
_local21 = getTrueBounds(mapLines);
_local22 = 0;
while (_local22 < enemyArray.length) {
_local23 = (enemyArray[_local22] as MovieClip);
_local24 = _local23.localToGlobal(new Point(_local23.pt1.x, _local23.pt1.y));
_local25 = _local23.localToGlobal(new Point(_local23.pt2.x, _local23.pt2.y));
_local26 = _local23.localToGlobal(new Point(_local23.pt3.x, _local23.pt3.y));
if (((((_local16.hitTestPoint(_local24.x, _local24.y, true)) || (_local16.hitTestPoint(_local25.x, _local25.y, true)))) || (_local16.hitTestPoint(_local26.x, _local26.y, true)))){
_local27 = _local23.color;
if (_local27 != currentColor){
this.removeChild(_local23);
points = (points + 50);
updatePoints();
explode(30, _local23.x, _local23.y, [_local23.color]);
shapeDestroyed++;
} else {
_local28 = new exclamation();
_local28.x = _local23.x;
_local28.y = _local23.y;
this.addChild(_local28);
ShapesDuplicated++;
_local23.disappear();
duplicateTriangle(_local27, shapeC, _local21);
};
enemyArray.splice(enemyArray.indexOf(_local23), 1);
_local22--;
} else {
findTrianglePath(enemyArray[_local22]);
};
_local22++;
};
_local20 = sawArray.length;
_local22 = 0;
while (_local22 < _local20) {
_local29 = sawArray[_local22];
Tweener.removeTweens(_local29, x, y, rotation);
if (hitTestSaw(_local29)){
_local27 = _local29.color;
if (_local27 != currentColor){
this.removeChild(_local29);
points = (points + 170);
updatePoints();
explode(20, _local29.x, _local29.y, [_local29.color]);
explode2(20, _local29.x, _local29.y, [_local29.color]);
shapeDestroyed++;
} else {
_local28 = new exclamation();
_local28.x = _local29.x;
_local28.y = _local29.y;
this.addChild(_local28);
ShapesDuplicated++;
_local29.disappear();
duplicateSaw(_local29.color);
};
sawArray.splice(sawArray.indexOf(_local29), 1);
_local20--;
_local22--;
} else {
updateSawIndex(sawArray[_local22]);
};
_local22++;
};
_local20 = snakeArray.length;
_local22 = 0;
while (_local22 < _local20) {
_local30 = snakeArray[_local22];
if (_local16.hitTestPoint(_local30.x, _local30.y, true)){
_local27 = _local30.color;
if (_local27 != currentColor){
this.removeChild(_local30);
explode2(40, _local30.x, _local30.y, [_local30.color]);
shapeDestroyed++;
_local31 = _local30.followers.length;
_local32 = 0;
while (_local32 < _local31) {
_local33 = _local30.followers[_local32];
this.removeChild(_local33);
explode2(10, _local33.x, _local33.y, [_local30.color]);
_local32++;
};
points = (points + (80 + (20 * _local31)));
updatePoints();
snakeArray.splice(snakeArray.indexOf(_local30), 1);
_local20--;
_local22--;
} else {
ShapesDuplicated++;
_local28 = new exclamation();
_local28.x = _local30.x;
_local28.y = _local30.y;
this.addChild(_local28);
teleportSnake(_local30);
};
};
_local22++;
};
if (colorUsed < 5){
colorUsed++;
};
if (percentCleared >= 80){
timeLeftTimer.stop();
this.dispatchEvent(new gameEvent("save", false, false, (levl + 1)));
finished = true;
lvlComplete = new levelComplete(timeleft, lives, colorUsed, points, (levl + 1), isKong);
if (isKong){
submitKongLevel((levl + 1));
};
if ((((levl == 17)) || ((levl == 20)))){
lvlComplete.level_complete.gotoAndStop(2);
};
this.addChildAt(lvlComplete, this.getChildIndex(cursor));
lvlComplete.buttons.quit.addEventListener(MouseEvent.CLICK, bye, false, 0, true);
lvlComplete.buttons.nextLevel.addEventListener(MouseEvent.CLICK, nextLevel, false, 0, true);
lvlComplete.buttons.submitScore.addEventListener(MouseEvent.CLICK, submitScore, false, 0, true);
};
changeColor();
stage.focus = stage;
};
if (((((lockedA) && (lockedB))) && (!(isGrowing)))){
if (((!((cursor.partA.height == 5))) || (!((cursor.partB.height == 5))))){
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partA, {width:4, time:0.5});
Tweener.addTween(cursor.partB, {width:4, time:0.5});
};
};
_local4 = 0;
while (_local4 < enemyArray.length) {
_local34 = enemyArray[_local4];
_local2 = (getTimer() - time);
moveTriangle(_local34, _local2);
_local4++;
};
_local4 = 0;
while (_local4 < snakeArray.length) {
_local2 = (getTimer() - time);
moveSnake(snakeArray[_local4], _local2);
_local4++;
};
time = getTimer();
bitmapEffectData.applyFilter(bitmapEffectData, effectRect, effectPt, blurEffect);
}
private function moveSaw(_arg1:saw):void{
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
Tweener.removeTweens(_arg1, x, y, rotation);
_local2 = _arg1.index;
_local3 = mapLines[_local2][2];
_local4 = mapLines[_local2][3];
_local5 = ((mapLines[_local2][0] - _local3) + (mapLines[_local2][1] - _local4));
if (_local5 < 0){
_local5 = -(_local5);
};
_local6 = ((_local5 / 100) * _arg1.speed);
_arg1.index++;
if (_arg1.index >= mapLines.length){
_arg1.index = 0;
};
_local7 = (_arg1.rotation - (_local5 * 2));
Tweener.addTween(_arg1, {x:_local3, y:_local4, time:_local6, transition:"easeInOutSine", onComplete:moveSaw, onCompleteParams:[_arg1]});
Tweener.addTween(_arg1, {rotation:_local7, time:_local6, transition:"easeOutSine"});
}
private function nextLevel(_arg1:MouseEvent):void{
_arg1.target.removeEventListener(MouseEvent.CLICK, nextLevel);
Tweener.removeAllTweens();
this.removeEventListener(Event.ENTER_FRAME, perFrame);
timeLeftTimer.removeEventListener(TimerEvent.TIMER, timepassed);
dispatchEvent(new gameEvent("next", false, false, (levl + 2)));
}
private function findSpot(_arg1:Shape, _arg2:Rectangle):Point{
var _local3:Point;
var _local4:Point;
var _local5:Point;
var _local6:Point;
var _local7:int;
_local3 = new Point();
_local4 = new Point();
_local5 = new Point();
_local6 = new Point();
_local7 = 0;
while (_local7 < 10000) {
_local3.x = (((Math.random() * _arg2.width) + _arg2.x) + 8);
_local3.y = (((Math.random() * _arg2.height) + _arg2.y) + 8);
_local4.x = (_local6.x = (_local3.x + 40));
_local4.y = _local3.y;
_local5.x = _local3.x;
_local5.y = (_local6.y = (_local3.y + 40));
if (((((((_arg1.hitTestPoint(_local3.x, _local3.y, true)) && (_arg1.hitTestPoint(_local4.x, _local4.y, true)))) && (_arg1.hitTestPoint(_local5.x, _local5.y, true)))) && (_arg1.hitTestPoint(_local6.x, _local6.y, true)))){
return (new Point((_local3.x + 20), (_local3.y + 20)));
};
_local7++;
};
return (null);
}
private function die():void{
explodeCursor();
isGrowing = false;
cursor.partA.width = (cursor.partB.width = 4);
cursor.partB.height = (cursor.partA.height = 5);
lockedA = false;
lockedB = false;
switch (cursor.rotation){
case 0:
if (!lockedA){
arrowA.x = cursor.x;
arrowA.y = (cursor.y - cursor.partA.height);
};
if (!lockedB){
arrowB.y = (cursor.y + cursor.partB.height);
arrowB.x = cursor.x;
};
break;
case 90:
if (!lockedA){
arrowA.y = cursor.y;
arrowA.x = (cursor.x + cursor.partA.height);
};
if (!lockedB){
arrowB.x = (cursor.x - cursor.partB.height);
arrowB.y = cursor.y;
};
break;
};
}
private function duplicateTriangle(_arg1:int, _arg2:Shape, _arg3:Rectangle):void{
var _local4:triangle;
var _local5:triangle;
var _local6:Point;
_local4 = new triangle(_arg1);
_local5 = new triangle(_arg1);
_local6 = findSpot(_arg2, _arg3);
if (_local6){
_local4.x = _local6.x;
_local4.y = _local6.y;
};
_local6 = findSpot(_arg2, _arg3);
if (_local6){
_local5.x = _local6.x;
_local5.y = _local6.y;
};
this.addChildAt(_local4, this.getChildIndex(cursor));
this.addChildAt(_local5, this.getChildIndex(cursor));
_local4.appear();
_local5.appear();
enemyArray.push(_local4);
enemyArray.push(_local5);
}
private function rotateCursor(_arg1:KeyboardEvent):void{
if ((((_arg1.keyCode == 32)) && (!(isGrowing)))){
switch (cursor.rotation){
case 0:
cursor.rotation = 90;
arrowA.rotation = 90;
arrowB.rotation = 90;
break;
case 90:
cursor.rotation = 0;
arrowA.rotation = 0;
arrowB.rotation = 0;
break;
};
};
}
private function findTrianglePath(_arg1:triangle):void{
var _local2:Array;
var _local3:Point;
var _local4:Point;
var _local5:Point;
var _local6:Number;
var _local7:Array;
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Point;
var _local14:int;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Point;
var _local20:Number;
var _local21:Number;
var _local22:Number;
_local2 = new Array();
_local3 = _arg1.localToGlobal(new Point(0, 16));
_local4 = _arg1.localToGlobal(new Point(-16, 0));
_local5 = _arg1.localToGlobal(new Point(0, -16));
_local2.push(_local3);
_local2.push(_local4);
_local2.push(_local5);
_local6 = 2000;
_local8 = 0;
while (_local8 < 3) {
_local9 = _local2[_local8].x;
_local10 = _local2[_local8].y;
_local11 = (_local9 + (_arg1.vx * 1000));
_local12 = (_local10 + (_arg1.vy * 1000));
_local14 = 0;
while (_local14 < mapLines.length) {
_local15 = mapLines[_local14][0];
_local16 = mapLines[_local14][1];
_local17 = mapLines[_local14][2];
_local18 = mapLines[_local14][3];
_local19 = calcIntersection(_local15, _local16, _local17, _local18, _local9, _local10, _local11, _local12);
if (_local19){
_local20 = (_local19.x - _local9);
_local21 = (_local19.y - _local10);
_local22 = Math.sqrt(((_local20 * _local20) + (_local21 * _local21)));
if (_local8 == 1){
_local22 = (_local22 - 20);
};
if (_local22 < _local6){
_local13 = _local19;
_local6 = _local22;
_local7 = mapLines[_local14];
};
};
_local14++;
};
_local8++;
};
if (_local7[0] == _local7[2]){
_arg1.isVertical = true;
_arg1.bound = _local7[0];
if (_arg1.x > _local7[0]){
_arg1.isRightorBottom = true;
} else {
_arg1.isRightorBottom = false;
};
} else {
_arg1.isVertical = false;
_arg1.bound = _local7[1];
if (_arg1.y > _local7[1]){
_arg1.isRightorBottom = true;
} else {
_arg1.isRightorBottom = false;
};
};
}
private function buildMask():Shape{
var _local1:Shape;
var _local2:int;
_local1 = new Shape();
_local1.graphics.beginFill(0);
_local1.graphics.moveTo(originalLines[_local2][0], originalLines[_local2][1]);
_local2 = 0;
while (_local2 < originalLines.length) {
_local1.graphics.lineTo(originalLines[_local2][2], originalLines[_local2][3]);
_local2++;
};
_local1.graphics.endFill();
return (_local1);
}
private function retry(_arg1:MouseEvent):void{
backto.removeEventListener(MouseEvent.CLICK, bye);
tryagainbtn.removeEventListener(MouseEvent.CLICK, retry);
Tweener.removeAllTweens();
backto.removeEventListener(MouseEvent.CLICK, bye);
tryagainbtn.removeEventListener(MouseEvent.CLICK, retry);
this.removeEventListener(Event.ENTER_FRAME, perFrame);
timeLeftTimer.removeEventListener(TimerEvent.TIMER, timepassed);
dispatchEvent(new gameEvent("retry", false, false, (levl + 1)));
}
private function restartLevel(_arg1:MouseEvent):void{
timeLeftTimer.stop();
finished = true;
_arg1.target.removeEventListener(MouseEvent.CLICK, restartLevel);
Tweener.removeAllTweens();
timeLeftTimer.removeEventListener(TimerEvent.TIMER, timepassed);
this.removeEventListener(Event.ENTER_FRAME, perFrame);
dispatchEvent(new gameEvent("retry", false, false, (levl + 1)));
}
private function prepareBlurParticle():void{
var _local1:Shape;
blurEffect = new BlurFilter(4, 4, 1);
_local1 = new Shape();
_local1.graphics.beginFill(3381759);
_local1.graphics.drawCircle(5, 5, 5);
blueBlurParticle = new BitmapData(10, 10, true, 0xFFCC00);
blueBlurParticle.draw(_local1);
_local1.graphics.clear();
_local1.graphics.beginFill(10053324);
_local1.graphics.drawCircle(5, 5, 5);
purpleBlurParticle = new BitmapData(10, 10, true, 0xFFCC00);
purpleBlurParticle.draw(_local1);
_local1.graphics.clear();
_local1.graphics.beginFill(6736947);
_local1.graphics.drawCircle(5, 5, 5);
greenBlurParticle = new BitmapData(10, 10, true, 0xFFCC00);
greenBlurParticle.draw(_local1);
_local1.graphics.clear();
_local1.graphics.beginFill(10040115);
_local1.graphics.drawCircle(5, 5, 5);
redBlurParticle = new BitmapData(10, 10, true, 0xFFCC00);
redBlurParticle.draw(_local1);
_local1.graphics.clear();
_local1.graphics.beginFill(0xFFFF00);
_local1.graphics.drawCircle(5, 5, 5);
yellowBlurParticle = new BitmapData(10, 10, true, 0xFFCC00);
yellowBlurParticle.draw(_local1);
_local1.graphics.clear();
effectRect = new Rectangle(0, 0, 505, 500);
effectPt = new Point(0, 0);
}
private function onWheel(_arg1:MouseEvent):void{
if (!isGrowing){
switch (cursor.rotation){
case 0:
cursor.rotation = 90;
arrowA.rotation = 90;
arrowB.rotation = 90;
break;
case 90:
cursor.rotation = 0;
arrowA.rotation = 0;
arrowB.rotation = 0;
break;
};
};
}
private function duplicateSaw(_arg1:int):void{
var _local2:saw;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:saw;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local2 = new saw(_arg1, 0);
_local2.x = mapLines[0][0];
_local2.y = mapLines[0][1];
_local2.index = 0;
this.addChildAt(_local2, this.getChildIndex(filled));
_local2.filters = cfilters;
_local2.mask = buildMask();
_local2.appear();
moveSaw(_local2);
sawArray.push(_local2);
_local3 = 1;
_local4 = 0;
_local5 = 1;
while (_local5 < mapLines.length) {
_local7 = (mapLines[_local5][0] - mapLines[0][0]);
_local8 = (mapLines[_local5][1] - mapLines[0][1]);
_local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
if (_local9 > _local4){
_local4 = _local9;
_local3 = _local5;
};
_local5++;
};
_local6 = new saw(_arg1, _local3);
_local6.x = mapLines[_local3][0];
_local6.y = mapLines[_local3][1];
_local6.index = _local3;
this.addChildAt(_local6, this.getChildIndex(filled));
_local6.filters = cfilters;
_local6.mask = buildMask();
_local6.appear();
moveSaw(_local6);
sawArray.push(_local6);
}
private function explode(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Array):void{
var _local5:int;
var _local6:triangleParticle;
_local5 = 0;
while (_local5 < _arg1) {
_local6 = new triangleParticle(_arg4);
_local6.x = _arg2;
_local6.y = _arg3;
this.addChild(_local6);
_local5++;
};
}
private function teleportSnake(_arg1:snakeHead):void{
var _local2:Point;
var _local3:int;
var _local4:*;
var _local5:snakePart;
var _local6:snakePart;
_local2 = findSpot(shapeC, getTrueBounds(mapLines));
_arg1.scaleX = (_arg1.scaleY = (_arg1.alpha = 0));
_arg1.x = _local2.x;
_arg1.y = _local2.y;
Tweener.addTween(_arg1, {scaleX:1, scaleY:1, alpha:1, time:1, transition:"easeInSine"});
_local4 = 0;
while (_local4 < 3) {
_local5 = new snakePart(_arg1.color);
_local5.mask = buildMask();
_arg1.followers.push(_local5);
this.addChildAt(_local5, this.getChildIndex(filled));
_local4++;
};
_local3 = _arg1.followers.length;
_local4 = 0;
while (_local4 < _local3) {
_local6 = _arg1.followers[_local4];
_arg1.followers[_local4].scaleX = (_arg1.followers[_local4].scaleY = (_local6.alpha = 0));
Tweener.addTween(_local6, {scaleX:1, scaleY:1, alpha:1, time:1, transition:"easeInSine"});
_local4++;
};
findCirclePath(_arg1);
}
private function hitTestSaw(_arg1:saw):Boolean{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:int;
_local2 = _arg1.x;
_local3 = _arg1.y;
_local8 = 0;
while (_local8 < mapLines.length) {
_local4 = mapLines[_local8][0];
_local5 = mapLines[_local8][1];
_local6 = mapLines[_local8][2];
_local7 = mapLines[_local8][3];
if ((((((((((_local2 <= _local6)) && ((_local2 > _local4)))) || ((((_local2 >= _local6)) && ((_local2 < _local4)))))) && ((_local3 == _local7)))) || ((((((((_local3 <= _local7)) && ((_local3 > _local5)))) || ((((_local3 >= _local7)) && ((_local3 < _local5)))))) && ((_local2 == _local6)))))){
return (false);
};
_local8++;
};
return (true);
}
private function bye(_arg1:MouseEvent):void{
_arg1.target.removeEventListener(MouseEvent.CLICK, bye);
Tweener.removeAllTweens();
this.removeEventListener(Event.ENTER_FRAME, perFrame);
timeLeftTimer.removeEventListener(TimerEvent.TIMER, timepassed);
timeLeftTimer.stop();
checkTimer.removeEventListener(TimerEvent.TIMER, updateSnake);
checkTimer.stop();
dispatchEvent(new gameEvent("quit"));
}
private function moveTriangle(_arg1:triangle, _arg2:Number):void{
var _local3:Number;
if (!_arg1.appearing){
_arg1.x = (_arg1.x + ((_arg1.vx * _arg2) / 30));
_arg1.y = (_arg1.y + ((_arg1.vy * _arg2) / 30));
switch (_arg1.isVertical){
case true:
switch (_arg1.isRightorBottom){
case true:
if (_arg1.x < (_arg1.bound + 16)){
_local3 = ((_arg1.bound - _arg1.x) + 32);
_arg1.x = (_arg1.x + _local3);
_arg1.vx = (_arg1.vx * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findTrianglePath(_arg1);
};
break;
case false:
if (_arg1.x > (_arg1.bound - 16)){
_local3 = ((_arg1.x - _arg1.bound) + 32);
_arg1.x = (_arg1.x - _local3);
_arg1.vx = (_arg1.vx * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findTrianglePath(_arg1);
};
break;
};
break;
case false:
switch (_arg1.isRightorBottom){
case true:
if (_arg1.y < (_arg1.bound + 16)){
_local3 = ((_arg1.bound - _arg1.y) + 32);
_arg1.y = (_arg1.y + _local3);
_arg1.vy = (_arg1.vy * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findTrianglePath(_arg1);
};
break;
case false:
if (_arg1.y > (_arg1.bound - 16)){
_local3 = ((_arg1.y - _arg1.bound) + 32);
_arg1.y = (_arg1.y - _local3);
_arg1.vy = (_arg1.vy * -1);
_arg1.rotation = ((Math.atan2(_arg1.vy, _arg1.vx) * 180) / Math.PI);
findTrianglePath(_arg1);
};
break;
};
break;
};
switch (_arg1.color){
case 3381759:
bitmapEffectData.copyPixels(blueBlurParticle, new Rectangle(0, 0, 10, 10), new Point((_arg1.x - 5), (_arg1.y - 5)));
break;
case 10053324:
bitmapEffectData.copyPixels(purpleBlurParticle, new Rectangle(0, 0, 10, 10), new Point((_arg1.x - 5), (_arg1.y - 5)));
break;
case 6736947:
bitmapEffectData.copyPixels(greenBlurParticle, new Rectangle(0, 0, 10, 10), new Point((_arg1.x - 5), (_arg1.y - 5)));
break;
case 10040115:
bitmapEffectData.copyPixels(redBlurParticle, new Rectangle(0, 0, 10, 10), new Point((_arg1.x - 5), (_arg1.y - 5)));
break;
case 0xFFFF00:
bitmapEffectData.copyPixels(yellowBlurParticle, new Rectangle(0, 0, 10, 10), new Point((_arg1.x - 5), (_arg1.y - 5)));
break;
};
};
}
private function updatePoints():void{
bottomBar.points.text = points.toString();
}
private function init():void{
var _local1:level;
var _local2:GlowFilter;
var _local3:Boolean;
var _local4:int;
var _local5:int;
var _local6:Array;
var _local7:triangle;
var _local8:int;
var _local9:saw;
var _local10:snakeHead;
var _local11:int;
var _local12:snakePart;
cursorSpeed = 8;
if (levl > 17){
cursorSpeed = 12;
};
ShapesDuplicated = 0;
shapeDestroyed = 0;
points = 0;
mapLines = levelsData.levels[levl].mapLines;
bckgrndColor = levelsData.levels[levl].bckgrndColor;
lives = 5;
percentCleared = 0;
colorUsed = 0;
originalLines = mapLines;
prepareBlurParticle();
timeLeftTimer = new Timer(1000, 0);
timeLeftTimer.addEventListener(TimerEvent.TIMER, timepassed, false, 0, true);
_local1 = new level();
_local1.num.text = (levl + 1).toString();
if (levl == 18){
_local1.num.text = "1";
};
if (levl == 19){
_local1.num.text = "2";
};
if (levl == 20){
_local1.num.text = "3";
};
if (levl > 17){
_local1.txt.text = "Bonus";
};
this.addChild(_local1);
cursor = new _cursor();
cursor.mouseEnabled = false;
cursor.mouseChildren = false;
this.addChild(cursor);
_local2 = new GlowFilter(0xFFFFFF, 1, 3, 3, 6, 2);
cfilters = cursor.filters;
cfilters.push(_local2);
cursor.filters = cfilters;
arrowA = new _arrowA();
this.addChild(arrowA);
arrowA.filters = cfilters;
arrowB = new _arrowB();
this.addChild(arrowB);
arrowB.filters = cfilters;
isGrowing = false;
Mouse.hide();
buildStage();
lockedA = (lockedB = false);
currentColor = colorArray[0];
enemyArray = new Array();
sawArray = new Array();
snakeArray = new Array();
time = getTimer();
this.addEventListener(Event.ENTER_FRAME, perFrame, false, 0, true);
this.addEventListener(MouseEvent.CLICK, mouseClicked, false, 0, true);
this.addEventListener(Event.ENTER_FRAME, afterFirstFrame, false, 0, true);
if (levl > 17){
_local3 = true;
} else {
_local3 = false;
};
_local4 = levelsData.levels[levl].enemies.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = levelsData.levels[levl].enemies[_local5];
switch (_local6[0]){
case "triangle":
_local7 = new triangle(_local6[1], _local3);
_local7.x = _local6[2];
_local7.y = _local6[3];
_local7.rotation = _local6[4];
_local7.vx = (Math.cos(((_local7.rotation * Math.PI) / 180)) * 2.5);
_local7.vy = (Math.sin(((_local7.rotation * Math.PI) / 180)) * 2.5);
this.addChildAt(_local7, (this.getChildIndex(map) - 1));
enemyArray.push(_local7);
findTrianglePath(_local7);
break;
case "saw":
_local8 = _local6[2];
_local9 = new saw(_local6[1], _local8, _local3);
_local9.x = mapLines[_local8][0];
_local9.y = mapLines[_local8][1];
_local9.filters = cfilters;
_local9.mask = buildMask();
this.addChildAt(_local9, this.getChildIndex(filled));
sawArray.push(_local9);
moveSaw(_local9);
break;
case "snake":
_local10 = new snakeHead(_local6[1], _local3);
_local10.x = _local6[2];
_local10.y = _local6[3];
_local10.rotation = _local6[4];
_local10.vx = (Math.cos(((_local10.rotation * Math.PI) / 180)) * 2.5);
_local10.vy = (Math.sin(((_local10.rotation * Math.PI) / 180)) * 2.5);
this.addChildAt(_local10, this.getChildIndex(filled));
snakeArray.push(_local10);
findCirclePath(_local10);
_local11 = 0;
while (_local11 < _local6[5]) {
_local12 = new snakePart(_local10.color, _local3);
_local10.followers.push(_local12);
_local12.mask = buildMask();
this.addChildAt(_local12, this.getChildIndex(filled));
_local11++;
};
break;
};
_local5++;
};
checkTimer = new Timer(200);
checkTimer.addEventListener(TimerEvent.TIMER, updateSnake, false, 0, true);
checkTimer.start();
}
private function buildStage():void{
var _local1:int;
var _local2:instruct;
var _local3:bonusBackground1;
var _local4:bonusBackground2;
var _local5:bonusBackground3;
bottomBar = new bottom();
bottomBar.y = 500;
this.addChildAt(bottomBar, this.getChildIndex(cursor));
if (muted){
bottomBar.mute.gotoAndStop(2);
};
bottomBar.mute.addEventListener(MouseEvent.CLICK, toggleMute, false, 0, true);
bottomBar.restart.addEventListener(MouseEvent.CLICK, restartLevel, false, 0, true);
updatePoints();
timeleft = 300;
timeLeftTimer.start();
map = new Shape();
fill = new Shape();
filled = new Shape();
bkground = new Shape();
bkground.graphics.beginFill(bckgrndColor);
bkground.graphics.drawRect(0, 0, 505, 530);
bkground.graphics.endFill();
filled.graphics.lineStyle(6, 0x999999, 1, false, "normal", "none", "round");
map.graphics.lineStyle(6, 0xFFFFFF, 1, false, "normal", "none", "round");
fill.graphics.beginFill(0);
map.graphics.moveTo(mapLines[_local1][0], mapLines[_local1][1]);
filled.graphics.moveTo(mapLines[_local1][0], mapLines[_local1][1]);
fill.graphics.moveTo(mapLines[_local1][0], mapLines[_local1][1]);
_local1 = 0;
while (_local1 < mapLines.length) {
map.graphics.lineTo(mapLines[_local1][2], mapLines[_local1][3]);
fill.graphics.lineTo(mapLines[_local1][2], mapLines[_local1][3]);
_local1++;
};
bkground.graphics.endFill();
bitmapEffectData = new BitmapData(505, 500, true, 0xFFCC00);
bitmapEffect = new Bitmap(bitmapEffectData);
this.addChildAt(map, 0);
this.addChildAt(bitmapEffect, 0);
this.addChildAt(filled, 0);
this.addChildAt(fill, 0);
shapeC = fill;
this.addChildAt(bkground, 0);
bkground.cacheAsBitmap = true;
fill.cacheAsBitmap = true;
map.cacheAsBitmap = true;
if (levl == 0){
_local2 = new instruct();
_local2.x = 265;
_local2.y = 50;
this.addChild(_local2);
} else {
if (levl == 18){
_local3 = new bonusBackground1();
this.addChildAt(_local3, this.getChildIndex(fill));
} else {
if (levl == 19){
_local4 = new bonusBackground2();
this.addChildAt(_local4, this.getChildIndex(fill));
} else {
if (levl == 20){
_local5 = new bonusBackground3();
this.addChildAt(_local5, this.getChildIndex(fill));
};
};
};
};
}
private function updatePercent():void{
bottomBar.percent.text = ((int((percentCleared * 10)) / 10).toString() + "%");
}
private function submitScore(_arg1:MouseEvent):void{
points = lvlComplete.finalScore;
_arg1.target.removeEventListener(MouseEvent.CLICK, submitScore);
this.dispatchEvent(new gameEvent("score", false, false, levl, points));
}
private function timepassed(_arg1:TimerEvent):void{
var _local2:String;
var _local3:int;
var _local4:timeout;
timeleft--;
if (timeleft <= 0){
clean();
_local4 = new timeout();
this.addChildAt(_local4, this.getChildIndex(cursor));
gameover();
};
_local3 = (timeleft % 60);
if (_local3 > 10){
_local2 = _local3.toString();
} else {
_local2 = ("0" + _local3.toString());
};
bottomBar.timeLeft.text = ((("0" + int((timeleft / 60))) + ":") + _local2);
}
private function calcIntersection(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):Point{
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Point;
_local9 = (_arg3 - _arg1);
_local10 = (_arg4 - _arg2);
_local11 = (_arg7 - _arg5);
_local12 = (_arg8 - _arg6);
_local13 = ((_local12 * _local9) - (_local11 * _local10));
_local14 = (((_local11 * (_arg2 - _arg6)) - (_local12 * (_arg1 - _arg5))) / _local13);
if ((((_local14 >= 0)) && ((_local14 <= 1)))){
_local15 = (((_local9 * (_arg2 - _arg6)) - (_local10 * (_arg1 - _arg5))) / _local13);
if ((((_local15 >= 0)) && ((_local15 <= 1)))){
_local16 = new Point((_arg5 + (_local11 * _local15)), (_arg6 + (_local12 * _local15)));
return (_local16);
};
return (null);
//unresolved jump
};
return (null);
}
private function explode2(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Array):void{
var _local5:int;
var _local6:circleParticle;
_local5 = 0;
while (_local5 < _arg1) {
_local6 = new circleParticle(_arg4);
_local6.x = _arg2;
_local6.y = _arg3;
this.addChild(_local6);
_local5++;
};
}
private function explodeCursor():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:squareParticle;
var _local6:gameOver;
lives--;
bottomBar.lives.text = lives.toString();
explode(30, arrowA.x, arrowA.y, colorArray);
explode(30, arrowB.x, arrowB.y, colorArray);
_local1 = cursor.width;
_local2 = cursor.height;
_local3 = ((cursor.width + cursor.height) * 0.2);
_local4 = 0;
while (_local4 < _local3) {
_local5 = new squareParticle(colorArray);
_local5.x = ((cursor.x + (Math.random() * _local1)) - (_local1 * 0.5));
_local5.y = ((cursor.y + (Math.random() * _local2)) - (_local2 * 0.5));
this.addChild(_local5);
_local4++;
};
if (lives < 0){
bottomBar.lives.text = "0";
clean();
_local6 = new gameOver();
this.addChildAt(_local6, this.getChildIndex(cursor));
gameover();
};
}
private function afterFirstFrame(_arg1:Event):void{
totalFill = getFill(fill);
fillLeft = totalFill;
stage.addEventListener(KeyboardEvent.KEY_DOWN, rotateCursor, false, 0, true);
this.removeEventListener(Event.ENTER_FRAME, afterFirstFrame);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, onWheel, false, 0, true);
}
private function toggleMute(_arg1:MouseEvent):void{
var _local2:MovieClip;
_local2 = (_arg1.target as MovieClip);
switch (_local2.currentFrame){
case 1:
_local2.gotoAndStop(2);
muted = true;
break;
case 2:
_local2.gotoAndStop(1);
muted = false;
break;
};
this.dispatchEvent(new gameEvent("mute"));
}
private function findCirclePath(_arg1:snakeHead):void{
var _local2:Array;
var _local3:Point;
var _local4:Point;
var _local5:Point;
var _local6:Number;
var _local7:Array;
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Point;
var _local14:int;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Point;
var _local20:Number;
var _local21:Number;
var _local22:Number;
_local2 = new Array();
_local3 = _arg1.localToGlobal(new Point(0, 10));
_local4 = _arg1.localToGlobal(new Point(-10, 0));
_local5 = _arg1.localToGlobal(new Point(0, -10));
_local2.push(_local3);
_local2.push(_local4);
_local2.push(_local5);
_local6 = 2000;
_local8 = 0;
while (_local8 < 3) {
_local9 = _local2[_local8].x;
_local10 = _local2[_local8].y;
_local11 = (_local9 + (_arg1.vx * 1000));
_local12 = (_local10 + (_arg1.vy * 1000));
_local14 = 0;
while (_local14 < mapLines.length) {
_local15 = mapLines[_local14][0];
_local16 = mapLines[_local14][1];
_local17 = mapLines[_local14][2];
_local18 = mapLines[_local14][3];
_local19 = calcIntersection(_local15, _local16, _local17, _local18, _local9, _local10, _local11, _local12);
if (_local19){
_local20 = (_local19.x - _local9);
_local21 = (_local19.y - _local10);
_local22 = Math.sqrt(((_local20 * _local20) + (_local21 * _local21)));
if (_local8 == 1){
_local22 = (_local22 - 20);
};
if (_local22 < _local6){
_local13 = _local19;
_local6 = _local22;
_local7 = mapLines[_local14];
};
};
_local14++;
};
_local8++;
};
if (_local7[0] == _local7[2]){
_arg1.isVertical = true;
_arg1.bound = _local7[0];
if (_arg1.x > _local7[0]){
_arg1.isRightorBottom = true;
} else {
_arg1.isRightorBottom = false;
};
} else {
_arg1.isVertical = false;
_arg1.bound = _local7[1];
if (_arg1.y > _local7[1]){
_arg1.isRightorBottom = true;
} else {
_arg1.isRightorBottom = false;
};
};
}
private function mouseClicked(_arg1:MouseEvent):void{
var _local2:int;
var _local3:int;
var _local4:int;
if (((!(finished)) && (!(isGrowing)))){
emergencyNormal();
if (((((((((((fill.hitTestPoint(cursor.x, cursor.y, true)) && (fill.hitTestPoint(arrowA.x, arrowA.y, true)))) && (fill.hitTestPoint(arrowB.x, arrowB.y, true)))) && (!(filled.hitTestPoint(arrowB.x, arrowB.y, true))))) && (!(filled.hitTestPoint(arrowA.x, arrowA.y, true))))) && (!(filled.hitTestPoint(cursor.x, cursor.y, true))))){
isGrowing = true;
lineA = new Array();
lineB = new Array();
switch (cursor.rotation){
case 0:
_local2 = 0;
while (_local2 < mapLines.length) {
if (mapLines[_local2][1] == mapLines[_local2][3]){
if ((((((cursor.x >= mapLines[_local2][0])) && ((cursor.x < mapLines[_local2][2])))) || ((((cursor.x <= mapLines[_local2][0])) && ((cursor.x > mapLines[_local2][2])))))){
if (arrowA.y > mapLines[_local2][1]){
if (lineA.length == 0){
lineA = mapLines[_local2];
} else {
_local3 = (mapLines[_local2][1] - arrowA.y);
_local4 = (lineA[1] - arrowA.y);
if (_local3 > _local4){
lineA = mapLines[_local2];
};
};
};
if (arrowB.y < mapLines[_local2][1]){
if (lineB.length == 0){
lineB = mapLines[_local2];
} else {
_local3 = (mapLines[_local2][1] - arrowB.y);
_local4 = (lineB[1] - arrowB.y);
if (_local3 < _local4){
lineB = mapLines[_local2];
};
};
};
};
};
_local2++;
};
break;
case 90:
_local2 = 0;
while (_local2 < mapLines.length) {
if (mapLines[_local2][0] == mapLines[_local2][2]){
if ((((((cursor.y >= mapLines[_local2][1])) && ((cursor.y < mapLines[_local2][3])))) || ((((cursor.y <= mapLines[_local2][1])) && ((cursor.y > mapLines[_local2][3])))))){
if (arrowA.x < mapLines[_local2][0]){
if (lineA.length == 0){
lineA = mapLines[_local2];
} else {
_local3 = (mapLines[_local2][0] - arrowA.x);
_local4 = (lineA[0] - arrowA.x);
if (_local3 < _local4){
lineA = mapLines[_local2];
};
};
};
if (arrowB.x > mapLines[_local2][0]){
if (lineB.length == 0){
lineB = mapLines[_local2];
} else {
_local3 = (mapLines[_local2][0] - arrowB.x);
_local4 = (lineB[0] - arrowB.x);
if (_local3 > _local4){
lineB = mapLines[_local2];
};
};
};
};
};
_local2++;
};
break;
};
};
};
}
private function changeColor():void{
var _local1:int;
_local1 = cursor.partA.currentFrame;
if (_local1 < 5){
cursor.partA.gotoAndStop((_local1 + 1));
cursor.partB.gotoAndStop((_local1 + 1));
arrowA.gotoAndStop((_local1 + 1));
arrowB.gotoAndStop((_local1 + 1));
currentColor = colorArray[_local1];
} else {
cursor.partA.gotoAndStop(1);
cursor.partB.gotoAndStop(1);
arrowA.gotoAndStop(1);
arrowB.gotoAndStop(1);
currentColor = colorArray[0];
};
}
private function gameover():void{
timeLeftTimer.stop();
lockedA = false;
lockedB = false;
isGrowing = false;
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partA, {width:4, time:0.5});
Tweener.addTween(cursor.partB, {width:4, time:0.5});
tryagainbtn = new tryagain();
this.addChildAt(tryagainbtn, this.getChildIndex(cursor));
backto = new backtomain();
this.addChildAt(backto, this.getChildIndex(cursor));
backto.addEventListener(MouseEvent.CLICK, bye, false, 0, true);
tryagainbtn.addEventListener(MouseEvent.CLICK, retry, false, 0, true);
}
private function cursorBackToNormal():void{
lockedA = false;
lockedB = false;
isGrowing = false;
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce", onError:emergencyNormal});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce", onError:emergencyNormal});
Tweener.addTween(cursor.partA, {width:4, time:0.5, onError:emergencyNormal});
Tweener.addTween(cursor.partB, {width:4, time:0.5, onError:emergencyNormal});
}
private function getTrueBounds(_arg1:Array):Rectangle{
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local2 = _arg1.length;
_local3 = 800;
_local4 = 0;
_local5 = 800;
_local6 = 0;
_local7 = 0;
while (_local7 < _local2) {
_local8 = _arg1[_local7][0];
_local9 = _arg1[_local7][2];
_local10 = _arg1[_local7][1];
_local11 = _arg1[_local7][3];
if (_local8 < _local3){
_local3 = _local8;
};
if (_local9 < _local3){
_local3 = _local9;
};
if (_local8 > _local4){
_local4 = _local8;
};
if (_local9 > _local4){
_local4 = _local9;
};
if (_local10 < _local5){
_local5 = _local10;
};
if (_local11 < _local5){
_local5 = _local11;
};
if (_local10 > _local6){
_local6 = _local10;
};
if (_local11 > _local6){
_local6 = _local11;
};
_local7++;
};
return (new Rectangle(_local3, _local5, (_local4 - _local3), (_local6 - _local5)));
}
private function emergencyNormal():void{
lockedA = false;
lockedB = false;
cursor.partA.height = (cursor.partB.height = 5);
cursor.partA.width = (cursor.partB.width = 4);
}
private function getFill(_arg1:Shape):int{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
_local2 = 0;
_local5 = 0;
while (_local5 < 100) {
_local6 = 0;
while (_local6 < 100) {
_local3 = ((_local5 * 5) + 5);
_local4 = ((_local6 * 5) + 5);
if (_arg1.hitTestPoint(_local3, _local4, true)){
_local2++;
};
_local6++;
};
_local5++;
};
return (_local2);
}
private function updateSnake(_arg1:TimerEvent):void{
var _local2:int;
var _local3:int;
_local2 = snakeArray.length;
_local3 = 0;
while (_local3 < _local2) {
findCirclePath(snakeArray[_local3]);
_local3++;
};
_local2 = enemyArray.length;
_local3 = 0;
while (_local3 < _local2) {
findTrianglePath(enemyArray[_local3]);
_local3++;
};
}
}
}//package
Section 70
//gameEvent (gameEvent)
package {
import flash.events.*;
public class gameEvent extends Event {
public var lvl:int;
public var score:int;
public static const SCORE = "score";
public static const START:String = "start";
public static const RETRY:String = "retry";
public static const QUIT:String = "quit";
public static const NEXT_LEVEL = "next";
public static const MUTE = "mute";
public static const SAVE = "save";
public function gameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=0, _arg5:int=0):void{
super(_arg1, _arg2, _arg3);
lvl = _arg4;
score = _arg5;
}
}
}//package
Section 71
//gameOver (gameOver)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import mochi.*;
import flash.net.*;
public class gameOver extends MovieClip {
public var kong:MovieClip;
public function gameOver():void{
this.x = 0xFF;
this.y = 180;
this.alpha = 0;
this.scaleX = (this.scaleY = 0);
Tweener.addTween(this, {scaleX:1, scaleY:1, alpha:1, time:0.8, transition:"easeOutSine"});
this.kong.alpha = 0;
Tweener.addTween(this.kong, {alpha:1, time:0.8, delay:1, transition:"easeOutSine"});
this.kong.addEventListener(MouseEvent.ROLL_OVER, rollover, false, 0, true);
this.kong.addEventListener(MouseEvent.ROLL_OUT, rollout, false, 0, true);
this.kong.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
}
private function gotoKong(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "68ad20cd");
_local2 = new URLRequest("http://www.kongregate.com/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function rollout(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop(1);
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
}
private function rollover(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop(2);
_arg1.target.scaleX = (_arg1.target.scaleY = 1.1);
}
}
}//package
Section 72
//getItGroovin (getItGroovin)
package {
import flash.media.*;
public dynamic class getItGroovin extends Sound {
}
}//package
Section 73
//helpScreen (helpScreen)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
public class helpScreen extends MovieClip {
private var m:Shape;
public var back:MovieClip;
public function helpScreen():void{
this.y = 150;
this.back.addEventListener(MouseEvent.ROLL_OVER, btnrollover, false, 0, true);
this.back.addEventListener(MouseEvent.ROLL_OUT, btnrollout, false, 0, true);
this.back.addEventListener(MouseEvent.CLICK, disappear, false, 0, true);
}
private function btnrollover(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.1);
_arg1.target.gotoAndStop(2);
}
private function maskComplete():void{
this.removeChild(m);
this.mask = null;
}
public function appear():void{
m = new Shape();
m.graphics.beginFill(0);
m.graphics.beginFill(0);
m.graphics.moveTo(-252.5, -190);
m.graphics.lineTo(252.5, -190);
m.graphics.lineTo(252.5, 190);
m.graphics.lineTo(-252.5, 190);
m.graphics.lineTo(-252.5, -190);
m.graphics.endFill();
m.x = 252.5;
m.y = 190;
m.scaleX = (m.scaleY = 0);
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:1, scaleY:1, rotation:90, time:0.7, transition:"easeInSine", onComplete:maskComplete});
}
private function disappear(_arg1:MouseEvent):void{
dispatchEvent(new gameEvent("quit"));
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-252.5, -190);
m.graphics.lineTo(252.5, -190);
m.graphics.lineTo(252.5, 190);
m.graphics.lineTo(-252.5, 190);
m.graphics.lineTo(-252.5, -190);
m.graphics.endFill();
m.x = 252.5;
m.y = 190;
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:0, scaleY:0, rotation:-90, time:0.7, transition:"easeInSine", onComplete:bye});
}
private function btnrollout(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
_arg1.target.gotoAndStop(1);
}
public function bye(_arg1:TimerEvent=null):void{
this.mask = null;
this.parent.removeChild(this);
}
}
}//package
Section 74
//highScore (highScore)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import com.kongregate.as3.client.*;
import mochi.*;
import com.kongregate.as3.client.events.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
public dynamic class highScore extends MovieClip {
public var loader:MovieClip;
private var isKong:Boolean;
public var container:MovieClip;
public var levelnum:TextField;
private var maxScore:int;
private var score:int;
public var done:MovieClip;
private var lvlv:int;
public var logo:KongImage;
private var kongregate:KongregateAPI;
public function highScore(_arg1:int, _arg2:int, _arg3:Boolean):void{
isKong = _arg3;
lvlv = (_arg1 + 1);
score = _arg2;
if (isKong){
kongregate = KongregateAPI.getInstance();
KongOk();
this.container.submit.addEventListener(MouseEvent.CLICK, submitScore, false, 0, true);
} else {
this.container.nameInput.alpha = 100;
mochiScore();
this.done.y = (this.done.y + 25);
this.container.submit.y = (this.container.submit.y + 25);
this.container.nameInput.playerName.maxChars = 14;
this.container.nameInput.playerName.addEventListener(MouseEvent.CLICK, removeName, false, 0, true);
this.container.submit.addEventListener(MouseEvent.CLICK, submitMochi, false, 0, true);
};
this.container.alpha = 0;
this.loader.addEventListener(Event.ENTER_FRAME, rotate, false, 0, true);
this.levelnum.text = ("Level " + lvlv.toString());
if (lvlv == 19){
this.levelnum.text = "Bonus 1";
};
if (lvlv == 20){
this.levelnum.text = "Bonus 2";
};
if (lvlv == 21){
this.levelnum.text = "Bonus 3";
};
this.logo.stop();
this.logo.addEventListener(MouseEvent.ROLL_OVER, kongRollOver, false, 0, true);
this.logo.addEventListener(MouseEvent.ROLL_OUT, kongRollOut, false, 0, true);
this.logo.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
this.container.submit.addEventListener(MouseEvent.ROLL_OVER, onrollOver, false, 0, true);
this.container.submit.addEventListener(MouseEvent.ROLL_OUT, onrollOut, false, 0, true);
this.done.addEventListener(MouseEvent.ROLL_OVER, onrollOver, false, 0, true);
this.done.addEventListener(MouseEvent.ROLL_OUT, onrollOut, false, 0, true);
this.done.addEventListener(MouseEvent.CLICK, bye, false, 0, true);
}
private function kongRollOver(_arg1:MouseEvent):void{
_arg1.target.gotoAndPlay("over");
}
private function removeName(_arg1:MouseEvent):void{
this.container.nameInput.playerName.text = "";
}
private function gotoKong(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "5b0c80d5");
_local2 = new URLRequest("http://www.kongregate.com/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function mochiOk(_arg1:Object):void{
var _local2:int;
if (_arg1.scores.alltime.rows){
_local2 = _arg1.scores.alltime.rows.length;
if (_local2 > 0){
this.container.player1.text = _arg1.scores.alltime.rows[0][1];
this.container.score1.text = _arg1.scores.alltime.rows[0][0];
maxScore = _arg1.scores.alltime.rows[(_local2 - 1)][0];
};
if (_local2 > 1){
this.container.player2.text = _arg1.scores.alltime.rows[1][1];
this.container.score2.text = _arg1.scores.alltime.rows[1][0];
};
if (_local2 > 2){
this.container.player3.text = _arg1.scores.alltime.rows[2][1];
this.container.score3.text = _arg1.scores.alltime.rows[2][0];
};
if (_local2 > 3){
this.container.player4.text = _arg1.scores.alltime.rows[3][1];
this.container.score4.text = _arg1.scores.alltime.rows[3][0];
};
if (_local2 > 4){
this.container.player5.text = _arg1.scores.alltime.rows[4][1];
this.container.score5.text = _arg1.scores.alltime.rows[4][0];
};
if (_local2 > 5){
this.container.player6.text = _arg1.scores.alltime.rows[5][1];
this.container.score6.text = _arg1.scores.alltime.rows[5][0];
};
if (_local2 > 6){
this.container.player7.text = _arg1.scores.alltime.rows[6][1];
this.container.score7.text = _arg1.scores.alltime.rows[6][0];
};
if (_local2 > 7){
this.container.player8.text = _arg1.scores.alltime.rows[7][1];
this.container.score8.text = _arg1.scores.alltime.rows[7][0];
};
if (_local2 > 8){
this.container.player9.text = _arg1.scores.alltime.rows[8][1];
this.container.score9.text = _arg1.scores.alltime.rows[8][0];
};
if (_local2 > 9){
this.container.player10.text = _arg1.scores.alltime.rows[9][1];
this.container.score10.text = _arg1.scores.alltime.rows[9][0];
};
};
Tweener.addTween(this.container, {alpha:1, time:0.5, transition:"easeInSine"});
Tweener.addTween(this.loader, {alpha:0, time:0.5, transition:"easeOutSine"});
}
private function rotate(_arg1:Event):void{
this.loader.rotation = (this.loader.rotation - 4);
}
private function submitScore(_arg1:MouseEvent):void{
var _local2:String;
_local2 = ("Level" + lvlv.toString());
kongregate.scores.submit(score, _local2);
this.container.submit.removeEventListener(MouseEvent.CLICK, submitScore);
this.container.submit.visible = false;
if (score > maxScore){
KongOk();
};
}
private function submitMochi(_arg1:MouseEvent):void{
var _local2:String;
_local2 = this.container.nameInput.playerName.text;
if (_local2 != ""){
MochiScores.submit(score, _local2, this, nothing);
};
this.container.submit.visible = false;
this.container.nameInput.visible = false;
this.container.submit.removeEventListener(MouseEvent.CLICK, submitMochi);
if (score > maxScore){
MochiScores.requestList(this, mochiOk);
};
}
private function scoresCallback(_arg1:Object):void{
var _local2:int;
if (_arg1.list){
_local2 = _arg1.list.length;
if (_local2 > 0){
maxScore = _arg1.list[(_local2 - 1)].score;
this.container.player1.text = _arg1.list[0].username;
this.container.score1.text = _arg1.list[0].score;
};
if (_local2 > 1){
this.container.player2.text = _arg1.list[1].username;
this.container.score2.text = _arg1.list[1].score;
};
if (_local2 > 2){
this.container.player3.text = _arg1.list[2].username;
this.container.score3.text = _arg1.list[2].score;
};
if (_local2 > 3){
this.container.player4.text = _arg1.list[3].username;
this.container.score4.text = _arg1.list[3].score;
};
if (_local2 > 4){
this.container.player5.text = _arg1.list[4].username;
this.container.score5.text = _arg1.list[4].score;
};
if (_local2 > 5){
this.container.player6.text = _arg1.list[5].username;
this.container.score6.text = _arg1.list[5].score;
};
if (_local2 > 6){
this.container.player7.text = _arg1.list[6].username;
this.container.score7.text = _arg1.list[6].score;
};
if (_local2 > 7){
this.container.player8.text = _arg1.list[7].username;
this.container.score8.text = _arg1.list[7].score;
};
if (_local2 > 8){
this.container.player9.text = _arg1.list[8].username;
this.container.score9.text = _arg1.list[8].score;
};
if (_local2 > 9){
this.container.player10.text = _arg1.list[9].username;
this.container.score10.text = _arg1.list[9].score;
};
};
Tweener.addTween(this.container, {alpha:1, time:0.5, transition:"easeInSine"});
Tweener.addTween(this.loader, {alpha:0, time:0.5, transition:"easeOutSine"});
}
private function kongRollOut(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop("out");
}
private function nothing(_arg1:Object):void{
}
private function onrollOver(_arg1:MouseEvent):void{
(_arg1.target as MovieClip).gotoAndStop(2);
(_arg1.target as MovieClip).scaleX = ((_arg1.target as MovieClip).scaleY = 1.1);
}
private function onrollOut(_arg1:MouseEvent):void{
(_arg1.target as MovieClip).gotoAndStop(1);
(_arg1.target as MovieClip).scaleX = ((_arg1.target as MovieClip).scaleY = 1);
}
private function bye(_arg1:MouseEvent):void{
if (isKong){
kongregate.removeEventListener(KongregateEvent.COMPLETE, KongOk);
this.container.submit.removeEventListener(MouseEvent.CLICK, submitScore);
} else {
this.container.submit.removeEventListener(MouseEvent.CLICK, submitMochi);
};
this.loader.removeEventListener(Event.ENTER_FRAME, rotate);
this.logo.removeEventListener(MouseEvent.ROLL_OVER, kongRollOver);
this.logo.removeEventListener(MouseEvent.ROLL_OUT, kongRollOut);
this.logo.removeEventListener(MouseEvent.CLICK, gotoKong);
this.container.submit.removeEventListener(MouseEvent.ROLL_OVER, onrollOver);
this.container.submit.removeEventListener(MouseEvent.ROLL_OUT, onrollOut);
this.done.removeEventListener(MouseEvent.ROLL_OVER, onrollOver);
this.done.removeEventListener(MouseEvent.ROLL_OUT, onrollOut);
this.done.removeEventListener(MouseEvent.CLICK, bye);
this.parent.removeChild(this);
Mouse.hide();
}
private function KongOk():void{
var _local1:String;
_local1 = ("Level" + lvlv.toString());
kongregate.scores.setMode(_local1);
kongregate.scores.requestList(scoresCallback);
}
private function mochiScore():void{
var _local1:String;
MochiServices.connect("1bfb74e7e1122b9f", this);
_local1 = levelsData.levels[(lvlv - 1)].leaderBoard;
MochiScores.setBoardID(_local1);
MochiScores.requestList(this, mochiOk);
}
}
}//package
Section 75
//instruct (instruct)
package {
import flash.display.*;
import caurina.transitions.*;
public class instruct extends MovieClip {
public function instruct():void{
this.alpha = 0;
Tweener.addTween(this, {alpha:1, delay:2, time:2, transition:"linear"});
Tweener.addTween(this, {alpha:0, delay:10, time:2, transition:"linear", onComplete:bye});
}
private function bye():void{
this.parent.removeChild(this);
}
}
}//package
Section 76
//instructions (instructions)
package {
import flash.display.*;
public dynamic class instructions extends MovieClip {
public function instructions(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 77
//kokoLogo (kokoLogo)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.utils.*;
public class kokoLogo extends MovieClip {
private var y1:Number;
public var kokomagnet:MovieClip;
private var kokoTimer:Timer;
private var magnet:int;
private var kmagnet:MovieClip;
private var particles:Array;
public var kokosandotcom:MovieClip;
private var x1:Number;
public function kokoLogo():void{
var i:int;
var removemagnet:Function;
var effect:Function;
var particle:MovieClip;
super();
removemagnet = function ():void{
kokoTimer.stop();
};
effect = function (_arg1:TimerEvent):void{
var _local2:int;
var _local3:MovieClip;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local2 = 0;
while (_local2 < particles.length) {
_local3 = (particles[_local2] as MovieClip);
_local4 = _local3.x;
_local5 = _local3.y;
x1 = kmagnet.x;
y1 = kmagnet.y;
_local6 = (x1 - _local4);
_local7 = (y1 - _local5);
_local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
_local9 = (_local3.x - (((_local6 / _local8) * magnet) / _local8));
_local10 = (_local3.y - (((_local7 / _local8) * magnet) / _local8));
_local3.forceX = ((_local3.forceX + ((_local3.defaultX - _local4) / 2)) / 1.66);
_local3.forceY = ((_local3.forceY + ((_local3.defaultY - _local5) / 2)) / 1.66);
_local3.x = (_local9 + _local3.forceX);
_local3.y = (_local10 + _local3.forceY);
_local2++;
};
};
this.kokosandotcom.alpha = 0;
particles = new Array();
magnet = 800;
kokoTimer = new Timer(50);
kokoTimer.addEventListener(TimerEvent.TIMER, effect, false, 0, true);
kokoTimer.start();
i = 0;
while (i < (this.numChildren - 1)) {
particle = (this.getChildAt(i) as MovieClip);
particles.push(particle);
particle.defaultX = particle.x;
particle.defaultY = particle.y;
particle.forceX = 0;
particle.forceY = 0;
kmagnet = this.kokomagnet;
x1 = kmagnet.x;
y1 = kmagnet.y;
Tweener.addTween(this.kokomagnet, {x:300, time:3, transition:"easeOutSine", onComplete:removemagnet});
Tweener.addTween(this.kokosandotcom, {alpha:0.8, time:2, delay:2, transition:"easeOutSine"});
i = (i + 1);
};
}
}
}//package
Section 78
//kongBanner (kongBanner)
package {
import flash.display.*;
public dynamic class kongBanner extends MovieClip {
public var kong:KongImage;
public function kongBanner(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 79
//KongImage (KongImage)
package {
import flash.display.*;
public dynamic class KongImage extends MovieClip {
public function KongImage(){
addFrameScript(0, frame1, 39, frame40);
}
function frame1(){
stop();
}
function frame40(){
gotoAndPlay("over");
}
}
}//package
Section 80
//Kongintro (Kongintro)
package {
import flash.display.*;
public dynamic class Kongintro extends MovieClip {
}
}//package
Section 81
//level (level)
package {
import flash.display.*;
import caurina.transitions.*;
import flash.text.*;
public class level extends MovieClip {
public var txt:TextField;
public var num:TextField;
public function level():void{
this.x = 0xFF;
this.y = 235;
Tweener.addTween(this, {alpha:0, time:2.4, transition:"easeInSine", onComplete:bye});
}
private function bye():void{
this.parent.removeChild(this);
}
}
}//package
Section 82
//level1 (level1)
package {
import flash.display.*;
public dynamic class level1 extends MovieClip {
}
}//package
Section 83
//level10 (level10)
package {
import flash.display.*;
public dynamic class level10 extends MovieClip {
}
}//package
Section 84
//level11 (level11)
package {
import flash.display.*;
public dynamic class level11 extends MovieClip {
}
}//package
Section 85
//level12 (level12)
package {
import flash.display.*;
public dynamic class level12 extends MovieClip {
}
}//package
Section 86
//level13 (level13)
package {
import flash.display.*;
public dynamic class level13 extends MovieClip {
}
}//package
Section 87
//level14 (level14)
package {
import flash.display.*;
public dynamic class level14 extends MovieClip {
}
}//package
Section 88
//level15 (level15)
package {
import flash.display.*;
public dynamic class level15 extends MovieClip {
}
}//package
Section 89
//level16 (level16)
package {
import flash.display.*;
public dynamic class level16 extends MovieClip {
}
}//package
Section 90
//level17 (level17)
package {
import flash.display.*;
public dynamic class level17 extends MovieClip {
}
}//package
Section 91
//level18 (level18)
package {
import flash.display.*;
public dynamic class level18 extends MovieClip {
}
}//package
Section 92
//level2 (level2)
package {
import flash.display.*;
public dynamic class level2 extends MovieClip {
}
}//package
Section 93
//level3 (level3)
package {
import flash.display.*;
public dynamic class level3 extends MovieClip {
}
}//package
Section 94
//level4 (level4)
package {
import flash.display.*;
public dynamic class level4 extends MovieClip {
}
}//package
Section 95
//level5 (level5)
package {
import flash.display.*;
public dynamic class level5 extends MovieClip {
}
}//package
Section 96
//level6 (level6)
package {
import flash.display.*;
public dynamic class level6 extends MovieClip {
}
}//package
Section 97
//level7 (level7)
package {
import flash.display.*;
public dynamic class level7 extends MovieClip {
}
}//package
Section 98
//level8 (level8)
package {
import flash.display.*;
public dynamic class level8 extends MovieClip {
}
}//package
Section 99
//level9 (level9)
package {
import flash.display.*;
public dynamic class level9 extends MovieClip {
}
}//package
Section 100
//levelComplete (levelComplete)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import mochi.*;
import flash.utils.*;
import flash.net.*;
public class levelComplete extends MovieClip {
public var kong:KongImage;
public var yourScore:MovieClip;
public var color_used:MovieClip;
public var lives_left:MovieClip;
public var time_left:MovieClip;
public var bonus:MovieClip;
private var timeleft:int;
public var backGround:MovieClip;
private var livesBonus:int;
private var timeBonus:int;
private var levelpoints:int;
private var colorBonus:int;
private var level:int;
public var buttons:MovieClip;
public var final_score:MovieClip;
public var level_complete:MovieClip;
private var isKong:Boolean;
private var livesLeft:int;
public var finalScore:int;
private var colorUsed:int;
public function levelComplete(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:Boolean):void{
var _local7:String;
var _local8:int;
var _local9:Timer;
var _local10:Timer;
var _local11:Timer;
var _local12:Timer;
var _local13:kongBanner;
super();
level = _arg5;
isKong = _arg6;
this.backGround.alpha = 0;
Tweener.addTween(this.backGround, {alpha:1, time:0.8, transition:"easeOutSine"});
this.level_complete.scaleX = (this.level_complete.scaleY = (this.level_complete.alpha = 0));
Tweener.addTween(this.level_complete, {alpha:1, scaleX:1, scaleY:1, time:0.8, transition:"easeOutSine"});
levelpoints = _arg4;
this.yourScore.points.text = levelpoints.toString();
this.yourScore.alpha = 0;
Tweener.addTween(this.yourScore, {alpha:1, time:0.8, delay:0.4, transition:"easeOutSine"});
this.bonus.alpha = 0;
Tweener.addTween(this.bonus, {alpha:1, time:0.8, delay:0.7, transition:"easeOutSine"});
this.time_left.alpha = 0;
timeleft = _arg1;
_local8 = (timeleft % 60);
if (_local8 > 10){
_local7 = _local8.toString();
} else {
_local7 = ("0" + _local8.toString());
};
this.time_left.time.text = ((("0" + int((timeleft / 60))) + ":") + _local7);
timeBonus = (timeleft * 3);
Tweener.addTween(this.time_left, {alpha:1, time:0.8, delay:1, transition:"easeOutSine"});
_local9 = new Timer(1100, 1);
_local9.addEventListener(TimerEvent.TIMER_COMPLETE, animateTimeText, false, 0, true);
_local9.start();
this.lives_left.alpha = 0;
livesLeft = _arg2;
this.lives_left.lives.text = livesLeft;
livesBonus = (livesLeft * 100);
Tweener.addTween(this.lives_left, {alpha:1, time:0.8, delay:1.6, transition:"easeOutSine"});
_local10 = new Timer(1700, 1);
_local10.addEventListener(TimerEvent.TIMER_COMPLETE, animateLivesText, false, 0, true);
_local10.start();
this.color_used.alpha = 0;
colorUsed = _arg3;
this.color_used.colors.text = colorUsed;
switch (colorUsed){
case 3:
colorBonus = 600;
break;
case 4:
colorBonus = 300;
break;
case 5:
colorBonus = 0;
break;
};
Tweener.addTween(this.color_used, {alpha:1, time:0.8, delay:2.2, transition:"easeOutSine"});
_local11 = new Timer(2300, 1);
_local11.addEventListener(TimerEvent.TIMER_COMPLETE, animateColorText, false, 0, true);
_local11.start();
this.final_score.alpha = 0;
finalScore = (((levelpoints + timeBonus) + livesBonus) + colorBonus);
Tweener.addTween(this.final_score, {alpha:1, time:0.8, delay:2.8, transition:"easeOutSine"});
_local12 = new Timer(2900, 1);
_local12.addEventListener(TimerEvent.TIMER_COMPLETE, animateFinalText, false, 0, true);
_local12.start();
if ((((_arg5 == 18)) || ((_arg5 == 21)))){
this.buttons.nextLevel.visible = false;
};
if ((((((((((_arg5 == 3)) || ((_arg5 == 7)))) || ((_arg5 == 12)))) || ((_arg5 == 18)))) && (!(isKong)))){
this.removeChild(kong);
_local13 = new kongBanner();
if (_arg5 == 18){
_local13.gotoAndStop(2);
} else {
_local13.gotoAndStop(1);
};
_local13.x = 263;
_local13.y = 439.8;
_local13.alpha = 0;
_local13.addEventListener(MouseEvent.ROLL_OVER, bannerMouseOver, false, 0, true);
_local13.addEventListener(MouseEvent.ROLL_OUT, bannerMouseOut, false, 0, true);
_local13.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
Tweener.addTween(_local13, {alpha:1, time:0.6, delay:4, transition:"linear"});
this.addChild(_local13);
} else {
this.kong.alpha = 0;
this.kong.scaleX = (this.kong.scaleY = 0);
Tweener.addTween(this.kong, {scaleX:1, scaleY:1, alpha:1, delay:4, time:1.4, transition:"easeOutBounce"});
this.kong.addEventListener(MouseEvent.ROLL_OVER, kongRollOver, false, 0, true);
this.kong.addEventListener(MouseEvent.ROLL_OUT, kongRollOut, false, 0, true);
this.kong.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
};
this.buttons.scaleX = (this.buttons.scaleY = (this.buttons.alpha = 0));
Tweener.addTween(this.buttons, {alpha:1, scaleX:1, scaleY:1, time:0.6, delay:4, transition:"easeOutSine", onComplete:addButtonListeners});
}
private function animateLivesText(_arg1:TimerEvent):void{
var _local2:Timer;
_local2 = new Timer(40, 16);
_local2.addEventListener(TimerEvent.TIMER, addLivesBonus, false, 0, true);
_local2.start();
}
private function kongRollOver(_arg1:MouseEvent):void{
_arg1.target.gotoAndPlay("over");
}
private function gotoKong(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "1ae29dc3");
_local2 = new URLRequest("http://www.kongregate.com/games/kokosan/colorfill/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function btnRollOver(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.1);
_arg1.target.gotoAndStop(2);
}
private function animateColorText(_arg1:TimerEvent):void{
var _local2:Timer;
_local2 = new Timer(40, 16);
_local2.addEventListener(TimerEvent.TIMER, addColorBonus, false, 0, true);
_local2.start();
}
private function btnRollOut(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
_arg1.target.gotoAndStop(1);
}
private function bannerMouseOver(_arg1:MouseEvent):void{
_arg1.target.kong.gotoAndPlay("over");
}
private function addButtonListeners():void{
this.buttons.quit.addEventListener(MouseEvent.ROLL_OVER, btnRollOver, false, 0, true);
this.buttons.quit.addEventListener(MouseEvent.ROLL_OUT, btnRollOut, false, 0, true);
this.buttons.submitScore.addEventListener(MouseEvent.ROLL_OVER, btnRollOver, false, 0, true);
this.buttons.submitScore.addEventListener(MouseEvent.ROLL_OUT, btnRollOut, false, 0, true);
if (((!((level == 18))) && (!((level == 21))))){
this.buttons.nextLevel.addEventListener(MouseEvent.ROLL_OVER, btnRollOver, false, 0, true);
this.buttons.nextLevel.addEventListener(MouseEvent.ROLL_OUT, btnRollOut, false, 0, true);
};
}
private function addTimeBonus(_arg1:TimerEvent):void{
var _local2:int;
_local2 = ((timeBonus / 16) * _arg1.target.currentCount);
this.time_left.points.text = (_local2.toString() + " pts");
if (_arg1.target.currentCount == 16){
this.time_left.points.text = (timeBonus.toString() + " pts");
};
}
private function kongRollOut(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop("out");
}
private function animateTimeText(_arg1:TimerEvent):void{
var _local2:Timer;
_local2 = new Timer(40, 16);
_local2.addEventListener(TimerEvent.TIMER, addTimeBonus, false, 0, true);
_local2.start();
}
private function addFinalBonus(_arg1:TimerEvent):void{
var _local2:int;
_local2 = ((finalScore / 25) * _arg1.target.currentCount);
this.final_score.points.text = (_local2.toString() + " pts");
if (_arg1.target.currentCount == 25){
this.final_score.points.text = (finalScore.toString() + " pts");
};
}
private function bannerMouseOut(_arg1:MouseEvent):void{
_arg1.target.kong.gotoAndStop("out");
}
private function addLivesBonus(_arg1:TimerEvent):void{
var _local2:int;
_local2 = ((livesBonus / 16) * _arg1.target.currentCount);
this.lives_left.points.text = (_local2.toString() + " pts");
if (_arg1.target.currentCount == 16){
this.lives_left.points.text = (livesBonus.toString() + " pts");
};
}
private function animateFinalText(_arg1:TimerEvent):void{
var _local2:Timer;
_local2 = new Timer(40, 25);
_local2.addEventListener(TimerEvent.TIMER, addFinalBonus, false, 0, true);
_local2.start();
}
private function addColorBonus(_arg1:TimerEvent):void{
var _local2:int;
_local2 = ((colorBonus / 16) * _arg1.target.currentCount);
this.color_used.points.text = (_local2.toString() + " pts");
if (_arg1.target.currentCount == 16){
this.color_used.points.text = (colorBonus.toString() + " pts");
};
}
}
}//package
Section 101
//levelsData (levelsData)
package {
public class levelsData {
private static const level20:Object = {mapLines:[[20, 20, 480, 20], [480, 20, 480, 480], [480, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:2905686, enemies:[["saw", 10053324, 0], ["saw", 6736947, 1], ["saw", 0xFFFF00, 2], ["saw", 10040115, 3], ["triangle", 3381759, 240, 240, 48], ["triangle", 6736947, 240, 240, -131], ["triangle", 0xFFFF00, 240, 240, 125], ["triangle", 10040115, 240, 240, -35], ["triangle", 3381759, 40, 40, 48], ["triangle", 6736947, 440, 40, 131], ["triangle", 0xFFFF00, 440, 440, -125], ["triangle", 10040115, 40, 440, -35]], leaderBoard:"1b454214fad82dcf"};
private static const level21:Object = {mapLines:[[20, 20, 480, 20], [480, 20, 480, 480], [480, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:6241590, enemies:[["saw", 10053324, 0], ["saw", 6736947, 1], ["saw", 0xFFFF00, 2], ["saw", 10040115, 3], ["snake", 10040115, 40, 40, 55, 10], ["snake", 6736947, 440, 40, -126, 10], ["snake", 6736947, 40, 440, -56, 10], ["triangle", 3381759, 240, 240, 48], ["triangle", 6736947, 240, 240, -131], ["triangle", 0xFFFF00, 240, 240, 125], ["triangle", 10040115, 240, 240, -35], ["triangle", 3381759, 40, 40, 48], ["triangle", 6736947, 440, 40, 131], ["triangle", 0xFFFF00, 440, 440, -125]], leaderBoard:"8ccd569b5e9a8752"};
private static const level10:Object = {mapLines:[[100, 20, 480, 20], [480, 20, 480, 100], [480, 100, 410, 100], [410, 100, 410, 380], [410, 380, 480, 380], [480, 380, 480, 480], [480, 480, 80, 480], [80, 480, 80, 400], [80, 400, 20, 400], [20, 400, 20, 100], [20, 100, 100, 100], [100, 100, 100, 20]], bckgrndColor:0x2800, enemies:[["saw", 0xFFFF00, 0], ["saw", 3381759, 1], ["saw", 6736947, 6], ["saw", 3381759, 8], ["saw", 6736947, 10], ["snake", 6736947, 50, 150, 49, 8], ["triangle", 3381759, 350, 80, 132], ["triangle", 3381759, 384, 325, -45], ["triangle", 10053324, 120, 370, -32]], leaderBoard:"c3ccece94b8e51f2"};
private static const level12:Object = {mapLines:[[20, 20, 150, 20], [150, 20, 150, 100], [150, 100, 300, 100], [300, 100, 300, 20], [300, 20, 400, 20], [400, 20, 400, 140], [400, 140, 480, 140], [480, 140, 480, 480], [480, 480, 200, 480], [200, 480, 200, 410], [200, 410, 20, 410], [20, 410, 20, 20]], bckgrndColor:0x330033, enemies:[["saw", 3381759, 0], ["saw", 10053324, 6], ["saw", 6736947, 8], ["saw", 10040115, 10], ["snake", 10040115, 50, 50, 35, 8], ["snake", 0xFFFF00, 430, 430, -127, 8], ["triangle", 10053324, 50, 360, -35], ["triangle", 10053324, 240, 430, -55]], leaderBoard:"9657e06654612407"};
private static const level14:Object = {mapLines:[[20, 20, 100, 20], [100, 20, 100, 80], [100, 80, 350, 80], [350, 80, 350, 20], [350, 20, 480, 20], [480, 20, 480, 480], [480, 480, 380, 480], [380, 480, 380, 400], [380, 400, 180, 400], [180, 400, 180, 480], [180, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:0x7D3F00, enemies:[["saw", 3381759, 0], ["saw", 10053324, 3], ["saw", 6736947, 4], ["saw", 0xFFFF00, 6], ["saw", 10040115, 9], ["saw", 3381759, 10], ["saw", 10053324, 11], ["triangle", 3381759, 40, 40, 45], ["triangle", 54108156, 440, 440, -135], ["triangle", 3381759, 240, 240, 45], ["triangle", 54108156, 240, 240, -135]], leaderBoard:"0139a556594bbe71"};
private static const level11:Object = {mapLines:[[20, 20, 100, 20], [100, 20, 100, 100], [100, 100, 180, 100], [180, 100, 180, 20], [180, 20, 280, 20], [280, 20, 280, 110], [280, 110, 380, 110], [380, 110, 380, 20], [380, 20, 480, 20], [480, 20, 480, 200], [480, 200, 380, 200], [380, 200, 380, 300], [380, 300, 480, 300], [480, 300, 480, 480], [480, 480, 110, 480], [110, 480, 110, 350], [110, 350, 20, 350], [20, 350, 20, 20]], bckgrndColor:0x330000, enemies:[["saw", 3381759, 0], ["saw", 10040115, 9], ["saw", 10040115, 14], ["saw", 3381759, 16], ["triangle", 3381759, 330, 250, 158], ["triangle", 3381759, 180, 400, -55], ["triangle", 0xFFFF00, 230, 55, 76], ["triangle", 0xFFFF00, 430, 58, -145], ["snake", 6736947, 55, 135, 49, 8]], leaderBoard:"d18a59f6feb16543"};
private static const level19:Object = {mapLines:[[20, 20, 480, 20], [480, 20, 480, 480], [480, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:7171382, enemies:[["saw", 10053324, 0], ["saw", 6736947, 1], ["saw", 0xFFFF00, 2], ["saw", 10040115, 3], ["snake", 10040115, 40, 40, 55, 10], ["snake", 0xFFFF00, 440, 440, 145, 10], ["snake", 6736947, 440, 40, -126, 10], ["snake", 6736947, 40, 440, -56, 10], ["snake", 10053324, 240, 240, 180, 10]], leaderBoard:"a8d59018688d9dc3"};
private static const level1:Object = {mapLines:[[20, 20, 188, 20], [188, 20, 188, 90], [188, 90, 310, 90], [310, 90, 310, 20], [310, 20, 480, 20], [480, 20, 480, 480], [480, 480, 310, 480], [310, 480, 310, 410], [310, 410, 190, 410], [190, 410, 190, 480], [190, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:0x2800, enemies:[["triangle", 10053324, 50, 50, 55]], leaderBoard:"74f9831fb5acedc3"};
private static const level2:Object = {mapLines:[[100, 20, 420, 20], [420, 20, 420, 100], [420, 100, 480, 100], [480, 100, 480, 400], [480, 400, 400, 400], [400, 400, 400, 480], [400, 480, 20, 480], [20, 480, 20, 130], [20, 130, 100, 130], [100, 130, 100, 20]], bckgrndColor:0x330000, enemies:[["triangle", 3381759, 100, 350, 55], ["triangle", 10040115, 380, 50, -120]], leaderBoard:"4ab0e3e8be2af23b"};
private static const level3:Object = {mapLines:[[20, 20, 380, 20], [380, 20, 380, 130], [380, 130, 480, 130], [480, 130, 480, 470], [480, 470, 410, 470], [410, 470, 410, 390], [410, 390, 350, 390], [350, 390, 350, 480], [350, 480, 22, 480], [22, 480, 22, 330], [22, 330, 60, 330], [60, 330, 60, 150], [60, 150, 20, 150], [20, 150, 20, 20]], bckgrndColor:0x330033, enemies:[["triangle", 3381759, 100, 100, 50], ["triangle", 6736947, 380, 250, -125], ["saw", 10040115, 6]], leaderBoard:"2770e2c508220d49"};
private static const level4:Object = {mapLines:[[20, 20, 150, 20], [150, 20, 150, 80], [150, 80, 300, 80], [300, 80, 300, 20], [300, 20, 480, 20], [480, 20, 480, 480], [480, 480, 320, 480], [320, 480, 320, 325], [320, 325, 285, 325], [285, 325, 285, 460], [285, 460, 20, 460], [20, 460, 20, 0xFF], [20, 0xFF, 80, 0xFF], [80, 0xFF, 80, 100], [80, 100, 20, 100], [20, 100, 20, 20]], bckgrndColor:51, enemies:[["triangle", 3381759, 150, 150, 110], ["triangle", 10053324, 350, 350, -110], ["saw", 10040115, 0], ["saw", 0xFFFF00, 10]], leaderBoard:"12ebfdcef91f17b3"};
private static const level5:Object = {mapLines:[[20, 20, 100, 20], [100, 20, 100, 80], [100, 80, 380, 80], [380, 80, 380, 20], [380, 20, 480, 20], [480, 20, 480, 200], [480, 200, 320, 200], [320, 200, 320, 280], [320, 280, 480, 280], [480, 280, 480, 480], [480, 480, 100, 480], [100, 480, 100, 380], [100, 380, 20, 380], [20, 380, 20, 20]], bckgrndColor:0x7D3F00, enemies:[["triangle", 10040115, 100, 150, 45], ["saw", 10040115, 0], ["saw", 10053324, 10], ["snake", 3381759, 430, 430, -120, 8]], leaderBoard:"11f7800476377d01"};
private static const level6:Object = {mapLines:[[20, 20, 120, 20], [120, 20, 120, 80], [120, 80, 230, 80], [230, 80, 230, 20], [230, 20, 480, 20], [480, 20, 480, 400], [480, 400, 380, 400], [380, 400, 380, 480], [380, 480, 100, 480], [100, 480, 100, 320], [100, 320, 20, 320], [20, 320, 20, 20]], bckgrndColor:0x333333, enemies:[["triangle", 10053324, 240, 240, 45], ["triangle", 10053324, 240, 240, -135], ["saw", 3381759, 0], ["saw", 6736947, 5], ["saw", 3381759, 7], ["saw", 6736947, 10]], leaderBoard:"16074dd0549d7d4b"};
private static const level7:Object = {mapLines:[[100, 20, 400, 20], [400, 20, 400, 100], [400, 100, 480, 100], [480, 100, 480, 400], [480, 400, 400, 400], [400, 400, 400, 480], [400, 480, 100, 480], [100, 480, 100, 400], [100, 400, 20, 400], [20, 400, 20, 100], [20, 100, 100, 100], [100, 100, 100, 20]], bckgrndColor:2905686, enemies:[["snake", 6736947, 120, 120, 60, 8], ["snake", 10040115, 380, 380, -160, 8], ["saw", 0xFFFF00, 11], ["saw", 0xFFFF00, 5], ["triangle", 3381759, 240, 240, -45], ["triangle", 3381759, 240, 240, 135]], leaderBoard:"bac0fc771a30ed34"};
private static const level8:Object = {mapLines:[[20, 20, 100, 20], [100, 20, 100, 80], [100, 80, 350, 80], [350, 80, 350, 20], [350, 20, 480, 20], [480, 20, 480, 480], [480, 480, 380, 480], [380, 480, 380, 400], [380, 400, 180, 400], [180, 400, 180, 480], [180, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:7171382, enemies:[["saw", 3381759, 5], ["saw", 3381759, 7], ["saw", 3381759, 11], ["saw", 3381759, 0], ["triangle", 10053324, 240, 240, -48], ["triangle", 6736947, 240, 240, 138], ["triangle", 10040115, 240, 240, 48], ["triangle", 0xFFFF00, 240, 240, -135]], leaderBoard:"7f45e43385020023"};
private static const level9:Object = {mapLines:[[20, 20, 480, 20], [480, 20, 480, 200], [480, 200, 380, 200], [380, 200, 380, 340], [380, 340, 480, 340], [480, 340, 480, 480], [480, 480, 100, 480], [100, 480, 100, 400], [100, 400, 20, 400], [20, 400, 20, 20]], bckgrndColor:6241590, enemies:[["saw", 6736947, 0], ["saw", 10053324, 1], ["saw", 6736947, 6], ["saw", 10053324, 8], ["snake", 10040115, 430, 430, -160, 8], ["triangle", 3381759, 420, 45, 140], ["triangle", 3381759, 45, 45, 45], ["triangle", 0xFFFF00, 134, 380, -48]], leaderBoard:"3e9ccb4a4dbd8b70"};
public static const levels:Array = [level1, level2, level3, level4, level5, level6, level7, level8, level9, level10, level11, level12, level13, level14, level15, level16, level17, level18, level19, level20, level21];
private static const level15:Object = {mapLines:[[20, 20, 200, 20], [200, 20, 200, 75], [200, 75, 380, 75], [380, 75, 380, 20], [380, 20, 480, 20], [480, 20, 480, 480], [480, 480, 260, 480], [260, 480, 260, 430], [260, 430, 220, 430], [220, 430, 220, 480], [220, 480, 180, 480], [180, 480, 180, 427], [180, 427, 120, 427], [120, 427, 120, 480], [120, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:0x333333, enemies:[["saw", 3381759, 0], ["saw", 10053324, 2], ["saw", 6736947, 5], ["saw", 0xFFFF00, 6], ["saw", 10040115, 13], ["snake", 10040115, 50, 50, 55, 8], ["snake", 0xFFFF00, 440, 50, 145, 9], ["snake", 6736947, 440, 440, -126, 10], ["triangle", 3381759, 240, 240, 45], ["triangle", 3381759, 240, 240, -135]], leaderBoard:"66be5be50cd97025"};
private static const level16:Object = {mapLines:[[20, 20, 100, 20], [100, 20, 100, 80], [100, 80, 320, 80], [320, 80, 320, 20], [320, 20, 480, 20], [480, 20, 480, 400], [480, 400, 400, 400], [400, 400, 400, 480], [400, 480, 20, 480], [20, 480, 20, 20]], bckgrndColor:2905686, enemies:[["saw", 10053324, 0], ["saw", 6736947, 2], ["saw", 0xFFFF00, 5], ["saw", 10040115, 6], ["triangle", 3381759, 240, 240, 48], ["triangle", 6736947, 240, 240, -131], ["triangle", 0xFFFF00, 240, 240, 125], ["triangle", 3381759, 40, 40, 48], ["triangle", 6736947, 440, 40, 131], ["triangle", 10040115, 40, 440, -35]], leaderBoard:"1b454214fad82dcf"};
private static const level17:Object = {mapLines:[[20, 20, 480, 20], [480, 20, 480, 120], [480, 120, 390, 120], [390, 120, 390, 360], [390, 360, 480, 360], [480, 360, 480, 480], [480, 480, 120, 480], [120, 480, 120, 400], [120, 400, 20, 400], [20, 400, 20, 20]], bckgrndColor:7171382, enemies:[["saw", 10053324, 0], ["saw", 6736947, 1], ["saw", 0xFFFF00, 6], ["saw", 10040115, 8], ["snake", 10040115, 40, 40, 55, 10], ["snake", 0xFFFF00, 440, 440, 145, 10], ["snake", 6736947, 440, 40, -126, 10], ["snake", 6736947, 40, 380, -56, 10]], leaderBoard:"a8d59018688d9dc3"};
private static const level18:Object = {mapLines:[[20, 20, 360, 20], [360, 20, 360, 130], [360, 130, 400, 130], [400, 130, 400, 20], [400, 20, 480, 20], [480, 20, 480, 300], [480, 300, 320, 300], [320, 300, 320, 350], [320, 350, 480, 350], [480, 350, 480, 480], [480, 480, 120, 480], [120, 480, 120, 400], [120, 400, 20, 400], [20, 400, 20, 20]], bckgrndColor:6241590, enemies:[["saw", 10053324, 0], ["saw", 6736947, 5], ["saw", 0xFFFF00, 9], ["saw", 10040115, 11], ["snake", 10040115, 40, 40, 55, 10], ["snake", 6736947, 440, 40, -126, 10], ["snake", 6736947, 40, 340, -56, 10], ["triangle", 3381759, 240, 240, 48], ["triangle", 0xFFFF00, 240, 240, 125], ["triangle", 10040115, 240, 240, -35], ["triangle", 3381759, 40, 40, 48], ["triangle", 0xFFFF00, 440, 440, -125]], leaderBoard:"8ccd569b5e9a8752"};
private static const level13:Object = {mapLines:[[20, 20, 350, 20], [350, 20, 350, 130], [350, 130, 480, 130], [480, 130, 480, 270], [480, 270, 340, 270], [340, 270, 340, 380], [340, 380, 480, 380], [480, 380, 480, 480], [480, 480, 280, 480], [280, 480, 280, 390], [280, 390, 200, 390], [200, 390, 200, 480], [200, 480, 20, 480], [20, 480, 20, 275], [20, 275, 110, 275], [110, 275, 110, 75], [110, 75, 20, 75], [20, 75, 20, 20]], bckgrndColor:51, enemies:[["saw", 3381759, 13], ["saw", 10053324, 8], ["saw", 6736947, 2], ["saw", 0xFFFF00, 5], ["saw", 10040115, 0], ["snake", 10040115, 320, 50, 135, 8], ["snake", 0xFFFF00, 50, 430, -45, 10], ["snake", 3381759, 140, 150, 26, 12]], leaderBoard:"b87b7e13e115ce90"};
}
}//package
Section 102
//lMask (lMask)
package {
import flash.display.*;
import caurina.transitions.*;
public class lMask extends Shape {
private var l:MovieClip;
private var reverse:Boolean;
public function lMask(_arg1:MovieClip, _arg2:Boolean=false):void{
reverse = _arg2;
this.graphics.beginFill(0xFFFFFF, 0.5);
this.graphics.moveTo(-252.5, -265);
this.graphics.lineTo(252.5, -265);
this.graphics.lineTo(252.5, 265);
this.graphics.lineTo(-252.5, 265);
this.graphics.lineTo(-252.5, -265);
this.graphics.endFill();
this.x = 252.5;
this.y = 265;
l = _arg1;
l.mask = this;
if (!reverse){
this.rotation = -90;
this.scaleX = (this.scaleY = 0.1);
Tweener.addTween(this, {scaleX:1, scaleY:1, rotation:0, time:1.5, transition:"easeOutSine", onComplete:remove});
} else {
Tweener.addTween(this, {scaleX:0, scaleY:0, rotation:-90, time:1, transition:"easeOutSine", onComplete:remove});
};
}
private function remove():void{
if (!reverse){
l.mask = null;
};
if (reverse){
l.parent.removeChild(l);
};
this.parent.removeChild(this);
}
}
}//package
Section 103
//loader (loader)
package {
import flash.display.*;
import mochi.*;
import flash.events.*;
import CPMStar.*;
import flash.utils.*;
import flash.net.*;
import flash.geom.*;
public dynamic class loader extends MovieClip {
private var starTimer:Timer;
private var backgrnd:loaderScr;
private var isKong:Boolean;
private var loader_mc:MovieClip;
private var loadBar:Sprite;
private var adFinished:Boolean;
private var adbox:Adbox;
private var loadBarStroke:Sprite;
public function loader():void{
loader_mc = new MovieClip();
loadBar = new Sprite();
loadBarStroke = new Sprite();
super();
addFrameScript(0, frame1, 2, frame3);
init();
}
private function gotoGame():void{
var _local1:Class;
var _local2:MovieClip;
_local1 = (getDefinitionByName("menuScreen") as Class);
_local2 = (new _local1(isKong) as MovieClip);
stage.addChild(_local2);
}
private function checkDomain():Boolean{
var _local1:String;
var _local2:Number;
var _local3:Number;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local1 = stage.loaderInfo.url;
_local2 = (_local1.indexOf("://") + 3);
_local3 = _local1.indexOf("/", _local2);
_local4 = _local1.substring(_local2, _local3);
_local5 = (_local4.lastIndexOf(".") - 1);
_local6 = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
if (_local4 != "kongregate.com"){
return (false);
};
return (true);
}
private function init():void{
var _local1:String;
var _local2:Array;
var _local3:Array;
var _local4:Array;
var _local5:Matrix;
var _local6:String;
var _local7:int;
var _local8:int;
var _local9:DisplayObject;
backgrnd = new loaderScr();
this.addChild(backgrnd);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
isKong = checkDomain();
_local1 = GradientType.LINEAR;
_local2 = [13395507, 13395507];
_local3 = [0, 0xFF];
_local4 = [1, 1];
_local5 = new Matrix();
_local6 = SpreadMethod.PAD;
_local5.createGradientBox(200, 12, -1.57, 0, 0);
loadBar.graphics.beginGradientFill(_local1, _local2, _local4, _local3, _local5, _local6);
loadBar.graphics.drawRect(0, 0, 200, 12);
loadBar.graphics.endFill();
loader_mc.addChild(loadBar);
loadBar.y = (loadBar.y + 150);
loadBarStroke.graphics.lineStyle(2, 0xFFFFFF);
loadBarStroke.graphics.drawRect(0, 0, 200, 12);
loader_mc.addChild(loadBarStroke);
loadBarStroke.y = (loadBarStroke.y + 150);
this.addChild(loader_mc);
loader_mc.x = ((stage.stageWidth / 2) - 100);
loader_mc.y = (stage.stageHeight / 2);
if (!isKong){
adbox = new Adbox();
adbox.x = 252.5;
adbox.y = 265;
this.addChild(adbox);
_local7 = 1059;
_local8 = 501;
_local9 = AdLoader.LoadAd(_local7, _local8);
AdLoader.LoadAd(_local7, _local8).x = (_local9.x - 150);
_local9.y = (_local9.y - 125);
adbox.addChild(_local9);
starTimer = new Timer(42, 120);
starTimer.addEventListener(TimerEvent.TIMER_COMPLETE, starOk, false, 0, true);
starTimer.start();
} else {
adFinished = true;
};
MochiBot.track(this, "da1857cd");
this.addEventListener(Event.ENTER_FRAME, enterFrameListener);
}
private function clicked(_arg1:MouseEvent):void{
this.play();
this.removeChild(backgrnd);
this.removeChild(adbox);
this.removeChild((_arg1.target as MovieClip));
}
private function gotoKong(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "3b428c29");
_local2 = new URLRequest("http://www.kongregate.com/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function checkKong(_arg1:Event):void{
var _local2:MovieClip;
_local2 = (_arg1.target as MovieClip);
if (_local2.currentLabel == "end"){
_local2.removeEventListener(MouseEvent.CLICK, gotoKong);
_local2.removeEventListener(Event.ENTER_FRAME, checkKong);
_local2.stop();
stage.frameRate = 70;
this.removeChild(_local2);
gotoGame();
};
}
private function enterFrameListener(_arg1:Event):void{
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:playGame;
_local2 = int(((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 100));
if (isKong){
loadBar.width = (_local2 * 2);
} else {
_local3 = ((starTimer.currentCount * 200) / 120);
_local4 = (_local2 * 2);
loadBar.width = Math.min(_local4, _local3);
};
if ((((_local2 >= 100)) && (adFinished))){
if (isKong){
backgrnd.visible = false;
this.play();
} else {
loadBar.visible = false;
loadBarStroke.visible = false;
_local5 = new playGame();
_local5.x = 0xFF;
_local5.y = 440;
this.addChild(_local5);
_local5.buttonMode = true;
_local5.addEventListener(MouseEvent.MOUSE_DOWN, clicked, false, 0, true);
_local5.addEventListener(MouseEvent.ROLL_OVER, rollover, false, 0, true);
_local5.addEventListener(MouseEvent.ROLL_OUT, rollout, false, 0, true);
};
};
if (this.currentFrame > 2){
this.removeEventListener(Event.ENTER_FRAME, enterFrameListener);
this.removeChild(loader_mc);
make();
};
}
function frame3(){
stop();
}
function frame1(){
stop();
}
private function rollout(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop(1);
}
private function rollover(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop(2);
}
private function starOk(_arg1:TimerEvent):void{
adFinished = true;
}
private function make():void{
var _local1:Class;
var _local2:MovieClip;
stage.frameRate = 30;
_local1 = (getDefinitionByName("Kongintro") as Class);
_local2 = (new (_local1) as MovieClip);
this.addChild(_local2);
_local2.x = 252.5;
_local2.y = 265;
_local2.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
_local2.addEventListener(Event.ENTER_FRAME, checkKong, false, 0, true);
}
}
}//package
Section 104
//loaderScr (loaderScr)
package {
import flash.display.*;
public dynamic class loaderScr extends MovieClip {
}
}//package
Section 105
//loading (loading)
package {
import flash.display.*;
public dynamic class loading extends MovieClip {
}
}//package
Section 106
//loadText (loadText)
package {
import flash.display.*;
import flash.text.*;
public dynamic class loadText extends MovieClip {
public var ltext:TextField;
}
}//package
Section 107
//menuScreen (menuScreen)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.filters.*;
import com.kongregate.as3.client.*;
import mochi.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
public dynamic class menuScreen extends MovieClip {
private var Kongregate:KongImage;
private var mute:mutebutton;
private var bonusButton2:bonuslink2;
private var visitme:visit;
private var music:getItGroovin;
private var bonusButton:bonuslink;
private var cfilters:Array;
private var sndtransform:SoundTransform;
private var bonusSave:int;
private var dataSave:SharedObject;
public var isKong:Boolean;
private var creditsButton:credits;
private var music2:slipnSlide;
private var continueButton:continuebtn;
private var channel:SoundChannel;
private var bip:alert;
private var levelSave:int;
private var instructionsButton:instructions;
private var more:moreGames;
private var cursor:_cursor;
private var arrowA:_arrowA;
private var muted:Boolean;// = false
private var blueShape:Shape;
private var mouseOk:Boolean;
private var arrowB:_arrowB;
private var newGameButton:newGame;
private var lastGame:game;
private var bipchannel:SoundChannel;
public function menuScreen(_arg1:Boolean):void{
var _local2:ContextMenu;
var _local3:ContextMenuItem;
var _local4:ContextMenuItem;
var _local5:Shape;
var _local6:GlowFilter;
var _local7:kokoLogo;
var _local8:String;
var _local9:String;
channel = new SoundChannel();
sndtransform = new SoundTransform();
bipchannel = new SoundChannel();
muted = false;
super();
isKong = _arg1;
launchKongApi();
dataSave = SharedObject.getLocal("colorFill");
if (!dataSave.data.level){
dataSave.data.level = 0;
levelSave = 0;
_local8 = dataSave.flush();
} else {
levelSave = dataSave.data.level;
};
if (!dataSave.data.bonus){
dataSave.data.bonus = 0;
bonusSave = 0;
_local9 = dataSave.flush();
} else {
bonusSave = dataSave.data.bonus;
};
_local2 = new ContextMenu();
_local2.hideBuiltInItems();
_local3 = new ContextMenuItem("Game Created By Nicolas Pietrowski");
_local2.customItems.push(_local3);
_local4 = new ContextMenuItem("www.kokosan.com", true);
_local4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, rightClicked);
_local2.customItems.push(_local4);
this.contextMenu = _local2;
channel.soundTransform = sndtransform;
bip = new alert();
music2 = new slipnSlide();
mouseOk = false;
Mouse.hide();
_local5 = new Shape();
_local5.graphics.beginFill(0);
_local5.graphics.drawRect(0, 0, 505, 530);
this.addChild(_local5);
blueShape = new Shape();
blueShape.graphics.beginFill(51);
blueShape.graphics.drawRect(0, 0, 505, 530);
blueShape.graphics.endFill();
blueShape.alpha = 0;
this.addChild(blueShape);
cursor = new _cursor();
cursor.x = 252;
cursor.y = 150;
cursor.alpha = 0;
cursor.rotation = 90;
cursor.mouseEnabled = false;
cursor.mouseChildren = false;
this.addChild(cursor);
_local6 = new GlowFilter(0xFFFFFF, 1, 3, 3, 6, 2);
cfilters = cursor.filters;
cfilters.push(_local6);
cursor.filters = cfilters;
arrowA = new _arrowA();
arrowA.rotation = 90;
arrowA.filters = cfilters;
this.addChild(arrowA);
arrowA.alpha = 0;
arrowB = new _arrowB();
arrowB.rotation = 90;
arrowB.filters = cfilters;
this.addChild(arrowB);
arrowB.alpha = 0;
this.addEventListener(Event.ENTER_FRAME, arrowFollow, false, 0, true);
_local7 = new kokoLogo();
_local7.x = 250;
_local7.y = 220;
this.addChild(_local7);
Tweener.addTween(_local7, {alpha:0, delay:5, time:1, transition:"easeOutSine", onComplete:removeLogo, onCompleteParams:[_local7]});
Tweener.addTween(blueShape, {alpha:1, delay:4, time:3, transition:"easeOutSine"});
Tweener.addTween(cursor, {alpha:1, delay:4, time:3, transition:"easeOutSine"});
Tweener.addTween(arrowA, {alpha:1, delay:4, time:3, transition:"easeOutSine"});
Tweener.addTween(arrowB, {alpha:1, delay:4, time:3, transition:"easeOutSine"});
Tweener.addTween(cursor.partA, {height:248, delay:5, time:1});
Tweener.addTween(cursor.partA, {width:1, delay:5, time:1});
Tweener.addTween(cursor.partB, {height:248, delay:5, time:1, onComplete:stepTwo});
Tweener.addTween(cursor.partB, {width:1, delay:5, time:1});
}
private function selectlevel(_arg1:MouseEvent):void{
var _local2:selectLevel;
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
_local2 = new selectLevel(levelSave, isKong);
_local2.x = 103;
_local2.y = 153;
this.addChildAt(_local2, this.getChildIndex(cursor));
_local2.appear();
_local2.addEventListener(gameEvent.QUIT, playBip, false, 0, true);
_local2.addEventListener(gameEvent.START, startLevel, false, 0, true);
}
private function gotoKong(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "063e5588");
_local2 = new URLRequest("http://www.kongregate.com/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function kongRollOver(_arg1:MouseEvent):void{
_arg1.target.gotoAndPlay("over");
}
private function bonusRollOver(_arg1:MouseEvent):void{
var _local2:MovieClip;
_local2 = (_arg1.target as MovieClip);
_local2.gotoAndStop(2);
_local2.scaleX = ((_arg1.target as MovieClip).scaleY = 1.1);
if (!isKong){
Kongregate.gotoAndPlay("over");
};
}
private function stepFour():void{
blueShape.graphics.lineStyle(5, 0xFFFFFF, 1, false, "normal", "round", "round");
blueShape.graphics.beginFill(10053324, 0.6);
blueShape.graphics.drawRect(0, 150, 100, 381);
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partA, {width:4, time:0.5});
Tweener.addTween(cursor.partB, {width:4, time:0.5, onComplete:stepFive});
}
private function showBonusScreen(_arg1:MouseEvent):void{
var _local2:bonusScreen;
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
_local2 = new bonusScreen(bonusSave);
_local2.x = 103;
_local2.y = 153;
this.addChildAt(_local2, this.getChildIndex(cursor));
_local2.appear();
_local2.addEventListener(gameEvent.QUIT, playBip, false, 0, true);
_local2.addEventListener(gameEvent.START, startLevel, false, 0, true);
}
private function gotoKong2(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "22c84800");
_local2 = new URLRequest("http://www.kongregate.com/games/kokosan/colorfill/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function nextLevel(_arg1:gameEvent):void{
var _local2:int;
var _local3:Timer;
_local2 = _arg1.lvl;
lastGame = (_arg1.target as game);
_local3 = new Timer(1500, 1);
_local3.addEventListener(TimerEvent.TIMER_COMPLETE, removeCurrentGame, false, 0, true);
if (_local2 > 21){
_local2 = 21;
};
startGame(_local2);
_local3.start();
}
private function stepThree():void{
cursor.partA.gotoAndStop(2);
cursor.partB.gotoAndStop(2);
arrowA.gotoAndStop(2);
arrowB.gotoAndStop(2);
cursor.rotation = 0;
arrowA.rotation = 0;
arrowB.rotation = 0;
Tweener.addTween(cursor, {x:100, y:200, time:0.2});
Tweener.addTween(cursor.partA, {height:50, time:0.4});
Tweener.addTween(cursor.partA, {width:1, time:0.4});
Tweener.addTween(cursor.partB, {height:322, time:0.4, onComplete:stepFour});
Tweener.addTween(cursor.partB, {width:1, time:0.4});
}
private function removeLogo(_arg1):void{
music = new getItGroovin();
channel = music.play(0, 999999);
this.removeChild(_arg1);
}
private function stepSix():void{
blueShape.graphics.lineStyle(5, 0xFFFFFF, 1, false, "normal", "round", "round");
blueShape.graphics.beginFill(6736947, 0.6);
blueShape.graphics.drawRect(405, 150, 100, 381);
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partA, {width:4, time:0.5});
Tweener.addTween(cursor.partB, {width:4, time:0.5, onComplete:stepSeven});
}
private function startLevel(_arg1:gameEvent):void{
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
channel.stop();
channel = music2.play(0, 999999);
channel.soundTransform = sndtransform;
startGame(_arg1.lvl);
}
private function moreRollOut(_arg1:MouseEvent):void{
(_arg1.target as MovieClip).gotoAndStop(1);
(_arg1.target as MovieClip).scaleX = ((_arg1.target as MovieClip).scaleY = 1);
Kongregate.gotoAndPlay("out");
}
private function rightClicked(_arg1:ContextMenuEvent):void{
visitkokosan(null);
}
private function bonusRollOut(_arg1:MouseEvent):void{
var _local2:MovieClip;
_local2 = (_arg1.target as MovieClip);
_local2.gotoAndStop(1);
_local2.scaleX = ((_arg1.target as MovieClip).scaleY = 1);
if (!isKong){
Kongregate.gotoAndPlay("out");
};
}
private function tryagain(_arg1:gameEvent):void{
var _local2:Timer;
lastGame = (_arg1.target as game);
startGame(_arg1.lvl);
_local2 = new Timer(1500, 1);
_local2.addEventListener(TimerEvent.TIMER_COMPLETE, removeCurrentGame, false, 0, true);
_local2.start();
}
private function tmute(_arg1:gameEvent):void{
toggleMute(null);
}
private function removeGame(_arg1:gameEvent):void{
var _local2:game;
var _local3:lMask;
bipchannel.stop();
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
channel.stop();
channel = music.play(0, 999999);
channel.soundTransform = sndtransform;
addListeners();
_local2 = (_arg1.target as game);
_local3 = new lMask(_local2, true);
this.addChild(_local3);
}
private function hideMouse():void{
Mouse.hide();
}
private function stepSeven():void{
cursor.partA.gotoAndStop(4);
cursor.partB.gotoAndStop(4);
arrowA.gotoAndStop(4);
arrowB.gotoAndStop(4);
cursor.rotation = 90;
arrowA.rotation = 90;
arrowB.rotation = 90;
Tweener.addTween(cursor, {x:250, y:455, time:0.2});
Tweener.addTween(cursor.partA, {height:155, time:0.3});
Tweener.addTween(cursor.partA, {width:1, time:0.3});
Tweener.addTween(cursor.partB, {height:152, time:0.3});
Tweener.addTween(cursor.partB, {width:1, time:0.3, onComplete:stepEight});
}
private function addListeners():void{
if (!isKong){
Kongregate.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
more.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
more.addEventListener(MouseEvent.ROLL_OVER, moreRollOver, false, 0, true);
more.addEventListener(MouseEvent.ROLL_OUT, moreRollOut, false, 0, true);
bonusButton.addEventListener(MouseEvent.MOUSE_OVER, bonusRollOver, false, 0, true);
bonusButton.addEventListener(MouseEvent.MOUSE_OUT, bonusRollOut, false, 0, true);
bonusButton.addEventListener(MouseEvent.CLICK, gotoKong2, false, 0, true);
} else {
bonusButton2.addEventListener(MouseEvent.MOUSE_OVER, bonusRollOver, false, 0, true);
bonusButton2.addEventListener(MouseEvent.MOUSE_OUT, bonusRollOut, false, 0, true);
bonusButton2.addEventListener(MouseEvent.CLICK, showBonusScreen, false, 0, true);
};
Kongregate.addEventListener(MouseEvent.ROLL_OVER, kongRollOver, false, 0, true);
Kongregate.addEventListener(MouseEvent.ROLL_OUT, kongRollOut, false, 0, true);
newGameButton.addEventListener(MouseEvent.MOUSE_OVER, onrollOver, false, 0, true);
newGameButton.addEventListener(MouseEvent.MOUSE_OUT, onrollOut, false, 0, true);
newGameButton.addEventListener(MouseEvent.CLICK, startNewGame, false, 0, true);
continueButton.addEventListener(MouseEvent.MOUSE_OVER, onrollOver, false, 0, true);
continueButton.addEventListener(MouseEvent.MOUSE_OUT, onrollOut, false, 0, true);
continueButton.addEventListener(MouseEvent.CLICK, selectlevel);
instructionsButton.addEventListener(MouseEvent.MOUSE_OVER, onrollOver, false, 0, true);
instructionsButton.addEventListener(MouseEvent.MOUSE_OUT, onrollOut, false, 0, true);
instructionsButton.addEventListener(MouseEvent.CLICK, showhelp, false, 0, true);
creditsButton.addEventListener(MouseEvent.MOUSE_OVER, onrollOver, false, 0, true);
creditsButton.addEventListener(MouseEvent.MOUSE_OUT, onrollOut, false, 0, true);
creditsButton.addEventListener(MouseEvent.CLICK, showCredits, false, 0, true);
visitme.addEventListener(MouseEvent.MOUSE_OVER, onrollOver, false, 0, true);
visitme.addEventListener(MouseEvent.MOUSE_OUT, onrollOut, false, 0, true);
visitme.addEventListener(MouseEvent.CLICK, visitkokosan, false, 0, true);
mute.addEventListener(MouseEvent.CLICK, toggleMute, false, 0, true);
this.addEventListener(Event.ENTER_FRAME, arrowFollow, false, 0, true);
}
private function kongRollOut(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop("out");
}
private function onrollOut(_arg1:MouseEvent):void{
(_arg1.target as MovieClip).gotoAndStop(1);
(_arg1.target as MovieClip).scaleX = ((_arg1.target as MovieClip).scaleY = 1);
}
private function showCredits(_arg1:MouseEvent):void{
var _local2:creditsScreen;
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
_local2 = new creditsScreen();
_local2.x = 103;
_local2.y = 153;
this.addChildAt(_local2, this.getChildIndex(cursor));
_local2.appear();
_local2.addEventListener(gameEvent.QUIT, playBip, false, 0, true);
}
private function startNewGame(_arg1:MouseEvent):void{
channel.stop();
channel = music2.play(0, 999999);
channel.soundTransform = sndtransform;
startGame(1);
}
private function arrowFollow(_arg1:Event):void{
if (mouseOk){
cursor.x = mouseX;
cursor.y = mouseY;
};
switch (cursor.rotation){
case 0:
arrowA.x = cursor.x;
arrowA.y = (cursor.y - cursor.partA.height);
arrowB.y = (cursor.y + cursor.partB.height);
arrowB.x = cursor.x;
break;
case 90:
arrowA.y = cursor.y;
arrowA.x = (cursor.x + cursor.partA.height);
arrowB.x = (cursor.x - cursor.partB.height);
arrowB.y = cursor.y;
break;
case -45:
arrowA.y = (cursor.y - 4);
arrowA.x = (cursor.x - 4);
break;
};
}
private function saveGame(_arg1:gameEvent):void{
var _local2:int;
var _local3:String;
var _local4:String;
var _local5:String;
_local2 = _arg1.lvl;
if ((((_local2 == 19)) && ((bonusSave == 0)))){
bonusSave = 1;
dataSave = SharedObject.getLocal("colorFill");
dataSave.data.bonus = bonusSave;
_local3 = dataSave.flush();
return;
};
if ((((_local2 == 20)) && ((bonusSave == 1)))){
bonusSave = 2;
dataSave = SharedObject.getLocal("colorFill");
dataSave.data.bonus = bonusSave;
_local4 = dataSave.flush();
return;
};
if ((((_local2 > levelSave)) && ((_local2 < 18)))){
dataSave = SharedObject.getLocal("colorFill");
dataSave.data.level = _local2;
levelSave = _local2;
_local5 = dataSave.flush();
};
}
private function stepEight():void{
blueShape.graphics.lineStyle(5, 0xFFFFFF, 1, false, "normal", "round", "round");
blueShape.graphics.beginFill(10040115, 0.6);
blueShape.graphics.drawRect(100, 455, 305, 76);
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partA, {width:4, time:0.5});
Tweener.addTween(cursor.partB, {width:4, time:0.5, onComplete:stepNine});
}
private function playBip(_arg1:gameEvent):void{
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
}
private function moreRollOver(_arg1:MouseEvent):void{
(_arg1.target as MovieClip).gotoAndStop(2);
(_arg1.target as MovieClip).scaleX = ((_arg1.target as MovieClip).scaleY = 1.1);
Kongregate.gotoAndPlay("over");
}
private function submitScore(_arg1:gameEvent):void{
var _local2:int;
var _local3:int;
var _local4:highScore;
_local2 = _arg1.lvl;
_local3 = _arg1.score;
_local4 = new highScore(_local2, _local3, isKong);
_local4.x = 262;
_local4.y = 250;
Mouse.show();
this.addChild(_local4);
}
private function visitkokosan(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.kokosan.com/");
navigateToURL(_local2, "_blank");
}
private function startGame(_arg1:int):void{
var _local2:game;
var _local3:lMask;
bipchannel.stop();
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
newGameButton.scaleX = (newGameButton.scaleY = 1);
newGameButton.gotoAndStop(1);
if (!isKong){
Kongregate.removeEventListener(MouseEvent.CLICK, gotoKong);
bonusButton.removeEventListener(MouseEvent.MOUSE_OVER, bonusRollOver);
bonusButton.removeEventListener(MouseEvent.MOUSE_OUT, bonusRollOut);
more.removeEventListener(MouseEvent.CLICK, gotoKong);
more.removeEventListener(MouseEvent.ROLL_OVER, moreRollOver);
more.removeEventListener(MouseEvent.ROLL_OUT, moreRollOut);
} else {
bonusButton2.removeEventListener(MouseEvent.MOUSE_OVER, bonusRollOver);
bonusButton2.removeEventListener(MouseEvent.MOUSE_OUT, bonusRollOut);
bonusButton2.removeEventListener(MouseEvent.CLICK, showBonusScreen);
};
Kongregate.removeEventListener(MouseEvent.ROLL_OVER, kongRollOver);
Kongregate.removeEventListener(MouseEvent.ROLL_OUT, kongRollOut);
newGameButton.removeEventListener(MouseEvent.MOUSE_OVER, onrollOver);
newGameButton.removeEventListener(MouseEvent.MOUSE_OUT, onrollOut);
newGameButton.removeEventListener(MouseEvent.CLICK, startNewGame);
continueButton.removeEventListener(MouseEvent.MOUSE_OVER, onrollOver);
continueButton.removeEventListener(MouseEvent.MOUSE_OUT, onrollOut);
continueButton.removeEventListener(MouseEvent.CLICK, selectlevel);
instructionsButton.removeEventListener(MouseEvent.MOUSE_OVER, onrollOver);
instructionsButton.removeEventListener(MouseEvent.MOUSE_OUT, onrollOut);
instructionsButton.removeEventListener(MouseEvent.CLICK, showhelp);
creditsButton.removeEventListener(MouseEvent.MOUSE_OVER, onrollOver);
creditsButton.removeEventListener(MouseEvent.MOUSE_OUT, onrollOut);
visitme.removeEventListener(MouseEvent.MOUSE_OVER, onrollOver);
visitme.removeEventListener(MouseEvent.MOUSE_OUT, onrollOut);
visitme.removeEventListener(MouseEvent.CLICK, visitkokosan);
mute.removeEventListener(MouseEvent.CLICK, toggleMute);
this.removeEventListener(Event.ENTER_FRAME, arrowFollow);
_local2 = new game(_arg1, muted, isKong);
_local2.addEventListener(gameEvent.QUIT, removeGame, false, 0, true);
_local2.addEventListener(gameEvent.RETRY, tryagain, false, 0, true);
_local2.addEventListener(gameEvent.NEXT_LEVEL, nextLevel, false, 0, true);
_local2.addEventListener(gameEvent.MUTE, tmute, false, 0, true);
_local2.addEventListener(gameEvent.SCORE, submitScore, false, 0, true);
_local2.addEventListener(gameEvent.SAVE, saveGame, false, 0, true);
this.addChild(_local2);
_local3 = new lMask(_local2);
this.addChild(_local3);
}
private function launchKongApi():void{
var _local1:KongregateAPI;
if (isKong){
_local1 = new KongregateAPI();
this.addChild(_local1);
};
}
private function toggleMute(_arg1:MouseEvent):void{
switch (mute.currentFrame){
case 1:
mute.gotoAndStop(2);
sndtransform.volume = 0;
channel.soundTransform = sndtransform;
muted = true;
break;
case 2:
mute.gotoAndStop(1);
sndtransform.volume = 1;
channel.soundTransform = sndtransform;
muted = false;
break;
};
}
private function stepNine():void{
var _local1:ColorFill;
mouseOk = true;
Tweener.removeAllTweens();
Kongregate = new KongImage();
Kongregate.x = 355;
Kongregate.y = 505;
this.addChildAt(Kongregate, this.getChildIndex(cursor));
Kongregate.alpha = 0;
Kongregate.scaleX = (Kongregate.scaleY = 0);
Tweener.addTween(Kongregate, {scaleX:1, scaleY:1, alpha:1, delay:1, time:1.4, transition:"easeOutBounce"});
if (!isKong){
more = new moreGames();
more.filters = cfilters;
more.alpha = 0;
Tweener.addTween(more, {alpha:1, delay:1, time:1.5});
more.x = 250;
more.y = 400;
this.addChildAt(more, this.getChildIndex(cursor));
};
arrowB.visible = false;
cursor.rotation = -45;
arrowA.rotation = -45;
_local1 = new ColorFill();
_local1.x = 250;
_local1.y = 50;
this.addChildAt(_local1, this.getChildIndex(cursor));
_local1.scaleX = 0.1;
_local1.scaleY = 0.1;
_local1.alpha = 0.2;
newGameButton = new newGame();
newGameButton.x = 250;
newGameButton.y = 167;
newGameButton.alpha = 0;
newGameButton.filters = cfilters;
this.addChildAt(newGameButton, this.getChildIndex(cursor));
Tweener.addTween(newGameButton, {alpha:1, time:1.5});
continueButton = new continuebtn();
continueButton.x = 250;
continueButton.y = 205;
continueButton.alpha = 0;
continueButton.filters = cfilters;
this.addChildAt(continueButton, this.getChildIndex(cursor));
Tweener.addTween(continueButton, {alpha:1, delay:0.2, time:1.5});
instructionsButton = new instructions();
instructionsButton.x = 0x0100;
instructionsButton.y = 250;
instructionsButton.alpha = 0;
instructionsButton.filters = cfilters;
this.addChildAt(instructionsButton, this.getChildIndex(cursor));
Tweener.addTween(instructionsButton, {alpha:1, delay:0.4, time:1.5});
creditsButton = new credits();
creditsButton.x = 250;
creditsButton.y = 300;
creditsButton.alpha = 0;
creditsButton.filters = cfilters;
this.addChildAt(creditsButton, this.getChildIndex(cursor));
Tweener.addTween(creditsButton, {alpha:1, delay:0.6, time:1.5});
if (!isKong){
bonusButton = new bonuslink();
bonusButton.x = 254;
bonusButton.y = 333;
bonusButton.alpha = 0;
bonusButton.filters = cfilters;
this.addChildAt(bonusButton, this.getChildIndex(cursor));
Tweener.addTween(bonusButton, {alpha:1, delay:0.8, time:1.5});
} else {
bonusButton2 = new bonuslink2();
bonusButton2.x = 254;
bonusButton2.y = 333;
bonusButton2.alpha = 0;
bonusButton2.filters = cfilters;
this.addChildAt(bonusButton2, this.getChildIndex(cursor));
Tweener.addTween(bonusButton2, {alpha:1, delay:0.8, time:1.5});
};
visitme = new visit();
visitme.x = 36;
visitme.y = 500;
visitme.alpha = 0;
visitme.filters = cfilters;
this.addChildAt(visitme, this.getChildIndex(cursor));
Tweener.addTween(visitme, {alpha:1, delay:0.8, time:1.5});
mute = new mutebutton();
mute.x = 480;
mute.y = 515;
mute.alpha = 0;
mute.filters = cfilters;
this.addChildAt(mute, this.getChildIndex(cursor));
mute.addEventListener(MouseEvent.CLICK, toggleMute);
Tweener.addTween(mute, {alpha:1, delay:0.6, time:1.5});
Tweener.addTween(_local1, {scaleX:1, scaleY:1, alpha:1, time:1.4, transition:"easeOutBounce"});
addListeners();
}
private function stepFive():void{
cursor.partA.gotoAndStop(3);
cursor.partB.gotoAndStop(3);
arrowA.gotoAndStop(3);
arrowB.gotoAndStop(3);
Tweener.addTween(cursor, {x:405, y:320, time:0.2});
Tweener.addTween(cursor.partA, {height:170, time:0.4});
Tweener.addTween(cursor.partA, {width:1, time:0.4});
Tweener.addTween(cursor.partB, {height:202, time:0.4, onComplete:stepSix});
Tweener.addTween(cursor.partB, {width:1, time:0.4});
}
private function showhelp(_arg1:MouseEvent):void{
var _local2:helpScreen;
bipchannel = bip.play();
bipchannel.soundTransform = sndtransform;
_local2 = new helpScreen();
this.addChildAt(_local2, this.getChildIndex(cursor));
_local2.appear();
_local2.addEventListener(gameEvent.QUIT, playBip, false, 0, true);
}
private function onrollOver(_arg1:MouseEvent):void{
(_arg1.target as MovieClip).gotoAndStop(2);
(_arg1.target as MovieClip).scaleX = ((_arg1.target as MovieClip).scaleY = 1.1);
}
private function stepTwo():void{
blueShape.graphics.lineStyle(5, 0xFFFFFF, 1, false, "normal", "round", "round");
blueShape.graphics.beginFill(3381759, 0.6);
blueShape.graphics.drawRect(0, 0, 505, 150);
blueShape.graphics.endFill();
Tweener.addTween(cursor.partA, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partB, {height:5, time:0.5, transition:"easeOutBounce"});
Tweener.addTween(cursor.partA, {width:4, time:0.5});
Tweener.addTween(cursor.partB, {width:4, time:0.5, onComplete:stepThree});
}
private function removeCurrentGame(_arg1:TimerEvent):void{
this.removeChild(lastGame);
}
}
}//package
Section 108
//moreGames (moreGames)
package {
import flash.display.*;
public dynamic class moreGames extends MovieClip {
public function moreGames(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 109
//mutebutton (mutebutton)
package {
import flash.display.*;
public dynamic class mutebutton extends MovieClip {
public function mutebutton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 110
//newGame (newGame)
package {
import flash.display.*;
public dynamic class newGame extends MovieClip {
public function newGame(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 111
//next (next)
package {
import flash.display.*;
public dynamic class next extends MovieClip {
public function next(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 112
//percentText (percentText)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.text.*;
public class percentText extends MovieClip {
public var percent:TextField;
private var scale:Number;
public function percentText(_arg1:Number):void{
scale = ((_arg1 / 2.5) + 1);
this.addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
}
private function added(_arg1:Event):void{
Tweener.addTween(this, {scaleX:scale, scaleY:scale, time:0.6, transition:"easeOutSine"});
Tweener.addTween(this, {alpha:0, delay:0.6, time:1, onComplete:byebye, transition:"easeInSine"});
}
private function byebye():void{
this.removeEventListener(Event.ADDED_TO_STAGE, added);
this.parent.removeChild(this);
}
}
}//package
Section 113
//playGame (playGame)
package {
import flash.display.*;
public dynamic class playGame extends MovieClip {
public function playGame(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 114
//previous (previous)
package {
import flash.display.*;
public dynamic class previous extends MovieClip {
public function previous(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 115
//question (question)
package {
import flash.display.*;
public dynamic class question extends MovieClip {
}
}//package
Section 116
//saw (saw)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.utils.*;
public class saw extends MovieClip {
public var speed:Number;
public var color:int;
private var t:Timer;
public var pt1:MovieClip;
public var pt3:MovieClip;
public var pt4:MovieClip;
private var bb:Timer;
public var pt2:MovieClip;
public var index:int;
private var chc:Boolean;
public function saw(_arg1:int, _arg2:int, _arg3:Boolean=false):void{
addFrameScript(0, frame1);
chc = _arg3;
speed = (0.8 + (Math.random() * 0.4));
color = _arg1;
index = _arg2;
switch (color){
case 3381759:
this.gotoAndStop(1);
break;
case 10053324:
this.gotoAndStop(2);
break;
case 6736947:
this.gotoAndStop(3);
break;
case 10040115:
this.gotoAndStop(4);
break;
case 0xFFFF00:
this.gotoAndStop(5);
break;
};
if (_arg3){
bb = new Timer(2000, 0);
bb.addEventListener(TimerEvent.TIMER, changeColor, false, 0, true);
bb.start();
this.addEventListener(Event.REMOVED_FROM_STAGE, removeTimer, false, 0, true);
};
}
private function removeTimer(_arg1:Event):void{
bb.removeEventListener(TimerEvent.TIMER, changeColor);
bb.stop();
}
function frame1(){
stop();
}
private function changeColor(_arg1:TimerEvent):void{
var _local2:Array;
var _local3:int;
_local2 = [3381759, 10053324, 6736947, 10040115, 0xFFFF00];
_local3 = (_local2.indexOf(this.color) + 1);
if (_local3 > 4){
_local3 = 0;
};
this.color = _local2[_local3];
switch (this.color){
case 3381759:
this.gotoAndStop(1);
break;
case 10053324:
this.gotoAndStop(2);
break;
case 6736947:
this.gotoAndStop(3);
break;
case 10040115:
this.gotoAndStop(4);
break;
case 0xFFFF00:
this.gotoAndStop(5);
break;
};
}
public function appear():void{
this.scaleX = (this.scaleY = 0);
this.alpha = 0;
t = new Timer(50);
t.addEventListener(TimerEvent.TIMER, update, false, 0, true);
t.start();
}
public function disappear():void{
Tweener.addTween(this, {scaleX:0, scaleY:0, rotation:(this.rotation + 720), time:1.5, alpha:0.2, transition:"easeInSine", onComplete:bye});
}
private function update(_arg1:TimerEvent):void{
this.scaleX = (this.scaleX + 0.05);
this.scaleY = (this.scaleY + 0.05);
this.alpha = (this.alpha + 0.05);
if (this.scaleX >= 1){
t.stop();
t.removeEventListener(TimerEvent.TIMER, update);
this.scaleX = 1;
this.scaleY = 1;
this.alpha = 1;
};
}
private function bye():void{
this.parent.removeChild(this);
}
}
}//package
Section 117
//selectLevel (selectLevel)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.utils.*;
public class selectLevel extends MovieClip {
private var backBtn:back;
private var nextBtn:next;
private var m:Shape;
private var isKong:Boolean;
private var container:Sprite;
private var previousBtn:previous;
public function selectLevel(_arg1:int, _arg2:Boolean):void{
var _local3:Shape;
var _local4:Shape;
var _local5:level1;
var _local6:level2;
var _local7:level3;
var _local8:level4;
var _local9:level5;
var _local10:level6;
var _local11:level7;
var _local12:level8;
var _local13:level9;
var _local14:level10;
var _local15:level11;
var _local16:level12;
var _local17:level13;
var _local18:level14;
var _local19:level15;
var _local20:level16;
var _local21:level17;
var _local22:level18;
super();
isKong = _arg2;
_local3 = new Shape();
_local4 = new Shape();
_local3.graphics.beginFill(51);
_local3.graphics.lineTo(300, 0);
_local3.graphics.lineTo(300, 300);
_local3.graphics.lineTo(0, 300);
_local3.graphics.lineTo(0, 0);
_local3.graphics.endFill();
_local4.graphics.beginFill(0);
_local4.graphics.lineTo(299, 0);
_local4.graphics.lineTo(299, 299);
_local4.graphics.lineTo(0, 299);
_local4.graphics.lineTo(0, 0);
_local4.graphics.endFill();
this.addChild(_local3);
this.addChild(_local4);
backBtn = new back();
backBtn.x = 149.5;
backBtn.y = 285;
this.addChild(backBtn);
nextBtn = new next();
nextBtn.x = 260;
nextBtn.y = 285;
this.addChild(nextBtn);
previousBtn = new previous();
previousBtn.x = 50;
previousBtn.y = 285;
container = new Sprite();
this.addChild(container);
container.mask = _local4;
backBtn.addEventListener(MouseEvent.ROLL_OVER, btnrollover, false, 0, true);
backBtn.addEventListener(MouseEvent.ROLL_OUT, btnrollout, false, 0, true);
backBtn.addEventListener(MouseEvent.CLICK, disappear, false, 0, true);
nextBtn.addEventListener(MouseEvent.ROLL_OVER, btnrollover, false, 0, true);
nextBtn.addEventListener(MouseEvent.ROLL_OUT, btnrollout, false, 0, true);
nextBtn.addEventListener(MouseEvent.CLICK, selectNext, false, 0, true);
previousBtn.addEventListener(MouseEvent.ROLL_OVER, btnrollover, false, 0, true);
previousBtn.addEventListener(MouseEvent.ROLL_OUT, btnrollout, false, 0, true);
previousBtn.addEventListener(MouseEvent.CLICK, selectPrevious, false, 0, true);
_local5 = new level1();
_local5.x = 59.5;
_local5.y = 50;
container.addChild(_local5);
_local5.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local5.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local5.addEventListener(MouseEvent.CLICK, level1Clicked, false, 0, true);
if (_arg1 > 0){
_local6 = new level2();
_local6.x = 149.5;
_local6.y = 50;
container.addChild(_local6);
_local6.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local6.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local6.addEventListener(MouseEvent.CLICK, level2Clicked, false, 0, true);
} else {
addquestion(149.5, 50);
};
if (_arg1 > 1){
_local7 = new level3();
_local7.x = 239.5;
_local7.y = 50;
container.addChild(_local7);
_local7.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local7.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local7.addEventListener(MouseEvent.CLICK, level3Clicked, false, 0, true);
} else {
addquestion(239.5, 50);
};
if (_arg1 > 2){
_local8 = new level4();
_local8.x = 59.5;
_local8.y = 140;
container.addChild(_local8);
_local8.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local8.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local8.addEventListener(MouseEvent.CLICK, level4Clicked, false, 0, true);
} else {
addquestion(59.5, 140);
};
if (_arg1 > 3){
_local9 = new level5();
_local9.x = 149.5;
_local9.y = 140;
container.addChild(_local9);
_local9.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local9.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local9.addEventListener(MouseEvent.CLICK, level5Clicked, false, 0, true);
} else {
addquestion(149.5, 140);
};
if (_arg1 > 4){
_local10 = new level6();
_local10.x = 239.5;
_local10.y = 140;
container.addChild(_local10);
_local10.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local10.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local10.addEventListener(MouseEvent.CLICK, level6Clicked, false, 0, true);
} else {
addquestion(239.5, 140);
};
if (_arg1 > 5){
_local11 = new level7();
_local11.x = 59.5;
_local11.y = 230;
container.addChild(_local11);
_local11.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local11.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local11.addEventListener(MouseEvent.CLICK, level7Clicked, false, 0, true);
} else {
addquestion(59.5, 230);
};
if (_arg1 > 6){
_local12 = new level8();
_local12.x = 149.5;
_local12.y = 230;
container.addChild(_local12);
_local12.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local12.addEventListener(MouseEvent.CLICK, level8Clicked, false, 0, true);
} else {
addquestion(149.5, 230);
};
if (_arg1 > 7){
_local13 = new level9();
_local13.x = 239.5;
_local13.y = 230;
container.addChild(_local13);
_local13.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local13.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local13.addEventListener(MouseEvent.CLICK, level9Clicked, false, 0, true);
} else {
addquestion(239.5, 230);
};
if (_arg1 > 8){
_local14 = new level10();
_local14.x = 358.5;
_local14.y = 50;
container.addChild(_local14);
_local14.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local14.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local14.addEventListener(MouseEvent.CLICK, level10Clicked, false, 0, true);
} else {
addquestion(358.5, 50);
};
if (_arg1 > 9){
_local15 = new level11();
_local15.x = 448.5;
_local15.y = 50;
container.addChild(_local15);
_local15.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local15.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local15.addEventListener(MouseEvent.CLICK, level11Clicked, false, 0, true);
} else {
addquestion(448.5, 50);
};
if (_arg1 > 10){
_local16 = new level12();
_local16.x = 538.5;
_local16.y = 50;
container.addChild(_local16);
_local16.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local16.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local16.addEventListener(MouseEvent.CLICK, level12Clicked, false, 0, true);
} else {
addquestion(538.5, 50);
};
if (_arg1 > 11){
_local17 = new level13();
_local17.x = 358.5;
_local17.y = 140;
container.addChild(_local17);
_local17.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local17.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local17.addEventListener(MouseEvent.CLICK, level13Clicked, false, 0, true);
} else {
addquestion(358.5, 140);
};
if (_arg1 > 12){
_local18 = new level14();
_local18.x = 448.5;
_local18.y = 140;
container.addChild(_local18);
_local18.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local18.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local18.addEventListener(MouseEvent.CLICK, level14Clicked, false, 0, true);
} else {
addquestion(448.5, 140);
};
if (_arg1 > 13){
_local19 = new level15();
_local19.x = 538.5;
_local19.y = 140;
container.addChild(_local19);
_local19.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local19.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local19.addEventListener(MouseEvent.CLICK, level15Clicked, false, 0, true);
} else {
addquestion(538.5, 140);
};
if (_arg1 > 14){
_local20 = new level16();
_local20.x = 358.5;
_local20.y = 230;
container.addChild(_local20);
_local20.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local20.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local20.addEventListener(MouseEvent.CLICK, level16Clicked, false, 0, true);
} else {
addquestion(358.5, 230);
};
if (_arg1 > 15){
_local21 = new level17();
_local21.x = 448.5;
_local21.y = 230;
container.addChild(_local21);
_local21.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local21.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local21.addEventListener(MouseEvent.CLICK, level17Clicked, false, 0, true);
} else {
addquestion(448.5, 230);
};
if (_arg1 > 16){
_local22 = new level18();
_local22.x = 538.5;
_local22.y = 230;
container.addChild(_local22);
_local22.addEventListener(MouseEvent.ROLL_OVER, onrollover, false, 0, true);
_local22.addEventListener(MouseEvent.ROLL_OUT, onrollout, false, 0, true);
_local22.addEventListener(MouseEvent.CLICK, level18Clicked, false, 0, true);
} else {
addquestion(538.5, 230);
};
}
private function level11Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 11);
this.dispatchEvent(_local2);
timerBye();
}
private function level10Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 10);
this.dispatchEvent(_local2);
timerBye();
}
private function selectPrevious(_arg1:MouseEvent):void{
this.removeChild((_arg1.target as previous));
Tweener.addTween(container, {x:0, time:0.6, transition:"easeOutSine", onComplete:addNext});
}
private function level18Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 18);
this.dispatchEvent(_local2);
timerBye();
}
private function level17Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 17);
this.dispatchEvent(_local2);
timerBye();
}
private function btnrollover(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.1);
_arg1.target.gotoAndStop(2);
}
private function level2Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 2);
this.dispatchEvent(_local2);
timerBye();
}
private function level9Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 9);
this.dispatchEvent(_local2);
timerBye();
}
private function addNext():void{
nextBtn.scaleX = (nextBtn.scaleY = 0);
Tweener.addTween(nextBtn, {scaleX:1, scaleY:1, time:0.3, transition:"easeInSine"});
this.addChild(nextBtn);
}
private function selectNext(_arg1:MouseEvent):void{
this.removeChild((_arg1.target as next));
Tweener.addTween(container, {x:-299, time:0.6, transition:"easeOutSine", onComplete:addPrevious});
}
private function level16Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 16);
this.dispatchEvent(_local2);
timerBye();
}
private function maskComplete():void{
this.removeChild(m);
this.mask = null;
}
private function level15Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 15);
this.dispatchEvent(_local2);
timerBye();
}
private function level8Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 8);
this.dispatchEvent(_local2);
timerBye();
}
private function timerBye():void{
var _local1:Timer;
_local1 = new Timer(1200, 1);
_local1.addEventListener(TimerEvent.TIMER, bye, false, 0, true);
_local1.start();
}
private function level7Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 7);
this.dispatchEvent(_local2);
timerBye();
}
private function addquestion(_arg1:Number, _arg2:Number):void{
var _local3:question;
_local3 = new question();
_local3.x = _arg1;
_local3.y = _arg2;
container.addChild(_local3);
}
private function level6Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 6);
this.dispatchEvent(_local2);
timerBye();
}
private function level14Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 14);
this.dispatchEvent(_local2);
timerBye();
}
private function level1Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 1);
this.dispatchEvent(_local2);
timerBye();
}
private function level13Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 13);
this.dispatchEvent(_local2);
timerBye();
}
public function appear():void{
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-149.5, -149.5);
m.graphics.lineTo(149.5, -149.5);
m.graphics.lineTo(149.5, 149.5);
m.graphics.lineTo(-149.5, 149.5);
m.graphics.lineTo(-149.5, -149.5);
m.graphics.endFill();
m.x = 149.5;
m.y = 149.5;
m.scaleX = (m.scaleY = 0);
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:1, scaleY:1, rotation:90, time:1, transition:"easeInSine", onComplete:maskComplete});
}
private function onrollover(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1.05);
}
private function disappear(_arg1:MouseEvent):void{
dispatchEvent(new gameEvent("quit"));
m = new Shape();
m.graphics.beginFill(0);
m.graphics.moveTo(-149.5, -149.5);
m.graphics.lineTo(149.5, -149.5);
m.graphics.lineTo(149.5, 149.5);
m.graphics.lineTo(-149.5, 149.5);
m.graphics.lineTo(-149.5, -149.5);
m.graphics.endFill();
m.x = 149.5;
m.y = 149.5;
this.addChild(m);
this.mask = m;
Tweener.addTween(m, {scaleX:0, scaleY:0, rotation:-90, time:1, transition:"easeInSine", onComplete:bye});
}
private function level5Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 5);
this.dispatchEvent(_local2);
timerBye();
}
private function level12Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 12);
this.dispatchEvent(_local2);
timerBye();
}
private function addPrevious():void{
this.addChild(previousBtn);
previousBtn.scaleX = (previousBtn.scaleY = 0);
Tweener.addTween(previousBtn, {scaleX:1, scaleY:1, time:0.3, transition:"easeInSine"});
}
private function btnrollout(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
_arg1.target.gotoAndStop(1);
}
private function level4Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 4);
this.dispatchEvent(_local2);
timerBye();
}
public function bye(_arg1:TimerEvent=null):void{
this.mask = null;
this.parent.removeChild(this);
}
private function onrollout(_arg1:MouseEvent):void{
_arg1.target.scaleX = (_arg1.target.scaleY = 1);
}
private function level3Clicked(_arg1:MouseEvent):void{
var _local2:gameEvent;
_local2 = new gameEvent(gameEvent.START, false, false, 3);
this.dispatchEvent(_local2);
timerBye();
}
}
}//package
Section 118
//slipnSlide (slipnSlide)
package {
import flash.media.*;
public dynamic class slipnSlide extends Sound {
}
}//package
Section 119
//snakeHead (snakeHead)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
public class snakeHead extends Sprite {
public var isRightorBottom:Boolean;
public var followers:Array;
public var color:int;
private var cc:Timer;
private var c:Shape;
private var sinTimer:Timer;
public var deltavy:Number;
public var bound:Number;
public var deltavx:Number;
private var chc:Boolean;
public var vx:Number;
public var vy:Number;
public var isVertical:Boolean;
private var angle:Number;
public var sin:Number;
public function snakeHead(_arg1:int, _arg2:Boolean=false):void{
var _local3:GlowFilter;
var _local4:Array;
super();
chc = _arg2;
color = _arg1;
followers = new Array();
c = new Shape();
_local3 = new GlowFilter(0xFFFFFF, 1, 3, 3, 6, 2);
c.graphics.beginFill(color);
c.graphics.drawCircle(0, 0, 10);
c.graphics.endFill();
_local4 = c.filters;
_local4.push(_local3);
c.filters = _local4;
this.addChild(c);
angle = 0;
sinTimer = new Timer(100);
sinTimer.addEventListener(TimerEvent.TIMER, sinWave, false, 0, true);
this.addEventListener(Event.REMOVED_FROM_STAGE, bye, false, 0, true);
sinTimer.start();
}
private function changeColor(_arg1:TimerEvent):void{
var _local2:Array;
var _local3:int;
_local2 = [3381759, 10053324, 6736947, 10040115, 0xFFFF00];
_local3 = (_local2.indexOf(this.color) + 1);
if (_local3 > 4){
_local3 = 0;
};
this.color = _local2[_local3];
c.graphics.clear();
c.graphics.beginFill(this.color);
c.graphics.drawCircle(0, 0, 10);
c.graphics.endFill();
this.addChild(c);
}
private function bye(_arg1:Event):void{
sinTimer.removeEventListener(TimerEvent.TIMER, sinWave);
sinTimer.stop();
}
private function sinWave(_arg1:TimerEvent):void{
sin = (Math.sin(angle) * 40);
angle = (angle + 0.3);
}
}
}//package
Section 120
//snakePart (snakePart)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
public class snakePart extends Sprite {
public var color:int;
private var cc:Timer;
private var c:Shape;
private var chc:Boolean;
public function snakePart(_arg1:int, _arg2:Boolean=false):void{
var _local3:GlowFilter;
var _local4:Array;
super();
chc = _arg2;
color = _arg1;
c = new Shape();
_local3 = new GlowFilter(0xFFFFFF, 1, 2, 2, 6, 2);
c.graphics.beginFill(color, 0.8);
c.graphics.drawCircle(0, 0, 6);
c.graphics.endFill();
_local4 = c.filters;
_local4.push(_local3);
c.filters = _local4;
this.addChild(c);
}
private function changeColor(_arg1:TimerEvent):void{
var _local2:Array;
var _local3:int;
_local2 = [3381759, 10053324, 6736947, 10040115, 0xFFFF00];
_local3 = (_local2.indexOf(this.color) + 1);
if (_local3 > 4){
_local3 = 0;
};
this.color = _local2[_local3];
c.graphics.clear();
c.graphics.beginFill(this.color, 0.8);
c.graphics.drawCircle(0, 0, 6);
c.graphics.endFill();
this.addChild(c);
}
private function bye(_arg1:Event):void{
cc.removeEventListener(TimerEvent.TIMER, changeColor);
cc.stop();
}
}
}//package
Section 121
//squareParticle (squareParticle)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class squareParticle extends Shape {
private var delayTimer:Timer;
private var vy:Number;
private var vx:Number;
private var speed:Number;
private var particleTimer:Timer;
private var maxrotation:Number;
private var maxScale:Number;
public function squareParticle(_arg1:Array):void{
var _local2:int;
super();
_local2 = _arg1[int(((Math.random() * _arg1.length) - 0.01))];
this.visible = false;
this.graphics.lineStyle(1, 0xFFFFFF);
this.graphics.beginFill(_local2);
this.graphics.drawRect(-2, 0, 4, 4);
maxScale = ((Math.random() * 0.6) + 1);
this.rotation = ((Math.random() * 360) - 180);
particleTimer = new Timer(((Math.random() * 20) + 20), 0);
particleTimer.addEventListener(TimerEvent.TIMER, update, false, 0, true);
speed = ((Math.random() * 3) + 2);
vx = (Math.cos(((this.rotation * Math.PI) / 180)) * speed);
vy = (Math.sin(((this.rotation * Math.PI) / 180)) * speed);
maxrotation = ((Math.random() * 20) + 20);
if (((Math.random() * 100) % 2)){
maxrotation = -(maxrotation);
};
delayTimer = new Timer((Math.random() * 200), 1);
delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startp, false, 0, true);
delayTimer.start();
}
private function update(_arg1:TimerEvent){
if (this.scaleX < maxScale){
this.scaleX = (this.scaleX + 0.2);
this.scaleY = (this.scaleY + 0.2);
};
this.rotation = (this.rotation + maxrotation);
this.alpha = (this.alpha - 0.04);
this.x = (this.x + vx);
this.y = (this.y + vy);
if (this.alpha <= 0){
particleTimer.stop();
this.parent.removeChild(this);
};
}
private function startp(_arg1:TimerEvent){
this.visible = true;
particleTimer.start();
}
}
}//package
Section 122
//timeout (timeout)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import mochi.*;
import flash.net.*;
public class timeout extends MovieClip {
public var kong:KongImage;
public function timeout():void{
this.x = 0xFF;
this.y = 180;
this.alpha = 0;
this.scaleX = (this.scaleY = 0);
Tweener.addTween(this, {scaleX:1, scaleY:1, alpha:1, time:0.8, transition:"easeOutSine"});
this.kong.scaleX = (this.kong.scaleY = 0);
Tweener.addTween(this.kong, {scaleX:1, scaleY:1, alpha:1, delay:0.8, time:1.4, transition:"easeOutBounce"});
this.kong.addEventListener(MouseEvent.ROLL_OVER, kongRollOver, false, 0, true);
this.kong.addEventListener(MouseEvent.ROLL_OUT, kongRollOut, false, 0, true);
this.kong.addEventListener(MouseEvent.CLICK, gotoKong, false, 0, true);
}
private function kongRollOver(_arg1:MouseEvent):void{
_arg1.target.gotoAndPlay("over");
}
private function gotoKong(_arg1:MouseEvent):void{
var _local2:URLRequest;
MochiBot.track(this, "cc16255b");
_local2 = new URLRequest("http://www.kongregate.com/?gamereferral=colorfill");
navigateToURL(_local2, "_blank");
}
private function kongRollOut(_arg1:MouseEvent):void{
_arg1.target.gotoAndStop("out");
}
}
}//package
Section 123
//triangle (triangle)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
import flash.filters.*;
import flash.geom.*;
import flash.utils.*;
public class triangle extends MovieClip {
public var isRightorBottom:Boolean;
private var rand:Number;
private var rTimer:Timer;
public var numtest:int;
public var appearing:Boolean;// = false
public var line:Array;
public var color:int;
public var deltavy:Number;
public var shape:MovieClip;
public var dist:Number;
public var deltavx:Number;
public var pt1:MovieClip;
public var pt3:MovieClip;
private var bb:Timer;
public var pt2:MovieClip;
public var bound:Number;
public var vx:Number;
public var vy:Number;
public var isVertical:Boolean;
private var chc:Boolean;
public function triangle(_arg1:int, _arg2:Boolean=false):void{
var _local3:ColorTransform;
var _local4:GlowFilter;
var _local5:Array;
appearing = false;
super();
chc = _arg2;
numtest = 0;
rTimer = new Timer(20);
line = new Array();
color = _arg1;
_local3 = new ColorTransform();
_local3.color = color;
this.shape.transform.colorTransform = _local3;
_local4 = new GlowFilter(0xFFFFFF, 1, 3, 3, 6, 2);
_local5 = this.filters;
_local5.push(_local4);
this.filters = _local5;
if (_arg2){
bb = new Timer(2000, 0);
bb.addEventListener(TimerEvent.TIMER, changeColor, false, 0, true);
bb.start();
this.addEventListener(Event.REMOVED_FROM_STAGE, removeTimer, false, 0, true);
};
}
private function rotateCW(_arg1:TimerEvent):void{
this.rotation = (this.rotation + 15);
}
private function removeTimer(_arg1:Event):void{
if (chc){
bb.removeEventListener(TimerEvent.TIMER, changeColor);
bb.stop();
};
}
private function changeColor(_arg1:TimerEvent):void{
var _local2:Array;
var _local3:int;
var _local4:ColorTransform;
_local2 = [3381759, 10053324, 6736947, 10040115, 0xFFFF00];
_local3 = (_local2.indexOf(this.color) + 1);
if (_local3 > 4){
_local3 = 0;
};
this.color = _local2[_local3];
_local4 = new ColorTransform();
_local4.color = this.color;
this.shape.transform.colorTransform = _local4;
}
public function disappear():void{
Tweener.addTween(this, {scaleX:0, scaleY:0, time:1.5, alpha:0.2, transition:"easeInSine", onComplete:bye});
rTimer.addEventListener(TimerEvent.TIMER, rotateCW, false, 0, true);
rTimer.start();
}
public function appear():void{
var _local1:Array;
_local1 = [-130, 55, 43, -43, 135];
rand = _local1[int((Math.random() * 5))];
vx = (Math.cos(((rand * Math.PI) / 180)) * 2.5);
vy = (Math.sin(((rand * Math.PI) / 180)) * 2.5);
appearing = true;
this.scaleX = (this.scaleY = 0);
this.alpha = 0;
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, alpha:1, transition:"easeOutSine", onComplete:hello});
rTimer.addEventListener(TimerEvent.TIMER, rotateCCW, false, 0, true);
rTimer.start();
}
private function hello():void{
appearing = false;
this.rotation = rand;
this.vx = (Math.cos(((rand * Math.PI) / 180)) * 2.5);
this.vy = (Math.sin(((rand * Math.PI) / 180)) * 2.5);
rTimer.stop();
rTimer.removeEventListener(TimerEvent.TIMER, rotateCCW);
}
private function rotateCCW(_arg1:TimerEvent):void{
this.rotation = (this.rotation - 15);
}
private function bye():void{
rTimer.stop();
rTimer.removeEventListener(TimerEvent.TIMER, rotateCW);
this.parent.removeChild(this);
}
}
}//package
Section 124
//triangleParticle (triangleParticle)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class triangleParticle extends Shape {
private var delayTimer:Timer;
private var vy:Number;
private var vx:Number;
private var speed:Number;
private var particleTimer:Timer;
private var maxrotation:Number;
private var maxScale:Number;
public function triangleParticle(_arg1:Array):void{
var _local2:int;
super();
_local2 = _arg1[int(((Math.random() * _arg1.length) - 0.01))];
this.visible = false;
this.graphics.lineStyle(1, 0xFFFFFF);
this.graphics.beginFill(_local2);
this.graphics.moveTo(-3, -3);
this.graphics.lineTo(-3, 3);
this.graphics.lineTo(3, 0);
this.graphics.lineTo(-3, -3);
maxScale = ((Math.random() * 0.6) + 1);
this.rotation = ((Math.random() * 360) - 180);
particleTimer = new Timer(((Math.random() * 20) + 20), 0);
particleTimer.addEventListener(TimerEvent.TIMER, update, false, 0, true);
speed = ((Math.random() * 3) + 2);
vx = (Math.cos(((this.rotation * Math.PI) / 180)) * speed);
vy = (Math.sin(((this.rotation * Math.PI) / 180)) * speed);
maxrotation = ((Math.random() * 20) + 20);
if (((Math.random() * 100) % 2)){
maxrotation = -(maxrotation);
};
delayTimer = new Timer((Math.random() * 200), 1);
delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startp, false, 0, true);
delayTimer.start();
}
private function update(_arg1:TimerEvent){
if (this.scaleX < maxScale){
this.scaleX = (this.scaleX + 0.2);
this.scaleY = (this.scaleY + 0.2);
};
this.rotation = (this.rotation + maxrotation);
this.alpha = (this.alpha - 0.04);
this.x = (this.x + vx);
this.y = (this.y + vy);
if (this.alpha <= 0){
particleTimer.stop();
this.parent.removeChild(this);
};
}
private function startp(_arg1:TimerEvent){
this.visible = true;
particleTimer.start();
}
}
}//package
Section 125
//tryagain (tryagain)
package {
import flash.events.*;
import flash.display.*;
import caurina.transitions.*;
public class tryagain extends MovieClip {
public function tryagain():void{
addFrameScript(0, frame1);
this.x = 0xFF;
this.y = 235;
this.alpha = 0;
Tweener.addTween(this, {alpha:1, delay:0.3, time:1, transition:"easeOutSine", onComplete:ready});
}
function frame1(){
stop();
}
private function mouseout(_arg1:MouseEvent):void{
this.gotoAndStop(1);
this.scaleX = (this.scaleY = 1);
}
private function ready():void{
this.addEventListener(MouseEvent.MOUSE_OVER, mouseover, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, mouseout, false, 0, true);
this.addEventListener(Event.REMOVED_FROM_STAGE, bye, false, 0, true);
}
private function bye(_arg1:Event):void{
this.removeEventListener(MouseEvent.MOUSE_OVER, mouseover);
this.removeEventListener(MouseEvent.MOUSE_OUT, mouseout);
this.removeEventListener(Event.REMOVED_FROM_STAGE, bye);
}
private function mouseover(_arg1:MouseEvent):void{
this.gotoAndStop(2);
this.scaleX = (this.scaleY = 1.1);
}
}
}//package
Section 126
//visit (visit)
package {
import flash.display.*;
public dynamic class visit extends MovieClip {
public function visit(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package