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, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var originalValueComplete:Object;
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var valueComplete:Number;
public var extra:Object;
public var valueStart:Number;
public var modifierFunction:Function;
public var arrayIndex:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1:String;
_local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var preProcess:Function;
public var setValue:Function;
public var getValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 5
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 6
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
parameters = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
private static var _engineExists:Boolean = false;
private static var _specialPropertyModifierList:Object;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
var _local6:SpecialProperty;
if (!_inited){
init();
};
_local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
_local5 = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local6 = (isNaN(_local5.time)) ? 0 : _local5.time;
_local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9. = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_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 splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
var _local3:Number;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local3 = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.31.71");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
updateFrame();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var cTime:Number;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
cTime = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening. + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.
>= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e:Error) {
handleError(tTweening, e, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening. = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.
= 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.
++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e:Error) {
handleError(tTweening, e, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Object;
var _local12:Object;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
_local7 = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
_local10 = new Array();
_local11 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
_local12 = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(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 8
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var :Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var
:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var transition:Function;
public var timePaused:Number;
public var onCompleteParams:Array;
public var :Number;
public var :Boolean;
public var onError:Function;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
= false;
= 0;
= 0;
skipUpdates = 0;
= false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local2:TweenListObj;
var _local3:String;
_local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.
=
;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2. = ;
_local2.count = count;
_local2. = ;
_local2.waitFrames = waitFrames;
_local2. = ;
return (_local2);
}
public function toString():String{
var _local1:String;
var _local2:Boolean;
var _local3:String;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = true;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (
){
_local1 = (_local1 + (", updatesSkipped:" + String(
)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (){
_local1 = (_local1 + (", isCaller:" + String()));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (){
_local1 = (_local1 + (", timesCalled:" + String()));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (){
_local1 = (_local1 + (", hasStarted:" + String()));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 9
//FadeIn (com.amp3d.assets.FadeIn)
package com.amp3d.assets {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class FadeIn extends MovieClip {
private var stageRef:Stage;
public function FadeIn(_arg1:Stage=null, _arg2:Number=0){
var _local3:ColorTransform;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
_local3 = new ColorTransform();
_local3.color = _arg2;
this.transform.colorTransform = _local3;
alpha = 0.9;
}
public function loop(_arg1:Event){
if (currentFrame > 60){
removeSelf();
};
}
public function removeSelf(){
trace("REMOVE");
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.assets
Section 10
//KeyCodeConverter (com.amp3d.assets.KeyCodeConverter)
package com.amp3d.assets {
public class KeyCodeConverter {
public static function keyToString(_arg1:uint):String{
var _local2:String;
switch (_arg1){
case 65:
_local2 = "A";
break;
case 66:
_local2 = "B";
break;
case 67:
_local2 = "C";
break;
case 68:
_local2 = "D";
break;
case 69:
_local2 = "E";
break;
case 70:
_local2 = "F";
break;
case 71:
_local2 = "G";
break;
case 72:
_local2 = "H";
break;
case 73:
_local2 = "I";
break;
case 74:
_local2 = "J";
break;
case 75:
_local2 = "K";
break;
case 76:
_local2 = "L";
break;
case 77:
_local2 = "M";
break;
case 78:
_local2 = "N";
break;
case 79:
_local2 = "O";
break;
case 80:
_local2 = "P";
break;
case 81:
_local2 = "Q";
break;
case 82:
_local2 = "R";
break;
case 83:
_local2 = "S";
break;
case 84:
_local2 = "T";
break;
case 85:
_local2 = "U";
break;
case 86:
_local2 = "V";
break;
case 87:
_local2 = "W";
break;
case 88:
_local2 = "X";
break;
case 89:
_local2 = "Y";
break;
case 90:
_local2 = "Z";
break;
case 48:
_local2 = "0";
break;
case 49:
_local2 = "1";
break;
case 50:
_local2 = "2";
break;
case 51:
_local2 = "3";
break;
case 52:
_local2 = "4";
break;
case 53:
_local2 = "5";
break;
case 54:
_local2 = "6";
break;
case 55:
_local2 = "7";
break;
case 56:
_local2 = "8";
break;
case 57:
_local2 = "9";
break;
case 16:
_local2 = "Shift";
break;
case 17:
_local2 = "Ctrl";
break;
case 18:
_local2 = "Alt";
break;
case 32:
_local2 = "Space";
break;
case 38:
_local2 = "Up";
break;
case 37:
_local2 = "Left";
break;
case 39:
_local2 = "Right";
break;
case 40:
_local2 = "Down";
break;
default:
_local2 = "null";
break;
};
return (_local2);
}
}
}//package com.amp3d.assets
Section 11
//LinkedButtons (com.amp3d.assets.LinkedButtons)
package com.amp3d.assets {
import flash.display.*;
import flash.events.*;
public class LinkedButtons {
public var :Array;
public var
:MovieClip;
public function LinkedButtons(){
= new Array();
super();
}
public function setButton(_arg1:MovieClip){
if (
!= null){
.reset();
};
= _arg1;
.select();
(
);
}
private function (_arg1:Event){
var _local2:int;
trace("lol");
.reset();
= MovieClip(_arg1.currentTarget);
_local2 = 0;
while (_local2 < .length) {
if (MovieClip(_arg1.currentTarget) == [_local2][0]){
var _local3 = [_local2];
_local3[1]();
break;
};
_local2++;
};
}
public function (_arg1:MovieClip, _arg2:Function, _arg3:Boolean=false):void{
.push([_arg1, _arg2]);
_arg1.addEventListener("selected", );
if (_arg3){
setButton(_arg1);
};
}
private function (_arg1:MovieClip){
var _local2:int;
_local2 = 0;
while (_local2 < .length) {
if (_arg1 == [_local2][0]){
var _local3 = [_local2];
_local3[1]();
break;
};
_local2++;
};
}
}
}//package com.amp3d.assets
Section 12
//MagicButton (com.amp3d.assets.MagicButton)
package com.amp3d.assets {
import flash.display.*;
import flash.events.*;
import com.amp3d.blueberry.*;
import flash.text.*;
public class MagicButton extends MovieClip {
private var
:Number;// = 1
private var :Number;// = 1
private var :Boolean;// = false
private var :Boolean;// = false
private var :String;
private var :String;
private var blnBackward:Boolean;// = false
private var :Number;// = 1
private var :String;
public var totalScore:TextField;
private var blnForward:Boolean;// = false
private var :Boolean;// = false
public function MagicButton(){
blnForward = false;
blnBackward = false;
= false;
= false;
= false;
= 1;
= 1;
= 1;
super();
this.buttonMode = true;
addEventListener(MouseEvent.MOUSE_OVER, playForward, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, playBackward, false, 0, true);
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function setOutSound(_arg1:String, _arg2:Number=1){
= true;
= _arg1;
= _arg2;
addEventListener(MouseEvent.ROLL_OUT, playOutSound, false, 0, true);
}
public function playBackward(_arg1:MouseEvent){
blnBackward = true;
blnForward = false;
}
public function setOverSound(_arg1:String, _arg2:Number=1){
= true;
= _arg1;
= _arg2;
addEventListener(MouseEvent.ROLL_OVER, playOverSound, false, 0, true);
}
public function playHitSound(_arg1:MouseEvent){
removeEventListener(MouseEvent.ROLL_OUT, playOutSound);
SoundPlayer.playEffect(, 0, );
}
public function setHitSound(_arg1:String, _arg2:Number=1){
= true;
= _arg1;
= _arg2;
addEventListener(MouseEvent.MOUSE_DOWN, playHitSound, false, 0, true);
}
public function playOutSound(_arg1:MouseEvent){
SoundPlayer.playEffect(, 0,
);
}
public function loop(_arg1:Event){
if (((blnForward) && (!((currentFrame == this.totalFrames))))){
nextFrame();
} else {
if (((blnBackward) && (!((currentFrame == 0))))){
prevFrame();
};
};
}
public function playOverSound(_arg1:MouseEvent){
if (currentFrame == 1){
SoundPlayer.playEffect( , 0, );
};
}
public function playForward(_arg1:MouseEvent){
blnForward = true;
blnBackward = false;
if (currentFrame != this.totalFrames){
nextFrame();
};
}
}
}//package com.amp3d.assets
Section 13
//PerfectButton (com.amp3d.assets.PerfectButton)
package com.amp3d.assets {
import flash.display.*;
import flash.events.*;
import com.amp3d.blueberry.*;
public class PerfectButton extends MovieClip {
private var
:Number;// = 1
private var :Number;// = 1
private var :Boolean;// = false
private var :Boolean;// = false
private var :String;
public var
:Boolean;// = false
private var :String;
private var :Number;// = 1
private var :String;
public var :Boolean;// = false
public var :Boolean;// = false
private var :Boolean;// = false
public function PerfectButton(){
= false;
= false;
= false;
= false;
= false;
= false;
= 1;
= 1;
= 1;
super();
stop();
buttonMode = true;
addEventListener(MouseEvent.MOUSE_OVER, MouseOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, , false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN,
, false, 0, true);
}
public function setOutSound(_arg1:String, _arg2:Number=1){
= true;
= _arg1;
= _arg2;
addEventListener(MouseEvent.ROLL_OUT, playOutSound, false, 0, true);
}
public function select(){
= true;
= true;
addEventListener(Event.ENTER_FRAME, , false, 0, true);
}
public function (_arg1:Event){
if (((
) && (!()))){
prevFrame();
} else {
removeEventListener(Event.ENTER_FRAME, );
};
}
public function reset(){
= false;
= true;
= false;
addEventListener(Event.ENTER_FRAME, , false, 0, true);
}
public function (_arg1:MouseEvent){
= true;
if (!){
= false;
addEventListener(Event.ENTER_FRAME, , false, 0, true);
};
}
public function playHitSound(_arg1:MouseEvent){
removeEventListener(MouseEvent.ROLL_OUT, playOutSound);
SoundPlayer.playEffect(, 0, );
}
public function setOverSound(_arg1:String, _arg2:Number=1){
= true;
= _arg1;
= _arg2;
addEventListener(MouseEvent.ROLL_OVER, playOverSound, false, 0, true);
}
public function playOutSound(_arg1:MouseEvent){
SoundPlayer.playEffect(, 0,
);
}
public function (_arg1:Event){
if (){
if ((((currentLabel == "MouseOver")) && (!()))){
stop();
} else {
nextFrame();
};
} else {
removeEventListener(Event.ENTER_FRAME, );
};
}
public function setHitSound(_arg1:String, _arg2:Number=1){
= true;
= _arg1;
= _arg2;
addEventListener(MouseEvent.MOUSE_DOWN, playHitSound, false, 0, true);
}
public function
(_arg1:MouseEvent){
if (!){
= true;
= true;
dispatchEvent(new Event("selected"));
};
}
public function playOverSound(_arg1:MouseEvent){
if (currentFrame == 1){
SoundPlayer.playEffect( , 0, );
};
}
public function MouseOver(_arg1:MouseEvent){
= false;
= true;
addEventListener(Event.ENTER_FRAME, , false, 0, true);
}
}
}//package com.amp3d.assets
Section 14
//Whiteflash (com.amp3d.assets.Whiteflash)
package com.amp3d.assets {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class Whiteflash extends MovieClip {
private var
:Number;// = 0
private var stageRef:Stage;
public function Whiteflash(_arg1:Stage=null, _arg2:Number=0xFFFFFF){
var _local3:ColorTransform;
= 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
_local3 = new ColorTransform();
_local3.color = _arg2;
this.transform.colorTransform = _local3;
}
public function loop(_arg1:Event){
= (
+ 0.01);
alpha = (alpha -
);
if (alpha < 0){
removeSelf();
};
}
public function removeSelf(){
trace("REMOVE");
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.assets
Section 15
//AssetBlueberryCasting (com.amp3d.blueberry.AssetBlueberryCasting)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetBlueberryCasting extends MovieClip {
public var counter:Number;// = 0
public var speed:Number;
public var scaleSize:Number;
public var seed:Number;
public var waveAmount:Number;
public var stageRef:Stage;
public function AssetBlueberryCasting(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=1){
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.alpha = _arg4;
blendMode = "add";
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
alpha = (alpha - 0.09);
scaleX = (scaleX + 0.05);
scaleY = (scaleY + 0.05);
if (alpha <= 0){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 16
//AssetBlueberryDroplet (com.amp3d.blueberry.AssetBlueberryDroplet)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetBlueberryDroplet extends MovieClip {
public var counter:Number;// = 0
public var xVelocity:Number;
public var yVelocity:Number;
private var :Number;
public var stageRef:Stage;
public function AssetBlueberryDroplet(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10, _arg5:Number=25, _arg6:Number=1, _arg7:Number=1, _arg8:Number=0xBBBBBB){
counter = 0;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.alpha = _arg6;
scaleX = (scaleY = Math.random());
= (Math.random() * 7);
this.xVelocity = (((Math.random() * _arg4) * 2) - _arg4);
this.yVelocity = (Math.random() * -(_arg5));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, deathloop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function deathloop(_arg1:Event){
alpha = (alpha - 0.01);
if (alpha < 0){
removeSelf();
};
}
function frame10(){
stop();
}
function frame1(){
play();
}
public function loop(_arg1:Event){
yVelocity = (yVelocity + Global.wGravity);
x = (x + xVelocity);
y = (y + yVelocity);
rotation = ((Math.atan2(yVelocity, xVelocity) * 180) / Math.PI);
if (y >= (Global.wGround + )){
gotoAndStop(10);
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
addEventListener(Event.ENTER_FRAME, deathloop, false, 0, true);
rotation = 0;
};
}
}
}//package com.amp3d.blueberry
Section 17
//AssetBlueberryGlow (com.amp3d.blueberry.AssetBlueberryGlow)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetBlueberryGlow extends MovieClip {
public var owner:MovieClip;
public var stageRef:Stage;
public function AssetBlueberryGlow(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:Number=1){
if (_arg1 == null){
return;
};
this.owner = _arg2;
this.stageRef = _arg1;
this.alpha = _arg3;
blendMode = "add";
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event){
x = owner.getX();
y = owner.getY();
alpha = ((Math.random() * 2) + 0.5);
if (alpha <= 0){
removeSelf();
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 18
//AssetEnemyExplosion (com.amp3d.blueberry.AssetEnemyExplosion)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetEnemyExplosion extends MovieClip {
private var counter:Number;// = 1.5
private var target:MovieClip;
private var stageRef:Stage;
public function AssetEnemyExplosion(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0){
counter = 1.5;
super();
if (_arg1 == null){
return;
};
this.x = _arg2;
this.y = _arg3;
this.stageRef = _arg1;
rotation = (Math.random() * 360);
blendMode = "add";
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf():void{
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
Particular.explosion(stageRef, "AssetExplodeSparks", 0, 2, Global.sParticleMulitplier, x, y, ((Math.random() * 10) - (Math.random() * 10)), 14, 1);
counter = (counter - 0.1);
rotation = (rotation + 10);
alpha = Math.random();
scaleX = (scaleY = (counter + Math.random()));
if (scaleX < 0){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 19
//AssetExplodeParts (com.amp3d.blueberry.AssetExplodeParts)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetExplodeParts extends MovieClip {
public var counter:Number;// = 0
public var stopLine:Number;// = -10
public var xVelocity:Number;
public var yVelocity:Number;
public var stageRef:Stage;
public function AssetExplodeParts(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10, _arg5:Number=25, _arg6:Number=1, _arg7:Number=1, _arg8:Number=0xBBBBBB){
counter = 0;
stopLine = -10;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.alpha = _arg6;
scaleX = (scaleY = (Math.random() * 3));
stopLine = Global.wGround;
gotoAndStop(Math.ceil((Math.random() * totalFrames)));
this.xVelocity = (((Math.random() * _arg4) * 2) - _arg4);
this.yVelocity = (((Math.random() * _arg5) * 2) - _arg5);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, deathloop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function deathloop(_arg1:Event){
alpha = (alpha - 0.01);
if (alpha < 0){
removeSelf();
};
}
public function loop(_arg1:Event){
yVelocity = (yVelocity + (Global.wGravity * 0.6));
x = (x + xVelocity);
y = (y + yVelocity);
rotation = (rotation + (xVelocity * 4));
if (y >= stopLine){
yVelocity = (yVelocity / -2.5);
if (stopLine == Global.wGround){
stopLine = y;
};
y = stopLine;
xVelocity = (Math.random() * xVelocity);
};
if ((((Math.abs(yVelocity) < 1)) && ((y >= stopLine)))){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, deathloop);
};
}
}
}//package com.amp3d.blueberry
Section 20
//AssetExplodeSparks (com.amp3d.blueberry.AssetExplodeSparks)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetExplodeSparks extends MovieClip {
public var counter:Number;// = 1
public var stopLine:Number;// = -10
public var xVelocity:Number;
public var yVelocity:Number;
public var stageRef:Stage;
public function AssetExplodeSparks(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10, _arg5:Number=25, _arg6:Number=1, _arg7:Number=1, _arg8:Number=0xBBBBBB){
counter = 1;
stopLine = -10;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.alpha = _arg6;
scaleX = (scaleY = (Math.random() * 0.5));
stopLine = Global.wGround;
blendMode = "add";
gotoAndStop(Math.ceil((Math.random() * totalFrames)));
this.xVelocity = ((_arg4 + ((Math.random() * _arg4) / 2)) - ((Math.random() * _arg4) / 2));
this.yVelocity = (((-(Math.random()) * _arg5) * 2) + _arg5);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
yVelocity = (yVelocity + 0.5);
if (yVelocity > 3){
yVelocity = 3;
};
counter = (counter - 0.01);
xVelocity = (xVelocity + ((Math.random() - Math.random()) * 0.6));
x = (x + xVelocity);
y = (y + yVelocity);
alpha = (counter + Math.random());
if (y >= stopLine){
yVelocity = (yVelocity / -2.5);
if (stopLine == Global.wGround){
stopLine = y;
};
y = stopLine;
xVelocity = (Math.random() * xVelocity);
};
if (alpha < -1){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 21
//AssetHastePlus (com.amp3d.blueberry.AssetHastePlus)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetHastePlus extends MovieClip {
public var counter:Number;// = 0
public var speed:Number;
public var scaleSize:Number;
public var seed:Number;
public var waveAmount:Number;
public var stageRef:Stage;
public function AssetHastePlus(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0){
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
speed = (Math.random() * 15);
seed = (Math.random() * 5);
scaleSize = (Math.random() * 2.3);
scaleX = scaleSize;
scaleY = 0;
waveAmount = (Math.random() * 6);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
counter = (counter + 0.5);
if (scaleY < scaleSize){
scaleY = (scaleY + (speed / 90));
};
y = (y - ((speed + (Math.cos((counter + seed)) * 3)) / 5));
x = (x + (Math.sin((counter + seed)) * waveAmount));
rotation = (Math.sin((counter + seed)) * 30);
alpha = (alpha - 0.01);
if (counter >= 30){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 22
//AssetInvincibleDot (com.amp3d.blueberry.AssetInvincibleDot)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetInvincibleDot extends MovieClip {
public var counter:Number;// = 0
public var speed:Number;
public var scaleSize:Number;
public var stageRef:Stage;
public var vx:Number;
public var vy:Number;
public function AssetInvincibleDot(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0){
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
speed = (Math.random() * 15);
scaleSize = (Math.random() * 2.3);
scaleX = (scaleY = scaleSize);
vx = (Math.random() - (Math.random() * 2));
vy = (Math.random() - (Math.random() * 2));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
counter = (counter + 1);
vy = (vy - 0.05);
x = (x + vx);
y = (y + vy);
alpha = (alpha - 0.03);
if (counter >= 30){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 23
//assetMagicDroplet (com.amp3d.blueberry.assetMagicDroplet)
package com.amp3d.blueberry {
import flash.display.*;
public dynamic class assetMagicDroplet extends MovieClip {
public function assetMagicDroplet(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
stop();
}
function frame1(){
play();
}
}
}//package com.amp3d.blueberry
Section 24
//AssetPakBulletSmoke (com.amp3d.blueberry.AssetPakBulletSmoke)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetPakBulletSmoke extends MovieClip {
public var counter:Number;// = 0
public var xVelocity:Number;
public var yVelocity:Number;
public var stageRef:Stage;
public function AssetPakBulletSmoke(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0){
counter = 0;
super();
addFrameScript(8, frame9);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
scaleY = 0.5;
blendMode = "add";
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
function frame9(){
stop();
}
public function loop(_arg1:Event){
counter++;
if (counter >= this.totalFrames){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 25
//AssetRaspberryDroplet (com.amp3d.blueberry.AssetRaspberryDroplet)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetRaspberryDroplet extends MovieClip {
public var counter:Number;// = 0
public var xVelocity:Number;
public var yVelocity:Number;
private var :Number;
public var stageRef:Stage;
public function AssetRaspberryDroplet(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10, _arg5:Number=25, _arg6:Number=1, _arg7:Number=1, _arg8:Number=0xBBBBBB){
counter = 0;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.alpha = _arg6;
scaleX = (scaleY = Math.random());
= (Math.random() * 7);
this.xVelocity = (((Math.random() * _arg4) * 2) - _arg4);
this.yVelocity = (Math.random() * -(_arg5));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, deathloop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function deathloop(_arg1:Event){
alpha = (alpha - 0.01);
if (alpha < 0){
removeSelf();
};
}
function frame10(){
stop();
}
function frame1(){
play();
}
public function loop(_arg1:Event){
yVelocity = (yVelocity + Global.wGravity);
x = (x + xVelocity);
y = (y + yVelocity);
rotation = ((Math.atan2(yVelocity, xVelocity) * 180) / Math.PI);
if (y >= (Global.wGround + )){
gotoAndStop(10);
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
addEventListener(Event.ENTER_FRAME, deathloop, false, 0, true);
rotation = 0;
};
}
}
}//package com.amp3d.blueberry
Section 26
//AssetRaspberrySplatter (com.amp3d.blueberry.AssetRaspberrySplatter)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetRaspberrySplatter extends MovieClip {
private var
:Number;// = 0
private var stageRef:Stage;
public function AssetRaspberrySplatter(_arg1:Stage=null){
= 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function loop(_arg1:Event){
= 0.001;
alpha = (alpha -
);
if (alpha < 0){
removeSelf();
};
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 27
//AssetReekBeacon (com.amp3d.blueberry.AssetReekBeacon)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetReekBeacon extends MovieClip {
public var dad:MovieClip;
public var stageRef:Stage;
public function AssetReekBeacon(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:MovieClip=null){
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.dad = _arg4;
scaleX = (scaleY = 0.5);
gotoAndPlay(1);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event){
x = (x - ((x - dad.x) / 6));
y = (y - ((y - dad.y) / 6));
if (scaleX > 0.02){
scaleX = (scaleY = (scaleY - 0.005));
};
if ((Math.abs((dad.x - x)) + Math.abs((dad.y - y))) < 17){
dad.fireMissle();
removeSelf();
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 28
//AssetReekStinger (com.amp3d.blueberry.AssetReekStinger)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetReekStinger extends MovieClip {
public var dad:MovieClip;
public var stageRef:Stage;
public function AssetReekStinger(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:MovieClip=null){
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.dad = _arg4;
scaleX = (scaleY = 0.5);
gotoAndPlay(1);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event){
x = (x - ((x - dad.x) / 6));
y = (y - ((y - dad.y) / 6));
rotation = (rotation + 10);
if (scaleX > 0.02){
scaleX = (scaleY = (scaleY - 0.005));
};
if ((Math.abs((dad.x - x)) + Math.abs((dad.y - y))) < 17){
dad.takeMissle();
removeSelf();
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 29
//AssetReverbCasting (com.amp3d.blueberry.AssetReverbCasting)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetReverbCasting extends MovieClip {
public var counter:Number;// = 0
public var speed:Number;
public var scaleSize:Number;
public var seed:Number;
public var waveAmount:Number;
public var stageRef:Stage;
public function AssetReverbCasting(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0.5, _arg5:Number=1){
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
if (_arg3 > Global.wGround){
_arg3 = Global.wGround;
};
this.y = _arg3;
this.alpha = _arg4;
blendMode = "add";
scaleX = (scaleY = _arg5);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
alpha = (alpha - 0.01);
scaleX = (scaleX + 0.05);
scaleY = (scaleY + 0.05);
if (alpha <= 0){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 30
//AssetRoxorSmoke (com.amp3d.blueberry.AssetRoxorSmoke)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class AssetRoxorSmoke extends MovieClip {
public var counter:Number;// = 0
public var speed:Number;
public var scaleSize:Number;
public var seed:Number;
public var waveAmount:Number;
public var stageRef:Stage;
public var vx:Number;
public var vy:Number;
public function AssetRoxorSmoke(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=1.3, _arg6:Number=0.5, _arg7:Number=0.2, _arg8:Number=0xBBBBBB){
var _local9:ColorTransform;
counter = 0;
super();
addFrameScript(0, frame1);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.alpha = _arg6;
this.vx = ((_arg4 / 2) + ((Math.random() * _arg4) / 3));
this.vy = _arg5;
_local9 = new ColorTransform();
_local9.color = _arg8;
this.transform.colorTransform = _local9;
gotoAndStop(Math.ceil((Math.random() * totalFrames)));
scaleY = (scaleX = _arg7);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
function frame1(){
stop();
}
public function loop(_arg1:Event){
vy = (vy + 0.01);
alpha = (alpha - 0.03);
scaleX = (scaleX + 0.01);
scaleY = (scaleY + 0.01);
y = (y - vy);
x = (x + vx);
if (alpha <= 0){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 31
//AssetWaveCasting (com.amp3d.blueberry.AssetWaveCasting)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class AssetWaveCasting extends MovieClip {
public var counter:Number;// = 0
public var speed:Number;
public var scaleSize:Number;
public var seed:Number;
public var waveAmount:Number;
public var stageRef:Stage;
public function AssetWaveCasting(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0.5){
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
if (_arg3 > Global.wGround){
_arg3 = Global.wGround;
};
this.y = _arg3;
this.alpha = _arg5;
this.rotation = _arg4;
blendMode = "add";
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
alpha = (alpha - 0.05);
scaleX = (scaleX - 0.05);
scaleY = (scaleY - 0.05);
if (alpha <= 0){
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 32
//BlueberryEventRegister (com.amp3d.blueberry.BlueberryEventRegister)
package com.amp3d.blueberry {
public class BlueberryEventRegister {
public static var blnEventsStopped = false;
public static var registryList:Array = new Array();
public static function removeEventsByClip(_arg1){
var _local2:int;
_local2 = 0;
while (_local2 < registryList.length) {
if (registryList[_local2][0] == _arg1){
_arg1.removeEventListener(registryList[_local2][1], registryList[_local2][2]);
registryList.splice(_local2, 1);
};
_local2++;
};
}
public static function playAllEvents(){
var _local1:int;
blnEventsStopped = false;
_local1 = 0;
while (_local1 < registryList.length) {
if (registryList[_local1][1] != "timer"){
registryList[_local1][0].addEventListener(registryList[_local1][1], registryList[_local1][2], false, 0, true);
} else {
registryList[_local1][0].start();
};
_local1++;
};
}
public static function stopAllEvents(){
var _local1:int;
blnEventsStopped = true;
_local1 = 0;
while (_local1 < registryList.length) {
if (registryList[_local1][1] != "timer"){
registryList[_local1][0].removeEventListener(registryList[_local1][1], registryList[_local1][2]);
} else {
registryList[_local1][0].stop();
};
_local1++;
};
}
public static function addEvent(_arg1, _arg2:String, _arg3:Function){
registryList.push([_arg1, _arg2, _arg3]);
_arg1.addEventListener(_arg2, _arg3, false, 0, true);
}
public static function clearAllEvents(){
stopAllEvents();
registryList = new Array();
blnEventsStopped = false;
}
public static function removeEvent(_arg1, _arg2:String, _arg3:Function){
var _local4:int;
_arg1.removeEventListener(_arg2, _arg3);
_local4 = 0;
while (_local4 < registryList.length) {
if (registryList[_local4][0] == _arg1){
if ((((registryList[_local4][1] == _arg2)) && ((registryList[_local4][2] == _arg3)))){
registryList.splice(_local4, 1);
};
};
_local4++;
};
}
public static function toggleAllEvents(){
if (blnEventsStopped){
playAllEvents();
} else {
stopAllEvents();
};
}
}
}//package com.amp3d.blueberry
Section 33
//BossGraves (com.amp3d.blueberry.BossGraves)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
public class BossGraves extends MovieClip {
private var :BossGravesHand;
private var counter:int;// = 0
public var bulletDamage:Number;// = 10
public var decreasePoints:Number;// = 0
private var :Boolean;// = false
public var SmokeTimer:Timer;
private var :Number;
private var :Number;// = -6
public var health:Number;// = 500
private var :Number;// = 6
public var bulletSpeed:Number;// = 12
public var target:MovieClip;
public var righteye:MovieClip;
public var hit:MovieClip;
private var :Number;
private var
:BossGravesHand;
public var rotateSpeed;// = 25
private var stageRef:Stage;
private var :Number;
public var vx:Number;// = 3
public var vy:Number;// = 0
public var lefteye:MovieClip;
public var isAlive:Boolean;// = false
public var head:MovieClip;
public var killPoints:Number;// = 0
public var fireDelay:int;// = 45
public var maxHealth:Number;// = 500
public var moveSpeed:Number;// = 3
public function BossGraves(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=0):void{
vy = 0;
vx = 3;
= -6;
= 6;
rotateSpeed = 25;
moveSpeed = 3;
fireDelay = 45;
health = 500;
maxHealth = 500;
bulletSpeed = 12;
bulletDamage = 10;
killPoints = 0;
decreasePoints = 0;
isAlive = false;
counter = 0;
= false;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.target = _arg2;
initPoints(_arg3);
= new BossGravesHand(_arg1, _arg2);
= new BossGravesHand(_arg1, _arg2, 1);
= ((Global.wRightWall * 0.5) + (Global.wLeftWall * 0.5));
= (Global.wEnemyYLine + 30);
.scaleX = -1;
_arg1.addChild( );
_arg1.addChild(
);
SmokeTimer = new Timer(5000);
.y = (
.y = -150);
.x = ( - 150);
.x = ( + 150);
Global.wEnemyList.push( );
Global.wEnemyList.push(
);
x = ;
y = -150;
Tweener.addTween(this, {y:, transition:"easeOut", time:2.5, onComplete:loadRun});
Tweener.addTween( , {y:( + 150), time:2.5});
Tweener.addTween(
, {y:( + 150), time:2.5});
}
public function initPoints(_arg1:Number):void{
this.killPoints = _arg1;
decreasePoints = Math.floor((_arg1 / 8000));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, losePoints);
}
public function smoke(_arg1:TimerEvent){
var _local2:AssetRoxorSmoke;
_local2 = new AssetRoxorSmoke(stageRef, ((x + (width / 2)) - (Math.random() * width)), ((y + (height / 2)) - (Math.random() * height)), vx, 1.3, 0.4, (Math.random() / 2), 0x6A6A6A);
stageRef.addChild(_local2);
}
private function (){
if (x > (Global.wRightWall - 150)){
vx = (-1 * (3 + (Math.random() * 2)));
x = (Global.wRightWall - 150);
} else {
if (x < (Global.wLeftWall + 150)){
vx = (3 + (Math.random() * 2));
x = (Global.wLeftWall + 150);
};
};
x = (x + vx);
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
public function losePoints(_arg1:Event):void{
killPoints = (killPoints - decreasePoints);
if (killPoints < 0){
killPoints = 0;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, losePoints);
};
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
.charDie();
.charDie();
if (stageRef.contains(this)){
if (!_arg1){
SoundPlayer.playEffect("sfxEnemyExplosion");
stageRef.addChild(new AssetEnemyExplosion(stageRef, x, y));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 70, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 0, 40, Global.sParticleMulitplier, x, y, 10, 10, 1, 1, 0x888888, true);
};
if (killPoints != 0){
Global.game.addPoints(killPoints);
};
if (isAlive){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
BlueberryEventRegister.removeEvent(SmokeTimer, "timer", smoke);
SmokeTimer.stop();
SmokeTimer = null;
BlueberryEventRegister.removeEventsByClip(this);
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
Global.stBossesKilled++;
stageRef.removeChild(this);
};
}
public function loadRun(){
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
isAlive = true;
.init();
.init();
}
public function loop(_arg1:Event){
();
counter++;
if ((() && (((counter % fireDelay) == 0)))){
();
};
}
private function (){
var _local1:ProjPakBullet;
var _local2:ProjPakBullet;
_local1 = new ProjPakBullet(stageRef, this, target, 90, 15, 12);
_local1.x = (x + lefteye.x);
_local1.y = (y + lefteye.y);
_local1.moveForward(7);
stageRef.addChild(_local1);
_local2 = new ProjPakBullet(stageRef, this, target, 90, 15, 12);
_local2.x = (x + righteye.x);
_local2.y = (y + righteye.y);
_local2.moveForward(7);
stageRef.addChild(_local2);
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
if (_arg2 == "jam"){
_arg1 = (_arg1 / 1.5);
};
_arg1 = (_arg1 * (1 + (Global.ssLevelStrength * 0.1)));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 3, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 1, 3, Global.sParticleMulitplier, x, y, 5, 0, 0.5, 0.5, 0x444444, true);
dispatchEvent(new Event("hit"));
scaleY = (scaleY * 1.4);
scaleX = (scaleX * 1.4);
rotation = 0;
if (scaleX > 0){
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, transition:"easeOutCubic"});
} else {
Tweener.addTween(this, {scaleX:-1, scaleY:1, time:1, transition:"easeOutCubic"});
};
this.health = (this.health - _arg1);
if (health <= 0){
charDie();
return;
};
gotoAndPlay("hit");
if (Global.sParticleMulitplier != 0){
if (maxHealth > (health * 4)){
fireDelay = 30;
SmokeTimer.delay = (120 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
= true;
};
} else {
if (maxHealth > (health * 3)){
SmokeTimer.delay = (300 / Global.sParticleMulitplier);
fireDelay = 45;
trace("HERE");
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
} else {
if (maxHealth > (health * 1.5)){
fireDelay = 70;
= true;
SmokeTimer.delay = (750 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
};
};
};
};
}
}
}//package com.amp3d.blueberry
Section 34
//BossGravesHand (com.amp3d.blueberry.BossGravesHand)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class BossGravesHand extends MovieClip {
private var
:Number;// = 0
public var :Number;// = 0
public var target:MovieClip;
public var hit:MovieClip;
public var :String;// = "Slide"
private var stageRef:Stage;
public var vx:Number;// = 3
public var vy:Number;// = 0
private var :Number;// = 0
public function BossGravesHand(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=0):void{
vy = 0;
vx = 3;
= "Slide";
= 0;
= 0;
= 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.target = _arg2;
this. = _arg3;
= (120 + (_arg3 * 50));
= (270 + (_arg3 * 75));
}
public function init(){
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
private function Wave(){
if ((((y > (
+ 2))) || ((y < (
- 2))))){
vy = ((-1 * (y -
)) / 4);
};
if (rotation != (90 - ( * 180))){
rotation = (rotation + (2 - ( * 4)));
};
if (x > Global.wRightWall){
vx = (-1 * (7 + (Math.random() * 4)));
x = Global.wRightWall;
} else {
if (x < Global.wLeftWall){
vx = (7 + (Math.random() * 4));
x = Global.wLeftWall;
};
};
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
if (stageRef.contains(this)){
if (!_arg1){
stageRef.addChild(new AssetEnemyExplosion(stageRef, x, y));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 20, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 0, 30, Global.sParticleMulitplier, x, y, 10, 10, 1, 1, 0x888888, true);
};
BlueberryEventRegister.removeEventsByClip(this);
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
stageRef.removeChild(this);
};
}
private function Slam(){
vx = 0;
if (y < Global.wGround){
vy = (vy + 8);
} else {
vy = (vy / -3);
y = Global.wGround;
};
if ((((Math.abs(vy) < 2)) && ((y > (Global.wGround - 6))))){
vx = (5 + (Math.random() * 4));
= "Slide";
};
}
private function Slide(){
if (rotation != 0){
rotation = (rotation - (2 - ( * 4)));
};
if (y > ){
vy = (vy - 0.9);
} else {
y = ;
vy = 0;
};
if (x > Global.wRightWall){
vx = (-1 * (5 + (Math.random() * 4)));
x = Global.wRightWall;
} else {
if (x < Global.wLeftWall){
vx = (5 + (Math.random() * 4));
x = Global.wLeftWall;
};
};
}
public function loop(_arg1:Event){
var _local2:int;
x = (x + vx);
y = (y + vy);
var _local3 = this;
_local3[]();
if (y > (Global.wGround + 5)){
y = (Global.wGround + 5);
};
_local2 = Math.floor((Math.random() * 220));
if ((((((_local2 > 33)) && ((_local2 < 36)))) && (( == "Slide")))){
= "Slam";
vy = 2;
} else {
if (_local2 == 40){
= "Wave";
vx = 3;
} else {
if (_local2 == 44){
= "Slide";
vx = 3;
};
};
};
if (hit.hitTestObject(target.ball.hit)){
target.takeDamage(12, x, y, vx, vy, rotation, true);
};
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
}
}
}//package com.amp3d.blueberry
Section 35
//BossRaspberry (com.amp3d.blueberry.BossRaspberry)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
public class BossRaspberry extends MovieClip {
private var counter:int;// = 0
public var looseness:Number;// = 10
public var bulletDamage:Number;// = 10
public var decreasePoints:Number;// = 0
public var shadow:MovieClip;
private var :Number;
public var health:Number;// = 410
public var speed;// = 0.4
private var isJumping:Boolean;// = false
public var bbJumpHeight;// = 30
private var direction:int;// = 1
public var bulletSpeed:Number;// = 12
public var movementType;// = "toAndFro"
public var target:MovieClip;
public var hit:MovieClip;
private var :Number;
public var body:MovieClip;
public var bbShadowScale;// = 90
public var rotateSpeed;// = 25
private var stageRef:Stage;
public var bbMaxSpeed;// = 35
public var vy:Number;// = 0
public var vxL:Number;// = 0
public var vxR:Number;// = 0
public var isAlive:Boolean;// = false
public var maxHealth:Number;// = 410
public var killPoints:Number;// = 0
public var fireDelay:int;// = 25
public var moveSpeed:Number;// = 3
public function BossRaspberry(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=0):void{
vy = 0;
vxL = 0;
vxR = 0;
rotateSpeed = 25;
moveSpeed = 3;
fireDelay = 25;
health = 410;
maxHealth = 410;
bulletSpeed = 12;
bulletDamage = 10;
looseness = 10;
killPoints = 0;
decreasePoints = 0;
isAlive = false;
counter = 0;
bbShadowScale = 90;
speed = 0.4;
isJumping = false;
direction = 1;
bbMaxSpeed = 35;
movementType = "toAndFro";
bbJumpHeight = 30;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.target = _arg2;
initPoints(_arg3);
= ((Global.wRightWall * 0.5) + (Global.wLeftWall * 0.5));
x = ;
y = 0;
shadow.y = Global.wGround;
loadRun();
}
public function fireJam(){
var _local1:ProjRaspberryJam;
_local1 = new ProjRaspberryJam(stageRef, this, target);
stageRef.addChildAt(_local1, 1);
_local1.x = x;
_local1.y = body.y;
SoundPlayer.playEffect("sfxBlueberrySquelch", 0, 0.3);
}
public function initPoints(_arg1:Number):void{
this.killPoints = _arg1;
decreasePoints = Math.floor((_arg1 / 8000));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, losePoints);
}
public function fireBullet(){
}
public function toAndFro(){
if (direction == 0){
vxL = (vxL + speed);
vxR = (vxR * 0.9);
} else {
vxR = (vxR + speed);
vxL = (vxL * 0.9);
};
if (Math.ceil((Math.random() * 150)) == 30){
direction = ((direction + 5) % 2);
};
if (Math.abs((x - target.x)) < (((maxHealth - health) / 2) + 40)){
if ((((Math.ceil((Math.random() * 8)) == 4)) && ((body.y > (Global.wGround - 30))))){
vy = (-(bbJumpHeight) * Math.random());
};
if (Math.ceil((Math.random() * 10)) == 6){
if (body.y > target.getY()){
fireBubble();
} else {
fireJam();
};
};
};
}
public function losePoints(_arg1:Event):void{
killPoints = (killPoints - decreasePoints);
if (killPoints < 0){
killPoints = 0;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, losePoints);
};
}
public function (){
var _local1:ProjRaspberryVerb;
_local1 = new ProjRaspberryVerb(stageRef, this, target, 22);
stageRef.addChild(_local1);
_local1.x = x;
_local1.y = body.y;
SoundPlayer.playEffect("sfxBlueberrySquelch", 0, 0.3);
}
public function fireBubble(){
var _local1:ProjRaspberryBubble;
_local1 = new ProjRaspberryBubble(stageRef, this, target);
stageRef.addChild(_local1);
_local1.x = x;
_local1.y = body.y;
SoundPlayer.playEffect("sfxBlueberryBubble", 0, 0.7);
}
public function updateMovement(){
body.y = (body.y + vy);
x = (x + (vxR - vxL));
body.rotation = (body.rotation + ((vxR - vxL) * 1.2));
hit.y = body.y;
if (body.y < Global.wGround){
vy = (vy + Global.wGravity);
} else {
if (body.y > Global.wGround){
vy = (vy / -3);
SoundPlayer.playEffect("sfxBlueberryBounce", 0, (vy / 28));
isJumping = false;
body.y = Global.wGround;
if (Math.abs(vy) < 3){
vy = 0;
};
};
};
var _local1 = this;
_local1[movementType]();
if (vxL > bbMaxSpeed){
vxL = bbMaxSpeed;
} else {
if (vxR > bbMaxSpeed){
vxR = bbMaxSpeed;
};
};
if (x >= Global.wRightWall){
vxL = (vxL + (vxR * 0.5));
vxR = 0;
x = Global.wRightWall;
direction = 0;
} else {
if (x <= Global.wLeftWall){
vxR = (vxR + (vxL * 0.5));
vxL = 0;
x = Global.wLeftWall;
direction = 1;
};
};
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
var _local3:Whiteflash;
var _local4:AssetRaspberrySplatter;
if (stageRef.contains(this)){
SoundPlayer.stopAllSounds();
if (!_arg1){
Particular.explosion(stageRef, "AssetRaspberryDroplet", 1, 47, 3, x, body.y, 10, 25);
SoundPlayer.playEffect("sfxJuiceSplatter", 0, 1.6);
SoundPlayer.playEffect("sfxSomaJam", 0, 1);
_local3 = new Whiteflash(stageRef);
stageRef.addChild(_local3);
_local4 = new AssetRaspberrySplatter(stageRef);
stageRef.addChild(_local4);
_local4.x = x;
_local4.y = body.y;
_local4.rotation = (Math.random() * 360);
};
if (killPoints != 0){
Global.game.addPoints(killPoints);
};
if (isAlive){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
BlueberryEventRegister.removeEventsByClip(this);
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
Global.stBossesKilled++;
stageRef.removeChild(this);
};
}
public function loadRun(){
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
isAlive = true;
}
public function (){
body.rotation = 0;
if (body.y > Global.wEnemyYLine){
vy = (vy - (Global.wGravity * 2));
} else {
vy = 0;
body.y = Global.wEnemyYLine;
};
if (direction == 0){
vxL = (vxL + (speed / 2));
vxR = (vxR * 0.9);
} else {
vxR = (vxR + (speed / 2));
vxL = (vxL * 0.9);
};
if (Math.ceil((Math.random() * 30)) == 12){
();
};
}
public function loop(_arg1:Event){
updateMovement();
counter++;
if ((counter % fireDelay) == 0){
fireBullet();
};
shadow.scaleX = (1 + ((Global.wGround - body.y) / bbShadowScale));
shadow.alpha = (1 - ((Global.wGround - body.y) / (bbShadowScale * 2)));
if (this.hit.hitTestObject(target.ball.hit)){
target.takeDamage(7, x, body.y, (vxR - vxL), (vy / 2), rotation, true);
};
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
_arg1 = (_arg1 * (1 + (Global.ssLevelStrength * 0.1)));
Particular.explosion(stageRef, "AssetRaspberryDroplet", 0, (8 + (_arg1 / 2)), Global.sParticleMulitplier, x, body.y, 10, 25);
dispatchEvent(new Event("hit"));
body.scaleY = (body.scaleY * 1.4);
body.scaleX = (body.scaleX * 1.4);
if (scaleX > 0){
Tweener.addTween(body, {scaleX:1, scaleY:1, time:1, transition:"easeOutCubic"});
} else {
Tweener.addTween(body, {scaleX:-1, scaleY:1, time:1, transition:"easeOutCubic"});
};
this.health = (this.health - _arg1);
if (health <= 0){
charDie();
return;
};
body.gotoAndPlay("hit");
}
}
}//package com.amp3d.blueberry
Section 36
//BossReinfield (com.amp3d.blueberry.BossReinfield)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
public class BossReinfield extends MovieClip {
private var counter:int;// = 0
public var looseness:Number;// = 10
public var white:MovieClip;
public var decreasePoints:Number;// = 0
public var bulletDamage:Number;// = 10
public var SmokeTimer:Timer;
private var :Number;
public var :Number;// = 65
public var health:Number;// = 410
public var reinfield:MovieClip;
private var
;// = 0
public var shield:MovieClip;
public var bulletSpeed:Number;// = 12
public var target:MovieClip;
public var hit:MovieClip;
private var :Number;
public var rotateSpeed;// = 25
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public var :Boolean;// = false
public var isAlive:Boolean;// = false
public var maxHealth:Number;// = 410
public var killPoints:Number;// = 0
public var fireDelay:int;// = 25
public var moveSpeed:Number;// = 3
public function BossReinfield(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=0):void{
vy = 0;
vx = 0;
rotateSpeed = 25;
moveSpeed = 3;
fireDelay = 25;
health = 410;
maxHealth = 410;
bulletSpeed = 12;
bulletDamage = 10;
looseness = 10;
killPoints = 0;
decreasePoints = 0;
isAlive = false;
= false;
= 65;
counter = 0;
= 0;
super();
addFrameScript(9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.target = _arg2;
initPoints(_arg3);
shield.alpha = -2;
= ((Global.wRightWall * 0.5) + (Global.wLeftWall * 0.5));
= (Global.wEnemyYLine + 100);
shield.blendMode = "add";
SmokeTimer = new Timer(5000);
x = ;
y = -150;
Tweener.addTween(this, {y:, transition:"easeOut", time:2.5, onComplete:loadRun});
}
public function smoke(_arg1:TimerEvent){
var _local2:AssetRoxorSmoke;
_local2 = new AssetRoxorSmoke(stageRef, ((x + (width / 2)) - (Math.random() * width)), ((y + (height / 2)) - (Math.random() * height)), vx, 1.3, 0.4, (Math.random() / 2), 0x6A6A6A);
stageRef.addChild(_local2);
}
public function initPoints(_arg1:Number):void{
this.killPoints = _arg1;
decreasePoints = Math.floor((_arg1 / 8000));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, losePoints);
}
public function fireBullet(){
var _local1:int;
var _local2:ProjPakBullet;
_local1 = 0;
while (_local1 < 5) {
_local2 = new ProjPakBullet(stageRef, this, target, ((reinfield.rotation + 18) + (72 * _local1)), 15, 12);
_local2.x = x;
_local2.y = y;
_local2.moveForward(25);
stageRef.addChild(_local2);
SoundPlayer.playEffect("sfxSomaBulletFire", 0, 0.6);
_local1++;
};
}
function frame10(){
gotoAndStop(1);
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
if (stageRef.contains(this)){
if (!_arg1){
SoundPlayer.playEffect("sfxEnemyExplosion");
stageRef.addChild(new AssetEnemyExplosion(stageRef, x, y));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 70, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 0, 40, Global.sParticleMulitplier, x, y, 10, 10, 1, 1, 0x888888, true);
};
if (killPoints != 0){
Global.game.addPoints(killPoints);
};
if (isAlive){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
BlueberryEventRegister.removeEvent(SmokeTimer, "timer", smoke);
SmokeTimer.stop();
SmokeTimer = null;
BlueberryEventRegister.removeEventsByClip(this);
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
Global.stBossesKilled++;
stageRef.removeChild(this);
};
}
public function updateMovement(){
x = ( + (Math.sin((counter * 0.1)) * looseness));
y = ( + (Math.cos((counter * 0.1)) * looseness));
reinfield.rotation = (reinfield.rotation + 1.5);
}
public function (){
= true;
hit.scaleX = (hit.scaleY = 2);
Tweener.addTween(shield, {scaleX:1, scaleY:1, alpha:1, time:2, transition:"easeOutBounce"});
= 65;
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
public function loop(_arg1:Event){
updateMovement();
counter++;
if ((counter % fireDelay) == 0){
fireBullet();
};
if (!){
++;
if (
> 200){
= 0;
();
};
};
}
public function losePoints(_arg1:Event):void{
killPoints = (killPoints - decreasePoints);
if (killPoints < 0){
killPoints = 0;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, losePoints);
};
}
public function loadRun(){
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
isAlive = true;
();
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
if (){
if (_arg2 == "bubble"){
shield.alpha = 1.2;
Tweener.addTween(shield, {alpha:1, time:1});
} else {
shield.alpha = 5.2;
Tweener.addTween(shield, {alpha:1, time:1, transition:"easeInBounce"});
= ( - _arg1);
if ( <= 0){
shield.alpha = 4;
Tweener.addTween(shield, {alpha:0, scaleX:0, scaleY:0, time:1, transition:"easeIn"});
= false;
hit.scaleX = (hit.scaleY = 1);
= 0;
};
};
return;
};
if (_arg2 == "jam"){
_arg1 = (_arg1 / 1.5);
};
_arg1 = (_arg1 * (1 + (Global.ssLevelStrength * 0.1)));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 3, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 1, 3, Global.sParticleMulitplier, x, y, 5, 0, 0.5, 0.5, 0x444444, true);
dispatchEvent(new Event("hit"));
scaleY = (scaleY * 1.4);
scaleX = (scaleX * 1.4);
rotation = 0;
if (scaleX > 0){
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, transition:"easeOutCubic"});
} else {
Tweener.addTween(this, {scaleX:-1, scaleY:1, time:1, transition:"easeOutCubic"});
};
this.health = (this.health - _arg1);
if (health <= 0){
charDie();
return;
};
gotoAndPlay("hit");
if (Global.sParticleMulitplier != 0){
if (maxHealth > (health * 4)){
SmokeTimer.delay = (120 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
fireDelay = 12;
looseness = 50;
};
} else {
if (maxHealth > (health * 3)){
SmokeTimer.delay = (300 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
fireDelay = 16;
looseness = 40;
};
} else {
if (maxHealth > (health * 1.5)){
SmokeTimer.delay = (750 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
fireDelay = 22;
looseness = 20;
};
};
};
};
};
}
}
}//package com.amp3d.blueberry
Section 37
//BossSheli (com.amp3d.blueberry.BossSheli)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
public class BossSheli extends MovieClip {
private var counter:int;// = 0
public var bulletDamage:Number;// = 10
public var nadeLoc:MovieClip;
public var sheli:MovieClip;
public var decreasePoints:Number;// = 0
public var SmokeTimer:Timer;
private var :Number;
public var health:Number;// = 500
public var :int;// = 45
public var bulletSpeed:Number;// = 12
public var target:MovieClip;
public var hit:MovieClip;
private var :Number;
private var stageRef:Stage;
public var vx:Number;// = -14
public var vy:Number;// = 0
public var isAlive:Boolean;// = false
public var bulletLoc:MovieClip;
public var maxHealth:Number;// = 500
public var killPoints:Number;// = 0
public var fireDelay:int;// = 9
public var moveSpeed:Number;// = 3
public function BossSheli(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=0):void{
vy = 0;
vx = -14;
moveSpeed = 3;
fireDelay = 9;
= 45;
health = 500;
maxHealth = 500;
bulletSpeed = 12;
bulletDamage = 10;
killPoints = 0;
decreasePoints = 0;
isAlive = false;
counter = 0;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.target = _arg2;
initPoints(_arg3);
= ((Global.wRightWall * 0.5) + (Global.wLeftWall * 0.5));
= (Global.wEnemyYLine + 100);
SmokeTimer = new Timer(5000);
x = ;
y = -150;
Tweener.addTween(this, {y:, transition:"easeOut", time:1, onComplete:loadRun});
}
public function smoke(_arg1:TimerEvent){
var _local2:AssetRoxorSmoke;
_local2 = new AssetRoxorSmoke(stageRef, ((x + (width / 2)) - (Math.random() * width)), ((y + (height / 2)) - (Math.random() * height)), vx, 1.3, 0.4, (Math.random() / 2), 0x6A6A6A);
stageRef.addChild(_local2);
}
public function (_arg1:Event){
if (x > (Global.wRightWall + 120)){
Tweener.removeTweens(this);
scaleX = (scaleX / Math.abs(scaleX));
scaleY = 1;
x = (Global.wRightWall + 120);
scaleX = (scaleX * -1);
vx = (vx * -1);
= (Global.wEnemyYLine + (Math.random() * (Global.wEnemyAtmosphereLine - Global.wEnemyYLine)));
} else {
if (x < (Global.wLeftWall - 120)){
Tweener.removeTweens(this);
scaleX = (scaleX / Math.abs(scaleX));
scaleY = 1;
x = (Global.wLeftWall - 120);
vx = (vx * -1);
scaleX = (scaleX * -1);
= (Global.wEnemyYLine + (Math.random() * (Global.wEnemyAtmosphereLine - Global.wEnemyYLine)));
};
};
}
public function initPoints(_arg1:Number):void{
this.killPoints = _arg1;
decreasePoints = Math.floor((_arg1 / 8000));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, losePoints);
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
_arg1 = (_arg1 * (1 + (Global.ssLevelStrength * 0.1)));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 3, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 1, 3, Global.sParticleMulitplier, x, y, 5, 0, 0.5, 0.5, 0x444444, true);
dispatchEvent(new Event("hit"));
scaleY = (scaleY * 1.4);
scaleX = (scaleX * 1.4);
rotation = 0;
if (scaleX > 0){
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, transition:"easeOutCubic"});
} else {
Tweener.addTween(this, {scaleX:-1, scaleY:1, time:1, transition:"easeOutCubic"});
};
this.health = (this.health - _arg1);
if (health <= 0){
charDie();
return;
};
gotoAndPlay("hit");
if (Global.sParticleMulitplier != 0){
if (maxHealth > (health * 4)){
SmokeTimer.delay = (120 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
= 30;
vx = ((scaleX / Math.abs(scaleX)) * -23);
fireDelay = 5;
};
} else {
if (maxHealth > (health * 3)){
SmokeTimer.delay = (300 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
= 35;
vx = ((scaleX / Math.abs(scaleX)) * -20);
fireDelay = 7;
};
} else {
if (maxHealth > (health * 1.5)){
SmokeTimer.delay = (750 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
= 40;
vx = ((scaleX / Math.abs(scaleX)) * -17);
fireDelay = 8;
};
};
};
};
};
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
public function losePoints(_arg1:Event):void{
killPoints = (killPoints - decreasePoints);
if (killPoints < 0){
killPoints = 0;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, losePoints);
};
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
if (stageRef.contains(this)){
if (!_arg1){
SoundPlayer.playEffect("sfxEnemyExplosion");
stageRef.addChild(new AssetEnemyExplosion(stageRef, x, y));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 70, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 0, 40, Global.sParticleMulitplier, x, y, 10, 10, 1, 1, 0x888888, true);
};
if (killPoints != 0){
Global.game.addPoints(killPoints);
};
if (isAlive){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
BlueberryEventRegister.removeEvent(SmokeTimer, "timer", smoke);
SmokeTimer.stop();
SmokeTimer = null;
BlueberryEventRegister.removeEventsByClip(this);
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
Global.stBossesKilled++;
stageRef.removeChild(this);
};
}
public function updateMovement(){
x = (x + vx);
y = ( + (Math.sin((counter * 0.1)) * 8));
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
public function loop(_arg1:Event){
updateMovement();
counter++;
if ((counter % fireDelay) == 0){
();
};
if (((((((counter % ) == 0)) && ((x > Global.wLeftWall)))) && ((x < Global.wRightWall)))){
();
};
if (this.hit.hitTestObject(target.ball.hit)){
target.takeDamage(10, x, y, (vx * 2), vy, rotation, true);
};
}
private function (){
var _local1:ProjPakBullet;
var _local2:Point;
_local1 = new ProjPakBullet(stageRef, this, target, (90 + (scaleX * 28)), 12, 10);
_local2 = localToGlobal(new Point(bulletLoc.x, bulletLoc.y));
_local1.x = _local2.x;
_local1.y = _local2.y;
stageRef.addChild(_local1);
SoundPlayer.playEffect("sfxSomaBulletFire", 0, 1);
}
public function loadRun(){
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
isAlive = true;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, );
}
private function (){
var _local1:ProjGrenade;
var _local2:Point;
_local1 = new ProjGrenade(stageRef, this, target, (270 - (scaleX * 45)), 20, 20);
_local2 = localToGlobal(new Point(nadeLoc.x, nadeLoc.y));
_local1.x = _local2.x;
_local1.y = _local2.y;
stageRef.addChild(_local1);
SoundPlayer.playEffect("sfxFireGrenade", 0, 1);
}
}
}//package com.amp3d.blueberry
Section 38
//CharBlueberry (com.amp3d.blueberry.CharBlueberry)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.senocular.utils.*;
import flash.utils.*;
import flash.system.*;
public class CharBlueberry extends MovieClip {
public var ;// = 1.2
private var
;// = "mad"
private var :MovieClip;
public var :Number;// = 0
public var key:KeyObject;
public var isJumping:Boolean;// = false
public var ;// = 180
public var bbAccel;// = 0.8
public var bbJamCost;// = 0
public var ;// = true
private var stageRef:Stage;
public var
;// = true
public var vy:Number;// = 0
public var ;// = 350
public var :Boolean;// = true
public var bbBubbleCost;// = 0
public var ;// = 180
public var :Timer;
public var ;// = 8000
public var :AssetBlueberryGlow;
public var shadow:MovieClip;
public var ;// = 350
public var ;// = 50
public var
:Array;
public var bbJamTimer;// = 600
public var
:Timer;
public var bbJumpHeight;// = 28
public var shield:WeapShield;
public var :Boolean;// = true
public var :Timer;
public var :Boolean;// = true
private var body:MovieClip;
public var :Timer;
public var bbMaxSpeed;// = 26
public var bbShadowScale;// = 90
public var bbBubbleTimer;// = 900
public var :Timer;
public var vxL:Number;// = 0
public var vxR:Number;// = 0
public var :Array;
public var :Timer;
public var ball:MovieClip;
public function CharBlueberry(_arg1:Stage=null, _arg2:Boolean=true):void{
vy = 0;
vxL = 0;
vxR = 0;
isJumping = false;
= true;
= true;
= true;
= new Array();
bbMaxSpeed = 26;
bbJumpHeight = 28;
= 50;
bbShadowScale = 90;
bbAccel = 0.8;
= 1.2;
bbBubbleTimer = 900;
bbJamTimer = 600;
= 8000;
= 180;
= 180;
= 350;
= 350;
bbJamCost = 0;
bbBubbleCost = 0;
= true;
= "mad";
= 0;
= ["normal", "dura"];
= true;
super();
if (_arg1 == null){
return;
};
= this["shadow"];
body = this["ball"];
ball.gotoAndStop(
);
x = ;
.y = Global.wGround;
this.stageRef = _arg1;
this.
= _arg2;
= _arg2;
= ( = ( + (Global.ssLevelHealth * 12)));
= ( = ( + (Global.ssLevelJuice * 20)));
bbJamCost = Global.bbJamCost;
bbBubbleCost = Global.bbBubbleCost;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
key = new KeyObject(_arg1);
}
private function ():void{
var _local1:ProjDuraBubble;
_local1 = new ProjDuraBubble(stageRef, this);
stageRef.addChild(_local1);
_local1.x = x;
_local1.y = body.y;
dispatchEvent(new Event("fireBubble"));
Global.stBubblesFired++;
SoundPlayer.playEffect("sfxBlueberryBubble", 0, 1);
}
public function (_arg1:Number):Boolean{
if (!
){
return (false);
};
if (( - _arg1) > 0){
= ( - _arg1);
Global.hudGoo.updateJuice(( / ));
return (true);
};
SoundPlayer.playEffect("sfxOutOfJuice", 0, 1);
Global.hudGoo.updateJuice(( / ), 0xFF0000);
return (false);
}
public function setX(_arg1):void{
x = _arg1;
}
public function (_arg1:String){
var _local2:int;
_local2 = 0;
while (_local2 < .length) {
if ([_local2][0] == _arg1){
return (_local2);
};
_local2++;
};
return (-1);
}
public function (_arg1:TimerEvent=null):void{
var _local2:Number;
var _local3:Number;
.stop();
BlueberryEventRegister.removeEvent(, "timer", );
_local2 = ("MAGICJUICE");
_local3 = 2;
while (_local3 < [_local2].length) {
this[[_local2][_local3][0]] = [_local2][_local3][1];
_local3++;
};
.splice(_local2, 1);
stageRef.removeChild();
}
public function (_arg1:int):void{
SoundPlayer.playEffect("sfxWeaponSwitch", 0, 0.8);
= false;
= new Timer(225);
.addEventListener("timer", , false, 0, true);
.start();
if (_arg1 == 1){
++;
if ( ==
.length){
= 0;
};
} else {
--;
if ( == -1){
= (
.length - 1);
};
};
Global.bubGoo.changeTo();
}
public function getVX():Number{
return ((vxR - vxL));
}
public function loop(_arg1:Event):void{
var _local2:String;
var _local3:ProjJam;
var _local4:Number;
if (vxL < 0){
vxL = 0;
} else {
if (vxR < 0){
vxR = 0;
};
};
if (vxL > bbMaxSpeed){
vxL = bbMaxSpeed;
} else {
if (vxR > bbMaxSpeed){
vxR = bbMaxSpeed;
};
};
.scaleX = (1 + ((Global.wGround - body.y) / bbShadowScale));
.alpha = (1 - ((Global.wGround - body.y) / (bbShadowScale * 2)));
body.y = (body.y + vy);
x = (x + (vxR - vxL));
body.rotation = (body.rotation + ((vxR - vxL) * ));
if (x >= Global.wRightWall){
vxL = (vxL + (vxR / Global.wWallBounce));
vxR = 0;
x = Global.wRightWall;
} else {
if (x <= Global.wLeftWall){
vxR = (vxR + (vxL / Global.wWallBounce));
vxL = 0;
x = Global.wLeftWall;
};
};
if (body.y < Global.wGround){
vy = (vy + Global.wGravity);
} else {
if (body.y > Global.wGround){
vy = (vy / -3);
SoundPlayer.playEffect("sfxBlueberryBounce", 0, (vy / 40));
isJumping = false;
body.y = Global.wGround;
if (Math.abs(vy) < 3){
vy = 0;
};
};
};
if (key.isDown(Global.sKeyMoveLeft)){
vxL = (vxL + bbAccel);
if (vxR > 0){
vxR = (vxR - bbAccel);
};
} else {
if (key.isDown(Global.sKeyMoveRight)){
vxR = (vxR + bbAccel);
if (vxL > 0){
vxL = (vxL - bbAccel);
};
} else {
if (vxL > 0){
vxL = (vxL - bbAccel);
};
if (vxR > 0){
vxR = (vxR - bbAccel);
};
};
};
if (key.isDown(Global.sKeyJump)){
if (!isJumping){
vy = -(bbJumpHeight);
isJumping = true;
};
} else {
if (key.isDown(Global.sKeyDive)){
_local2 = (Number(((System.totalMemory / 0x0400) / 0x0400)).toFixed(2) + "Mb");
trace(_local2);
vy = (vy + 3);
};
};
if (key.isDown(Global.sKeyBubble)){
if ((() && ((bbBubbleCost)))){
= new Timer(bbBubbleTimer);
BlueberryEventRegister.addEvent( , "timer", );
.start();
= false;
switch (
[]){
case "normal":
();
break;
case "dura":
();
break;
};
};
};
if (key.isDown(Global.sKeyJam)){
if ((() && ((bbJamCost)))){
setEmotion("squint");
= new Timer(bbJamTimer);
BlueberryEventRegister.addEvent(, "timer", );
.start();
= false;
_local3 = new ProjJam(stageRef, this);
stageRef.addChildAt(_local3, 1);
_local3.x = x;
_local3.y = body.y;
dispatchEvent(new Event("fireJam"));
SoundPlayer.playEffect("sfxSomaJam", 0, 0.6);
Global.stJamDropped++;
};
};
if (((key.isDown(Global.sKeyBblChngLeft)) && ())){
(-1);
} else {
if (((key.isDown(Global.sKeyBblChngRight)) && ())){
(1);
};
};
if ((((((vxL == 0)) && ((vxR == 0)))) && ((vy == 0)))){
_local4 = (Global.bbJuiceGain + (Global.ssLevelRecharge * 0.03));
Global.stJuiceFromRest = (Global.stJuiceFromRest + _local4);
getJuice(_local4, 2289390, 0.1);
};
}
public function (_arg1:TimerEvent){
var _local2:AssetBlueberryCasting;
var _local3:Number;
var _local4:Number;
if (_arg1.target.currentCount == (Global.pHasteNumTicks + (Global.ssLevelLongevity * 10))){
_local3 = ("HASTE");
_local4 = 2;
while (_local4 < [_local3].length) {
this[[_local3][_local4][0]] = [_local3][_local4][1];
_local4++;
};
.splice(_local3, 1);
};
_local2 = new AssetBlueberryCasting(stageRef, x, body.y, (1 - (_arg1.target.currentCount / ((Global.pHasteNumTicks + (Global.ssLevelLongevity * 10)) * 1.5))));
stageRef.addChildAt(_local2, 1);
}
public function takeDamage(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
if (_arg7){
takeKnockback(_arg4, _arg5);
};
if (!){
return;
};
SoundPlayer.playEffect("sfxJuiceSplatter", 0, (_arg1 / 25));
= ( - _arg1);
if ( <= 0){
dispatchEvent(new Event("dead"));
};
Global.hudGoo.updateHealth(( / ));
setEmotion("fury");
Particular.explosion(stageRef, "AssetBlueberryDroplet", 0, (8 + (_arg1 / 2)), Global.sParticleMulitplier, x, body.y, 10, 25);
}
public function pickUpSpeed(_arg1:Number):void{
var _local2:Number;
_local2 = ("HASTE");
if (_local2 == -1){
= new Timer(Global.pHasteTick, (Global.pHasteNumTicks + (Global.ssLevelLongevity * 10)));
BlueberryEventRegister.addEvent( , "timer", );
.start();
.push(["HASTE", , ["bbMaxSpeed", bbMaxSpeed], ["bbAccel", bbAccel], ["bbBubbleTimer", bbBubbleTimer], ["bbJamTimer", bbJamTimer]]);
bbMaxSpeed = (bbMaxSpeed * _arg1);
bbAccel = (bbAccel * _arg1);
bbBubbleTimer = (bbBubbleTimer / _arg1);
bbJamTimer = (bbJamTimer / _arg1);
} else {
[_local2][1].reset();
[_local2][1].start();
};
}
public function (_arg1:TimerEvent):void{
= true;
.stop();
BlueberryEventRegister.removeEvent(, "timer", );
}
public function takeKnockback(_arg1:Number=0, _arg2:Number=0, _arg3:Boolean=false){
var _local4:Number;
var _local5:Number;
var _local6:Number;
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return;
};
if (_arg2 == 0){
_arg2 = 1;
};
if (_arg1 == 0){
_arg1 = 1;
};
_local4 = (_arg1 / Math.abs(_arg1));
_local5 = (_arg2 / Math.abs(_arg2));
_local6 = 1;
if (_arg3){
_local6 = 10;
};
_arg1 = (Math.abs(_arg1) - (Global.ssLevelResistance / _local6));
_arg2 = (Math.abs(_arg2) - (Global.ssLevelResistance / _local6));
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg2 < 0){
_arg2 = 0;
};
_arg1 = (_arg1 * _local4);
_arg2 = (_arg2 * _local5);
this.vy = (this.vy + _arg2);
if (Math.abs(_arg2) > 5){
isJumping = true;
};
if (_arg1 < 0){
vxL = (vxL + Math.abs(_arg1));
} else {
vxR = (vxR + _arg1);
};
}
public function pickUpMagicJuice():void{
var _local1:Number;
_local1 = ("MAGICJUICE");
if (_local1 == -1){
= new Timer(( + (Global.ssLevelLongevity * 500)));
BlueberryEventRegister.addEvent(, "timer", );
.start();
.push(["MAGICJUICE", , ["bbJamCost", bbJamCost], ["bbBubbleCost", bbBubbleCost]]);
bbJamCost = (bbJamCost / 10);
bbBubbleCost = (bbBubbleCost / 10);
= new AssetBlueberryGlow(stageRef, this);
stageRef.addChild();
.x = x;
.y = body.y;
} else {
[_local1][1].reset();
[_local1][1].start();
};
}
public function (_arg1:TimerEvent):void{
= true;
.stop();
BlueberryEventRegister.removeEvent( , "timer", );
}
public function (_arg1:TimerEvent=null):void{
= true;
.stop();
BlueberryEventRegister.removeEvent(
, "timer", );
shield.removeSelf();
}
public function setEmotion(_arg1:String){
ball.gotoAndPlay(_arg1);
}
private function ():void{
var _local1:ProjBubble;
_local1 = new ProjBubble(stageRef, this);
stageRef.addChild(_local1);
_local1.x = x;
_local1.y = body.y;
dispatchEvent(new Event("fireBubble"));
Global.stBubblesFired++;
SoundPlayer.playEffect("sfxBlueberryBubble", 0, 1);
}
public function getJuice(_arg1:Number, _arg2:Number=0xFFFFFF, _arg3:Number=0.9){
= ( + _arg1);
if ( > ){
= ;
};
if (
){
Global.hudGoo.updateJuice(( / ), _arg2, _arg3);
};
}
public function takeHealth(_arg1:Number){
setEmotion("celestial");
= ( + _arg1);
if ( < ){
= ;
};
Global.hudGoo.updateHealth(( / ), 0xFFFFFF);
}
public function getX():Number{
return (x);
}
public function getY():Number{
return (body.y);
}
public function pickUpInvincible():void{
if (){
= new Timer(( + (Global.ssLevelLongevity * 500)));
BlueberryEventRegister.addEvent(
, "timer", );
.start();
= false;
shield = new WeapShield(stageRef, this);
stageRef.addChild(shield);
shield.x = x;
shield.y = body.y;
};
}
private function (_arg1:TimerEvent):void{
.removeEventListener("timer", );
.stop();
= true;
}
public function removeSelf(){
if ( != null){
.stop();
};
BlueberryEventRegister.removeEventsByClip(
);
BlueberryEventRegister.removeEventsByClip();
BlueberryEventRegister.removeEventsByClip( );
BlueberryEventRegister.removeEventsByClip( );
BlueberryEventRegister.removeEventsByClip(this);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 39
//CharCurvain (com.amp3d.blueberry.CharCurvain)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class CharCurvain extends CharEnemy {
public var wheel:MovieClip;
public var rotateSpeed:Number;// = 0
public var hit:MovieClip;
private var stageRef:Stage;
public function CharCurvain(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5="frRhythm", _arg6=2500, _arg7=200, _arg8=12, _arg9=10):void{
rotateSpeed = 0;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.bulletSpeed = _arg8;
this.bulletDamage = _arg9;
this.stageRef = _arg1;
initialize(_arg1, _arg2, _arg7);
initMovement(_arg3, _arg4);
initFire(_arg5, _arg6);
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
override public function loop(_arg1:Event){
updateMovement();
rotateSpeed = (rotateSpeed + (500 / fireDelay));
wheel.rotation = (wheel.rotation + rotateSpeed);
}
override public function fireBullet(_arg1:TimerEvent){
var _local2:ProjWaveBullet;
rotateSpeed = (rotateSpeed / 2);
_local2 = new ProjWaveBullet(stageRef, this, target, 90, bulletSpeed, bulletDamage);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
SoundPlayer.playEffect("sfxSomaBulletFire", 0, 0.4);
}
}
}//package com.amp3d.blueberry
Section 40
//CharEnemy (com.amp3d.blueberry.CharEnemy)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
public class CharEnemy extends MovieClip {
public var bulletDamage:Number;// = 10
public var mvArray:Array;
public var SmokeTimer:Timer;
private var
:Number;// = 3
public var decreasePoints:Number;// = 0
public var fireAngle:Number;
public var health:Number;// = 200
public var bulletSpeed:Number;// = 12
public var movementType:String;
public var target:MovieClip;
public var fireType:String;
private var
:Number;
public var FireTimer:Timer;
private var stageRef:Stage;
public var normalFire:Boolean;// = true
public var vx:Number;// = 0
public var vy:Number;// = 0
public var isAlive:Boolean;// = false
public var maxHealth:Number;// = 200
public var killPoints:Number;// = 0
public var fireProximity:Number;// = 50
public var fireDelay:int;// = 2500
public var moveSpeed:Number;// = 3
public function CharEnemy():void{
vy = 0;
vx = 0;
moveSpeed = 3;
fireDelay = 2500;
health = 200;
fireProximity = 50;
maxHealth = 200;
bulletSpeed = 12;
bulletDamage = 10;
normalFire = true;
= 3;
killPoints = 0;
decreasePoints = 0;
isAlive = false;
super();
}
public function smoke(_arg1:TimerEvent){
var _local2:AssetRoxorSmoke;
_local2 = new AssetRoxorSmoke(stageRef, ((x + (width / 2)) - (Math.random() * width)), ((y + (height / 2)) - (Math.random() * height)), vx, 1.3, 0.4, (Math.random() / 2), 0x888888);
stageRef.addChild(_local2);
}
public function mvFollowTarget(){
if (target.x > x){
vx = (vx + (mvArray[0] / mvArray[2]));
if (vx > mvArray[1]){
vx = mvArray[1];
};
} else {
if (target.x < x){
vx = (vx - (mvArray[0] / mvArray[2]));
if (vx < (-1 * mvArray[1])){
vx = (-1 * mvArray[1]);
};
};
};
}
public function initPoints(_arg1:Number):void{
this.killPoints = _arg1;
decreasePoints = Math.floor((_arg1 / 4000));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, losePoints);
}
public function fireBullet(_arg1:TimerEvent){
var _local2:ProjPakBullet;
_local2 = new ProjPakBullet(stageRef, this, target, 90);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
_arg1 = (_arg1 * (1 + (Global.ssLevelStrength * 0.1)));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 3, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 1, 3, Global.sParticleMulitplier, x, y, 5, 0, 0.5, 0.5, 0x444444, true);
dispatchEvent(new Event("hit"));
scaleY = (scaleY * 1.4);
scaleX = (scaleX * 1.4);
if (scaleX > 0){
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, transition:"easeOutCubic"});
} else {
Tweener.addTween(this, {scaleX:-1, scaleY:1, time:1, transition:"easeOutCubic"});
};
this.health = (this.health - _arg1);
if (health <= 0){
charDie();
return;
};
gotoAndPlay("hit");
if (Global.sParticleMulitplier != 0){
if (maxHealth > (health * 4)){
SmokeTimer.delay = (60 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
} else {
if (maxHealth > (health * 3)){
SmokeTimer.delay = (150 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
} else {
if (maxHealth > (health * 2)){
SmokeTimer.delay = (300 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
};
};
};
};
}
public function mvWallRunRandom(){
if (x > Global.wRightWall){
vx = (-1 * (mvArray[0] + (Math.random() * mvArray[1])));
x = Global.wRightWall;
dispatchEvent(new Event("changeDirection"));
} else {
if (x < Global.wLeftWall){
vx = (mvArray[0] + (Math.random() * mvArray[1]));
x = Global.wLeftWall;
dispatchEvent(new Event("changeDirection"));
};
};
}
public function losePoints(_arg1:Event):void{
killPoints = (killPoints - decreasePoints);
if (killPoints < 0){
killPoints = 0;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, losePoints);
};
}
public function initFire(_arg1:String, _arg2:int, _arg3:int=60, _arg4:Number=-1){
this.fireType = _arg1;
this.fireDelay = _arg2;
this.fireProximity = _arg3;
FireTimer = new Timer(_arg2);
BlueberryEventRegister.addEvent(FireTimer, "timer", fireBullet);
}
public function mvCrazy(){
if (x > Global.wRightWall){
vx = (vx * -1);
x = Global.wRightWall;
} else {
if (x < Global.wLeftWall){
vx = (vx * -1);
x = Global.wLeftWall;
};
};
vx = (vx + ((Math.random() * (mvArray[0] / mvArray[2])) - (Math.random() * (mvArray[0] / mvArray[2]))));
if (vx < (-1 * mvArray[1])){
vx = (-1 * mvArray[1]);
} else {
if (vx > mvArray[1]){
vx = mvArray[1];
};
};
}
public function mvWallRun(){
if (x > Global.wRightWall){
vx = (vx * -1);
x = Global.wRightWall;
dispatchEvent(new Event("changeDirection"));
} else {
if (x < Global.wLeftWall){
vx = (vx * -1);
x = Global.wLeftWall;
dispatchEvent(new Event("changeDirection"));
};
};
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
dispatchEvent(new Event("characterDie"));
if (stageRef.contains(this)){
if (!_arg1){
SoundPlayer.playEffect("sfxEnemyExplosion");
stageRef.addChild(new AssetEnemyExplosion(stageRef, x, y));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 40, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 0, 20, Global.sParticleMulitplier, x, y, 10, 10, 1, 1, 0x888888, true);
};
if (killPoints != 0){
Global.game.addPoints(killPoints);
};
if (isAlive){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
BlueberryEventRegister.removeEvent(SmokeTimer, "timer", smoke);
SmokeTimer.stop();
SmokeTimer = null;
FireTimer.stop();
BlueberryEventRegister.removeEventsByClip(this);
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
BlueberryEventRegister.removeEvent(FireTimer, "timer", fireBullet);
FireTimer = null;
Global.stEnemiesKilled++;
stageRef.removeChild(this);
};
}
public function updateMovement(){
if (fireType == Global.FIREPROXIMITY){
if (((((x + fireProximity) > target.x)) && (((x - fireProximity) < target.x)))){
FireTimer.start();
} else {
FireTimer.stop();
};
};
var _local1 = this;
_local1[movementType]();
x = (x + vx);
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
public function mvNone(){
vx = 0;
}
public function loadRun(_arg1:Event){
if (y > (Global.wEnemyYLine + 2)){
x = (x - ((x -
) / 20));
y = (y - ((y - Global.wEnemyYLine) / 20));
alpha = (scaleX = (scaleY = (scaleY - ((alpha - 1) / 20))));
} else {
FireTimer.start();
y = Global.wEnemyYLine;
alpha = (scaleX = (scaleY = 1));
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loadRun);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
isAlive = true;
};
}
public function loop(_arg1:Event){
}
public function initialize(_arg1:Stage, _arg2:MovieClip, _arg3:Number, _arg4:Boolean=false){
this.stageRef = _arg1;
this.target = _arg2;
maxHealth = _arg3;
this.health = _arg3;
SmokeTimer = new Timer(5000);
if (!_arg4){
vx = moveSpeed;
= (Math.random() * _arg1.stageWidth);
x = (304 + ((
/ _arg1.stageWidth) * 90));
this.y = 260;
scaleX = (scaleY = 0);
alpha = 0;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loadRun);
};
}
public function initMovement(_arg1:String, _arg2:Array){
this.movementType = _arg1;
this.mvArray = _arg2;
vx = _arg2[0];
}
}
}//package com.amp3d.blueberry
Section 41
//CharFlyerEnemy (com.amp3d.blueberry.CharFlyerEnemy)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
public class CharFlyerEnemy extends MovieClip {
public var mvArray:Array;
public var SmokeTimer:Timer;
private var
:Number;// = 3
public var decreasePoints:Number;// = 0
public var fireAngle:Number;
public var health:Number;// = 200
private var
:Number;
public var movementType:String;
public var target:MovieClip;
public var fireType:String;
public var FireTimer:Timer;
private var stageRef:Stage;
public var normalFire:Boolean;// = true
public var vx:Number;// = 0
public var vy:Number;// = 0
public var isAlive:Boolean;// = false
public var :Timer;
public var maxHealth:Number;// = 200
public var killPoints:Number;// = 0
public var fireProximity:Number;// = 50
public var fireDelay:int;// = 2500
public var moveSpeed:Number;// = 3
public var
:Number;// = 0
public function CharFlyerEnemy():void{
vy = 0;
vx = 0;
moveSpeed = 3;
fireDelay = 2500;
health = 200;
fireProximity = 50;
maxHealth = 200;
normalFire = true;
= 0;
= 3;
killPoints = 0;
decreasePoints = 0;
isAlive = false;
super();
}
public function smoke(_arg1:TimerEvent){
var _local2:AssetRoxorSmoke;
_local2 = new AssetRoxorSmoke(stageRef, ((x + (width / 2)) - (Math.random() * width)), ((y + (height / 2)) - (Math.random() * height)), vx, 1.3, 0.4, (Math.random() / 2), 0x888888);
stageRef.addChild(_local2);
}
public function initPoints(_arg1:Number){
this.killPoints = _arg1;
decreasePoints = Math.floor((_arg1 / 4000));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, losePoints);
}
public function fireBullet(_arg1:TimerEvent){
var _local2:ProjPakBullet;
_local2 = new ProjPakBullet(stageRef, this, target, 90);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
}
public function doDamage(_arg1:Number, _arg2:String="jam"){
_arg1 = (_arg1 * (1 + (Global.ssLevelStrength * 0.1)));
Particular.explosion(stageRef, "AssetExplodeParts", 0, 3, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 1, 3, Global.sParticleMulitplier, x, y, 5, 0, 0.5, 0.5, 0x444444, true);
scaleY = 1.4;
scaleX = 1.4;
if (scaleX > 0){
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, transition:"easeOutCubic"});
} else {
Tweener.addTween(this, {scaleX:-1, scaleY:1, time:1, transition:"easeOutCubic"});
};
this.health = (this.health - _arg1);
if (health <= 0){
charDie();
return;
};
gotoAndPlay("hit");
if (Global.sParticleMulitplier != 0){
if (maxHealth > (health * 4)){
SmokeTimer.delay = (60 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
} else {
if (maxHealth > (health * 3)){
SmokeTimer.delay = (150 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
} else {
if (maxHealth > (health * 2)){
SmokeTimer.delay = (300 / Global.sParticleMulitplier);
if (!SmokeTimer.hasEventListener("timer")){
BlueberryEventRegister.addEvent(SmokeTimer, "timer", smoke);
SmokeTimer.start();
};
};
};
};
};
}
public function losePoints(_arg1:Event){
killPoints = (killPoints - decreasePoints);
if (killPoints < 0){
killPoints = 0;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, losePoints);
};
}
public function initFire(_arg1:String, _arg2:int, _arg3:int=50, _arg4:Number=-1){
this.fireType = _arg1;
this.fireDelay = _arg2;
this.fireProximity = _arg3;
FireTimer = new Timer(_arg2);
BlueberryEventRegister.addEvent(FireTimer, "timer", fireBullet);
}
public function (_arg1:TimerEvent){
var _local2:Number;
var _local3:Number;
_local2 = (Global.wLeftWall + (Math.random() * (Global.wRightWall - Global.wLeftWall)));
_local3 = (Global.wEnemyYLine + (Math.random() * (Global.wEnemyAtmosphereLine - Global.wEnemyYLine)));
Tweener.addTween(this, {x:_local2, y:_local3, time:mvArray[1], transition:"easeOut"});
}
public function charDie(_arg1:Boolean=false){
var _local2:int;
if (stageRef.contains(this)){
if (!_arg1){
SoundPlayer.playEffect("sfxEnemyExplosion");
Particular.explosion(stageRef, "AssetExplodeParts", 0, 50, Global.sParticleMulitplier, x, y, 20, 20, 1);
Particular.explosion(stageRef, "AssetRoxorSmoke", 0, 25, Global.sParticleMulitplier, x, y, 10, 10, 1, 1, 0x888888, true);
};
if (movementType == "mvHop"){
BlueberryEventRegister.removeEvent(, "timer", );
.stop();
= null;
};
Global.game.addPoints(killPoints);
BlueberryEventRegister.removeEventsByClip(this);
if (isAlive){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
BlueberryEventRegister.removeEvent(SmokeTimer, "timer", smoke);
SmokeTimer.stop();
SmokeTimer = null;
BlueberryEventRegister.removeEvent(FireTimer, "timer", fireBullet);
FireTimer.stop();
FireTimer = null;
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.name == Global.wEnemyList[_local2].name){
Global.wEnemyList.splice(_local2, 1);
};
_local2++;
};
Global.stEnemiesKilled++;
stageRef.removeChild(this);
};
}
public function (){
if (x > Global.wRightWall){
vx = (vx * -1);
x = Global.wRightWall;
} else {
if (x < Global.wLeftWall){
vx = (vx * -1);
x = Global.wLeftWall;
};
};
if (y > Global.wEnemyAtmosphereLine){
vy = (vy * -1);
y = Global.wEnemyAtmosphereLine;
} else {
if (x < Global.wEnemyYLine){
vy = (vy * -1);
y = Global.wEnemyYLine;
};
};
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
public function initialize(_arg1:Stage, _arg2:MovieClip, _arg3:Number){
this.stageRef = _arg1;
this.target = _arg2;
maxHealth = _arg3;
this.health = _arg3;
SmokeTimer = new Timer(5000);
= (Math.random() * _arg1.stageWidth);
x = (304 + ((
/ _arg1.stageWidth) * 90));
this.y = 260;
scaleX = (scaleY = 0);
alpha = 0;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loadRun);
}
public function updateMovement(){
++;
if (fireType == Global.FIREPROXIMITY){
if (((((x + fireProximity) > target.x)) && (((x - fireProximity) < target.x)))){
FireTimer.start();
} else {
FireTimer.stop();
};
};
var _local1 = this;
_local1[movementType]();
x = (x + vx);
y = (y + vy);
}
public function mvNone(){
vx = 0;
vy = 0;
}
public function loadRun(_arg1:Event){
if (y > (Global.wEnemyYLine + 2)){
x = (x - ((x -
) / 20));
y = (y - ((y - Global.wEnemyYLine) / 20));
alpha = (scaleX = (scaleY = (scaleY - ((alpha - 1) / 20))));
} else {
FireTimer.start();
y = Global.wEnemyYLine;
alpha = (scaleX = (scaleY = 1));
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loadRun);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
isAlive = true;
};
}
public function loop(_arg1:Event){
}
public function mvAmuck(){
if (x > Global.wRightWall){
vx = (vx * -1);
x = Global.wRightWall;
} else {
if (x < Global.wLeftWall){
vx = (vx * -1);
x = Global.wLeftWall;
};
};
vx = (vx + ((Math.random() * (mvArray[0] / mvArray[2])) - (Math.random() * (mvArray[0] / mvArray[2]))));
if (vx < (-1 * mvArray[1])){
vx = (-1 * mvArray[1]);
} else {
if (vx > mvArray[1]){
vx = mvArray[1];
};
};
if (y > Global.wEnemyAtmosphereLine){
vy = (vy * -1);
y = Global.wEnemyAtmosphereLine;
} else {
if (y < Global.wEnemyYLine){
vy = (vy * -1);
y = Global.wEnemyYLine;
};
};
vy = (vy + ((Math.random() * (mvArray[0] / mvArray[2])) - (Math.random() * (mvArray[0] / mvArray[2]))));
if (vy < (-1 * mvArray[1])){
vy = (-1 * mvArray[1]);
} else {
if (vy > mvArray[1]){
vy = mvArray[1];
};
};
}
public function initMovement(_arg1:String, _arg2:Array){
this.movementType = _arg1;
this.mvArray = _arg2;
if (_arg1 == "mvHop"){
= new Timer(_arg2[0]);
BlueberryEventRegister.addEvent(, "timer", );
.start();
};
vy = (vx = _arg2[0]);
}
public function mvHop(){
vx = 0;
vy = 0;
}
}
}//package com.amp3d.blueberry
Section 42
//CharNivia (com.amp3d.blueberry.CharNivia)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class CharNivia extends CharEnemy {
public var hit:MovieClip;
private var stageRef:Stage;
public function CharNivia(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5="frRhythm", _arg6=2500, _arg7=200, _arg8=20, _arg9=10):void{
addFrameScript(0, frame1, 4, frame5, 8, frame9, 18, );
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.bulletSpeed = _arg8;
this.bulletDamage = _arg9;
initialize(_arg1, _arg2, _arg7);
initMovement(_arg3, _arg4);
initFire(_arg5, _arg6);
trace(("fireDelay: " + _arg6));
}
function frame9(){
gotoAndStop(1);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
function (){
gotoAndStop(1);
}
override public function loop(_arg1:Event){
updateMovement();
}
override public function fireBullet(_arg1:TimerEvent){
var _local2:Number;
var _local3:Number;
var _local4:ProjGrenade;
var _local5:int;
var _local6:AssetRoxorSmoke;
_local2 = Math.floor((Math.random() * 2));
_local3 = (30 + (_local2 * 120));
if (_local2 == 1){
gotoAndPlay("fireLeft");
} else {
gotoAndPlay("fireRight");
};
_local4 = new ProjGrenade(stageRef, this, target, _local3, bulletSpeed, bulletDamage);
_local4.x = ((x + 25) - (_local2 * 50));
_local4.y = (y + 12);
_local5 = 0;
while (_local5 < 3) {
_local6 = new AssetRoxorSmoke(stageRef, _local4.x, _local4.y, (vx / 2), 1, 0xFFFFFF);
stageRef.addChild(_local6);
_local5++;
};
stageRef.addChild(_local4);
}
}
}//package com.amp3d.blueberry
Section 43
//CharPakpak (com.amp3d.blueberry.CharPakpak)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class CharPakpak extends CharEnemy {
public var follower:MovieClip;
private var :MovieClip;
public var aim:MovieClip;
private var :MovieClip;
public var hit:MovieClip;
public var ppRotateSpeed;// = 25
private var stageRef:Stage;
public function CharPakpak(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5=25, _arg6="frRhythm", _arg7=2500, _arg8=200, _arg9=12, _arg10=10):void{
ppRotateSpeed = 25;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
ppRotateSpeed = _arg5;
this.bulletSpeed = _arg9;
this.bulletDamage = _arg10;
initialize(_arg1, _arg2, _arg8);
= this["follower"];
= this["aim"];
initMovement(_arg3, _arg4);
initFire(_arg6, _arg7);
}
function frame1(){
stop();
}
override public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (this.target.getX() - x);
_local3 = (this.target.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
function frame10(){
gotoAndStop(1);
}
override public function loop(_arg1:Event){
super.loop(new Event(Event.ENTER_FRAME));
.rotation = findAngle(this.target);
.rotation = (.rotation - ((.rotation - .rotation) / ppRotateSpeed));
updateMovement();
}
override public function fireBullet(_arg1:TimerEvent){
var _local2:ProjPakBullet;
_local2 = new ProjPakBullet(stageRef, this, this.target, .rotation, bulletSpeed, bulletDamage);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
SoundPlayer.playEffect("sfxSomaBulletFire", 0, 0.4);
}
}
}//package com.amp3d.blueberry
Section 44
//CharPump (com.amp3d.blueberry.CharPump)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class CharPump extends CharEnemy {
public var cannon:MovieClip;
private var :MovieClip;
public var hit:MovieClip;
public var ppRotateSpeed;// = 25
private var stageRef:Stage;
public function CharPump(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5=25, _arg6="frRhythm", _arg7=2500, _arg8=200, _arg9=12, _arg10=10):void{
ppRotateSpeed = 25;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
ppRotateSpeed = _arg5;
this.bulletSpeed = _arg9;
this.bulletDamage = _arg10;
initialize(_arg1, _arg2, _arg8);
= this["cannon"];
initMovement(_arg3, _arg4);
initFire(_arg6, _arg7);
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
override public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (this.target.getX() - x);
_local3 = (this.target.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
override public function loop(_arg1:Event){
super.loop(new Event(Event.ENTER_FRAME));
.rotation = findAngle(this.target);
updateMovement();
}
override public function fireBullet(_arg1:TimerEvent){
var _local2:ProjMissle;
cannon.gotoAndPlay("fire");
_local2 = new ProjMissle(stageRef, this, this.target, .rotation);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
SoundPlayer.playEffect("sfxSomaBulletFire", 0, 0.6);
}
}
}//package com.amp3d.blueberry
Section 45
//CharReek (com.amp3d.blueberry.CharReek)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class CharReek extends CharFlyerEnemy {
private var stageRef:Stage;
private var :int;// = 0
private var :MovieClip;
public var aim:MovieClip;
public var hit:MovieClip;
public var ppRotateSpeed;// = 25
private var :MovieClip;
private var counter:Number;// = 0
public function CharReek(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5=25, _arg6="frRhythm", _arg7=2500, _arg8=200):void{
counter = 0;
= 0;
ppRotateSpeed = 25;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
ppRotateSpeed = _arg5;
initialize(_arg1, _arg2, _arg8);
= this["aim"];
initMovement(_arg3, _arg4);
initFire(_arg6, _arg7);
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
override public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (this.target.getX() - x);
_local3 = (this.target.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (((_local4 * 180) / Math.PI));
}
override public function loop(_arg1:Event){
super.loop(new Event(Event.ENTER_FRAME));
counter = (counter + 0.1);
.rotation = (90 + (Math.cos(counter) * 50));
updateMovement();
}
override public function fireBullet(_arg1:TimerEvent){
var _local2:ProjReekTracer;
_local2 = new ProjReekTracer(stageRef, this, this.target, .rotation);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
}
public function takeMissle(){
doDamage(10);
}
public function fireMissle(){
trace("MISSLE");
health = (health + 6);
if (health > maxHealth){
health = maxHealth;
};
}
}
}//package com.amp3d.blueberry
Section 46
//CharRoxor (com.amp3d.blueberry.CharRoxor)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CharRoxor extends CharEnemy {
private var stageRef:Stage;
public var wheelBack:MovieClip;
private var :MovieClip;
public var wheelFront:MovieClip;
public var hit:MovieClip;
public var ppRotateSpeed;// = 25
private var :MovieClip;
public var cage:MovieClip;
private var counter:Number;// = 0
public function CharRoxor(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5="frRhythm", _arg6=2500, _arg7=200):void{
ppRotateSpeed = 25;
counter = 0;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
initMovement(_arg3, _arg4);
initFire(_arg5, _arg6);
initialize(_arg1, _arg2, _arg7);
BlueberryEventRegister.addEvent(this, "changeDirection", );
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
override public function loop(_arg1:Event){
();
updateMovement();
if (hit.hitTestObject(target.ball.hit)){
target.takeDamage(12, x, y, (vx * 4), -3, 0, true);
};
}
public function (_arg1:Event){
if (Tweener.isTweening(this)){
Tweener.removeAllTweens();
scaleX = (scaleX / Math.abs(scaleX));
scaleY = (scaleY / Math.abs(scaleY));
};
scaleX = (scaleX * -1);
}
override public function fireBullet(_arg1:TimerEvent){
trace("WTF");
}
public function
(){
var _local1:AssetRoxorSmoke;
counter++;
wheelBack.rotation = (wheelBack.rotation + 18);
wheelFront.rotation = (wheelFront.rotation + 18);
cage.y = (-10.5 + Math.cos(counter));
if (((((counter % (4 - Global.sParticleMulitplier)) == 0)) && (!((Global.sParticleMulitplier == 0))))){
_local1 = new AssetRoxorSmoke(stageRef, (x - (scaleX * 20)), y, vx, 1.3, 1);
stageRef.addChild(_local1);
};
}
override public function initialize(_arg1:Stage, _arg2:MovieClip, _arg3:Number, _arg4:Boolean=false){
var _local5:Number;
super.initialize(_arg1, _arg2, _arg3, true);
_local5 = Math.floor((Math.random() * 1.99));
y = Global.wGround;
x = ((_local5 * (Global.wRightWall - Global.wLeftWall)) + Global.wLeftWall);
vx = (-1 * (((_local5 * vx) * 2) - vx));
scaleX = ((_local5)==0) ? 1 : -1;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
}
}//package com.amp3d.blueberry
Section 47
//CharTripyra (com.amp3d.blueberry.CharTripyra)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class CharTripyra extends CharEnemy {
public var hit:MovieClip;
private var stageRef:Stage;
public function CharTripyra(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:String="", _arg4:Array=null, _arg5="frRhythm", _arg6=2500, _arg7=200, _arg8=12, _arg9=10):void{
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.bulletSpeed = _arg8;
this.bulletDamage = _arg9;
initialize(_arg1, _arg2, _arg7);
initMovement(_arg3, _arg4);
initFire(_arg5, _arg6);
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
override public function loop(_arg1:Event){
updateMovement();
}
override public function fireBullet(_arg1:TimerEvent){
var _local2:ProjPakBullet;
_local2 = new ProjPakBullet(stageRef, this, target, 90, bulletSpeed, bulletDamage);
_local2.x = x;
_local2.y = y;
stageRef.addChild(_local2);
SoundPlayer.playEffect("sfxSomaBulletFire", 0, 0.4);
}
}
}//package com.amp3d.blueberry
Section 48
//CrazeBG (com.amp3d.blueberry.CrazeBG)
package com.amp3d.blueberry {
import flash.display.*;
public class CrazeBG extends MovieClip {
public function CrazeBG(_arg1="training"){
addFrameScript(0, frame1);
gotoAndStop(_arg1);
}
function frame1(){
stop();
}
}
}//package com.amp3d.blueberry
Section 49
//Engine (com.amp3d.blueberry.Engine)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
public class Engine extends MovieClip {
private var :Array;
private var :Boolean;// = false
public var :ThePreloader;
private var :Boolean;// = false
private var :Number;// = 0
private var
:Array;
public function Engine(){
var _local1:ContextMenu;
var _local2:ContextMenuItem;
var _local3:ContextMenuItem;
= false;
= 0;
= ["www.flashgamelicense.com", "www.amp3d.net"];
= false;
super();
addFrameScript(0, frame1, 2,
);
stage.stageFocusRect = false;
addEventListener(Event.ENTER_FRAME,
);
= new ThePreloader(stage);
.x = (stage.stageWidth / 2);
.y = (stage.stageHeight / 2);
stage.addChild( );
( );
_local1 = new ContextMenu();
_local1.hideBuiltInItems();
_local2 = new ContextMenuItem("Blueberry: Escape from Chaos Factory");
_local3 = new ContextMenuItem("www.amp3d.net");
_local1.customItems.push(_local2, _local3);
this.contextMenu = _local1;
Global.stageRef = stage;
}
public function removeSelf(){
stage.removeChild(this);
}
private function (){
var _local1:MovieClip;
if ( ==
.length){
();
return;
};
_local1 =
[ ];
stage.addChild(_local1);
_local1.x = ((stage.stageWidth - _local1.width) / 2);
_local1.y = ((stage.stageHeight - _local1.height) / 2);
_local1.gotoAndPlay(1);
_local1.addEventListener("adfinished",
, false, 0, true);
}
function
(){
stop();
}
public function (_arg1:Event){
var _local2:EchoDrop;
var _local3:Minijuegos;
if (this.currentFrame == this.totalFrames){
_local2 = new EchoDrop();
_local3 = new Minijuegos();
_local2.storeLink("http://2leet.com");
_local3.storeLink("http://minijuegos.com");
= [_local2, _local3];
();
stage.removeChild( );
};
}
function frame1(){
stop();
}
public function (){
var _local1:MenuSplash;
_local1 = new MenuSplash(stage);
stage.addChildAt(_local1, 0);
}
private function
(_arg1:Event){
[ ].removeEventListener("adfinished",
);
stage.removeChild(
[ ]);
++;
();
}
public function
(_arg1:Event):void{
if ((((((this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal)) && (!((this.loaderInfo.bytesLoaded == 0))))) && (!( )))){
this.play();
removeEventListener(Event.ENTER_FRAME,
);
.phaseOut();
.addEventListener("complete", );
};
.UpdateLoader((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal));
}
private function
(_arg1:Array){
var _local2:Array;
var _local3:Array;
var _local4:int;
_local2 = this.loaderInfo.url.split("://");
_local3 = _local2[1].split("/");
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] == _local3[0]){
= false;
};
_local4++;
};
}
}
}//package com.amp3d.blueberry
Section 50
//Game (com.amp3d.blueberry.Game)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
import com.senocular.utils.*;
import flash.utils.*;
public class Game extends MovieClip {
var blueberry:CharBlueberry;
var clock:Timer;
public var isPaused:Boolean;// = false
var buttonReset:Number;// = 3
public var isLevelFailed:Boolean;// = false
public var key:KeyObject;
var queueList:Array;
public var timeclock:Timer;
public var goo:HudGoo;
var stageRef:Stage;
public var bubgoo:HudBubbleGoo;
public var isLevelComplete:Boolean;// = false
public var winPoints:Number;// = 0
public var pm:MenuPause;
public function Game(_arg1:Stage=null, _arg2:Array=null, _arg3:String=""){
var _local4:int;
var _local5:FadeIn;
var _local6:HudStartAlert;
queueList = new Array();
buttonReset = 3;
isPaused = false;
isLevelComplete = false;
isLevelFailed = false;
winPoints = 0;
super();
_arg1.focus = _arg1;
this.stageRef = _arg1;
pm = new MenuPause(_arg1, this);
Global.wEnemyList = new Array();
Global.wJamList = new Array();
_arg1.addChildAt(new CrazeBG(_arg3), 0);
clock = new Timer(500);
timeclock = new Timer(100);
BlueberryEventRegister.addEvent(timeclock, "timer", timeclocktick);
BlueberryEventRegister.addEvent(clock, "timer", tick);
timeclock.start();
clock.start();
key = new KeyObject(_arg1);
blueberry = new CharBlueberry(_arg1);
blueberry.ball.y = -1350;
BlueberryEventRegister.addEvent(blueberry, "dead", Failure);
_arg1.addChild(blueberry);
_local4 = 0;
while (_local4 < _arg2.length) {
queueEnemy(_arg2[_local4]);
_local4++;
};
_local5 = new FadeIn(_arg1);
_arg1.addChild(_local5);
_local6 = new HudStartAlert(_arg1);
_arg1.addChild(_local6);
goo = new HudGoo(_arg1);
_arg1.addChild(goo);
bubgoo = new HudBubbleGoo(_arg1);
_arg1.addChild(bubgoo);
Global.hudGoo = goo;
Global.bubGoo = bubgoo;
Global.game = this;
SoundPlayer.playMusic("loopWhisper", 0, 1, 500);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
addEventListener(Event.ENTER_FRAME, checkKeys, false, 0, true);
}
public function createEnemy(_arg1:Object){
var _local2:*;
switch (_arg1.enemy){
case "PAKPAK":
_local2 = new CharPakpak(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.rotateSpeed, _arg1.fireType, _arg1.fireDelay, _arg1.health, _arg1.bulletSpeed, _arg1.bulletDamage);
break;
case "TRIPYRA":
_local2 = new CharTripyra(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.fireType, _arg1.fireDelay, _arg1.health, _arg1.bulletSpeed, _arg1.bulletDamage);
break;
case "ROXOR":
_local2 = new CharRoxor(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.fireType, _arg1.fireDelay, _arg1.health);
break;
case "NIVIA":
_local2 = new CharNivia(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.fireType, _arg1.fireDelay, _arg1.health, _arg1.bulletSpeed, _arg1.bulletDamage);
break;
case "CURVAIN":
_local2 = new CharCurvain(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.fireType, _arg1.fireDelay, _arg1.health, _arg1.bulletSpeed, _arg1.bulletDamage);
break;
case "REEK":
_local2 = new CharReek(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.rotateSpeed, _arg1.fireType, _arg1.fireDelay, _arg1.health);
break;
case "PUMP":
_local2 = new CharPump(stageRef, blueberry, _arg1.run, [_arg1.moveSpeedA, _arg1.moveSpeedB, _arg1.moveSpeedC], _arg1.rotateSpeed, _arg1.fireType, _arg1.fireDelay, _arg1.health, _arg1.bulletSpeed, _arg1.bulletDamage);
break;
};
if (_arg1.points != undefined){
_local2.initPoints(_arg1.points);
};
stageRef.addChild(_local2);
Global.wEnemyList.push(_local2);
}
public function queueEnemy(_arg1:Object){
queueList.push([(_arg1.startTime * 2), _arg1]);
}
public function checkKeys(_arg1:Event){
buttonReset++;
if (buttonReset > 7){
if (key.isDown(49)){
stageRef.quality = StageQuality.LOW;
buttonReset = 0;
};
if (key.isDown(50)){
stageRef.quality = StageQuality.MEDIUM;
buttonReset = 0;
};
if (key.isDown(51)){
stageRef.quality = StageQuality.HIGH;
buttonReset = 0;
};
if (key.isDown(80)){
key.deleteKey(80);
buttonReset = 0;
togglePauseMenu();
};
if (((key.isDown(13)) && (((isLevelComplete) || (isLevelFailed))))){
pm.CloseSelect();
};
};
}
public function addPoints(_arg1:Number){
winPoints = (winPoints + _arg1);
}
public function randomItemChance(){
var _local1:*;
var _local2:ItemJuiceDrop;
var _local3:ItemHaste;
var _local4:ItemHeart;
var _local5:ItemInvincible;
var _local6:ItemMagicJuice;
_local1 = Math.floor((Math.random() * 9500));
if ((((_local1 > 0)) && ((_local1 < (10 + Global.ssLevelLuck))))){
_local2 = new ItemJuiceDrop(stageRef, blueberry);
stageRef.addChild(_local2);
} else {
if ((((_local1 > 150)) && ((_local1 < (153 + (Global.ssLevelLuck / 2)))))){
_local3 = new ItemHaste(stageRef, blueberry);
stageRef.addChild(_local3);
} else {
if ((((_local1 > 50)) && ((_local1 < (52 + (Global.ssLevelLuck / 2)))))){
_local4 = new ItemHeart(stageRef, blueberry);
stageRef.addChild(_local4);
} else {
if ((((_local1 > 100)) && ((_local1 < (103 + (Global.ssLevelLuck / 2)))))){
_local5 = new ItemInvincible(stageRef, blueberry);
stageRef.addChild(_local5);
} else {
if ((((_local1 > 200)) && ((_local1 < (203 + (Global.ssLevelLuck / 2)))))){
_local6 = new ItemMagicJuice(stageRef, blueberry);
stageRef.addChild(_local6);
};
};
};
};
};
}
public function killGame(){
SoundPlayer.stopMusic();
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
removeEventListener(Event.ENTER_FRAME, checkKeys);
BlueberryEventRegister.removeEvent(clock, "timer", tick);
BlueberryEventRegister.removeEvent(blueberry, "dead", Failure);
while (Global.wEnemyList.length > 0) {
Global.wEnemyList[(Global.wEnemyList.length - 1)].charDie(true);
};
Global.wEnemyList = new Array();
blueberry.removeSelf();
while (stageRef.numChildren > 1) {
Object(stageRef.getChildAt((stageRef.numChildren - 1))).removeSelf();
};
Global.wJamList = new Array();
BlueberryEventRegister.clearAllEvents();
stageRef.removeChild(stageRef.getChildAt(0));
}
public function togglePauseMenu(){
if (!isPaused){
pm.refresh();
stageRef.addChild(pm);
isPaused = true;
BlueberryEventRegister.stopAllEvents();
} else {
stageRef.removeChild(pm);
isPaused = false;
stageRef.focus = stageRef;
BlueberryEventRegister.playAllEvents();
};
}
public function Failure(_arg1:Event){
var _local2:HudLevelFailed;
var _local3:Whiteflash;
goo.disappear();
bubgoo.disappear();
blueberry.removeSelf();
isLevelFailed = true;
BlueberryEventRegister.stopAllEvents();
_local2 = new HudLevelFailed(stageRef, this, blueberry);
stageRef.addChild(_local2);
_local3 = new Whiteflash(stageRef, 0xFF0000);
stageRef.addChild(_local3);
Global.updateLevelData(false, true);
Global.stLevelsDied++;
}
public function tick(_arg1:TimerEvent){
var _local2:Array;
var _local3:int;
_local2 = new Array();
_local3 = 0;
while (_local3 < queueList.length) {
if (queueList[_local3][0] == clock.currentCount){
createEnemy(queueList[_local3][1]);
_local2.push(_local3);
};
_local3++;
};
while (_local2.length > 0) {
queueList.splice(_local2[(_local2.length - 1)], 1);
_local2.splice((_local2.length - 1), 1);
};
if (queueList.length == 0){
clock.stop();
};
}
public function loop(_arg1:Event){
randomItemChance();
if ((((Global.wEnemyList.length == 0)) && ((queueList.length == 0)))){
levelComplete();
isLevelComplete = true;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
} else {
if ((((((queueList.length > 0)) && ((Global.wEnemyList.length == 0)))) && ((clock.currentCount > 15)))){
addPoints(((queueList[0][0] - clock.currentCount) * 100));
queueList[0][0] = (clock.currentCount + 1);
};
};
}
public function timeclocktick(_arg1:TimerEvent){
}
public function levelComplete(){
var _local1:HudLevelComplete;
var _local2:Number;
goo.disappear();
bubgoo.disappear();
_local1 = new HudLevelComplete(stageRef, this);
stageRef.addChild(_local1);
_local2 = (timeclock.currentCount / 10);
Global.updateLevelData(true, false, winPoints, _local2);
Global.stLevelsWon++;
blueberry.takeHealth(120);
}
}
}//package com.amp3d.blueberry
Section 51
//GameBoss (com.amp3d.blueberry.GameBoss)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
import com.senocular.utils.*;
import flash.utils.*;
public class GameBoss extends MovieClip {
var blueberry:CharBlueberry;
var clock:Timer;
public var isPaused:Boolean;// = false
var buttonReset:Number;// = 3
public var isLevelFailed:Boolean;// = false
public var key:KeyObject;
var queueList:Array;
public var timeclock:Timer;
public var goo:HudGoo;
var stageRef:Stage;
public var bubgoo:HudBubbleGoo;
public var isLevelComplete:Boolean;// = false
public var winPoints:Number;// = 0
public var pm:MenuPause;
public function GameBoss(_arg1:Stage=null, _arg2:Array=null, _arg3:String=""){
var _local4:int;
var _local5:FadeIn;
var _local6:HudStartAlert;
queueList = new Array();
buttonReset = 3;
isPaused = false;
isLevelComplete = false;
isLevelFailed = false;
winPoints = 0;
super();
_arg1.focus = _arg1;
this.stageRef = _arg1;
pm = new MenuPause(_arg1, this);
Global.wEnemyList = new Array();
Global.wJamList = new Array();
_arg1.addChildAt(new CrazeBG(_arg3), 0);
clock = new Timer(500);
timeclock = new Timer(100);
BlueberryEventRegister.addEvent(timeclock, "timer", timeclocktick);
BlueberryEventRegister.addEvent(clock, "timer", tick);
timeclock.start();
clock.start();
key = new KeyObject(_arg1);
blueberry = new CharBlueberry(_arg1);
blueberry.ball.y = -1350;
BlueberryEventRegister.addEvent(blueberry, "dead", Failure);
_arg1.addChild(blueberry);
_local4 = 0;
while (_local4 < _arg2.length) {
queueEnemy(_arg2[_local4]);
_local4++;
};
_local5 = new FadeIn(_arg1);
_arg1.addChild(_local5);
_local6 = new HudStartAlert(_arg1);
_arg1.addChild(_local6);
goo = new HudGoo(_arg1);
_arg1.addChild(goo);
bubgoo = new HudBubbleGoo(_arg1);
_arg1.addChild(bubgoo);
Global.hudGoo = goo;
Global.bubGoo = bubgoo;
Global.game = this;
SoundPlayer.playMusic("loopBoss", 0, 0.6, 500);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
addEventListener(Event.ENTER_FRAME, checkKeys, false, 0, true);
}
public function createEnemy(_arg1:Object){
var _local2:*;
switch (_arg1.enemy){
case "REINFIELD":
_local2 = new BossReinfield(stageRef, blueberry, _arg1.points);
break;
case "SHELI":
_local2 = new BossSheli(stageRef, blueberry, _arg1.points);
break;
case "GRAVES":
_local2 = new BossGraves(stageRef, blueberry, _arg1.points);
break;
case "RASPBERRY":
_local2 = new BossRaspberry(stageRef, blueberry, _arg1.points);
break;
};
stageRef.addChild(_local2);
Global.wEnemyList.push(_local2);
}
public function queueEnemy(_arg1:Object){
queueList.push([(_arg1.startTime * 2), _arg1]);
}
public function checkKeys(_arg1:Event){
buttonReset++;
if (buttonReset > 7){
if (key.isDown(49)){
stageRef.quality = StageQuality.LOW;
buttonReset = 0;
};
if (key.isDown(50)){
stageRef.quality = StageQuality.MEDIUM;
buttonReset = 0;
};
if (key.isDown(51)){
stageRef.quality = StageQuality.HIGH;
buttonReset = 0;
};
if (key.isDown(80)){
key.deleteKey(80);
buttonReset = 0;
togglePauseMenu();
};
if (((key.isDown(13)) && (((isLevelComplete) || (isLevelFailed))))){
pm.CloseSelect();
};
};
}
public function addPoints(_arg1:Number){
winPoints = (winPoints + _arg1);
}
public function randomItemChance(){
var _local1:*;
var _local2:ItemJuiceDrop;
var _local3:ItemHaste;
var _local4:ItemHeart;
var _local5:ItemInvincible;
var _local6:ItemMagicJuice;
_local1 = Math.floor((Math.random() * 9500));
if ((((_local1 > 0)) && ((_local1 < (10 + Global.ssLevelLuck))))){
_local2 = new ItemJuiceDrop(stageRef, blueberry);
stageRef.addChild(_local2);
} else {
if ((((_local1 > 150)) && ((_local1 < (153 + (Global.ssLevelLuck / 2)))))){
_local3 = new ItemHaste(stageRef, blueberry);
stageRef.addChild(_local3);
} else {
if ((((_local1 > 50)) && ((_local1 < (52 + (Global.ssLevelLuck / 2)))))){
_local4 = new ItemHeart(stageRef, blueberry);
stageRef.addChild(_local4);
} else {
if ((((_local1 > 100)) && ((_local1 < (103 + (Global.ssLevelLuck / 2)))))){
_local5 = new ItemInvincible(stageRef, blueberry);
stageRef.addChild(_local5);
} else {
if ((((_local1 > 200)) && ((_local1 < (203 + (Global.ssLevelLuck / 2)))))){
_local6 = new ItemMagicJuice(stageRef, blueberry);
stageRef.addChild(_local6);
};
};
};
};
};
}
public function killGame(){
SoundPlayer.stopMusic();
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
removeEventListener(Event.ENTER_FRAME, checkKeys);
BlueberryEventRegister.removeEvent(clock, "timer", tick);
BlueberryEventRegister.removeEvent(blueberry, "dead", Failure);
while (Global.wEnemyList.length > 0) {
Global.wEnemyList[(Global.wEnemyList.length - 1)].charDie(true);
};
Global.wEnemyList = new Array();
blueberry.removeSelf();
while (stageRef.numChildren > 1) {
Object(stageRef.getChildAt((stageRef.numChildren - 1))).removeSelf();
};
Global.wJamList = new Array();
stageRef.removeChild(stageRef.getChildAt(0));
}
public function togglePauseMenu(){
if (!isPaused){
pm.refresh();
stageRef.addChild(pm);
isPaused = true;
BlueberryEventRegister.stopAllEvents();
} else {
stageRef.removeChild(pm);
isPaused = false;
stageRef.focus = stageRef;
BlueberryEventRegister.playAllEvents();
};
}
public function Failure(_arg1:Event){
var _local2:HudLevelFailed;
var _local3:Whiteflash;
goo.disappear();
bubgoo.disappear();
blueberry.removeSelf();
isLevelFailed = true;
BlueberryEventRegister.stopAllEvents();
_local2 = new HudLevelFailed(stageRef, this, blueberry);
stageRef.addChild(_local2);
_local3 = new Whiteflash(stageRef, 0xFF0000);
stageRef.addChild(_local3);
Global.updateLevelData(false, true);
Global.stLevelsDied++;
}
public function tick(_arg1:TimerEvent){
var _local2:Array;
var _local3:int;
_local2 = new Array();
_local3 = 0;
while (_local3 < queueList.length) {
if (queueList[_local3][0] == clock.currentCount){
createEnemy(queueList[_local3][1]);
_local2.push(_local3);
};
_local3++;
};
while (_local2.length > 0) {
queueList.splice(_local2[(_local2.length - 1)], 1);
_local2.splice((_local2.length - 1), 1);
};
if (queueList.length == 0){
clock.stop();
};
}
public function loop(_arg1:Event){
randomItemChance();
if ((((queueList.length == 0)) && ((Global.wEnemyList.length == 0)))){
levelComplete();
isLevelComplete = true;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
} else {
if ((((((queueList.length > 0)) && ((Global.wEnemyList.length == 0)))) && ((clock.currentCount > 15)))){
addPoints(((queueList[0][0] - clock.currentCount) * 100));
queueList[0][0] = (clock.currentCount + 1);
};
};
}
public function timeclocktick(_arg1:TimerEvent){
}
public function levelComplete(){
var _local1:HudLevelComplete;
var _local2:Number;
goo.disappear();
bubgoo.disappear();
_local1 = new HudLevelComplete(stageRef, this);
stageRef.addChild(_local1);
_local2 = (timeclock.currentCount / 10);
Global.updateLevelData(true, false, winPoints, _local2);
Global.stLevelsWon++;
blueberry.takeHealth(220);
}
}
}//package com.amp3d.blueberry
Section 52
//GameTutorial (com.amp3d.blueberry.GameTutorial)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
import com.senocular.utils.*;
import flash.utils.*;
public class GameTutorial extends MovieClip {
var blueberry:CharBlueberry;
var clock:Timer;
public var isPaused:Boolean;// = false
public var counter:Number;// = 0
private var :CharTripyra;
public var buttonReset:Number;// = 3
public var key:KeyObject;
var queueList:Array;
public var goo:HudGoo;
private var :Number;// = 0
var stageRef:Stage;
public var bubgoo:HudBubbleGoo;
public var isLevelComplete:Boolean;// = false
private var :TutorialBox;
public var pm:MenuPause;
public function GameTutorial(_arg1:Stage=null){
var _local2:FadeIn;
queueList = new Array();
buttonReset = 3;
isPaused = false;
isLevelComplete = false;
counter = 0;
= 0;
super();
_arg1.focus = _arg1;
this.stageRef = _arg1;
pm = new MenuPause(_arg1, this);
= new TutorialBox(_arg1);
_arg1.addChildAt(new CrazeBG(), 0);
_arg1.addChildAt(, 1);
key = new KeyObject(_arg1);
blueberry = new CharBlueberry(_arg1);
_arg1.addChild(blueberry);
_local2 = new FadeIn(_arg1);
_arg1.addChild(_local2);
goo = new HudGoo(_arg1);
_arg1.addChild(goo);
Global.hudGoo = goo;
bubgoo = new HudBubbleGoo(_arg1);
_arg1.addChild(bubgoo);
Global.bubGoo = bubgoo;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
();
}
public function checkKeys():void{
buttonReset++;
if (buttonReset > 7){
if (key.isDown(49)){
stageRef.quality = StageQuality.LOW;
buttonReset = 0;
};
if (key.isDown(50)){
stageRef.quality = StageQuality.MEDIUM;
buttonReset = 0;
};
if (key.isDown(51)){
stageRef.quality = StageQuality.HIGH;
buttonReset = 0;
};
if (key.isDown(80)){
key.deleteKey(80);
buttonReset = 0;
togglePauseMenu();
};
if (key.isDown(40)){
buttonReset = 0;
};
if (((key.isDown(13)) && (!(isLevelComplete)))){
key.deleteKey(13);
buttonReset = 0;
} else {
if (((key.isDown(13)) && (isLevelComplete))){
pm.CloseSelect();
buttonReset = 0;
};
};
};
}
public function randomItemChance():void{
var _local1:*;
var _local2:ItemJuiceDrop;
var _local3:ItemHaste;
var _local4:ItemHeart;
var _local5:ItemInvincible;
var _local6:ItemMagicJuice;
_local1 = Math.floor((Math.random() * 4000));
if ((((_local1 > 0)) && ((_local1 < (10 + Global.ssLevelLuck))))){
_local2 = new ItemJuiceDrop(stageRef, blueberry);
stageRef.addChild(_local2);
} else {
if ((((_local1 > 150)) && ((_local1 < (153 + (Global.ssLevelLuck / 2)))))){
_local3 = new ItemHaste(stageRef, blueberry);
stageRef.addChild(_local3);
} else {
if ((((_local1 > 50)) && ((_local1 < (52 + (Global.ssLevelLuck / 2)))))){
_local4 = new ItemHeart(stageRef, blueberry);
stageRef.addChild(_local4);
} else {
if ((((_local1 > 100)) && ((_local1 < (103 + (Global.ssLevelLuck / 2)))))){
_local5 = new ItemInvincible(stageRef, blueberry);
stageRef.addChild(_local5);
} else {
if ((((_local1 > 200)) && ((_local1 < (203 + (Global.ssLevelLuck / 2)))))){
_local6 = new ItemMagicJuice(stageRef, blueberry);
stageRef.addChild(_local6);
};
};
};
};
};
}
public function togglePauseMenu(){
if (!isPaused){
pm.refresh();
stageRef.addChild(pm);
isPaused = true;
BlueberryEventRegister.stopAllEvents();
} else {
stageRef.removeChild(pm);
isPaused = false;
stageRef.focus = stageRef;
BlueberryEventRegister.playAllEvents();
};
}
public function killGame(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.clearAllEvents();
while (Global.wEnemyList.length > 0) {
Global.wEnemyList[(Global.wEnemyList.length - 1)].charDie(true);
};
Global.wEnemyList = new Array();
blueberry.removeSelf();
while (stageRef.numChildren > 1) {
Object(stageRef.getChildAt((stageRef.numChildren - 1))).removeSelf();
};
Global.wJamList = new Array();
stageRef.removeChild(stageRef.getChildAt(0));
}
private function
():void{
= new CharTripyra(stageRef, blueberry, Global.WALLRUN, [5, 5, 5], Global.FIRERHYTHM, 1450, 10000, 12, 0.5);
.initPoints(0);
stageRef.addChild();
Global.wEnemyList.push();
}
private function loop(_arg1:Event):void{
randomItemChance();
checkKeys();
}
public function levelComplete(){
var _local1:HudLevelComplete;
goo.disappear();
bubgoo.disappear();
isLevelComplete = true;
_local1 = new HudLevelComplete(stageRef, this);
stageRef.addChild(_local1);
}
}
}//package com.amp3d.blueberry
Section 53
//Global (com.amp3d.blueberry.Global)
package com.amp3d.blueberry {
import flash.display.*;
import flash.net.*;
import flash.ui.*;
public class Global {
public static var wLeftWall:Number = 16;
public static var stJamDropped:int = 0;
public static var bbBubbleVSpeedFinal = 3.7;
public static var ssCostRecharge:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static var hudGoo:HudGoo;
public static var sKeyBblChngRight:uint = 68;
public static var bbBubbleVSpeedInit = 16;
public static var pHasteTick = 50;
public static var stBossesKilled:int = 0;
public static var bbReverbDamage = 50;
public static var bbBubbleFullSize = 1;
public static var ppBulletSpeed = 12;
public static var FIRERHYTHM:String = "frRhythm";
public static var bbBubbleLargeSize = 1.3;
public static var ssCostControl:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static var ssLevelResistance:int = 0;
public static var WALLRUN:String = "mvWallRun";
public static var so:SharedObject;
public static var WALLRUNRANDOM:String = "mvWallRunRandom";
public static var ssCostResistance:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static var bbBubbleGrowSpeed = 1.08;
public static var bbDuraDamage = 20;
public static var CRAZY:String = "mvCrazy";
public static var ssCostGrowth:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static var levelUpList:Array = [0, 10000, 20000, 30000, 40000, 50000, 70000, 90000, 120000, 150000, 180000, 215000, 250000, 300000, 355000, 410000, 470000, 550000, 640000, 740000, 850000, 975000, 1100000, 1250000, 1400000, 0x186A00, 1850000, 2100000, 0x249F00, 2750000, 0x30D400, 3600000, 4100000, 5000000, 6000000, 7100000, 8300000, 9500000];
public static var sKeyMoveLeft:uint = Keyboard.LEFT;
public static var ssLevelHealth:int = 0;
public static var FOLLOWTARGET:String = "mvFollowTarget";
public static var sKeyBubble:uint = 87;
public static var stJuiceCollected:Number = 0;
public static var bbJuiceGain = 0.06;
public static var wFriction:Number = 0.96;
public static var bbJamCost = 10;
public static var FIREVARIABLE:String = "frVariable";
public static var stageRef:Stage;
public static var ssLevelJuice:int = 0;
public static var ssLevelLongevity:int = 0;
public static var wItemDropHeight:Number = 200;
public static var wWallBounce:Number = 1.2;
public static var bbBubbleHSpeed = 0.7;
public static var stBubblesFired:int = 0;
public static var ssLevelLuck:int = 0;
public static var bbBubbleCost = 6;
public static var wGround:Number = 400;
public static var bbBubbleCtrlTime = 1800;
public static var bbBubbleVSpeedRoC = 0.9;
public static var currentChallenge:Number = 0;
public static var FIREPROXIMITY:String = "frProximity";
public static var FLYHOP:String = "mvHop";
public static var sKeyDive:uint = Keyboard.DOWN;
public static var sEffectsVolume:int = 3;
public static var ssCostHealth:Array = [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, "MAX"];
public static var challengesCompleteData:Array = new Array();
public static var ssCostJuice:Array = [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, "MAX"];
public static var sMusicVolume:int = 3;
public static var paused:Boolean = false;
public static var stLevelsDied:int = 0;
public static var NONE:String = "mvNone";
public static var sKeyJump:uint = Keyboard.UP;
public static var wEnemyYLine:Number = 20;
public static var stJuiceFromRest:Number = 0;
public static var sKeyMoveRight:uint = Keyboard.RIGHT;
public static var gameTotalScore:Number = 0;
public static var bbBubbleCtrlStr = 29;
public static var ssLevelDynamics:int = 9;
public static var bbFusserDamage = 10;
public static var stLevelsWon:int = 0;
public static var wRightWall:Number = 684;
public static var wJamList:Array = new Array();
public static var FLYAMUCK:String = "mvAmuck";
public static var stEnemiesKilled:int = 0;
public static var ssPoints:int = 0;
public static var ssLevelStrength:int = 0;
public static var bbBubbleDamage = 25;
public static var ssCostDynamics:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static var sKeyJam:uint = 83;
public static var currentLevel:Number = 0;
public static var wEnemyList:Array = new Array();
public static var ssCostLongevity:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static var bubGoo:HudBubbleGoo;
public static var levelsCompleteData:Array = new Array();
public static var ssCostLuck:Array = [3, 3, 3, 5, 5, 5, 7, 7, 7, 8, "MAX"];
public static var ssLevelSpeed:int = 0;
public static var pHasteNumTicks = 160;
public static var bbDuraBubbleVSFinal = 6;
public static var ssCostStrength:Array = [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, "MAX"];
public static var ssLevelControl:int = 9;
public static var sParticleMulitplier:int = 3;
public static var sKeyBblChngLeft:uint = 65;
public static var ssLevelRecharge:int = 0;
public static var bbReverbNadeDamage = 30;
public static var wGravity:Number = 2;
public static var playingChallenge:Boolean = false;
public static var wEnemyAtmosphereLine:Number = 260;
public static var blueberryLevel:int = 1;
public static var ssLevelGrowth:int = 0;
public static var stBubblesHit:int = 0;
public static var wWallPadding:Number = 15;
public static var game;
public static var bbBubbleStartSize = 0.3;
public static var ssCostSpeed:Array = [2, 3, 4, 4, 5, 7, 8, 9, 10, 11, "MAX"];
public static function setupNewGame(_arg1:Boolean=false){
var _local2:int;
var _local3:Array;
var _local4:Object;
var _local5:Array;
var _local6:Object;
levelsCompleteData = new Array();
challengesCompleteData = new Array();
ssPoints = 8;
if (_arg1){
ssPoints = (ssPoints + 120);
};
ssLevelDynamics = 9;
ssLevelGrowth = 0;
ssLevelResistance = 0;
ssLevelRecharge = 0;
ssLevelSpeed = 0;
ssLevelLongevity = 0;
ssLevelControl = 9;
ssLevelHealth = 0;
ssLevelJuice = 0;
ssLevelStrength = 0;
ssLevelLuck = 0;
gameTotalScore = 0;
currentLevel = 0;
stBubblesFired = 0;
stJamDropped = 0;
stBubblesHit = 0;
stEnemiesKilled = 0;
stLevelsDied = 0;
stLevelsWon = 0;
stJuiceCollected = 0;
stJuiceFromRest = 0;
blueberryLevel = 1;
_local2 = 0;
while (_local2 < LevelsList.LevelList.length) {
_local3 = LevelsList.LevelList[_local2];
_local4 = new Object();
if (((!((_local3[0] == "Game"))) && (!((_local3[0] == "GameBoss"))))){
_local4.completed = true;
} else {
_local4.completed = _arg1;
};
_local4.levelTime = "Not Complete";
_local4.levelScore = "0";
_local4.levelPlays = "0";
_local4.levelCompletes = "0";
_local4.levelFailures = "0";
levelsCompleteData.push(_local4);
_local2++;
};
_local2 = 0;
while (_local2 < LevelsList.ChallengeList.length) {
_local5 = LevelsList.ChallengeList[_local2];
_local6 = new Object();
if (((!((_local5[0] == "Game"))) && (!((_local5[0] == "GameBoss"))))){
_local6.completed = true;
} else {
_local6.completed = _arg1;
};
_local6.levelTime = "Not Complete";
_local6.levelScore = "0";
_local6.levelPlays = "0";
_local6.levelCompletes = "0";
_local6.levelFailures = "0";
challengesCompleteData.push(_local6);
_local2++;
};
}
public static function updateLevelData(_arg1:Boolean=false, _arg2:Boolean=false, _arg3:Number=0, _arg4:Number=0):void{
var _local5:Object;
if (playingChallenge){
_local5 = challengesCompleteData[currentChallenge];
} else {
_local5 = levelsCompleteData[currentLevel];
};
_local5.levelPlays = (Number(_local5.levelPlays) + 1);
if (_arg1){
_local5.completed = true;
_local5.levelCompletes = (Number(_local5.levelCompletes) + 1);
if (_local5.levelTime == "Not Complete"){
_local5.levelTime = getTime(_arg4);
} else {
if (makeTime(_local5.levelTime) > _arg4){
_local5.levelTime = getTime(_arg4);
};
};
gameTotalScore = (gameTotalScore - Number(_local5.levelScore));
if (Number(_local5.levelScore) < _arg3){
_local5.levelScore = _arg3;
};
gameTotalScore = (gameTotalScore + Number(_local5.levelScore));
while (levelUpList[blueberryLevel] < gameTotalScore) {
ssPoints = (ssPoints + Math.ceil((blueberryLevel / 2)));
blueberryLevel++;
};
};
if (_arg2){
_local5.levelFailures = (Number(_local5.levelFailures) + 1);
};
saveSO();
}
public static function saveSO():void{
so.data.levelsCompleteData = levelsCompleteData;
so.data.challengesCompleteData = challengesCompleteData;
so.data.gameTotalScore = gameTotalScore;
so.data.points = ssPoints;
so.data.currentLevel = currentLevel;
so.data.currentChallenge = currentChallenge;
so.data.blueberryLevel = blueberryLevel;
so.data.levelDynamics = ssLevelDynamics;
so.data.levelResistance = ssLevelResistance;
so.data.levelGrowth = ssLevelGrowth;
so.data.levelLongevity = ssLevelLongevity;
so.data.levelSpeed = ssLevelSpeed;
so.data.levelRecharge = ssLevelRecharge;
so.data.levelHealth = ssLevelHealth;
so.data.levelJuice = ssLevelJuice;
so.data.levelControl = ssLevelControl;
so.data.levelStrength = ssLevelStrength;
so.data.levelLuck = ssLevelLuck;
so.data.bubblesFired = stBubblesFired;
so.data.jamDropped = stJamDropped;
so.data.bubblesHit = stBubblesHit;
so.data.enemiesKilled = stEnemiesKilled;
so.data.levelsDied = stLevelsDied;
so.data.levelsWon = stLevelsWon;
so.data.juiceCollected = stJuiceCollected;
so.data.juiceFromRest = stJuiceFromRest;
so.data.used = true;
so.flush(10000);
}
public static function getTime(_arg1:Number):String{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:Array;
if (Math.floor(_arg1) != _arg1){
_local5 = String(_arg1).split(".");
_local2 = (String(_local5[1]) + String(0));
} else {
_local2 = "00";
};
_arg1 = Math.floor(_arg1);
_local3 = String(Math.floor((_arg1 / 60)));
_local4 = String((_arg1 % 60));
return (((((_local3 + ":") + _local4) + ":") + _local2));
}
public static function makeTime(_arg1:String):Number{
var _local2:Array;
_local2 = _arg1.split(":");
return ((((Number(_local2[0]) * 60) + Number(_local2[1])) + (Number(_local2[2]) / 100)));
}
}
}//package com.amp3d.blueberry
Section 54
//HudBlueStar (com.amp3d.blueberry.HudBlueStar)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class HudBlueStar extends MovieClip {
private var counter:int;// = 0
private var
:Number;// = 0
private var
:Number;// = 0
private var rotateSpeed:Number;// = 0
private var stageRef:Stage;
public function HudBlueStar(_arg1:Stage=null){
counter = 0;
rotateSpeed = 0;
= 0;
= 0;
super();
addFrameScript(0, frame1);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
alpha = 0;
scaleX = (scaleY = 0);
rotateSpeed = ((Math.random() * 8) - (Math.random() * 8));
x = (((_arg1.stageWidth / 2) + (Math.random() * 300)) - (Math.random() * 300));
y = (((_arg1.stageHeight / 2) + (Math.random() * 200)) - (Math.random() * 200));
= (0.3 + (Math.random() * 0.7));
= (30 + Math.ceil((Math.random() * 90)));
Tweener.addTween(this, {scaleX:
, scaleY:
, alpha:1, time:0.5});
gotoAndStop(Math.ceil((Math.random() * 2)));
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
function frame1(){
stop();
}
public function loop(_arg1:Event){
counter++;
rotation = (rotation + rotateSpeed);
if (counter ==
){
Tweener.addTween(this, {scaleX:0, scaleY:0, alpha:0, time:0.5, onComplete:removeSelf});
};
}
}
}//package com.amp3d.blueberry
Section 55
//HudBubbleGoo (com.amp3d.blueberry.HudBubbleGoo)
package com.amp3d.blueberry {
import flash.display.*;
import caurina.transitions.*;
public class HudBubbleGoo extends MovieClip {
public var glare:MovieClip;
private var stageRef:Stage;
public var ball:MovieClip;
public function HudBubbleGoo(_arg1:Stage=null){
addFrameScript(0, frame1);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
x = 10;
y = (_arg1.stageHeight - (height / 2));
scaleY = 0.9;
alpha = 1;
Tweener.addTween(this, {y:((_arg1.stageHeight - this.height) - 10), time:1});
}
public function removeSelf(){
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
delete ??getglobalscope
[this];
}
public function changeTo(_arg1:Number){
gotoAndStop((_arg1 + 1));
}
function frame1(){
stop();
}
public function disappear(){
Tweener.addTween(this, {y:(stageRef.stageHeight + 10), time:1, transition:"easeInBack", onComplete:removeSelf});
}
}
}//package com.amp3d.blueberry
Section 56
//HudGoo (com.amp3d.blueberry.HudGoo)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.geom.*;
public class HudGoo extends MovieClip {
public var maskGoo:MovieClip;
public var goo:MovieClip;
private var stageRef:Stage;
public function HudGoo(_arg1:Stage=null){
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
x = ((_arg1.stageWidth - width) - 10);
y = (_arg1.stageHeight - (height / 2));
goo.mask = maskGoo;
maskGoo.maskJuice.scaleX = 0;
maskGoo.maskHealth.scaleX = 0;
scaleY = 0.9;
alpha = 1;
Tweener.addTween(this, {y:((_arg1.stageHeight - this.height) - 10), time:1});
Tweener.addTween(maskGoo.maskJuice, {scaleX:1, time:2.5, transition:"easeOut"});
Tweener.addTween(maskGoo.maskHealth, {scaleX:1, time:2.5, transition:"easeOut"});
}
public function updateJuice(_arg1:Number, _arg2:Number=5605512, _arg3:Number=0.9){
var _local4:ColorTransform;
_local4 = new ColorTransform();
_local4.color = _arg2;
goo.juiceRed.transform.colorTransform = _local4;
goo.juiceRed.alpha = _arg3;
Tweener.addTween(goo.juiceRed, {alpha:0, time:0.5, transition:"easeOut"});
Tweener.addTween(maskGoo.maskJuice, {scaleX:_arg1, time:0.5, transition:"easeOut"});
}
public function updateHealth(_arg1:Number, _arg2:Number=0xFF2200){
var _local3:ColorTransform;
_local3 = new ColorTransform();
_local3.color = _arg2;
goo.healthRed.transform.colorTransform = _local3;
goo.healthRed.alpha = 0.9;
Tweener.addTween(goo.healthRed, {alpha:0, time:0.5, transition:"easeOut"});
Tweener.addTween(maskGoo.maskHealth, {scaleX:_arg1, time:0.5, transition:"easeOut"});
}
public function disappear(){
Tweener.addTween(this, {y:(stageRef.stageHeight + 10), time:1, transition:"easeInBack", onComplete:removeSelf});
}
public function removeSelf(){
Tweener.removeTweens(maskGoo.maskJuice);
Tweener.removeTweens(maskGoo.maskHealth);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
delete ??getglobalscope
[this];
}
}
}//package com.amp3d.blueberry
Section 57
//HudLevelComplete (com.amp3d.blueberry.HudLevelComplete)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
public class HudLevelComplete extends MovieClip {
private var counter:int;// = 0
public var starburst:MovieClip;
public var lc:uiLevelComplete;
private var stageRef:Stage;
private var game;
public function HudLevelComplete(_arg1:Stage=null, _arg2=null){
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.game = _arg2;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
x = (_arg1.stageWidth / 2);
y = (_arg1.stageHeight / 2);
alpha = 0;
scaleX = (scaleY = 0.5);
SoundPlayer.playEffect("sfxSomaLevelComplete", 0, 1);
Tweener.addTween(this, {scaleX:1, scaleY:1, alpha:1, time:0.5});
lc.addEventListener(MouseEvent.MOUSE_DOWN, returnSelect, false, 0, true);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function returnSelect(_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:*;
var _local4:*;
game.togglePauseMenu();
game.killGame();
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
if (!Global.playingChallenge){
_local3 = new MenuLevelSelection(stageRef, true);
stageRef.addChildAt(_local3, 0);
_local3.init();
} else {
_local4 = new MenuChallengeSelection(stageRef, true);
stageRef.addChildAt(_local4, 0);
_local4.init();
};
removeSelf();
}
public function loop(_arg1:Event){
var _local2:HudBlueStar;
counter++;
if ((counter % 12) == 0){
_local2 = new HudBlueStar(stageRef);
stageRef.addChildAt(_local2, 1);
};
starburst.rotation++;
}
}
}//package com.amp3d.blueberry
Section 58
//HudLevelFailed (com.amp3d.blueberry.HudLevelFailed)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
public class HudLevelFailed extends MovieClip {
private var counter:int;// = 0
private var blueberry:CharBlueberry;
public var failure:uiFailure;
private var stageRef:Stage;
private var game;
public function HudLevelFailed(_arg1:Stage=null, _arg2=null, _arg3:CharBlueberry=null){
var _local4:*;
var _local5:*;
var _local6:SplatOne;
var _local7:SplatTwo;
var _local8:RedOut;
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.game = _arg2;
this.blueberry = _arg3;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
x = (_arg1.stageWidth / 2);
y = (_arg1.stageHeight / 2);
alpha = 0;
scaleX = (scaleY = 0.5);
_local4 = Math.atan2((250 - _arg3.getY()), (350 - _arg3.getX()));
_local5 = ((_local4 * 180) / Math.PI);
_local6 = new SplatOne();
addChildAt(_local6, 0);
_local6.x = (_arg3.getX() - 350);
_local6.y = (_arg3.getY() - 250);
_local6.rotation = _local5;
_local7 = new SplatTwo();
addChildAt(_local7, 1);
_local7.rotation = _local5;
_local8 = new RedOut();
addChildAt(_local8, 2);
_local8.blendMode = "overlay";
_local8.x = -350;
_local8.y = -250;
_local8.alpha = 0.5;
SoundPlayer.playEffect("sfxSomaLevelFailed", 0, 1);
SoundPlayer.playEffect("sfxSomaJam", 0, 1);
failure.rotation = ((Math.random() * 10) - (Math.random() * 10));
Tweener.addTween(this, {scaleX:1, scaleY:1, alpha:1, time:0.5});
failure.addEventListener(MouseEvent.MOUSE_DOWN, returnSelect, false, 0, true);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function returnSelect(_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:*;
var _local4:*;
game.togglePauseMenu();
game.killGame();
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
if (!Global.playingChallenge){
_local3 = new MenuLevelSelection(stageRef, true);
stageRef.addChildAt(_local3, 0);
_local3.init();
} else {
_local4 = new MenuChallengeSelection(stageRef, true);
stageRef.addChildAt(_local4, 0);
_local4.init();
};
removeSelf();
}
public function loop(_arg1:Event){
counter++;
Particular.explosion(stageRef, "AssetBlueberryDroplet", 0, 2, 3, blueberry.getX(), blueberry.getY(), 10, 20);
failure.y = (Math.cos((counter / 20)) * 4);
}
}
}//package com.amp3d.blueberry
Section 59
//HudStartAlert (com.amp3d.blueberry.HudStartAlert)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class HudStartAlert extends MovieClip {
public var countdown:MovieClip;
private var
:Number;// = 0
private var stageRef:Stage;
public function HudStartAlert(_arg1:Stage=null){
= 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
x = (_arg1.stageWidth / 2);
y = 290;
alpha = 0;
scaleX = (scaleY = 0.5);
SoundPlayer.playEffect("sfxSomaWarningIntro", 0, 1);
Tweener.addTween(this, {scaleX:1, scaleY:1, alpha:1, time:0.5});
}
public function loop(_arg1:Event){
if (countdown.currentFrame == 133){
Tweener.addTween(this, {scaleX:0.5, scaleY:0.5, alpha:0, time:0.5, onComplete:removeSelf});
};
x = (x + (Math.random() - Math.random()));
y = (y + (Math.random() - Math.random()));
rotation = (rotation + (Math.random() - Math.random()));
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 60
//ItemHaste (com.amp3d.blueberry.ItemHaste)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ItemHaste extends MovieClip {
public var counter:Number;// = 0
public var speedMultiplier:Number;
public var icon:MovieClip;
public var target:CharBlueberry;
public var hit:MovieClip;
public var lifeTimer:Timer;
public var itDropSpeed;// = 4
public var stageRef:Stage;
public function ItemHaste(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=7000, _arg4:Number=1.5){
counter = 0;
itDropSpeed = 4;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.speedMultiplier = _arg4;
this.target = _arg2;
lifeTimer = new Timer(_arg3);
BlueberryEventRegister.addEvent(lifeTimer, "timer", timerTick);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
x = ((Global.wLeftWall + Global.wWallPadding) + (Math.random() * ((_arg1.stageWidth - Global.wLeftWall) - Global.wWallPadding)));
y = (Global.wGround - (Math.random() * Global.wItemDropHeight));
SoundPlayer.playEffect("sfxWhoosh");
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.removeEvent(lifeTimer, "timer", timerTick);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function timerTick(_arg1:TimerEvent){
removeSelf();
}
public function loop(_arg1:Event){
var _local2:AssetHastePlus;
counter++;
if (this.hit.hitTestObject(target.ball)){
target.pickUpSpeed(speedMultiplier);
removeSelf();
};
if (((((counter % Math.floor((27 / Global.sParticleMulitplier))) == 0)) && (!((Global.sParticleMulitplier == 0))))){
_local2 = new AssetHastePlus(stageRef, x, (y + 5));
stageRef.addChild(_local2);
};
if (y < Global.wGround){
y = (y + 4);
} else {
if (y > Global.wGround){
y = Global.wGround;
};
};
icon.scaleX = Math.cos((counter / 10));
icon.y = (icon.y + (Math.sin((counter * 0.07)) / 2));
}
}
}//package com.amp3d.blueberry
Section 61
//ItemHeart (com.amp3d.blueberry.ItemHeart)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ItemHeart extends MovieClip {
public var counter:Number;// = 0
public var icon:MovieClip;
public var target:CharBlueberry;
public var hit:MovieClip;
public var lifeTimer:Timer;
public var itDropSpeed;// = 0.5
public var glow:MovieClip;
public var stageRef:Stage;
public var
:Number;
public function ItemHeart(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=7000, _arg4:Number=40){
counter = 0;
itDropSpeed = 0.5;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.
= _arg4;
this.target = _arg2;
lifeTimer = new Timer(_arg3);
BlueberryEventRegister.addEvent(lifeTimer, "timer", timerTick);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
x = ((Global.wLeftWall + Global.wWallPadding) + (Math.random() * ((_arg1.stageWidth - Global.wLeftWall) - Global.wWallPadding)));
y = (Global.wGround - (Math.random() * Global.wItemDropHeight));
SoundPlayer.playEffect("sfxWhoosh");
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.removeEvent(lifeTimer, "timer", timerTick);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
counter++;
if (this.hit.hitTestObject(target.ball)){
target.takeHealth(
);
removeSelf();
};
if (y < Global.wGround){
y = (y + itDropSpeed);
} else {
if (y > Global.wGround){
y = Global.wGround;
};
};
}
public function timerTick(_arg1:TimerEvent){
removeSelf();
}
}
}//package com.amp3d.blueberry
Section 62
//ItemInvincible (com.amp3d.blueberry.ItemInvincible)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ItemInvincible extends MovieClip {
public var counter:Number;// = 0
public var speedMultiplier:Number;
public var icon:MovieClip;
public var target:CharBlueberry;
public var hit:MovieClip;
public var lifeTimer:Timer;
public var itDropSpeed;// = 4
public var stageRef:Stage;
public function ItemInvincible(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=7000){
counter = 0;
itDropSpeed = 4;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.target = _arg2;
lifeTimer = new Timer(_arg3);
BlueberryEventRegister.addEvent(lifeTimer, "timer", timerTick);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
x = ((Global.wLeftWall + Global.wWallPadding) + (Math.random() * ((_arg1.stageWidth - Global.wLeftWall) - Global.wWallPadding)));
y = (Global.wGround - (Math.random() * Global.wItemDropHeight));
SoundPlayer.playEffect("sfxWhoosh");
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.removeEvent(lifeTimer, "timer", timerTick);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function timerTick(_arg1:TimerEvent){
removeSelf();
}
public function loop(_arg1:Event){
var _local2:AssetInvincibleDot;
counter++;
if (this.hit.hitTestObject(target.ball)){
target.setEmotion("celestial");
target.pickUpInvincible();
removeSelf();
};
if (y < Global.wGround){
y = (y + 4);
} else {
if (y > Global.wGround){
y = Global.wGround;
};
};
if (((((counter % Math.floor((18 / Global.sParticleMulitplier))) == 0)) && (!((Global.sParticleMulitplier == 0))))){
_local2 = new AssetInvincibleDot(stageRef, x, y);
stageRef.addChildAt(_local2, 1);
};
icon.scaleX = Math.cos((counter / 10));
icon.y = (icon.y + (Math.sin((counter * 0.07)) / 2));
}
}
}//package com.amp3d.blueberry
Section 63
//ItemJuiceDrop (com.amp3d.blueberry.ItemJuiceDrop)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ItemJuiceDrop extends MovieClip {
public var strength:Number;
public var target:CharBlueberry;
public var lifeTimer:Timer;
public var stageRef:Stage;
public function ItemJuiceDrop(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=7000, _arg4:Number=20){
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.strength = _arg4;
this.target = _arg2;
lifeTimer = new Timer(_arg3);
BlueberryEventRegister.addEvent(lifeTimer, "timer", timerTick);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
x = ((Global.wLeftWall + Global.wWallPadding) + (Math.random() * ((_arg1.stageWidth - Global.wLeftWall) - Global.wWallPadding)));
y = (Global.wGround - (Math.random() * Global.wItemDropHeight));
SoundPlayer.playEffect("sfxWhoosh");
}
public function timerTick(_arg1:TimerEvent){
removeSelf();
}
public function loop(_arg1:Event){
var _local2:Number;
if (this.hitTestObject(target.ball)){
dispatchEvent(new Event("taken"));
_local2 = (strength + (Global.ssLevelJuice * 2));
Global.stJuiceCollected = (Global.stJuiceCollected + _local2);
target.getJuice(_local2);
removeSelf();
};
if (y < Global.wGround){
y = (y + 0.5);
} else {
if (y > Global.wGround){
y = Global.wGround;
};
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.removeEvent(lifeTimer, "timer", timerTick);
lifeTimer.stop();
lifeTimer = null;
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 64
//ItemMagicJuice (com.amp3d.blueberry.ItemMagicJuice)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ItemMagicJuice extends MovieClip {
public var counter:Number;// = 0
public var speedMultiplier:Number;
public var icon:MovieClip;
public var target:CharBlueberry;
public var hit:MovieClip;
public var lifeTimer:Timer;
public var itDropSpeed;// = 4
public var stageRef:Stage;
public function ItemMagicJuice(_arg1:Stage=null, _arg2:CharBlueberry=null, _arg3:Number=7000){
counter = 0;
itDropSpeed = 4;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.speedMultiplier = speedMultiplier;
this.target = _arg2;
lifeTimer = new Timer(_arg3);
BlueberryEventRegister.addEvent(lifeTimer, "timer", timerTick);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
x = ((Global.wLeftWall + Global.wWallPadding) + (Math.random() * ((_arg1.stageWidth - Global.wLeftWall) - Global.wWallPadding)));
y = (Global.wGround - (Math.random() * Global.wItemDropHeight));
SoundPlayer.playEffect("sfxWhoosh");
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.removeEvent(lifeTimer, "timer", timerTick);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function timerTick(_arg1:TimerEvent){
removeSelf();
}
public function loop(_arg1:Event){
var _local2:AssetInvincibleDot;
counter++;
if (this.hit.hitTestObject(target.ball)){
target.pickUpMagicJuice();
removeSelf();
};
if (((((counter % Math.floor((18 / Global.sParticleMulitplier))) == 0)) && (!((Global.sParticleMulitplier == 0))))){
_local2 = new AssetInvincibleDot(stageRef, x, y);
stageRef.addChildAt(_local2, 1);
};
if (y < Global.wGround){
y = (y + 4);
} else {
if (y > Global.wGround){
y = Global.wGround;
};
};
icon.scaleX = Math.cos((counter / 10));
icon.y = (icon.y + (Math.sin((counter * 0.07)) / 2));
}
}
}//package com.amp3d.blueberry
Section 65
//KeySetter (com.amp3d.blueberry.KeySetter)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
import flash.text.*;
public class KeySetter extends MovieClip {
public var keyText:TextField;
public var keyCodeText:TextField;
public var arrows:MovieClip;
private var stageRef:Stage;
private var
:Boolean;// = false
private var :String;
public function KeySetter(){
= false;
super();
addFrameScript(0, frame1);
buttonMode = true;
addEventListener(MouseEvent.MOUSE_DOWN,
, false, 0, true);
keyText.mouseEnabled = false;
keyCodeText.mouseEnabled = false;
}
private function
(_arg1:MouseEvent){
if (
){
removeEventListener(KeyboardEvent.KEY_DOWN,
);
= false;
};
gotoAndStop(1);
addEventListener(MouseEvent.MOUSE_DOWN,
, false, 0, true);
removeEventListener(MouseEvent.ROLL_OUT,
);
}
public function init(_arg1:String, _arg2:uint, _arg3:String){
this. = _arg3;
keyText.text = _arg1;
keyCodeText.text = KeyCodeConverter.keyToString(_arg2);
(_arg2);
}
private function
(_arg1:uint){
if ((((_arg1 >= 37)) && ((_arg1 <= 40)))){
TextField(keyCodeText).visible = false;
arrows.visible = true;
arrows.gotoAndStop((_arg1 - 36));
} else {
TextField(keyCodeText).visible = true;
arrows.visible = false;
};
}
function frame1(){
stop();
}
private function
(_arg1:MouseEvent){
gotoAndStop(2);
= true;
addEventListener(KeyboardEvent.KEY_DOWN,
, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT,
, false, 0, true);
}
private function
(_arg1:KeyboardEvent){
keyCodeText.text = KeyCodeConverter.keyToString(_arg1.keyCode);
Global[] = _arg1.keyCode;
removeEventListener(KeyboardEvent.KEY_DOWN,
);
(_arg1.keyCode);
gotoAndStop(1);
}
}
}//package com.amp3d.blueberry
Section 66
//LevelsList (com.amp3d.blueberry.LevelsList)
package com.amp3d.blueberry {
public class LevelsList {
public static var ChallengeList:Array = [["SkillsMenu", ["SKILLS", "", "Upgrade Blueberry"], null, "skills"], ["StatsMenu", ["GAME STATS", "", "How are you doing?"], null, "stats"], ["Game", ["CHALLENGE:", "TRIAL 1", "TRIPYRA"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:700, health:220, bulletSpeed:20, bulletDamage:10, points:10000}, {startTime:2, enemy:"TRIPYRA", run:Global.FOLLOWTARGET, moveSpeedA:5, moveSpeedB:7, moveSpeedC:10, fireType:Global.FIREPROXIMITY, fireDelay:100, health:220, bulletSpeed:20, bulletDamage:10, points:10000}, {startTime:12, enemy:"TRIPYRA", run:Global.CRAZY, moveSpeedA:25, moveSpeedB:7, moveSpeedC:10, fireType:Global.FIREVARIABLE, fireDelay:400, health:220, bulletSpeed:20, bulletDamage:10, points:10000}, {startTime:22, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:500, health:200, bulletSpeed:20, bulletDamage:10, points:10000}, {startTime:32, enemy:"TRIPYRA", run:Global.FOLLOWTARGET, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:500, health:200, bulletSpeed:20, bulletDamage:10, points:10000}], "training", "70000"], ["Game", ["CHALLENGE:", "TRIAL 2", "PAK PAK"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:450, health:220, bulletSpeed:20, bulletDamage:10, points:10000}, {startTime:12, enemy:"PAKPAK", run:Global.WALLRUN, moveSpeedA:3, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:700, health:200, rotateSpeed:10, bulletSpeed:18, bulletDamage:10, points:10500}, {startTime:12, enemy:"PAKPAK", run:Global.WALLRUN, moveSpeedA:8, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:400, health:200, rotateSpeed:5, bulletSpeed:18, bulletDamage:10, points:10500}, {startTime:32, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:8, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:500, health:200, rotateSpeed:5, bulletSpeed:18, bulletDamage:10, points:10500}, {startTime:32, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:6, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:400, health:200, rotateSpeed:2, bulletSpeed:18, bulletDamage:15, points:10500}, {startTime:42, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:12, moveSpeedB:6, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:400, health:200, rotateSpeed:5, bulletSpeed:10, bulletDamage:15, points:10500}], "training", "170000"], ["Game", ["CHALLENGE:", "TRIAL 3", "NIVIA"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:6, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:450, health:220, bulletSpeed:15, bulletDamage:10, points:20000}, {startTime:12, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:250, health:200, rotateSpeed:10, bulletSpeed:4, bulletDamage:10, points:20500}, {startTime:32, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1150, health:200, bulletSpeed:20, bulletDamage:10, points:15000}, {startTime:32, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:11, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1050, health:200, bulletSpeed:30, bulletDamage:10, points:15000}, {startTime:42, enemy:"NIVIA", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:11, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1050, health:200, bulletSpeed:30, bulletDamage:10, points:15000}], "training", "300000"], ["Game", ["CHALLENGE:", "TRIAL 4", "ROXOR"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:8, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:250, health:160, bulletSpeed:7, bulletDamage:10, points:10000}, {startTime:3, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:4, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:17000}, {startTime:15, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:11, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:17000}, {startTime:30, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:700, health:200, rotateSpeed:10, bulletSpeed:18, bulletDamage:10, points:12500}, {startTime:40, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:15, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:17000}, {startTime:42, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:700, health:200, rotateSpeed:2, bulletSpeed:18, bulletDamage:10, points:12500}], "training", "500000"], ["Game", ["CHALLENGE:", "TRIAL 5", "CURVAIN"], [{startTime:2, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:400, health:200, rotateSpeed:15, bulletSpeed:6, bulletDamage:10, points:20500}, {startTime:5, enemy:"CURVAIN", run:Global.WALLRUNRANDOM, moveSpeedA:8, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:550, health:250, bulletSpeed:18, bulletDamage:20, points:20000}, {startTime:20, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:8, moveSpeedB:9, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:20000}, {startTime:35, enemy:"CURVAIN", run:Global.FOLLOWTARGET, moveSpeedA:8, moveSpeedB:7, moveSpeedC:3, fireType:Global.FIREPROXIMITY, fireDelay:170, health:250, bulletSpeed:15, bulletDamage:20, points:20000}, {startTime:45, enemy:"CURVAIN", run:Global.FOLLOWTARGET, moveSpeedA:2, moveSpeedB:2, moveSpeedC:3, fireType:Global.FIRERHYTHM, fireDelay:470, health:250, bulletSpeed:7, bulletDamage:20, points:20000}], "training", "700000"], ["Game", ["CHALLENGE:", "TRIAL 6", "REEK"], [{startTime:2, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:700, health:200, rotateSpeed:15, bulletSpeed:14, bulletDamage:10, points:20500}, {startTime:15, enemy:"REEK", run:Global.FLYAMUCK, moveSpeedA:6, moveSpeedB:4, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:600, health:260, rotateSpeed:32, points:20000}, {startTime:15, enemy:"REEK", run:Global.FLYAMUCK, moveSpeedA:12, moveSpeedB:4, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:700, health:260, rotateSpeed:6, points:20000}, {startTime:20, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:8, moveSpeedB:9, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:20000}, {startTime:32, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:11, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1050, health:200, bulletSpeed:10, bulletDamage:10, points:15000}], "training", "1000000"], ["Game", ["CHALLENGE:", "TRIAL 7", "PUMP"], [{startTime:2, enemy:"PUMP", run:Global.WALLRUN, moveSpeedA:9, moveSpeedB:5, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1200, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:16, points:25000}, {startTime:25, enemy:"REEK", run:Global.FLYAMUCK, moveSpeedA:6, moveSpeedB:4, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:600, health:260, rotateSpeed:32, points:20000}, {startTime:30, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:9, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:27000}, {startTime:42, enemy:"PUMP", run:Global.WALLRUNRANDOM, moveSpeedA:9, moveSpeedB:5, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:600, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:16, points:25000}, {startTime:50, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:11, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1050, health:200, bulletSpeed:10, bulletDamage:10, points:15000}, {startTime:60, enemy:"CURVAIN", run:Global.FOLLOWTARGET, moveSpeedA:7, moveSpeedB:9, moveSpeedC:3, fireType:Global.FIREPROXIMITY, fireDelay:170, health:250, bulletSpeed:15, bulletDamage:20, points:20000}], "training", "2000000"]];
public static var LevelList:Array = [["GameTutorial", ["TRAINING:", "", "Learn to Use Blueberry"], null, "training"], ["SkillsMenu", ["SKILLS", "", "Upgrade Blueberry"], null, "skills"], ["StatsMenu", ["GAME STATS", "", "How are you doing?"], null, "stats"], ["Game", ["STAGE 1:", "LEVEL 1", "They Come in Pairs"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:5, moveSpeedB:2, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:700, health:100, bulletSpeed:12, bulletDamage:10, points:6000}, {startTime:10, enemy:"TRIPYRA", run:Global.FOLLOWTARGET, moveSpeedA:5, moveSpeedB:7, moveSpeedC:10, fireType:Global.FIREVARIABLE, fireDelay:900, health:120, bulletSpeed:12, bulletDamage:10, points:6000}], "storage", "11300"], ["Game", ["STAGE 1:", "LEVEL 2", "A Little Tricky"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:3, moveSpeedB:8, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:550, health:120, bulletSpeed:12, bulletDamage:10, points:5000}, {startTime:18, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:5, moveSpeedB:8, moveSpeedC:10, fireType:Global.FIREVARIABLE, fireDelay:750, health:140, bulletSpeed:12, bulletDamage:10, points:5000}, {startTime:40, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:4, moveSpeedB:6, moveSpeedC:10, fireType:Global.FIREVARIABLE, fireDelay:650, health:140, bulletSpeed:12, bulletDamage:10, points:5000}], "storage", "17000"], ["Game", ["STAGE 1:", "LEVEL 3", "Be Careful"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:4, moveSpeedB:8, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:500, health:120, bulletSpeed:12, bulletDamage:10, points:5000}, {startTime:15, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:6, moveSpeedC:4, fireType:Global.FIREPROXIMITY, fireDelay:170, health:140, bulletSpeed:12, bulletDamage:10, points:5500}, {startTime:38, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:8, moveSpeedB:10, moveSpeedC:10, fireType:Global.FIREVARIABLE, fireDelay:650, health:140, bulletSpeed:12, bulletDamage:10, points:5000}], "storage", "16500"], ["Game", ["STAGE 2:", "LEVEL 1", "This Blows"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:3, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:400, health:140, bulletSpeed:12, bulletDamage:10, points:9000}, {startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:2, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:200, bulletSpeed:20, bulletDamage:10, points:13000}], "hallway", "16000"], ["Game", ["STAGE 2:", "LEVEL 2", "Bombs Away"], [{startTime:2, enemy:"NIVIA", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:14, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1600, health:200, bulletSpeed:20, bulletDamage:10, points:15000}, {startTime:3, enemy:"NIVIA", run:Global.WALLRUN, moveSpeedA:7, moveSpeedB:14, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1400, health:200, bulletSpeed:20, bulletDamage:10, points:12000}], "hallway", "20000"], ["Game", ["STAGE 2:", "LEVEL 3", "Kill Quickly"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:10, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:550, health:140, bulletSpeed:12, bulletDamage:10, points:8500}, {startTime:22, enemy:"NIVIA", run:Global.WALLRUN, moveSpeedA:3, moveSpeedB:6, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1300, health:200, bulletSpeed:20, bulletDamage:10, points:14000}, {startTime:33, enemy:"NIVIA", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:14, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1600, health:200, bulletSpeed:20, bulletDamage:10, points:14000}], "hallway", "33400"], ["Game", ["STAGE 2:", "LEVEL 4", "Slow Down"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:400, health:140, bulletSpeed:12, bulletDamage:10, points:9000}, {startTime:8, enemy:"NIVIA", run:Global.FOLLOWTARGET, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:950, health:200, bulletSpeed:20, bulletDamage:10, points:15000}, {startTime:16, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:600, health:140, bulletSpeed:12, bulletDamage:10, points:9000}], "hallway", "24500"], ["GameBoss", ["STAGE 2:", "BOSS", "Reinfield"], [{startTime:2, enemy:"REINFIELD", points:50000}], "hallway", "34800"], ["SkillsMenu", ["SKILLS", "", "Upgrade Blueberry"], null, "skills"], ["StatsMenu", ["GAME STATS", "", "How are you doing?"], null, "stats"], ["Game", ["STAGE 3:", "LEVEL 1", "Thats Different"], [{startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:6, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:200, bulletSpeed:20, bulletDamage:10, points:13000}, {startTime:6, enemy:"PAKPAK", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:14, moveSpeedC:12, fireType:Global.FIRERHYTHM, fireDelay:800, health:200, rotateSpeed:2, bulletSpeed:12, bulletDamage:10, points:12000}], "bridge", "18500"], ["Game", ["STAGE 3:", "LEVEL 2", "Grrreat!"], [{startTime:2, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:8, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:400, health:140, rotateSpeed:16, bulletSpeed:12, bulletDamage:10, points:9000}, {startTime:2, enemy:"PAKPAK", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:3, moveSpeedC:1.5, fireType:Global.FIRERHYTHM, fireDelay:900, health:140, rotateSpeed:2, bulletSpeed:12, bulletDamage:10, points:10000}], "bridge", "14500"], ["Game", ["STAGE 3:", "LEVEL 3", "Whoa..."], [{startTime:2, enemy:"NIVIA", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:14, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1600, health:200, bulletSpeed:20, bulletDamage:10, points:14000}, {startTime:4, enemy:"PAKPAK", run:Global.CRAZY, moveSpeedA:3, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIRERHYTHM, fireDelay:1200, health:200, rotateSpeed:2, bulletSpeed:12, bulletDamage:10, points:9000}, {startTime:5, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:1100, health:140, bulletSpeed:12, bulletDamage:10, points:8000}, {startTime:6, enemy:"TRIPYRA", run:Global.FOLLOWTARGET, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:1300, health:140, bulletSpeed:12, bulletDamage:10, points:8000}], "bridge", "28700"], ["Game", ["STAGE 3:", "LEVEL 4", "Vite... Vite..."], [{startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:950, health:200, bulletSpeed:20, bulletDamage:10, points:15000}, {startTime:21, enemy:"PAKPAK", run:Global.FOLLOWTARGET, moveSpeedA:3, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIRERHYTHM, fireDelay:700, health:200, rotateSpeed:2, bulletSpeed:12, bulletDamage:10, points:9500}, {startTime:30, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:3, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:700, health:140, bulletSpeed:12, bulletDamage:10, points:9000}, {startTime:41, enemy:"PAKPAK", run:Global.WALLRUN, moveSpeedA:7, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIRERHYTHM, fireDelay:600, health:200, rotateSpeed:9, bulletSpeed:12, bulletDamage:10, points:9500}], "bridge", "33500"], ["Game", ["STAGE 4:", "LEVEL 1", "This Drags"], [{startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:950, health:200, bulletSpeed:20, bulletDamage:10, points:18000}, {startTime:3, enemy:"ROXOR", run:Global.WALLRUN, moveSpeedA:4, moveSpeedB:4, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:17000}, {startTime:21, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIREPROXIMITY, fireDelay:700, health:200, rotateSpeed:15, bulletSpeed:12, bulletDamage:10, points:15000}], "vats", "35100"], ["Game", ["STAGE 4:", "LEVEL 2", "Keep Watching..."], [{startTime:2, enemy:"ROXOR", run:Global.WALLRUN, moveSpeedA:5, moveSpeedB:4, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:19500}, {startTime:7, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:19500}, {startTime:8, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIRERHYTHM, fireDelay:300, health:200, rotateSpeed:8, bulletSpeed:12, bulletDamage:10, points:14500}], "vats", "40300"], ["Game", ["STAGE 4:", "LEVEL 3", "Slow Down Speedy"], [{startTime:2, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:15, moveSpeedB:8, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:29500}, {startTime:2, enemy:"TRIPYRA", run:Global.WALLRUN, moveSpeedA:13, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:300, health:200, bulletSpeed:12, bulletDamage:15, points:16000}], "vats", "32500"], ["Game", ["STAGE 4:", "LEVEL 4", "Floored"], [{startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:950, health:200, bulletSpeed:25, bulletDamage:10, points:19000}, {startTime:5, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:200, points:19500}, {startTime:8, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIRERHYTHM, fireDelay:600, health:200, rotateSpeed:1, bulletSpeed:14, bulletDamage:15, points:15500}], "vats", "34000"], ["GameBoss", ["STAGE 4:", "BOSS", "Sheli"], [{startTime:2, enemy:"SHELI", points:80000}], "vats", "56000"], ["SkillsMenu", ["SKILLS", "", "Upgrade Blueberry"], null, "skills"], ["StatsMenu", ["GAME STATS", "", "How are you doing?"], null, "stats"], ["Game", ["STAGE 5:", "LEVEL 1", "Dodge This!"], [{startTime:2, enemy:"CURVAIN", run:Global.FOLLOWTARGET, moveSpeedA:6, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:450, health:250, bulletSpeed:18, bulletDamage:20, points:27000}, {startTime:2, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIRERHYTHM, fireDelay:400, health:240, rotateSpeed:3, bulletSpeed:15, bulletDamage:15, points:18500}], "grid", "31600"], ["Game", ["STAGE 5:", "LEVEL 2", "Triplets"], [{startTime:2, enemy:"CURVAIN", run:Global.WALLRUNRANDOM, moveSpeedA:8, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:450, health:250, bulletSpeed:18, bulletDamage:20, points:28000}, {startTime:11, enemy:"CURVAIN", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:850, health:250, bulletSpeed:18, bulletDamage:20, points:28000}, {startTime:22, enemy:"CURVAIN", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:4, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:850, health:250, bulletSpeed:18, bulletDamage:20, points:28000}], "grid", "51700"], ["Game", ["STAGE 5:", "LEVEL 3", "Could be Dangerous"], [{startTime:2, enemy:"CURVAIN", run:Global.WALLRUN, moveSpeedA:6, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:590, health:250, bulletSpeed:18, bulletDamage:20, points:28000}, {startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1200, health:220, bulletSpeed:25, bulletDamage:10, points:20000}, {startTime:5, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:8, moveSpeedB:8, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:220, points:19500}], "grid", "47700"], ["Game", ["STAGE 5:", "LEVEL 4", "Keep Shooting"], [{startTime:2, enemy:"CURVAIN", run:Global.WALLRUN, moveSpeedA:6, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:890, health:250, bulletSpeed:18, bulletDamage:20, points:29000}, {startTime:2, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:8, moveSpeedB:8, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:220, points:19500}, {startTime:32, enemy:"CURVAIN", run:Global.WALLRUN, moveSpeedA:7, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:890, health:250, bulletSpeed:18, bulletDamage:20, points:29000}, {startTime:42, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1300, health:220, bulletSpeed:25, bulletDamage:10, points:21000}, {startTime:52, enemy:"CURVAIN", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:3, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:790, health:250, bulletSpeed:18, bulletDamage:20, points:25000}], "grid", "83000"], ["Game", ["STAGE 6:", "LEVEL 1", "This Sucks"], [{startTime:2, enemy:"REEK", run:Global.FLYAMUCK, moveSpeedA:2, moveSpeedB:4, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1000, health:260, rotateSpeed:22, points:44000}, {startTime:7, enemy:"CURVAIN", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:7, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:690, health:250, bulletSpeed:18, bulletDamage:20, points:34000}], "power", "42000"], ["Game", ["STAGE 6:", "LEVEL 2", "Stop Pushing Me"], [{startTime:2, enemy:"REEK", run:Global.FLYAMUCK, moveSpeedA:2, moveSpeedB:4, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:260, rotateSpeed:22, points:40000}, {startTime:2, enemy:"REEK", run:Global.FLYHOP, moveSpeedA:6000, moveSpeedB:3, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1350, health:260, rotateSpeed:22, points:40000}], "power", "47000"], ["Game", ["STAGE 6:", "LEVEL 3", "Hold Still Already"], [{startTime:2, enemy:"REEK", run:Global.FLYHOP, moveSpeedA:3000, moveSpeedB:3, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:700, health:260, rotateSpeed:22, points:79000}], "power", "49000"], ["Game", ["STAGE 6:", "LEVEL 4", "Endurance"], [{startTime:2, enemy:"REEK", run:Global.FLYHOP, moveSpeedA:5000, moveSpeedB:5, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:260, rotateSpeed:22, points:40000}, {startTime:12, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:4, moveSpeedB:4, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:220, points:29500}, {startTime:32, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1200, health:220, bulletSpeed:25, bulletDamage:10, points:26000}, {startTime:47, enemy:"REEK", run:Global.FLYAMUCK, moveSpeedA:5, moveSpeedB:9, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:260, rotateSpeed:22, points:40000}], "power", "86000"], ["GameBoss", ["STAGE 6:", "BOSS", "Graves"], [{startTime:2, enemy:"GRAVES", points:120000}], "power", "94000"], ["SkillsMenu", ["SKILLS", "", "Upgrade Blueberry"], null, "skills"], ["StatsMenu", ["GAME STATS", "", "How are you doing?"], null, "stats"], ["Game", ["STAGE 7:", "LEVEL 1", "Stop Following Me"], [{startTime:2, enemy:"PUMP", run:Global.CRAZY, moveSpeedA:6, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:280, rotateSpeed:3, bulletSpeed:1.5, bulletDamage:25, points:65000}, {startTime:2, enemy:"PAKPAK", run:Global.CRAZY, moveSpeedA:5, moveSpeedB:9, moveSpeedC:3, fireType:Global.FIRERHYTHM, fireDelay:600, health:240, rotateSpeed:9, bulletSpeed:12, bulletDamage:19, points:35000}, {startTime:12, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:9, moveSpeedC:3, fireType:Global.FIRERHYTHM, fireDelay:600, health:240, rotateSpeed:9, bulletSpeed:12, bulletDamage:19, points:35000}], "final", "96000"], ["Game", ["STAGE 7:", "LEVEL 2", "T_T"], [{startTime:2, enemy:"PUMP", run:Global.CRAZY, moveSpeedA:6, moveSpeedB:14, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:25, points:65000}, {startTime:4, enemy:"PUMP", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:7, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1200, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:25, points:65000}], "final", "64000"], ["Game", ["STAGE 7:", "LEVEL 3", "I Need A Shield"], [{startTime:2, enemy:"TRIPYRA", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:5, moveSpeedC:7, fireType:Global.FIREVARIABLE, fireDelay:460, health:210, bulletSpeed:15, bulletDamage:15, points:47000}, {startTime:3, enemy:"ROXOR", run:Global.WALLRUNRANDOM, moveSpeedA:9, moveSpeedB:4, moveSpeedC:4, fireType:Global.FIRERHYTHM, fireDelay:10000, health:220, points:39500}, {startTime:10, enemy:"PUMP", run:Global.CRAZY, moveSpeedA:2, moveSpeedB:5, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:25, points:65000}], "final", "121000"], ["Game", ["STAGE 7:", "LEVEL 4", "Finally"], [{startTime:2, enemy:"NIVIA", run:Global.WALLRUNRANDOM, moveSpeedA:6, moveSpeedB:8, moveSpeedC:6, fireType:Global.FIRERHYTHM, fireDelay:1200, health:220, bulletSpeed:25, bulletDamage:20, points:36000}, {startTime:12, enemy:"PUMP", run:Global.CRAZY, moveSpeedA:6, moveSpeedB:5, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1400, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:25, points:65000}, {startTime:22, enemy:"PUMP", run:Global.WALLRUN, moveSpeedA:9, moveSpeedB:5, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1200, health:280, rotateSpeed:3, bulletSpeed:1.4, bulletDamage:25, points:75000}, {startTime:32, enemy:"PAKPAK", run:Global.WALLRUNRANDOM, moveSpeedA:5, moveSpeedB:9, moveSpeedC:3, fireType:Global.FIRERHYTHM, fireDelay:600, health:240, rotateSpeed:20, bulletSpeed:12, bulletDamage:19, points:45000}, {startTime:42, enemy:"PUMP", run:Global.WALLRUN, moveSpeedA:3, moveSpeedB:3, moveSpeedC:2, fireType:Global.FIREVARIABLE, fireDelay:1200, health:280, rotateSpeed:3, bulletSpeed:1, bulletDamage:25, points:65000}], "final", "209000"], ["GameBoss", ["STAGE 7:", "BOSS", "????"], [{startTime:2, enemy:"RASPBERRY", points:300000}], "final", "270000"]];
}
}//package com.amp3d.blueberry
Section 67
//LinkGeneric (com.amp3d.blueberry.LinkGeneric)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class LinkGeneric extends MovieClip {
private var url:String;
public var mj:MovieClip;
public function LinkGeneric(){
addEventListener(MouseEvent.MOUSE_DOWN, gotoLink, false, 0, true);
buttonMode = true;
}
public function storeLink(_arg1:String):void{
this.url = _arg1;
}
public function gotoLink(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(url), "_blank");
}
}
}//package com.amp3d.blueberry
Section 68
//LinkLeet (com.amp3d.blueberry.LinkLeet)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class LinkLeet extends MovieClip {
public function LinkLeet(){
addEventListener(MouseEvent.MOUSE_DOWN, gotoLink, false, 0, true);
buttonMode = true;
}
public function gotoLink(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://2leet.com"), "_blank");
}
}
}//package com.amp3d.blueberry
Section 69
//LinkMinijuegos (com.amp3d.blueberry.LinkMinijuegos)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class LinkMinijuegos extends MovieClip {
public function LinkMinijuegos(){
addEventListener(MouseEvent.MOUSE_DOWN, gotoLink, false, 0, true);
buttonMode = true;
}
public function gotoLink(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://minijuegos.com"), "_blank");
}
}
}//package com.amp3d.blueberry
Section 70
//MenuChallengeSelection (com.amp3d.blueberry.MenuChallengeSelection)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
import com.senocular.utils.*;
import flash.ui.*;
public class MenuChallengeSelection extends MovieClip {
private var :UISkillMenu;
private var blueberry:CharBlueberry;
private var :Boolean;// = false
private var
:Array;
private var key:KeyObject;
private var
:UIGameStatMenu;
private var :Boolean;// = false
private var :MovieClip;
public var mainmenu:ReturnMainMenu;
public var tip:MovieClip;
private var stageRef:Stage;
public var bbdata:MovieClip;
public function MenuChallengeSelection(_arg1:Stage=null, _arg2:Boolean=false){
= new MovieClip();
= new Array();
= false;
= false;
super();
this.stageRef = _arg1;
this. = _arg2;
}
public function init(){
var _local1:*;
var _local2:Number;
var _local3:Array;
var _local4:MenuChallengeThumbs;
stageRef.focus = stageRef;
= new UISkillMenu(stageRef, this);
= new UIGameStatMenu(stageRef, this);
addChild();
.y = Global.wGround;
Global.playingChallenge = true;
blueberry = new CharBlueberry(stageRef, false);
_local1 = false;
if (Global.currentChallenge != 0){
tip.alpha = 0;
};
_local2 = 0;
while (_local2 < LevelsList.ChallengeList.length) {
_local3 = LevelsList.ChallengeList[_local2];
_local4 = new MenuChallengeThumbs(, _local3[1][0], _local3[1][1], _local3[1][2], _local3[3], _local3[4], blueberry);
if ((((((_local3[0] == "Game")) || ((_local3[0] == "GameBoss")))) && ((Global.gameTotalScore >= Number(_local3[4]))))){
trace("HERE");
_local4.addStats(Global.challengesCompleteData[_local2]);
_local4.ready();
} else {
_local4.notReady();
};
if ((((_local3[0] == "SkillsMenu")) || ((_local3[0] == "StatsMenu")))){
_local4.ready();
};
.addChild(_local4);
_local4.x = (20 + (_local2 * (_local4.width + 10)));
.push(_local4);
_local2++;
};
if (){
.x = (-(((_local4.width + 10) * Global.currentChallenge)) + 40);
if ((.x + .width) < (stageRef.stageWidth - 30)){
.x = ((stageRef.stageWidth - 30) - .width);
};
};
stageRef.addChild(blueberry);
key = new KeyObject(stageRef);
bbdata.level.text = Global.blueberryLevel;
bbdata.skillPoints.text = Global.ssPoints;
bbdata.alpha = 0.7;
Tweener.addTween(bbdata, {y:61, time:2, transition:"easeOut"});
mainmenu.setHitSound("sfxBtnIce", 1);
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
mainmenu.addEventListener(MouseEvent.MOUSE_UP, gotoMainMenu, false, 0, true);
}
public function openSkills(){
stageRef.addChild();
= true;
}
public function gotoMainMenu(_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:int;
var _local4:MenuSplash;
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new MenuSplash(stageRef);
stageRef.addChildAt(_local4, 0);
Global.updateLevelData();
stageRef.removeChild(this);
}
public function closeSkills(){
stageRef.removeChild();
stageRef.focus = this;
= false;
bbdata.level.text = Global.blueberryLevel;
bbdata.skillPoints.text = Global.ssPoints;
}
public function openStats(){
.initValues();
stageRef.addChild(
);
= true;
}
public function startLevel(_arg1:Number){
if (){
return;
};
switch (LevelsList.ChallengeList[_arg1][0]){
case "Game":
startGame(_arg1);
break;
case "GameTutorial":
startTutorial(_arg1);
break;
case "SkillsMenu":
openSkills();
break;
case "StatsMenu":
openStats();
break;
case "GameBoss":
startBoss(_arg1);
break;
};
}
public function startGame(_arg1:Number){
var _local2:Whiteflash;
var _local3:int;
var _local4:*;
Global.currentChallenge = _arg1;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new Game(stageRef, LevelsList.ChallengeList[_arg1][2], LevelsList.ChallengeList[_arg1][3]);
stageRef.removeChild(this);
}
public function closeStats(){
stageRef.removeChild(
);
stageRef.focus = this;
= false;
}
public function loop(_arg1:Event){
var _local2:Number;
if ((((blueberry.getX() > (stageRef.stageWidth * 0.8))) && (((.x + .width) > (stageRef.stageWidth - 30))))){
blueberry.setX((stageRef.stageWidth * 0.8));
.x = (.x - (blueberry.getVX() * 0.8));
};
if ((((blueberry.getX() < (stageRef.stageWidth * 0.2))) && ((.x < -10)))){
blueberry.setX((stageRef.stageWidth * 0.2));
.x = (.x - (blueberry.getVX() * 0.8));
};
if (key.isDown(Keyboard.ENTER)){
_local2 = 0;
while (_local2 <
.length) {
if (
[_local2].blnForward){
startLevel(_local2);
};
_local2++;
};
};
}
public function startTutorial(_arg1:Number){
var _local2:Whiteflash;
var _local3:int;
var _local4:*;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new GameTutorial(stageRef);
stageRef.removeChild(this);
}
public function startBoss(_arg1:Number){
var _local2:Whiteflash;
var _local3:int;
var _local4:*;
Global.currentChallenge = _arg1;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new GameBoss(stageRef, LevelsList.ChallengeList[_arg1][2], LevelsList.ChallengeList[_arg1][3]);
stageRef.removeChild(this);
}
}
}//package com.amp3d.blueberry
Section 71
//MenuChallengeThumbs (com.amp3d.blueberry.MenuChallengeThumbs)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class MenuChallengeThumbs extends MovieClip {
public var isPlayable:Boolean;// = true
private var blueberry:CharBlueberry;
public var txtLevel:TextField;
private var :String;
public var txtStage:TextField;
public var blnBackward:Boolean;// = false
private var dad:MovieClip;
public var hit:MovieClip;
public var uk:MovieClip;
public var loadIn:MovieClip;
public var blnForward:Boolean;// = false
public var txtTitle:TextField;
public function MenuChallengeThumbs(_arg1:MovieClip=null, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="none", _arg6:String="20000", _arg7:CharBlueberry=null){
blnForward = false;
blnBackward = false;
isPlayable = true;
super();
addFrameScript(0, frame1);
if (_arg1 == null){
return;
};
this.dad = _arg1;
this.blueberry = _arg7;
loadIn.gotoAndStop(_arg5);
txtStage.text = _arg2;
txtLevel.text = _arg3;
txtTitle.text = _arg4;
= _arg6;
uk.pointsNeeded.text = String();
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (dad.contains(this)){
dad.removeChild(this);
};
}
public function playBackward(){
if (!isPlayable){
return;
};
blnBackward = true;
blnForward = false;
}
function frame1(){
stop();
}
public function notReady(){
uk.alpha = 0.9;
isPlayable = false;
}
public function loop(_arg1:Event){
if (((blnForward) && (!((currentFrame == this.totalFrames))))){
nextFrame();
} else {
if (((blnBackward) && (!((currentFrame == 0))))){
prevFrame();
};
};
if (hit.hitTestObject(blueberry)){
playForward();
} else {
playBackward();
};
}
public function addStats(_arg1:Object){
var _local2:MenuThumbStats;
_local2 = new MenuThumbStats(this, _arg1.levelTime, _arg1.levelScore, _arg1.levelPlays, _arg1.levelCompletes, _arg1.levelFailures, blueberry);
addChild(_local2);
_local2.x = 108;
_local2.y = -236;
}
public function ready(){
uk.visible = false;
isPlayable = true;
}
public function playForward(){
if (!isPlayable){
return;
};
blnForward = true;
blnBackward = false;
if (currentFrame != this.totalFrames){
nextFrame();
};
}
}
}//package com.amp3d.blueberry
Section 72
//MenuLevelSelection (com.amp3d.blueberry.MenuLevelSelection)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
import com.senocular.utils.*;
import flash.ui.*;
public class MenuLevelSelection extends MovieClip {
private var :UISkillMenu;
private var blueberry:CharBlueberry;
private var :Boolean;// = false
private var
:Array;
private var key:KeyObject;
private var
:UIGameStatMenu;
private var :Boolean;// = false
private var :MovieClip;
public var mainmenu:ReturnMainMenu;
public var tip:MovieClip;
private var stageRef:Stage;
public var bbdata:MovieClip;
public function MenuLevelSelection(_arg1:Stage=null, _arg2:Boolean=false){
= new MovieClip();
= new Array();
= false;
= false;
super();
this.stageRef = _arg1;
this. = _arg2;
}
public function init(){
var _local1:*;
var _local2:Number;
var _local3:Array;
var _local4:MenuLevelThumbs;
var _local5:Boolean;
stageRef.focus = stageRef;
= new UISkillMenu(stageRef, this);
= new UIGameStatMenu(stageRef, this);
addChild();
.y = Global.wGround;
Global.playingChallenge = false;
blueberry = new CharBlueberry(stageRef, false);
_local1 = false;
if (Global.currentLevel != 0){
tip.alpha = 0;
};
_local2 = 0;
while (_local2 < LevelsList.LevelList.length) {
_local3 = LevelsList.LevelList[_local2];
_local4 = new MenuLevelThumbs(, _local3[1][0], _local3[1][1], _local3[1][2], _local3[3], blueberry);
if (((Global.levelsCompleteData[_local2].completed) && ((((_local3[0] == "Game")) || ((_local3[0] == "GameBoss")))))){
_local4.addStats(Global.levelsCompleteData[_local2]);
} else {
if ((((_local3[0] == "Game")) && (!(_local1)))){
_local1 = true;
} else {
if (_local1){
_local4.notReady();
};
};
};
if (((((!((_local3[0] == "SkillsMenu"))) && (!((_local3[0] == "StatsMenu"))))) && (!((_local3[0] == "GameTutorial"))))){
_local5 = false;
if (Number(Global.levelsCompleteData[_local2].levelScore) >= Number(_local3[4])){
_local5 = true;
};
_local4.setupJumper(_local5, blueberry, _local3[4]);
};
.addChild(_local4);
_local4.x = (20 + (_local2 * (_local4.width + 10)));
.push(_local4);
_local2++;
};
if (){
.x = (-(((_local4.width + 10) * Global.currentLevel)) + 40);
if ((.x + .width) < (stageRef.stageWidth - 30)){
.x = ((stageRef.stageWidth - 30) - .width);
};
};
stageRef.addChild(blueberry);
key = new KeyObject(stageRef);
bbdata.level.text = Global.blueberryLevel;
bbdata.skillPoints.text = Global.ssPoints;
bbdata.alpha = 0.7;
Tweener.addTween(bbdata, {y:61, time:2, transition:"easeOut"});
mainmenu.setHitSound("sfxBtnIce", 1);
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
mainmenu.addEventListener(MouseEvent.MOUSE_UP, gotoMainMenu, false, 0, true);
}
public function openSkills(){
stageRef.addChild();
= true;
}
public function gotoMainMenu(_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:int;
var _local4:MenuSplash;
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new MenuSplash(stageRef);
stageRef.addChildAt(_local4, 0);
Global.updateLevelData();
stageRef.removeChild(this);
}
public function closeSkills(){
stageRef.removeChild();
stageRef.focus = this;
= false;
bbdata.level.text = Global.blueberryLevel;
bbdata.skillPoints.text = Global.ssPoints;
}
public function openStats(){
.initValues();
stageRef.addChild(
);
= true;
}
public function startLevel(_arg1:Number){
if (){
return;
};
switch (LevelsList.LevelList[_arg1][0]){
case "Game":
startGame(_arg1);
break;
case "GameTutorial":
startTutorial(_arg1);
break;
case "SkillsMenu":
openSkills();
break;
case "StatsMenu":
openStats();
break;
case "GameBoss":
startBoss(_arg1);
break;
};
}
public function startGame(_arg1:Number){
var _local2:Whiteflash;
var _local3:int;
var _local4:*;
Global.currentLevel = _arg1;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new Game(stageRef, LevelsList.LevelList[_arg1][2], LevelsList.LevelList[_arg1][3]);
stageRef.removeChild(this);
}
public function closeStats(){
stageRef.removeChild(
);
stageRef.focus = this;
= false;
}
public function loop(_arg1:Event){
var _local2:Number;
if ((((blueberry.getX() > (stageRef.stageWidth * 0.8))) && (((.x + .width) > (stageRef.stageWidth - 30))))){
blueberry.setX((stageRef.stageWidth * 0.8));
.x = (.x - (blueberry.getVX() * 0.8));
};
if ((((blueberry.getX() < (stageRef.stageWidth * 0.2))) && ((.x < -10)))){
blueberry.setX((stageRef.stageWidth * 0.2));
.x = (.x - (blueberry.getVX() * 0.8));
};
if (key.isDown(Keyboard.ENTER)){
_local2 = 0;
while (_local2 <
.length) {
if (
[_local2].blnForward){
startLevel(_local2);
};
_local2++;
};
};
}
public function startTutorial(_arg1:Number){
var _local2:Whiteflash;
var _local3:int;
var _local4:*;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new GameTutorial(stageRef);
stageRef.removeChild(this);
}
public function startBoss(_arg1:Number){
var _local2:Whiteflash;
var _local3:int;
var _local4:*;
Global.currentLevel = _arg1;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = 0;
while (_local3 <
.length) {
[_local3].removeSelf();
_local3++;
};
removeEventListener(Event.ENTER_FRAME, loop);
mainmenu.removeEventListener(MouseEvent.MOUSE_UP, gotoMainMenu);
removeChild();
blueberry.removeSelf();
blueberry = null;
_local4 = new GameBoss(stageRef, LevelsList.LevelList[_arg1][2], LevelsList.LevelList[_arg1][3]);
stageRef.removeChild(this);
}
}
}//package com.amp3d.blueberry
Section 73
//MenuLevelThumbs (com.amp3d.blueberry.MenuLevelThumbs)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class MenuLevelThumbs extends MovieClip {
public var isPlayable:Boolean;// = true
private var blueberry:CharBlueberry;
public var txtLevel:TextField;
public var txtStage:TextField;
public var blnBackward:Boolean;// = false
private var dad:MovieClip;
public var hit:MovieClip;
public var uk:MovieClip;
public var loadIn:MovieClip;
private var :StageBBJumper;// = null
public var blnForward:Boolean;// = false
public var txtTitle:TextField;
public function MenuLevelThumbs(_arg1:MovieClip=null, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="none", _arg6:CharBlueberry=null){
blnForward = false;
blnBackward = false;
isPlayable = true;
= null;
super();
addFrameScript(0, frame1);
if (_arg1 == null){
return;
};
this.dad = _arg1;
this.blueberry = _arg6;
loadIn.gotoAndStop(_arg5);
txtStage.text = _arg2;
txtLevel.text = _arg3;
txtTitle.text = _arg4;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if ( != null){
.removeSelf();
};
if (dad.contains(this)){
dad.removeChild(this);
};
}
public function setupJumper(_arg1:Boolean, _arg2:CharBlueberry, _arg3:Number){
= new StageBBJumper(this, _arg2, _arg3);
.x = 146;
addChild();
if (_arg1){
.removeDark();
};
}
public function playBackward(){
if (!isPlayable){
return;
};
blnBackward = true;
blnForward = false;
}
function frame1(){
stop();
}
public function notReady(){
uk.alpha = 0.8;
isPlayable = false;
}
public function loop(_arg1:Event){
if (((blnForward) && (!((currentFrame == this.totalFrames))))){
nextFrame();
} else {
if (((blnBackward) && (!((currentFrame == 0))))){
prevFrame();
};
};
if (hit.hitTestObject(blueberry)){
playForward();
} else {
playBackward();
};
}
public function addStats(_arg1:Object){
var _local2:MenuThumbStats;
_local2 = new MenuThumbStats(this, _arg1.levelTime, _arg1.levelScore, _arg1.levelPlays, _arg1.levelCompletes, _arg1.levelFailures, blueberry);
addChild(_local2);
_local2.x = 108;
_local2.y = -236;
}
public function playForward(){
if (!isPlayable){
return;
};
blnForward = true;
blnBackward = false;
if (currentFrame != this.totalFrames){
nextFrame();
};
}
}
}//package com.amp3d.blueberry
Section 74
//MenuPause (com.amp3d.blueberry.MenuPause)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
public class MenuPause extends MovieClip {
public var menu_av:btnAudioVideo;
public var exit:Exit;
public var sectionInstructions:MovieClip;
var evGroup:LinkedButtons;
public var blackbox:MovieClip;
var mvGroup:LinkedButtons;
var :LinkedButtons;
public var mainmenu:ReturnMainMenu;
var menuGroup:LinkedButtons;
public var menu_instructions:btnInstructions;
public var stageselect:ReturnStageSelect;
var particleGroup:LinkedButtons;
private var stageRef:Stage;
public var sectionControls:MovieClip;
public var menu_controls:btnControls;
public var sectionAV:MovieClip;
var qualityGroup:LinkedButtons;
private var game;
public function MenuPause(_arg1:Stage=null, _arg2=null){
menuGroup = new LinkedButtons();
qualityGroup = new LinkedButtons();
particleGroup = new LinkedButtons();
= new LinkedButtons();
evGroup = new LinkedButtons();
mvGroup = new LinkedButtons();
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.game = _arg2;
exit.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
mainmenu.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
stageselect.addEventListener(MouseEvent.MOUSE_DOWN, CloseSelect, false, 0, true);
menu_av.setHitSound("sfxBtnIce", 1);
menu_controls.setHitSound("sfxBtnIce", 1);
menu_instructions.setHitSound("sfxBtnIce", 1);
exit.setHitSound("sfxBtnIce", 1);
mainmenu.setHitSound("sfxBtnIce", 1);
stageselect.setHitSound("sfxBtnIce", 1);
sectionInstructions.control.setHitSound("sfxBtnIce", 1);
sectionInstructions.items.setHitSound("sfxBtnIce", 1);
sectionInstructions.strat.setHitSound("sfxBtnIce", 1);
menuGroup.(menu_av, setAV);
menuGroup.(menu_controls, setControls);
menuGroup.(menu_instructions, setInstructions);
menuGroup.setButton(menu_av);
qualityGroup.(sectionAV.gq_l, gqlow);
qualityGroup.(sectionAV.gq_m, gqmed);
qualityGroup.(sectionAV.gq_h, gqhigh);
particleGroup.(sectionAV.pg_l, pglow);
particleGroup.(sectionAV.pg_m, pgmed);
particleGroup.(sectionAV.pg_h, pghigh);
.(sectionInstructions.control, );
.(sectionInstructions.items, );
.(sectionInstructions.strat, );
.setButton(sectionInstructions.control);
evGroup.(sectionAV.ev_o, evoff);
evGroup.(sectionAV.ev_l, evlow);
evGroup.(sectionAV.ev_m, evmed);
evGroup.(sectionAV.ev_h, evhigh);
mvGroup.(sectionAV.mv_o, mvoff);
mvGroup.(sectionAV.mv_l, mvlow);
mvGroup.(sectionAV.mv_m, mvmed);
mvGroup.(sectionAV.mv_h, mvhigh);
sectionControls.keyJump.init("Jump", Global.sKeyJump, "sKeyJump");
sectionControls.keyDive.init("Dive", Global.sKeyDive, "sKeyDive");
sectionControls.keyLeft.init("Move Left", Global.sKeyMoveLeft, "sKeyMoveLeft");
sectionControls.keyRight.init("Move Right", Global.sKeyMoveRight, "sKeyMoveRight");
sectionControls.keyBubble.init("Bubble", Global.sKeyBubble, "sKeyBubble");
sectionControls.keyJam.init("Jam", Global.sKeyJam, "sKeyJam");
sectionControls.keyChangeLeft.init("Prev Weapon", Global.sKeyBblChngLeft, "sKeyBblChngLeft");
sectionControls.keyChangeRight.init("Next Weapon", Global.sKeyBblChngRight, "sKeyBblChngRight");
}
public function mvlow(){
Global.sMusicVolume = 1;
SoundPlayer.volumeMusic();
}
public function (_arg1:MouseEvent){
game.togglePauseMenu();
}
public function evlow(){
Global.sEffectsVolume = 1;
}
public function setAV(){
sectionAV.visible = true;
sectionControls.visible = false;
sectionInstructions.visible = false;
}
public function evoff(){
Global.sEffectsVolume = 0;
}
public function setInstructions(){
sectionAV.visible = false;
sectionControls.visible = false;
sectionInstructions.visible = true;
}
public function mvoff(){
Global.sMusicVolume = 0;
SoundPlayer.volumeMusic();
}
public function (){
sectionInstructions.gotoAndStop(3);
}
public function pghigh(){
Global.sParticleMulitplier = 3;
}
public function setControls(){
sectionAV.visible = false;
sectionControls.visible = true;
sectionInstructions.visible = false;
}
public function CloseSelect(_arg1:MouseEvent=null){
var _local2:Whiteflash;
var _local3:*;
var _local4:*;
game.togglePauseMenu();
game.killGame();
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
if (!Global.playingChallenge){
_local3 = new MenuLevelSelection(stageRef, true);
stageRef.addChildAt(_local3, 0);
_local3.init();
} else {
_local4 = new MenuChallengeSelection(stageRef, true);
stageRef.addChildAt(_local4, 0);
_local4.init();
};
Global.updateLevelData();
removeSelf();
}
public function (){
sectionInstructions.gotoAndStop(2);
}
public function gqlow(){
stageRef.quality = StageQuality.LOW;
}
public function pgmed(){
Global.sParticleMulitplier = 2;
}
public function evmed(){
Global.sEffectsVolume = 2;
}
public function gqmed(){
stageRef.quality = StageQuality.MEDIUM;
}
public function mvmed(){
Global.sMusicVolume = 2;
SoundPlayer.volumeMusic();
}
public function gqhigh(){
stageRef.quality = StageQuality.HIGH;
}
public function (){
sectionInstructions.gotoAndStop(4);
}
public function mvhigh(){
Global.sMusicVolume = 3;
SoundPlayer.volumeMusic();
}
public function evhigh(){
Global.sEffectsVolume = 3;
}
public function refresh(){
if (stageRef.quality == "LOW"){
qualityGroup.setButton(sectionAV.gq_l);
} else {
if (stageRef.quality == "MEDIUM"){
qualityGroup.setButton(sectionAV.gq_m);
} else {
qualityGroup.setButton(sectionAV.gq_h);
};
};
if (Global.sParticleMulitplier == 1){
particleGroup.setButton(sectionAV.pg_l);
} else {
if (Global.sParticleMulitplier == 2){
particleGroup.setButton(sectionAV.pg_m);
} else {
particleGroup.setButton(sectionAV.pg_h);
};
};
if (Global.sEffectsVolume == 0){
evGroup.setButton(sectionAV.ev_o);
} else {
if (Global.sEffectsVolume == 1){
evGroup.setButton(sectionAV.ev_l);
} else {
if (Global.sEffectsVolume == 2){
evGroup.setButton(sectionAV.ev_m);
} else {
evGroup.setButton(sectionAV.ev_h);
};
};
};
if (Global.sMusicVolume == 0){
mvGroup.setButton(sectionAV.mv_o);
} else {
if (Global.sMusicVolume == 1){
mvGroup.setButton(sectionAV.mv_l);
} else {
if (Global.sMusicVolume == 2){
mvGroup.setButton(sectionAV.mv_m);
} else {
mvGroup.setButton(sectionAV.mv_h);
};
};
};
}
public function (_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:MenuSplash;
game.togglePauseMenu();
game.killGame();
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = new MenuSplash(stageRef);
stageRef.addChildAt(_local3, 0);
Global.updateLevelData();
removeSelf();
}
public function pglow(){
Global.sParticleMulitplier = 1;
}
public function removeSelf(){
exit.removeEventListener(MouseEvent.MOUSE_DOWN, );
mainmenu.removeEventListener(MouseEvent.MOUSE_DOWN, );
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
delete ??getglobalscope
[this];
}
}
}//package com.amp3d.blueberry
Section 75
//MenuSelectGame (com.amp3d.blueberry.MenuSelectGame)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import com.amp3d.assets.*;
public class MenuSelectGame extends MovieClip {
private var :MovieClip;
private var counter:Number;// = 0
private var :MovieClip;
private var
:MovieClip;
private var :SharedObject;
private var :MovieClip;
private var
:MovieClip;
private var :SharedObject;
private var :Boolean;// = false
private var :SharedObject;
private var stageRef:Stage;
private var :MovieClip;
public function MenuSelectGame(_arg1:Stage=null, _arg2:Boolean=false){
counter = 0;
= false;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this. = _arg2;
}
private function (){
var _local1:Whiteflash;
var _local2:IntroComic;
_local1 = new Whiteflash(stageRef);
stageRef.addChild(_local1);
_local2 = new IntroComic();
stageRef.addChildAt(_local2, 0);
this.visible = false;
_local2.addEventListener("playComplete", );
}
public function removeSelf(){
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function init(){
Global.so = null;
= SharedObject.getLocal("BlueberryGameData01");
= SharedObject.getLocal("BlueberryGameData02");
= SharedObject.getLocal("BlueberryGameData03");
if (.data.used == undefined){
= new NewGameButton();
} else {
= new ContinueGameButton();
.totalScore.text = .data.gameTotalScore;
.totalScore.mouseEnabled = false;
= new DeleteGameButton();
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
.y = 360;
.x = 38;
addChild();
};
if (.data.used == undefined){
= new NewGameButton();
} else {
= new ContinueGameButton();
.totalScore.text = .data.gameTotalScore;
.totalScore.mouseEnabled = false;
= new DeleteGameButton();
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
.y = 360;
.x = 250;
addChild();
};
if (.data.used == undefined){
= new NewGameButton();
} else {
= new ContinueGameButton();
.totalScore.text = .data.gameTotalScore;
.totalScore.mouseEnabled = false;
= new DeleteGameButton();
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
.y = 360;
.x = 462;
addChild();
};
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
.y = (
.y = (.y = 189));
.x = 38;
.x = 250;
.x = 462;
.setHitSound("sfxClickBeep", 1);
.setHitSound("sfxClickBeep", 1);
.setHitSound("sfxClickBeep", 1);
addChild(
);
addChild(
);
addChild();
}
private function (){
var _local1:Whiteflash;
var _local2:*;
var _local3:*;
_local1 = new Whiteflash(stageRef);
stageRef.addChild(_local1);
.removeEventListener(MouseEvent.MOUSE_DOWN, );
.removeEventListener(MouseEvent.MOUSE_DOWN, );
.removeEventListener(MouseEvent.MOUSE_DOWN, );
if (!){
_local2 = new MenuLevelSelection(stageRef, true);
stageRef.addChildAt(_local2, 0);
_local2.init();
} else {
_local3 = new MenuChallengeSelection(stageRef, true);
stageRef.addChildAt(_local3, 0);
_local3.init();
};
removeSelf();
}
private function (_arg1:MouseEvent){
if (.data.used == undefined){
();
} else {
();
};
}
private function (_arg1:MouseEvent){
if (.data.used == undefined){
();
} else {
();
};
}
private function (_arg1:MouseEvent){
if (.data.used == undefined){
();
} else {
();
};
}
private function (_arg1:Event){
removeEventListener("playComplete", );
stageRef.removeChild(DisplayObject(_arg1.currentTarget));
();
}
private function (_arg1:SharedObject, _arg2=false){
Global.setupNewGame(_arg2);
_arg1.clear();
_arg1.data.levelsCompleteData = Global.levelsCompleteData;
_arg1.data.gameTotalScore = Global.gameTotalScore;
_arg1.data.points = Global.ssPoints;
_arg1.data.levelDynamics = Global.ssLevelDynamics;
_arg1.data.levelResistance = Global.ssLevelResistance;
_arg1.data.levelGrowth = Global.ssLevelGrowth;
_arg1.data.levelLongevity = Global.ssLevelLongevity;
_arg1.data.levelSpeed = Global.ssLevelSpeed;
_arg1.data.levelRecharge = Global.ssLevelRecharge;
_arg1.data.levelHealth = Global.ssLevelHealth;
_arg1.data.levelJuice = Global.ssLevelJuice;
_arg1.data.levelControl = Global.ssLevelControl;
_arg1.data.levelStrength = Global.ssLevelStrength;
_arg1.data.levelLuck = Global.ssLevelLuck;
_arg1.data.bubblesFired = Global.stBubblesFired;
_arg1.data.jamDropped = Global.stJamDropped;
_arg1.data.bubblesHit = Global.stBubblesHit;
_arg1.data.enemiesKilled = Global.stEnemiesKilled;
_arg1.data.levelsDied = Global.stLevelsDied;
_arg1.data.levelsWon = Global.stLevelsWon;
_arg1.data.juiceCollected = Global.stJuiceCollected;
_arg1.data.juiceFromRest = Global.stJuiceFromRest;
_arg1.data.currentLevel = Global.currentLevel;
_arg1.data.blueberryLevel = Global.blueberryLevel;
_arg1.data.used = true;
Global.so = _arg1;
();
}
private function (_arg1:MouseEvent){
var _local2:Whiteflash;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
.clear();
= SharedObject.getLocal("BlueberryGameData02");
.data.used = undefined;
removeChild(
);
.removeEventListener(MouseEvent.MOUSE_DOWN, );
= new NewGameButton();
.y = 189;
.x = 250;
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
addChild(
);
removeChild();
}
private function (_arg1:MouseEvent){
var _local2:Whiteflash;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
.clear();
= SharedObject.getLocal("BlueberryGameData03");
.data.used = undefined;
removeChild();
.removeEventListener(MouseEvent.MOUSE_DOWN, );
= new NewGameButton();
.y = 189;
.x = 462;
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
addChild();
removeChild();
}
private function (_arg1:MouseEvent){
var _local2:Whiteflash;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
.clear();
= SharedObject.getLocal("BlueberryGameData01");
.data.used = undefined;
removeChild(
);
.removeEventListener(MouseEvent.MOUSE_DOWN, );
= new NewGameButton();
.y = 189;
.x = 38;
.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true);
addChild(
);
removeChild();
}
private function (_arg1:SharedObject){
Global.levelsCompleteData = _arg1.data.levelsCompleteData;
Global.challengesCompleteData = _arg1.data.challengesCompleteData;
Global.gameTotalScore = _arg1.data.gameTotalScore;
Global.ssPoints = _arg1.data.points;
Global.currentLevel = _arg1.data.currentLevel;
Global.currentChallenge = _arg1.data.currentChallenge;
Global.blueberryLevel = _arg1.data.blueberryLevel;
Global.ssLevelDynamics = _arg1.data.levelDynamics;
Global.ssLevelGrowth = _arg1.data.levelGrowth;
Global.ssLevelHealth = _arg1.data.levelHealth;
Global.ssLevelJuice = _arg1.data.levelJuice;
Global.ssLevelControl = _arg1.data.levelControl;
Global.ssLevelLongevity = _arg1.data.levelLongevity;
Global.ssLevelLuck = _arg1.data.levelLuck;
Global.ssLevelRecharge = _arg1.data.levelRecharge;
Global.ssLevelResistance = _arg1.data.levelResistance;
Global.ssLevelSpeed = _arg1.data.levelSpeed;
Global.ssLevelStrength = _arg1.data.levelStrength;
Global.stBubblesFired = _arg1.data.bubblesFired;
Global.stJamDropped = _arg1.data.jamDropped;
Global.stBubblesHit = _arg1.data.bubblesHit;
Global.stEnemiesKilled = _arg1.data.enemiesKilled;
Global.stLevelsDied = _arg1.data.levelsDied;
Global.stLevelsWon = _arg1.data.levelsWon;
Global.stJuiceCollected = _arg1.data.juiceCollected;
Global.stJuiceFromRest = _arg1.data.juiceFromRest;
Global.so = _arg1;
();
}
}
}//package com.amp3d.blueberry
Section 76
//MenuSkillButton (com.amp3d.blueberry.MenuSkillButton)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class MenuSkillButton extends MovieClip {
private var :String;
private var :UISkillMenu;
public var detail:MovieClip;
private var stageRef:Stage;
public function init(_arg1:Stage=null, _arg2:String="", _arg3:UISkillMenu=null){
this.stageRef = _arg1;
this. = _arg2;
this. = _arg3;
BlueberryEventRegister.addEvent(detail.arrow, MouseEvent.MOUSE_DOWN, );
();
}
private function
(){
var _local1:int;
_local1 = int(Global[("ssLevel" + )]);
detail.power.gotoAndStop((_local1 + 1));
detail.cost.text = String(Global[("ssCost" + )][_local1]);
}
private function (_arg1:MouseEvent){
var _local2:int;
var _local3:Number;
_local2 = int(Global[("ssLevel" + )]);
_local3 = Global[("ssCost" + )][_local2];
if ((((_local2 < 10)) && ((_local3 <= Global.ssPoints)))){
Global[("ssLevel" + )] = (Global[("ssLevel" + )] + 1);
Global.ssPoints = (Global.ssPoints - _local3);
();
.updatePoints();
};
}
}
}//package com.amp3d.blueberry
Section 77
//MenuSplash (com.amp3d.blueberry.MenuSplash)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.net.*;
import com.amp3d.assets.*;
public class MenuSplash extends MovieClip {
private var counter:Number;// = 0
public var btnMoreGames:btn_moregames;
public var btnChallenge:btn_challenge;
public var ground:MovieClip;
public var escape:MovieClip;
public var chaos:MovieClip;
public var btnSettings:btn_settings;
public var btnCredits:btn_credits;
private var stageRef:Stage;
public var logo:MovieClip;
public var btnNewGame:btn_newgame;
public var period:MovieClip;
public var grime:MovieClip;
public function MenuSplash(_arg1:Stage=null){
var _local2:Array;
var _local3:int;
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
btnNewGame.addEventListener(MouseEvent.MOUSE_UP, );
btnSettings.addEventListener(MouseEvent.MOUSE_UP, );
btnCredits.addEventListener(MouseEvent.MOUSE_UP, );
btnChallenge.addEventListener(MouseEvent.MOUSE_UP, );
btnMoreGames.addEventListener(MouseEvent.MOUSE_UP,
);
_local2 = [btnNewGame, btnSettings, btnCredits, btnChallenge];
_local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3].setOverSound("sfxSomaBtnOver", 0.6);
_local2[_local3].setOutSound("sfxSomaBtnOut", 0.6);
_local2[_local3].setHitSound("sfxBtnHit", 1);
_local3++;
};
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
init();
SoundPlayer.playMusic("loopFinalMarch", 0, 1, 500);
}
public function removeSelf(){
SoundPlayer.stopMusic();
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function init(){
chaos.alpha = 0;
grime.alpha = 0;
ground.alpha = 0;
logo.alpha = 0;
escape.alpha = -2;
escape.scaleX = (escape.scaleY = 2);
logo.scaleX = (logo.scaleY = 3);
Tweener.setTimeScale(1);
Tweener.addTween(chaos, {alpha:1, time:27, transition:"easeOut"});
Tweener.addTween(grime, {alpha:1, time:37, transition:"easeOut"});
Tweener.addTween(ground, {alpha:0.6, time:37, transition:"easeOut"});
Tweener.addTween(logo, {alpha:1, scaleX:1, scaleY:1, time:2, transition:"easeOut"});
Tweener.addTween(period, {x:526, time:2, rotation:-1440, transition:"easeIn"});
Tweener.addTween(escape, {alpha:1, scaleX:1, scaleY:1, time:2.6, transition:"easeOut"});
chaos.ripple.cacheAsBitmap = true;
chaos.rmask.cacheAsBitmap = true;
chaos.ripple.mask = chaos.rmask;
}
private function (_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:*;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = new MenuSelectGame(stageRef, true);
stageRef.addChildAt(_local3, 0);
_local3.init();
btnNewGame.removeEventListener(MouseEvent.MOUSE_UP, );
btnSettings.removeEventListener(MouseEvent.MOUSE_UP, );
btnCredits.removeEventListener(MouseEvent.MOUSE_UP, );
btnChallenge.removeEventListener(MouseEvent.MOUSE_UP, );
btnMoreGames.removeEventListener(MouseEvent.MOUSE_UP,
);
removeSelf();
}
private function
(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://minijuegos.com"));
}
private function (_arg1:MouseEvent){
var _local2:UISettings;
var _local3:Whiteflash;
_local2 = new UISettings(stageRef);
stageRef.addChild(_local2);
_local3 = new Whiteflash(stageRef);
stageRef.addChild(_local3);
}
private function (_arg1:MouseEvent){
var _local2:Whiteflash;
var _local3:*;
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
_local3 = new MenuSelectGame(stageRef);
stageRef.addChildAt(_local3, 0);
_local3.init();
btnNewGame.removeEventListener(MouseEvent.MOUSE_UP, );
btnSettings.removeEventListener(MouseEvent.MOUSE_UP, );
btnCredits.removeEventListener(MouseEvent.MOUSE_UP, );
btnChallenge.removeEventListener(MouseEvent.MOUSE_UP, );
btnMoreGames.removeEventListener(MouseEvent.MOUSE_UP,
);
removeSelf();
}
private function (_arg1:MouseEvent){
var _local2:UICredits;
var _local3:Whiteflash;
_local2 = new UICredits(stageRef);
stageRef.addChild(_local2);
_local3 = new Whiteflash(stageRef);
stageRef.addChild(_local3);
}
public function loop(_arg1:Event){
counter = (counter + 0.01);
grime.x = (110 + (Math.sin(counter) * 120));
chaos.rmask.y = (chaos.rmask.y - 4);
if (chaos.rmask.y < -480){
chaos.rmask.y = 180;
};
}
}
}//package com.amp3d.blueberry
Section 78
//MenuThumbStats (com.amp3d.blueberry.MenuThumbStats)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.text.*;
public class MenuThumbStats extends MovieClip {
private var blueberry:CharBlueberry;
public var levelCompletes:TextField;
private var :String;
public var levelTime:TextField;
public var levelScore:TextField;
public var blnBackward:Boolean;// = false
private var dad:MovieClip;
private var :String;
private var :String;
public var levelPlays:TextField;
private var :String;
private var :String;
public var blnForward:Boolean;// = false
public var levelFailures:TextField;
public function MenuThumbStats(_arg1:MovieClip=null, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:CharBlueberry=null){
blnForward = false;
blnBackward = false;
super();
addFrameScript(0, frame1, 9, frame10);
if (_arg1 == null){
return;
};
stop();
this.dad = _arg1;
this.blueberry = _arg7;
this. = _arg2;
this. = _arg4;
this. = _arg3;
this. = _arg5;
this. = _arg6;
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function removeSelf(){
removeEventListener(Event.ENTER_FRAME, loop);
if (dad.contains(this)){
dad.removeChild(this);
};
}
public function playBackward(){
blnBackward = true;
blnForward = false;
}
function frame10(){
stop();
}
function frame1(){
stop();
}
public function loop(_arg1:Event){
if (((blnForward) && (!((currentFrame == this.totalFrames))))){
nextFrame();
} else {
if (((blnBackward) && (!((currentFrame == 0))))){
prevFrame();
};
};
if (currentFrame == 8){
levelTime.text = ;
levelScore.text = ;
levelPlays.text = ;
levelCompletes.text = ;
levelFailures.text = ;
};
if (hitTestObject(blueberry.ball)){
playForward();
};
}
public function playForward(){
blnForward = true;
blnBackward = false;
Tweener.addTween(this, {time:6.5, onComplete:playBackward});
}
}
}//package com.amp3d.blueberry
Section 79
//Particular (com.amp3d.blueberry.Particular)
package com.amp3d.blueberry {
import flash.display.*;
import flash.utils.*;
public class Particular {
public static function explosion(_arg1:Stage=null, _arg2:String="", _arg3:Number=0, _arg4:Number=0, _arg5:int=3, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0, _arg10:Number=1, _arg11:Number=1, _arg12:Number=-1, _arg13:Boolean=false){
var _local14:int;
var _local15:Class;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:int;
var _local22:*;
_local14 = Math.ceil(((_arg4 / 3) * _arg5));
_local15 = Class(getDefinitionByName(("com.amp3d.blueberry." + _arg2)));
if (_arg3 == 0){
_local16 = 1;
} else {
if (_arg3 == 1){
_local16 = (_arg1.numChildren - 1);
};
};
_local17 = _arg8;
_local18 = _arg9;
_local19 = _arg10;
_local20 = _arg11;
_local21 = 0;
while (_local21 < _local14) {
if (_arg13){
_arg8 = ((Math.random() * _local17) - (_local17 * 0.5));
_arg9 = ((Math.random() * _local18) - (_local18 * 0.5));
_arg10 = (Math.random() * _local19);
_arg11 = (Math.random() * _local20);
};
_local22 = new _local15(_arg1, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
_arg1.addChildAt(_local22, _local16);
_local21++;
};
}
}
}//package com.amp3d.blueberry
Section 80
//ProjBubble (com.amp3d.blueberry.ProjBubble)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjBubble extends MovieClip {
public var :Boolean;// = true
private var
:MovieClip;
public var glare:MovieClip;
public var hit:MovieClip;
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
private var orb:MovieClip;
private var :Timer;
public var ball:MovieClip;
public function ProjBubble(_arg1:Stage=null, _arg2:MovieClip=null){
vy = 0;
vx = 0;
= true;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
= this["glare"];
orb = this["ball"];
alpha = (scaleY = (scaleX = Global.bbBubbleStartSize));
vy = Global.bbBubbleVSpeedInit;
= new Timer((Global.bbBubbleCtrlTime + (Global.ssLevelControl * 150)));
.start();
BlueberryEventRegister.addEvent(, "timer", );
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
delete ??getglobalscope
[this];
};
}
public function (_arg1:TimerEvent){
= false;
BlueberryEventRegister.removeEvent(, "timer", );
}
public function loop(_arg1:Event){
var _local2:int;
if (scaleX < (Global.bbBubbleFullSize + (Global.ssLevelGrowth * 0.02))){
alpha = (scaleY = (scaleX = (scaleX * Global.bbBubbleGrowSpeed)));
} else {
if (scaleX > (Global.bbBubbleFullSize + (Global.ssLevelGrowth * 0.02))){
alpha = (scaleX = (scaleY = (Global.bbBubbleFullSize + (Global.ssLevelGrowth * 0.02))));
};
};
if (vy > Global.bbBubbleVSpeedFinal){
vy = (vy * Global.bbBubbleVSpeedRoC);
} else {
vy = Global.bbBubbleVSpeedFinal;
};
y = (y - (vy + (Global.ssLevelSpeed * 0.35)));
if (){
vx = (vx + (owner.getVX() / Global.bbBubbleCtrlStr));
};
vx = (vx + (((Math.random() * Global.bbBubbleHSpeed) - (Math.random() * Global.bbBubbleHSpeed)) * (1 - (Global.ssLevelDynamics * 0.1))));
x = (x + vx);
orb.rotation = (vx * 2);
.alpha = ((Math.random() * 0.2) + 0.8);
if (y < 0){
removeSelf();
};
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.hit.hitTestObject(Global.wEnemyList[_local2].hit)){
Global.stBubblesHit++;
SoundPlayer.playEffect("sfxSomaBubbleHit", 0, 0.7);
Global.wEnemyList[_local2].doDamage(Global.bbBubbleDamage, "bubble");
removeSelf();
};
_local2++;
};
}
}
}//package com.amp3d.blueberry
Section 81
//ProjDuraBubble (com.amp3d.blueberry.ProjDuraBubble)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjDuraBubble extends MovieClip {
private var
:MovieClip;
public var glare:MovieClip;
public var hit:MovieClip;
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
private var orb:MovieClip;
public var ball:MovieClip;
public function ProjDuraBubble(_arg1:Stage=null, _arg2:MovieClip=null){
vy = 0;
vx = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
= this["glare"];
orb = this["ball"];
alpha = (scaleY = (scaleX = Global.bbBubbleStartSize));
vy = Global.bbBubbleVSpeedInit;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
delete ??getglobalscope
[this];
};
}
public function loop(_arg1:Event){
var _local2:int;
if (scaleX < (Global.bbBubbleFullSize + (Global.ssLevelGrowth * 0.02))){
alpha = (scaleY = (scaleX = (scaleX * Global.bbBubbleGrowSpeed)));
} else {
if (scaleX > (Global.bbBubbleFullSize + (Global.ssLevelGrowth * 0.02))){
alpha = (scaleX = (scaleY = (Global.bbBubbleFullSize + (Global.ssLevelGrowth * 0.02))));
};
};
if (vy > Global.bbDuraBubbleVSFinal){
vy = (vy * Global.bbBubbleVSpeedRoC);
} else {
vy = Global.bbDuraBubbleVSFinal;
};
y = (y - (vy + (Global.ssLevelSpeed * 0.35)));
.alpha = ((Math.random() * 0.2) + 0.8);
if (y < 0){
removeSelf();
};
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.hit.hitTestObject(Global.wEnemyList[_local2].hit)){
Global.stBubblesHit++;
SoundPlayer.playEffect("sfxSomaBubbleHit", 0, 0.7);
Global.wEnemyList[_local2].doDamage(Global.bbBubbleDamage, "bubble");
removeSelf();
};
_local2++;
};
}
}
}//package com.amp3d.blueberry
Section 82
//ProjGrenade (com.amp3d.blueberry.ProjGrenade)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjGrenade extends MovieClip {
public var :Timer;
public var speed:Number;
public var direction:Number;
private var target:MovieClip;
public var hit:MovieClip;
public var
:Boolean;// = false
public var damageAmount:Number;// = 10
private var owner:MovieClip;
private var stageRef:Stage;
public var
:Timer;
public var vx:Number;// = 0
public var vy:Number;// = 0
public var :Number;
public function ProjGrenade(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null, _arg4:Number=0, _arg5:Number=0, _arg6:Number=20){
vy = 0;
vx = 0;
damageAmount = 10;
= new Timer(15000);
= new Timer(1000);
= false;
super();
addFrameScript(24, , 29, );
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
this.speed = _arg5;
this.damageAmount = _arg6;
.start();
BlueberryEventRegister.addEvent(, "timer", );
direction = ((_arg4 * Math.PI) / 180);
vx = (Math.cos(direction) * _arg5);
vy = (Math.sin(direction) * _arg5);
= (4 + Math.floor((Math.random() * 15)));
rotation = _arg4;
SoundPlayer.playEffect("sfxFireGrenade", 0, 0.6);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function (_arg1:TimerEvent){
BlueberryEventRegister.removeEvent(, "timer", );
addEventListener(Event.ENTER_FRAME, );
}
function (){
gotoAndPlay(1);
}
public function (_arg1:Event){
var _local2:AssetRoxorSmoke;
_local2 = new AssetRoxorSmoke(stageRef, x, y, 1, (Math.random() * 4), 0.5, 0.2, 0x888888);
stageRef.addChild(_local2);
alpha = (alpha - 0.015);
if (alpha < 0){
.stop();
= null;
removeEventListener(Event.ENTER_FRAME, );
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
};
}
function (){
gotoAndPlay(26);
}
public function removeBullet(_arg1:TimerEvent){
var _local2:ProjGrenadeExplosion;
_local2 = new ProjGrenadeExplosion(stageRef, target, x, y);
stageRef.addChild(_local2);
removeSelf();
}
public function loop(_arg1:Event){
x = (x + vx);
y = (y + vy);
rotation = (rotation + );
if (x >= Global.wRightWall){
x = (Global.wRightWall - 2);
vx = -(vx);
} else {
if (x <= Global.wLeftWall){
x = (Global.wLeftWall + 2);
vx = -(vx);
};
};
if (y < (Global.wGround + 13)){
vy = (vy + Global.wGravity);
} else {
if (y >= (Global.wGround + 13)){
vy = (vy / -2);
vx = (vx / 2);
SoundPlayer.playEffect("sfxMetalClink", 0, (vy / 30));
y = (Global.wGround + 13);
if (Math.abs(vy) < 3){
vy = 0;
vx = 0;
gotoAndPlay("timeup");
.start();
BlueberryEventRegister.addEvent(
, "timer", removeBullet);
= true;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
};
};
};
}
public function removeSelf(){
if (
){
BlueberryEventRegister.removeEvent(
, "timer", removeBullet);
};
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
.removeEventListener("timer", );
if (stageRef.contains(this)){
.stop();
= null;
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 83
//ProjGrenadeExplosion (com.amp3d.blueberry.ProjGrenadeExplosion)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjGrenadeExplosion extends MovieClip {
private var target:MovieClip;
public var hit:MovieClip;
private var stageRef:Stage;
public function ProjGrenadeExplosion(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:Number=0, _arg4:Number=0){
var _local5:int;
super();
if (_arg1 == null){
return;
};
this.x = _arg3;
this.y = _arg4;
this.stageRef = _arg1;
this.target = _arg2;
rotation = (Math.random() * 360);
blendMode = "add";
SoundPlayer.playEffect("sfxGrenadeExplosion", 0, 0.6);
_local5 = 0;
while (_local5 < Global.wJamList.length) {
if (this.hitTestObject(Global.wJamList[_local5].hit)){
if (findDistance(Global.wJamList[_local5]) < 18){
Global.wJamList[_local5].reverbNade();
};
};
_local5++;
};
Particular.explosion(_arg1, "AssetExplodeParts", 0, 15, Global.sParticleMulitplier, _arg3, _arg4, 30, 30);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (_local4);
}
public function loop(_arg1:Event){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
rotation = (rotation + 10);
if (hitTestObject(target.ball.hit)){
_local2 = findAngle(target);
_local3 = findDistance(target);
_local4 = ((this.width / _local3) * 5);
_local5 = (Math.cos(_local2) * _local4);
_local6 = (Math.sin(_local2) * _local4);
_local7 = (((width - _local3) / width) * 35);
target.takeDamage(10, x, y, _local5, _local6, (_local2 + 180), true);
};
if (currentFrame == totalFrames){
removeSelf();
};
}
public function findDistance(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
_local2 = (_arg1.getX() - x);
_local3 = (_arg1.getY() - y);
return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))));
}
public function removeSelf():void{
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 84
//ProjJam (com.amp3d.blueberry.ProjJam)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjJam extends MovieClip {
public var hit:MovieClip;
private var lifeTimer:Timer;
private var owner:MovieClip;
private var stageRef:Stage;
private var vy:Number;// = 0
public function ProjJam(_arg1:Stage=null, _arg2:MovieClip=null){
vy = 0;
super();
addFrameScript(0, frame1, 1, frame2, 16, frame17);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
lifeTimer = new Timer(10200);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function reverbCurve(_arg1:Number=0){
var _local2:ProjReverbCurve;
dispatchEvent(new Event("reverbCurve"));
_local2 = new ProjReverbCurve(stageRef, x, y, 0);
stageRef.addChild(_local2);
removeJam2();
}
function frame1(){
stop();
}
public function reverbNade(){
var _local1:int;
var _local2:ProjNadeReverb;
_local1 = 0;
while (_local1 < 5) {
_local2 = new ProjNadeReverb(stageRef, x, y, (Math.random() * 8), (30 + (Math.random() * 16)));
stageRef.addChild(_local2);
_local1++;
};
removeJam2();
}
function frame17(){
gotoAndPlay(6);
}
public function removeJam2(_arg1:TimerEvent=null){
removeSelf();
}
function frame2(){
play();
}
public function radioactive(_arg1:MovieClip){
var _local2:ProjRadioActiveJam;
var _local3:AssetReekStinger;
_local2 = new ProjRadioActiveJam(stageRef, x, y);
stageRef.addChildAt(_local2, 1);
_local3 = new AssetReekStinger(stageRef, x, y, _arg1);
stageRef.addChildAt(_local3, 1);
removeJam2();
}
public function getX(){
return (x);
}
public function getY(){
return (y);
}
public function loop(_arg1:Event){
var _local2:int;
vy = (vy + Global.wGravity);
y = (y + vy);
if (y > Global.wGround){
y = (Global.wGround + 12);
nextFrame();
scaleX = (1 + (Global.ssLevelGrowth * 0.05));
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.addEvent(lifeTimer, "timer", removeJam2);
Global.wJamList.push(this);
SoundPlayer.playEffect("sfxJuiceSplatter", 0, (vy / 40));
Particular.explosion(stageRef, "AssetBlueberryDroplet", 0, Math.floor((vy * 0.5)), Global.sParticleMulitplier, x, (y - 5), (vy * 0.2), (vy * 0.7));
};
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.hitTestObject(Global.wEnemyList[_local2].hit)){
removeJam2();
SoundPlayer.playEffect("sfxSomaReverbHit", 0, 0.7);
Global.wEnemyList[_local2].doDamage(Global.bbBubbleDamage);
};
_local2++;
};
}
public function reverb(_arg1:Number=0){
var _local2:ProjReverb;
dispatchEvent(new Event("reverb"));
_local2 = new ProjReverb(stageRef, x, y, -(_arg1));
stageRef.addChild(_local2);
removeJam2();
}
public function removeSelf(){
var _local1:Number;
lifeTimer.stop();
BlueberryEventRegister.removeEvent(lifeTimer, "timer", removeJam2);
lifeTimer = null;
if (Global.wJamList.indexOf(this) >= 0){
_local1 = Global.wJamList.indexOf(this);
Global.wJamList.splice(_local1, 1);
};
BlueberryEventRegister.removeEventsByClip(this);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 85
//ProjMissle (com.amp3d.blueberry.ProjMissle)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjMissle extends MovieClip {
public var
:Number;// = 0.95
public var counter:int;// = 0
public var flame:MovieClip;
public var direction:Number;
public var bulletSpeed:Number;// = 1
private var target:MovieClip;
public var damageAmount:Number;// = 10
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public function ProjMissle(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null, _arg4:Number=0, _arg5:Number=1, _arg6:Number=10){
vy = 0;
vx = 0;
= 0.95;
counter = 0;
damageAmount = 10;
bulletSpeed = 1;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
this.bulletSpeed = _arg5;
this.damageAmount = _arg6;
direction = ((_arg4 * Math.PI) / 180);
vx = (Math.cos(direction) * 5);
vy = (Math.sin(direction) * 5);
rotation = _arg4;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function removeBullet(_arg1:Boolean=false){
var _local2:AssetPakBulletSmoke;
if (_arg1){
target.takeDamage(damageAmount, x, y, vx, vy, rotation);
} else {
_local2 = new AssetPakBulletSmoke(stageRef, x, y);
stageRef.addChildAt(_local2, 1);
};
Particular.explosion(stageRef, "AssetExplodeParts", 0, 3, Global.sParticleMulitplier, x, y, vx, vy);
removeSelf();
}
public function loop(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:AssetRoxorSmoke;
var _local6:int;
counter++;
_local2 = (target.getY() - y);
_local3 = (target.getX() - x);
flame.alpha = Math.random();
_local4 = Math.atan2(_local2, _local3);
vx = (vx + (Math.cos(_local4) * bulletSpeed));
vy = (vy + (Math.sin(_local4) * bulletSpeed));
rotation = ((Math.atan2(vy, vx) * 180) / Math.PI);
vx = (vx *
);
vy = (vy *
);
x = (x + vx);
y = (y + vy);
if (((((counter % (6 - Global.sParticleMulitplier)) == 0)) && (!((Global.sParticleMulitplier == 0))))){
_local5 = new AssetRoxorSmoke(stageRef, (x - vx), (y - vy), vx, 1.3, 0.1, 0.3, 6250308);
stageRef.addChild(_local5);
};
if (y > Global.wGround){
removeBullet();
_local6 = 0;
while (_local6 < Global.wJamList.length) {
if (this.hitTestObject(Global.wJamList[_local6].hit)){
Global.wJamList[_local6].reverb();
};
_local6++;
};
} else {
if (this.hitTestObject(target.ball.hit)){
removeBullet(true);
};
};
}
}
}//package com.amp3d.blueberry
Section 86
//ProjNadeReverb (com.amp3d.blueberry.ProjNadeReverb)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjNadeReverb extends MovieClip {
private var counter;// = 0
private var seed:Number;
private var lifeTimer:Timer;
private var owner:MovieClip;
private var stageRef:Stage;
private var vx:Number;// = 0
private var vy:Number;// = 0
public function ProjNadeReverb(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0){
vy = 0;
vx = 0;
counter = 0;
super();
if (_arg1 == null){
return;
};
SoundPlayer.playEffect("sfxSomaReverb", 0, 0.4);
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.vx = (_arg4 - ((Math.random() * _arg4) * 2));
this.vy = _arg5;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function splat(_arg1:int, _arg2:Number, _arg3:Number){
}
public function loop(_arg1:Event){
var _local2:AssetReverbCasting;
var _local3:int;
counter++;
y = (y - vy);
x = (x + vx);
vy = (vy - Global.wGravity);
_local2 = new AssetReverbCasting(stageRef, x, y, 0.1, 0.5);
stageRef.addChildAt(_local2, 1);
if ((((y > Global.wGround)) && ((counter > 3)))){
Particular.explosion(stageRef, "AssetBlueberryDroplet", 1, 7, Global.sParticleMulitplier, x, y, 13, 20);
SoundPlayer.playEffect("sfxJuiceSplatter", 0, 0.9);
removeSelf();
};
_local3 = 0;
while (_local3 < Global.wEnemyList.length) {
if (this.hitTestObject(Global.wEnemyList[_local3].hit)){
Global.wEnemyList[_local3].doDamage(Global.bbReverbNadeDamage);
Particular.explosion(stageRef, "AssetBlueberryDroplet", 1, 9, Global.sParticleMulitplier, x, y, 13, 20);
SoundPlayer.playEffect("sfxSomaReverbHit", 0, 0.7);
removeSelf();
};
_local3++;
};
}
}
}//package com.amp3d.blueberry
Section 87
//ProjPakBullet (com.amp3d.blueberry.ProjPakBullet)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjPakBullet extends MovieClip {
public var direction:Number;
private var target:MovieClip;
public var damageAmount;// = 10
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public function ProjPakBullet(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null, _arg4:Number=0, _arg5:Number=12, _arg6=10){
vy = 0;
vx = 0;
damageAmount = 10;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
this.damageAmount = _arg6;
direction = ((_arg4 * Math.PI) / 180);
vx = (Math.cos(direction) * _arg5);
vy = (Math.sin(direction) * _arg5);
rotation = _arg4;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeBullet(_arg1:Boolean=false){
var _local2:AssetPakBulletSmoke;
if (_arg1){
target.takeDamage(damageAmount, x, y, vx, vy, rotation);
} else {
_local2 = new AssetPakBulletSmoke(stageRef, x, y);
stageRef.addChildAt(_local2, 1);
};
removeSelf();
}
public function moveForward(_arg1:Number){
x = (x + (Math.cos(direction) * _arg1));
y = (y + (Math.sin(direction) * _arg1));
}
public function loop(_arg1:Event){
var _local2:int;
x = (x + vx);
y = (y + vy);
rotation = ((Math.atan2(vy, vx) * 180) / Math.PI);
if (y > (Global.wGround + 9)){
removeBullet();
_local2 = 0;
while (_local2 < Global.wJamList.length) {
if (this.hitTestObject(Global.wJamList[_local2].hit)){
Global.wJamList[_local2].reverb(vx);
};
_local2++;
};
} else {
if (this.hitTestObject(target.ball.hit)){
removeBullet(true);
};
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 88
//ProjRadioActiveFusser (com.amp3d.blueberry.ProjRadioActiveFusser)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjRadioActiveFusser extends MovieClip {
private var counter;// = 0
private var stageRef:Stage;
private var vy:Number;// = 0
private var moveSpeed:Number;// = 10
public function ProjRadioActiveFusser(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0){
vy = 0;
moveSpeed = 10;
counter = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.scaleY = (this.scaleX = (0.8 + (Math.random() * 0.4)));
vy = (-(moveSpeed) * Math.random());
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function loop(_arg1:Event){
var _local2:int;
vy = (vy - (Global.wGravity / 2));
y = (y + vy);
if (y < 0){
removeSelf();
};
_local2 = 0;
while (_local2 < Global.wEnemyList.length) {
if (this.hitTestObject(Global.wEnemyList[_local2].hit)){
Global.wEnemyList[_local2].doDamage(Global.bbFusserDamage);
removeSelf();
};
_local2++;
};
}
}
}//package com.amp3d.blueberry
Section 89
//ProjRadioActiveJam (com.amp3d.blueberry.ProjRadioActiveJam)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjRadioActiveJam extends MovieClip {
private var counter:Number;// = 0
private var stageRef:Stage;
public function ProjRadioActiveJam(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0){
counter = 0;
super();
addFrameScript(9, frame10);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
delete ??getglobalscope
[this];
};
}
function frame10(){
stop();
}
public function loop(_arg1:Event){
var _local2:Number;
var _local3:ProjRadioActiveFusser;
counter++;
scaleY = (scaleY - 0.01);
y = (y + 0.01);
if (scaleY < 0){
removeSelf();
};
if ((counter % 6) == 0){
_local2 = ((x - (width / 2)) + (Math.random() * width));
_local3 = new ProjRadioActiveFusser(stageRef, _local2, y);
stageRef.addChild(_local3);
};
}
}
}//package com.amp3d.blueberry
Section 90
//ProjRaspberryBubble (com.amp3d.blueberry.ProjRaspberryBubble)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjRaspberryBubble extends MovieClip {
private var
:MovieClip;
public var glare:MovieClip;
private var target:MovieClip;
public var hit:MovieClip;
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
private var orb:MovieClip;
public var ball:MovieClip;
public function ProjRaspberryBubble(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null){
vy = 0;
vx = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
= this["glare"];
orb = this["ball"];
alpha = (scaleY = (scaleX = Global.bbBubbleStartSize));
vy = 1.5;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
delete ??getglobalscope
[this];
};
}
public function loop(_arg1:Event){
if (scaleX < Global.bbBubbleFullSize){
alpha = (scaleY = (scaleX = (scaleX * Global.bbBubbleGrowSpeed)));
} else {
if (scaleX > Global.bbBubbleFullSize){
alpha = (scaleX = (scaleY = Global.bbBubbleFullSize));
};
};
if (vy > Global.bbBubbleVSpeedFinal){
vy = (vy * Global.bbBubbleVSpeedRoC);
} else {
vy = Global.bbBubbleVSpeedFinal;
};
y = (y - vy);
vx = (vx + ((Math.random() * Global.bbBubbleHSpeed) - (Math.random() * Global.bbBubbleHSpeed)));
x = (x + vx);
orb.rotation = (vx * 2);
.alpha = ((Math.random() * 0.2) + 0.8);
if (y < 0){
removeSelf();
};
if (this.hit.hitTestObject(target.ball.hit)){
target.takeDamage(25, x, y, 0, -5, 0, true);
removeSelf();
};
}
}
}//package com.amp3d.blueberry
Section 91
//ProjRaspberryJam (com.amp3d.blueberry.ProjRaspberryJam)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjRaspberryJam extends MovieClip {
private var target:MovieClip;
public var hit:MovieClip;
private var lifeTimer:Timer;
private var owner:MovieClip;
private var stageRef:Stage;
private var vy:Number;// = 0
public function ProjRaspberryJam(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null){
vy = 0;
super();
addFrameScript(0, frame1, 1, frame2, 16, frame17);
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
lifeTimer = new Timer(10200);
lifeTimer.start();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function deathloop(_arg1:Event){
if (this.hitTestObject(target.ball.hit)){
removeSelf();
target.takeDamage(22, x, y, 0, -10, 0, true);
};
}
function frame1(){
stop();
}
function frame17(){
gotoAndPlay(6);
}
public function removeJam2(_arg1:TimerEvent=null){
removeSelf();
}
function frame2(){
play();
}
public function getX(){
return (x);
}
public function getY(){
return (y);
}
public function loop(_arg1:Event){
vy = (vy + Global.wGravity);
y = (y + vy);
if (y > Global.wGround){
y = (Global.wGround + 12);
nextFrame();
scaleX = 1;
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, deathloop);
BlueberryEventRegister.addEvent(lifeTimer, "timer", removeJam2);
SoundPlayer.playEffect("sfxBlueberrySplop", 0, (vy / 40));
Particular.explosion(stageRef, "AssetRaspberryDroplet", 0, Math.floor((vy * 0.5)), Global.sParticleMulitplier, x, (y - 5), (vy * 0.2), (vy * 0.7));
};
}
public function removeSelf(){
lifeTimer.stop();
BlueberryEventRegister.removeEvent(lifeTimer, "timer", removeJam2);
lifeTimer = null;
BlueberryEventRegister.removeEventsByClip(this);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 92
//ProjRaspberryVerb (com.amp3d.blueberry.ProjRaspberryVerb)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjRaspberryVerb extends MovieClip {
public var direction:Number;
private var target:MovieClip;
public var damageAmount;// = 10
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public function ProjRaspberryVerb(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null, _arg4=10){
vy = 0;
vx = 0;
damageAmount = 10;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
this.damageAmount = _arg4;
vx = ((Math.random() * 20) - 10);
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeBullet(_arg1:Boolean=false){
if (_arg1){
target.takeDamage(damageAmount, x, y, vx, vy, rotation);
};
removeSelf();
}
public function loop(_arg1:Event){
var _local2:int;
x = (x + vx);
vy = (vy + Global.wGravity);
y = (y + vy);
if (y > (Global.wGround + 20)){
removeBullet();
_local2 = 0;
while (_local2 < Global.wJamList.length) {
if (this.hitTestObject(Global.wJamList[_local2].hit)){
Global.wJamList[_local2].reverb(vx);
};
_local2++;
};
} else {
if (this.hitTestObject(target.ball.hit)){
removeBullet(true);
};
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 93
//ProjReekTracer (com.amp3d.blueberry.ProjReekTracer)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjReekTracer extends MovieClip {
public var :ProjReekTracerOrb;
public var :ProjReekTracerOrb;
public var :ProjReekTracerOrb;
public var pull:MovieClip;
public var direction:Number;
private var target:MovieClip;
public var hit:MovieClip;
public var core:MovieClip;
public var glow:MovieClip;
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public var :Number;// = 3
public function ProjReekTracer(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null, _arg4:Number=0){
vy = 0;
vx = 0;
= 3;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
direction = ((_arg4 * Math.PI) / 180);
vx = (Math.cos(direction) * 4);
vy = (Math.sin(direction) * 4);
core.blendMode = "multiply";
glow.blendMode = "overlay";
rotation = _arg4;
= new ProjReekTracerOrb(_arg1, this);
= new ProjReekTracerOrb(_arg1, this);
= new ProjReekTracerOrb(_arg1, this);
this.addChild();
this.addChild();
this.addChild();
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function (){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = findAngle(target);
_local2 = findDistance(target);
_local1 = (_local1 + 180);
_local3 = (((width - _local2) / width) * );
_local4 = (Math.cos(_local1) * _local3);
_local5 = (Math.sin(_local1) * _local3);
if (((isNaN(_local4)) || (isNaN(_local5)))){
return;
};
target.takeKnockback(_local4, _local5, true);
}
public function findAngle(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (this.target.getX() - x);
_local3 = (this.target.getY() - y);
_local4 = Math.atan2(_local3, _local2);
return (_local4);
}
public function removeBullet(_arg1:Boolean=false){
var _local2:AssetReekBeacon;
if (_arg1){
target.takeDamage(20, x, y, vx, vy, direction);
_local2 = new AssetReekBeacon(stageRef, target.getX(), target.getY(), owner);
stageRef.addChildAt(_local2, 1);
};
removeSelf();
}
public function findDistance(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Number;
_local2 = (this.target.getX() - x);
_local3 = (this.target.getY() - y);
return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))));
}
public function loop(_arg1:Event){
var _local2:int;
x = (x + vx);
y = (y + vy);
scaleX = (scaleY = (scaleY + 0.01));
rotation = ((Math.atan2(vy, vx) * 180) / Math.PI);
if ((((y > Global.wGround)) && ((y < (Global.wGround + 30))))){
_local2 = 0;
while (_local2 < Global.wJamList.length) {
if (this.hit.hitTestObject(Global.wJamList[_local2].hit)){
Global.wJamList[_local2].radioactive(owner);
removeBullet();
};
_local2++;
};
};
if (y > stageRef.stageHeight){
removeBullet();
} else {
if (this.hit.hitTestObject(target.ball.hit)){
removeBullet(true);
} else {
if (this.pull.hitTestObject(target.ball.hit)){
();
};
};
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
.removeSelf();
.removeSelf();
.removeSelf();
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 94
//ProjReekTracerOrb (com.amp3d.blueberry.ProjReekTracerOrb)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class ProjReekTracerOrb extends MovieClip {
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public function ProjReekTracerOrb(_arg1:Stage=null, _arg2:MovieClip=null){
vy = 0;
vx = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
x = (Math.sin((Math.random() * 6.28)) * 4);
y = (Math.cos((Math.random() * 6.28)) * 4);
Tweener.addTween(this, {x:0, y:0, scaleX:0.1, scaleY:0.1, time:0.5, transition:"easeOut", onComplete:
});
}
public function
(){
scaleX = 1.2;
scaleY = 1.2;
x = (Math.sin((Math.random() * 6.28)) * 4);
y = (Math.cos((Math.random() * 6.28)) * 4);
Tweener.addTween(this, {x:0, y:0, scaleX:0.1, scaleY:0.1, time:(Math.random() * 0.8), transition:"easeIn", onComplete:
});
}
public function loop(_arg1:Event){
}
public function removeSelf(){
Tweener.removeTweens(this);
if (owner.contains(this)){
owner.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 95
//ProjReverb (com.amp3d.blueberry.ProjReverb)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjReverb extends MovieClip {
private var counter;// = 0
private var seed:Number;
private var lifeTimer:Timer;
private var owner:MovieClip;
private var stageRef:Stage;
private var vx:Number;// = 0
private var vy:Number;// = 0
private var moveSpeed:Number;// = 35
public function ProjReverb(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
var _local5:AssetBlueberryDroplet;
var _local6:int;
vy = 0;
vx = 0;
moveSpeed = 35;
counter = 0;
super();
addFrameScript(4, frame5);
if (_arg1 == null){
return;
};
SoundPlayer.playEffect("sfxSomaReverb", 0, 1);
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
this.vx = (_arg4 * 1.1);
vy = -(moveSpeed);
_local6 = 0;
while (_local6 < 7) {
_local5 = new AssetBlueberryDroplet(_arg1, _arg2, (_arg3 - 15), 5, 22);
_arg1.addChildAt(_local5, 1);
_local6++;
};
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function splat(_arg1:int, _arg2:Number, _arg3:Number){
var _local4:AssetBlueberryDroplet;
var _local5:int;
_local5 = 0;
while (_local5 < _arg1) {
_local4 = new AssetBlueberryDroplet(stageRef, x, (y - 12), _arg2, _arg3);
stageRef.addChildAt(_local4, 1);
_local5++;
};
}
function frame5(){
stop();
}
public function loop(_arg1:Event){
var _local2:AssetReverbCasting;
var _local3:int;
counter++;
if (counter > 3){
vy = (vy + (Global.wGravity * 0.75));
y = (y + vy);
x = (x + vx);
};
_local2 = new AssetReverbCasting(stageRef, x, y, 0.1);
stageRef.addChildAt(_local2, 1);
if ((((y > Global.wGround)) && ((counter > 3)))){
splat(12, 7, 27);
SoundPlayer.playEffect("sfxJuiceSplatter", 0, 0.9);
removeSelf();
};
_local3 = 0;
while (_local3 < Global.wEnemyList.length) {
if (this.hitTestObject(Global.wEnemyList[_local3].hit)){
Global.wEnemyList[_local3].doDamage(Global.bbReverbDamage);
splat(12, 12, 12);
SoundPlayer.playEffect("sfxSomaReverbHit", 0, 0.7);
removeSelf();
};
_local3++;
};
}
}
}//package com.amp3d.blueberry
Section 96
//ProjReverbCurve (com.amp3d.blueberry.ProjReverbCurve)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ProjReverbCurve extends MovieClip {
private var counter;// = 0
private var seed:Number;
private var lifeTimer:Timer;
private var owner:MovieClip;
private var stageRef:Stage;
private var vx:Number;// = 0
private var vy:Number;// = 0
private var moveSpeed:Number;// = 37
public function ProjReverbCurve(_arg1:Stage=null, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
var _local5:AssetBlueberryDroplet;
var _local6:int;
vy = 0;
vx = 0;
moveSpeed = 37;
counter = 0;
super();
addFrameScript(4, frame5);
if (_arg1 == null){
return;
};
SoundPlayer.playEffect("sfxSomaReverb", 0, 1);
this.stageRef = _arg1;
this.x = _arg2;
this.y = _arg3;
vy = -(moveSpeed);
_local6 = 0;
while (_local6 < 7) {
_local5 = new AssetBlueberryDroplet(_arg1, _arg2, (_arg3 - 15), 5, 22);
_arg1.addChildAt(_local5, 1);
_local6++;
};
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function splat(_arg1:int, _arg2:Number, _arg3:Number){
var _local4:AssetBlueberryDroplet;
var _local5:int;
_local5 = 0;
while (_local5 < _arg1) {
_local4 = new AssetBlueberryDroplet(stageRef, x, (y - 12), _arg2, _arg3);
stageRef.addChildAt(_local4, 1);
_local5++;
};
}
function frame5(){
stop();
}
public function loop(_arg1:Event){
var _local2:AssetReverbCasting;
var _local3:int;
counter++;
if (counter > 3){
vy = (vy + (Global.wGravity * 0.82));
y = (y + vy);
x = (x + (Math.sin((counter / 2)) * 15));
};
if ((((vy < 2)) && ((vy > -2)))){
vy--;
};
_local2 = new AssetReverbCasting(stageRef, x, y, 0.1);
stageRef.addChildAt(_local2, 1);
if ((((y > Global.wGround)) && ((counter > 3)))){
splat(12, 7, 27);
SoundPlayer.playEffect("sfxJuiceSplatter", 0, 0.9);
removeSelf();
};
_local3 = 0;
while (_local3 < Global.wEnemyList.length) {
if (this.hitTestObject(Global.wEnemyList[_local3].hit)){
Global.wEnemyList[_local3].doDamage(Global.bbReverbDamage);
splat(12, 12, 12);
SoundPlayer.playEffect("sfxSomaReverbHit", 0, 0.7);
removeSelf();
};
_local3++;
};
}
}
}//package com.amp3d.blueberry
Section 97
//ProjWaveBullet (com.amp3d.blueberry.ProjWaveBullet)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class ProjWaveBullet extends MovieClip {
public var counter:Number;// = 0
public var direction:Number;
private var target:MovieClip;
public var damageAmount;// = 0
private var owner:MovieClip;
private var stageRef:Stage;
public var vx:Number;// = 0
public var vy:Number;// = 0
public function ProjWaveBullet(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:MovieClip=null, _arg4:Number=0, _arg5=18, _arg6=20){
vy = 0;
vx = 0;
counter = 0;
damageAmount = 0;
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
this.owner = _arg2;
this.target = _arg3;
this.damageAmount = _arg6;
direction = ((_arg4 * Math.PI) / 180);
vx = (Math.cos(direction) * _arg5);
vy = (Math.sin(direction) * _arg5);
counter = (Math.random() * Math.PI);
rotation = _arg4;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function removeBullet(_arg1:Boolean=false){
var _local2:AssetPakBulletSmoke;
if (_arg1){
target.takeDamage(damageAmount, x, y, vx, vy, rotation, true);
} else {
_local2 = new AssetPakBulletSmoke(stageRef, x, y);
stageRef.addChildAt(_local2, 1);
};
removeSelf();
}
public function loop(_arg1:Event){
var _local2:AssetWaveCasting;
var _local3:int;
counter = (counter + 0.5);
vx = (Math.sin(counter) * 16);
x = (x + vx);
y = (y + vy);
rotation = ((Math.atan2(vy, vx) * 180) / Math.PI);
_local2 = new AssetWaveCasting(stageRef, x, y, rotation, 0.5);
stageRef.addChildAt(_local2, 1);
if (y > Global.wGround){
removeBullet();
_local3 = 0;
while (_local3 < Global.wJamList.length) {
if (this.hitTestObject(Global.wJamList[_local3].hit)){
Global.wJamList[_local3].reverbCurve();
};
_local3++;
};
} else {
if (this.hitTestObject(target.ball.hit)){
removeBullet(true);
};
};
}
}
}//package com.amp3d.blueberry
Section 98
//SoundPlayer (com.amp3d.blueberry.SoundPlayer)
package com.amp3d.blueberry {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundPlayer {
public static var PlayChannel:SoundChannel = new SoundChannel();
public static var isProgressing:Boolean = false;
public static var playTransform:SoundTransform = new SoundTransform();
public static var easeInCount:Number = 0;
public static var easeAmount:Number = 0;
public static var MusicTransform:SoundTransform = new SoundTransform();
public static var easeInFinish:Number = 0;
public static var soundObject:Object = new Object();
public static var MusicChannel:SoundChannel = new SoundChannel();
public static function getVolumeTransform(_arg1:Number):SoundTransform{
var _local2:SoundTransform;
_local2 = new SoundTransform();
_local2.volume = _arg1;
return (_local2);
}
public static function stopMusic(){
MusicChannel.stop();
}
public static function volumeEffect(_arg1:Number){
playTransform.volume = _arg1;
PlayChannel.soundTransform = playTransform;
}
public static function playMusic(_arg1:String="", _arg2=0, _arg3:Number=1, _arg4:Number=60, _arg5:Number=6000){
var _local6:*;
var _local7:Class;
if (soundObject[_arg1] == undefined){
_local7 = Class(getDefinitionByName(_arg1));
_local6 = new (_local7);
soundObject[_arg1] = _local6;
} else {
_local6 = soundObject[_arg1];
};
_arg3 = (_arg3 * (Global.sMusicVolume * 0.33));
easeInCount = 0;
easeAmount = (_arg3 / _arg4);
easeInFinish = _arg4;
MusicChannel = _local6.play(_arg2, _arg5);
MusicChannel.soundTransform = getVolumeTransform(0);
BlueberryEventRegister.addEvent(Global.stageRef, Event.ENTER_FRAME, progressMusic);
isProgressing = true;
}
public static function playEffect(_arg1:String="", _arg2:Number=0, _arg3:Number=-1){
var _local4:*;
var _local5:Class;
if (soundObject[_arg1] == undefined){
_local5 = Class(getDefinitionByName(_arg1));
_local4 = new (_local5);
soundObject[_arg1] = _local4;
} else {
_local4 = soundObject[_arg1];
};
if (_arg3 == -1){
_arg3 = 1;
};
_arg3 = (_arg3 * (Global.sEffectsVolume * 0.4));
PlayChannel = _local4.play(_arg2, 0, getVolumeTransform(_arg3));
}
public static function stopAllSounds(){
SoundMixer.stopAll();
}
public static function volumeMusic(){
if (isProgressing){
easeAmount = ((Global.sMusicVolume * 0.33) / easeInFinish);
} else {
MusicTransform.volume = (Global.sMusicVolume * 0.33);
MusicChannel.soundTransform = MusicTransform;
};
}
public static function progressMusic(_arg1:Event){
if (easeInCount < easeInFinish){
MusicChannel.soundTransform = getVolumeTransform((easeInCount * easeAmount));
} else {
BlueberryEventRegister.removeEvent(Global.stageRef, Event.ENTER_FRAME, progressMusic);
isProgressing = false;
};
easeInCount++;
}
}
}//package com.amp3d.blueberry
Section 99
//StageBBJumper (com.amp3d.blueberry.StageBBJumper)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class StageBBJumper extends MovieClip {
private var blueberry:CharBlueberry;
private var :MovieClip;
public var berry:MovieClip;
private var :Timer;
public var isJumping:Boolean;// = false
public var dark:MovieClip;
public var thanksBox:MovieClip;
private var :Boolean;// = false
private var dad:MovieClip;
private var pointsNeeded:Number;
public var quoteBox:MovieClip;
public var vy:Number;// = 0
public function StageBBJumper(_arg1:MovieClip=null, _arg2:CharBlueberry=null, _arg3:Number=1000):void{
var _local4:int;
vy = 0;
isJumping = false;
= false;
= new Timer(3000);
super();
if (_arg1 == null){
return;
};
quoteBox.gotoAndStop(1);
thanksBox.gotoAndStop(1);
dark.scaleX = (dark.scaleY = (berry.scaleX = (berry.scaleY = 0.9)));
_local4 = Math.ceil((Math.random() * berry.totalFrames));
berry.gotoAndStop(_local4);
this.dad = _arg1;
this.blueberry = _arg2;
this.pointsNeeded = _arg3;
= quoteBox;
quoteBox.quote.need.text = String((_arg3 + " Points"));
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function removeSelf(){
BlueberryEventRegister.removeEventsByClip(this);
if (dad.contains(this)){
dad.removeChild(this);
};
}
public function removeDark(){
= thanksBox;
dark.alpha = 0;
}
public function loop(_arg1:Event):void{
var _local2:Number;
if (berry.hitTestObject(blueberry.ball)){
if ((((.currentFrame == 1)) && ((dark.alpha > 0)))){
_local2 = Math.ceil((Math.random() * 3));
SoundPlayer.playEffect(("sfxBerryHelp" + _local2), 0, 0.2);
} else {
if (.currentFrame == 1){
SoundPlayer.playEffect("sfxBerryHelp4", 0, 0.3);
};
};
.nextFrame();
} else {
.prevFrame();
};
if (!isJumping){
if (Math.floor((Math.random() * 400)) == 33){
vy = -26;
isJumping = true;
};
};
this.y = (this.y + vy);
if (this.y < 15){
vy = (vy + Global.wGravity);
} else {
if (this.y > 15){
vy = (vy / -3);
isJumping = false;
this.y = 15;
if (Math.abs(vy) < 3){
vy = 0;
};
};
};
}
}
}//package com.amp3d.blueberry
Section 100
//ThePreloader (com.amp3d.blueberry.ThePreloader)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
import CPMStar.*;
public class ThePreloader extends MovieClip {
public var pg:playGame;
public var loadbar:MovieClip;
public var adBox:MovieClip;
private var stageRef:Stage;
public var logo:MovieClip;
public function ThePreloader(_arg1:Stage){
var _local2:String;
var _local3:DisplayObject;
super();
this.stageRef = _arg1;
logo.alpha = (pg.alpha = (loadbar.alpha = 0));
logo.y = (logo.y - 200);
loadbar.y = (loadbar.y + 200);
pg.y = (pg.y + 200);
loadbar.juicebar.mask = loadbar.themask;
Tweener.addTween(logo, {y:(logo.y + 200), alpha:1, time:0.5, transition:"easeOut"});
Tweener.addTween(loadbar, {y:(loadbar.y - 200), alpha:1, time:0.5, transition:"easeOut"});
_local2 = "583QBC81B670";
_local3 = new AdLoader(_local2);
adBox.addChild(_local3);
}
public function UpdateLoader(_arg1:Number){
loadbar.themask.x = (-335.4 + (_arg1 * 316));
}
public function phaseOut(){
Tweener.addTween(loadbar, {y:(loadbar.y + 200), alpha:0, time:0.9, transition:"easeOut"});
Tweener.addTween(pg, {y:(pg.y - 200), alpha:1, time:0.9, transition:"easeOut"});
pg.addEventListener(MouseEvent.MOUSE_DOWN,
);
}
public function
(_arg1:MouseEvent){
var _local2:Whiteflash;
pg.removeEventListener(MouseEvent.MOUSE_DOWN,
);
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
dispatchEvent(new Event("complete"));
}
}
}//package com.amp3d.blueberry
Section 101
//TutorialBox (com.amp3d.blueberry.TutorialBox)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.amp3d.assets.*;
public class TutorialBox extends MovieClip {
public var pIntro:MovieClip;
public var mControls:controls_mb;
public var mTips:tips_mb;
public var mObjective:objective_mb;
public var pWeapons:MovieClip;
private var menuGroup:LinkedButtons;
public var pControls:MovieClip;
public var mPowerups:powerups_mb;
public var pObjective:MovieClip;
public var mWeapons:weapons_mb;
private var stageRef:Stage;
public var pPowerups:MovieClip;
public var pTips:MovieClip;
public var mIntro:intro_mb;
public function TutorialBox(_arg1:Stage=null){
menuGroup = new LinkedButtons();
super();
if (_arg1 == null){
return;
};
();
menuGroup.(mControls, setControls);
menuGroup.(mPowerups, );
menuGroup.(mObjective,
);
menuGroup.(mTips,
);
menuGroup.(mIntro,
);
menuGroup.(mWeapons,
);
menuGroup.setButton(mIntro);
this.stageRef = _arg1;
x = ((_arg1.stageWidth - width) / 2);
y = ((_arg1.stageHeight - height) / 2);
addEventListener(MouseEvent.ROLL_OVER,
, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, , false, 0, true);
}
private function
():void{
();
pObjective.visible = true;
}
public function removeSelf():void{
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
private function
():void{
();
pWeapons.visible = true;
}
private function
(_arg1:MouseEvent):void{
Tweener.addTween(this, {alpha:1, time:1});
}
private function setControls():void{
();
pControls.visible = true;
}
private function
():void{
();
pIntro.visible = true;
}
private function ():void{
pControls.visible = false;
pPowerups.visible = false;
pObjective.visible = false;
pTips.visible = false;
pIntro.visible = false;
pWeapons.visible = false;
}
private function (_arg1:MouseEvent):void{
Tweener.addTween(this, {alpha:0.1, time:1});
}
private function ():void{
();
pPowerups.visible = true;
}
private function
():void{
();
pTips.visible = true;
}
}
}//package com.amp3d.blueberry
Section 102
//UICredits (com.amp3d.blueberry.UICredits)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
public class UICredits extends MovieClip {
public var mini:logomini;
public var mainmenu:ReturnMainMenu;
private var stageRef:Stage;
public var fgl:logofgl;
public var amp:logoamp3d;
public var leet:logo2leet;
public function UICredits(_arg1:Stage=null){
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
mainmenu.addEventListener(MouseEvent.MOUSE_DOWN, CloseMenu, false, 0, true);
mainmenu.setHitSound("sfxBtnIce", 1);
leet.storeLink("http://2leet.com");
amp.storeLink("http://amp3d.net");
mini.storeLink("http://minijuegos.com");
fgl.storeLink("http://flashgamelicense.com");
}
public function CloseMenu(_arg1:MouseEvent){
var _local2:Whiteflash;
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
removeSelf();
}
public function removeSelf(){
mainmenu.removeEventListener(MouseEvent.MOUSE_DOWN, CloseMenu);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
delete ??getglobalscope
[this];
}
}
}//package com.amp3d.blueberry
Section 103
//UIGameStatMenu (com.amp3d.blueberry.UIGameStatMenu)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class UIGameStatMenu extends MovieClip {
public var juiceFromRest:TextField;
public var exit:Exit;
public var enemiesKilled:TextField;
private var :MovieClip;
public var timesKilled:TextField;
public var untilNext:TextField;
public var blackbox:MovieClip;
public var jamFired:TextField;
public var bubblesAccuracy:TextField;
public var currentLevel:TextField;
public var skillPoints:TextField;
private var stageRef:Stage;
public var juiceCollected:TextField;
public var bubblesFired:TextField;
public var gameScore:TextField;
public var timesVictorious:TextField;
public function UIGameStatMenu(_arg1:Stage=null, _arg2=null){
this.stageRef = _arg1;
this. = _arg2;
exit.addEventListener(MouseEvent.MOUSE_UP, Close, false, 0, true);
if (_arg1 != null){
initValues();
};
}
public function removeSelf(){
exit.removeEventListener(MouseEvent.MOUSE_UP, Close);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
public function Close(_arg1:MouseEvent){
SoundPlayer.playEffect("sfxBtnIce", 0, 1);
.closeStats();
}
public function initValues(){
currentLevel.text = String(Global.blueberryLevel);
skillPoints.text = String(Global.ssPoints);
gameScore.text = String(Global.gameTotalScore);
untilNext.text = String((Global.levelUpList[Global.blueberryLevel] - Global.gameTotalScore));
bubblesFired.text = String(Global.stBubblesFired);
jamFired.text = String(Global.stJamDropped);
enemiesKilled.text = String(Global.stEnemiesKilled);
juiceCollected.text = String(Global.stJuiceCollected);
juiceFromRest.text = String(Math.floor(Global.stJuiceFromRest));
timesVictorious.text = String(Global.stLevelsWon);
timesKilled.text = String(Global.stLevelsDied);
if (Global.stBubblesFired == 0){
bubblesAccuracy.text = "0%";
} else {
bubblesAccuracy.text = (String(Math.round(((Global.stBubblesHit / Global.stBubblesFired) * 100))) + "%");
};
}
}
}//package com.amp3d.blueberry
Section 104
//UISettings (com.amp3d.blueberry.UISettings)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
import com.amp3d.assets.*;
public class UISettings extends MovieClip {
public var menu_av:btnAudioVideo;
var evGroup:LinkedButtons;
var mvGroup:LinkedButtons;
public var mainmenu:ReturnMainMenu;
var menuGroup:LinkedButtons;
public var menu_controls:btnControls;
var particleGroup:LinkedButtons;
private var stageRef:Stage;
public var sectionControls:MovieClip;
public var sectionAV:MovieClip;
var qualityGroup:LinkedButtons;
public function UISettings(_arg1:Stage=null){
menuGroup = new LinkedButtons();
qualityGroup = new LinkedButtons();
particleGroup = new LinkedButtons();
evGroup = new LinkedButtons();
mvGroup = new LinkedButtons();
super();
if (_arg1 == null){
return;
};
this.stageRef = _arg1;
mainmenu.addEventListener(MouseEvent.MOUSE_DOWN, CloseMenu, false, 0, true);
menu_av.setHitSound("sfxBtnIce", 1);
menu_controls.setHitSound("sfxBtnIce", 1);
mainmenu.setHitSound("sfxBtnIce", 1);
menuGroup.(menu_av, setAV);
menuGroup.(menu_controls, setControls);
menuGroup.setButton(menu_av);
qualityGroup.(sectionAV.gq_l, gqlow);
qualityGroup.(sectionAV.gq_m, gqmed);
qualityGroup.(sectionAV.gq_h, gqhigh);
particleGroup.(sectionAV.pg_l, pglow);
particleGroup.(sectionAV.pg_m, pgmed);
particleGroup.(sectionAV.pg_h, pghigh);
evGroup.(sectionAV.ev_o, evoff);
evGroup.(sectionAV.ev_l, evlow);
evGroup.(sectionAV.ev_m, evmed);
evGroup.(sectionAV.ev_h, evhigh);
mvGroup.(sectionAV.mv_o, mvoff);
mvGroup.(sectionAV.mv_l, mvlow);
mvGroup.(sectionAV.mv_m, mvmed);
mvGroup.(sectionAV.mv_h, mvhigh);
sectionControls.keyJump.init("Jump", Global.sKeyJump, "sKeyJump");
sectionControls.keyDive.init("Dive", Global.sKeyDive, "sKeyDive");
sectionControls.keyLeft.init("Move Left", Global.sKeyMoveLeft, "sKeyMoveLeft");
sectionControls.keyRight.init("Move Right", Global.sKeyMoveRight, "sKeyMoveRight");
sectionControls.keyBubble.init("Bubble", Global.sKeyBubble, "sKeyBubble");
sectionControls.keyJam.init("Jam", Global.sKeyJam, "sKeyJam");
sectionControls.keyChangeLeft.init("Previous Weapon", Global.sKeyBblChngLeft, "sKeyBblChngLeft");
sectionControls.keyChangeRight.init("Next Weapon", Global.sKeyBblChngRight, "sKeyBblChngRight");
refresh();
}
public function mvlow(){
Global.sMusicVolume = 1;
SoundPlayer.volumeMusic();
}
public function evlow(){
Global.sEffectsVolume = 1;
}
public function setAV(){
sectionAV.visible = true;
sectionControls.visible = false;
}
public function evoff(){
Global.sEffectsVolume = 0;
}
public function mvoff(){
Global.sMusicVolume = 0;
SoundPlayer.volumeMusic();
}
public function setInstructions(){
sectionAV.visible = false;
sectionControls.visible = false;
}
public function setControls(){
sectionAV.visible = false;
sectionControls.visible = true;
}
public function pghigh(){
Global.sParticleMulitplier = 3;
}
public function gqlow(){
stageRef.quality = StageQuality.LOW;
}
public function CloseMenu(_arg1:MouseEvent){
var _local2:Whiteflash;
BlueberryEventRegister.clearAllEvents();
_local2 = new Whiteflash(stageRef);
stageRef.addChild(_local2);
removeSelf();
}
public function pgmed(){
Global.sParticleMulitplier = 2;
}
public function evmed(){
Global.sEffectsVolume = 2;
}
public function mvmed(){
Global.sMusicVolume = 2;
SoundPlayer.volumeMusic();
}
public function gqmed(){
stageRef.quality = StageQuality.MEDIUM;
}
public function gqhigh(){
stageRef.quality = StageQuality.HIGH;
}
public function mvhigh(){
Global.sMusicVolume = 3;
SoundPlayer.volumeMusic();
}
public function evhigh(){
Global.sEffectsVolume = 3;
}
public function refresh(){
if (stageRef.quality == "LOW"){
qualityGroup.setButton(sectionAV.gq_l);
} else {
if (stageRef.quality == "MEDIUM"){
qualityGroup.setButton(sectionAV.gq_m);
} else {
qualityGroup.setButton(sectionAV.gq_h);
};
};
if (Global.sParticleMulitplier == 1){
particleGroup.setButton(sectionAV.pg_l);
} else {
if (Global.sParticleMulitplier == 2){
particleGroup.setButton(sectionAV.pg_m);
} else {
particleGroup.setButton(sectionAV.pg_h);
};
};
if (Global.sEffectsVolume == 0){
evGroup.setButton(sectionAV.ev_o);
} else {
if (Global.sEffectsVolume == 1){
evGroup.setButton(sectionAV.ev_l);
} else {
if (Global.sEffectsVolume == 2){
evGroup.setButton(sectionAV.ev_m);
} else {
evGroup.setButton(sectionAV.ev_h);
};
};
};
if (Global.sMusicVolume == 0){
mvGroup.setButton(sectionAV.mv_o);
} else {
if (Global.sMusicVolume == 1){
mvGroup.setButton(sectionAV.mv_l);
} else {
if (Global.sMusicVolume == 2){
mvGroup.setButton(sectionAV.mv_m);
} else {
mvGroup.setButton(sectionAV.mv_h);
};
};
};
}
public function pglow(){
Global.sParticleMulitplier = 1;
}
public function removeSelf(){
mainmenu.removeEventListener(MouseEvent.MOUSE_DOWN, CloseMenu);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
delete ??getglobalscope
[this];
}
}
}//package com.amp3d.blueberry
Section 105
//UISkillMenu (com.amp3d.blueberry.UISkillMenu)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class UISkillMenu extends MovieClip {
public var exit:Exit;
public var strength:skillStrength;
public var resistance:skillResistance;
public var speed:skillSpeed;
public var health:skillHealth;
private var :MovieClip;
public var bb:MovieClip;
public var longevity:skillLongevity;
public var reset:SkillResetButton;
public var juice:skillJuice;
public var recharge:skillRecharge;
public var luck:skillLuck;
private var stageRef:Stage;
public var growth:skillGrowth;
public var yourpoints:MovieClip;
public function UISkillMenu(_arg1:Stage=null, _arg2=null){
this.stageRef = _arg1;
this. = _arg2;
exit.addEventListener(MouseEvent.MOUSE_UP, Close, false, 0, true);
reset.addEventListener(MouseEvent.MOUSE_UP, Reset, false, 0, true);
reset.setHitSound("sfxClickBeep", 1);
if (_arg1 != null){
();
};
}
public function Close(_arg1:MouseEvent){
Global.saveSO();
.closeSkills();
SoundPlayer.playEffect("sfxBtnIce", 0, 1);
}
public function updatePoints(){
yourpoints.points.text = String(Global.ssPoints);
}
private function Reset(_arg1:MouseEvent){
var _local2:Array;
var _local3:int;
trace("resetted");
_local2 = ["Growth", "Resistance", "Recharge", "Speed", "Longevity", "Health", "Juice", "Strength", "Luck"];
_local3 = 0;
while (_local3 < _local2.length) {
trace(Global[("ssLevel" + _local2[_local3])]);
while (Global[("ssLevel" + _local2[_local3])] > 0) {
Global.ssPoints = (Global.ssPoints + Global[("ssCost" + _local2[_local3])][(Global[("ssLevel" + _local2[_local3])] - 1)]);
var _local4 = Global;
var _local5 = ("ssLevel" + _local2[_local3]);
var _local6 = (_local4[_local5] - 1);
_local4[_local5] = _local6;
};
_local3++;
};
();
Global.saveSO();
}
private function (){
growth.init(stageRef, "Growth", this);
resistance.init(stageRef, "Resistance", this);
recharge.init(stageRef, "Recharge", this);
speed.init(stageRef, "Speed", this);
longevity.init(stageRef, "Longevity", this);
health.init(stageRef, "Health", this);
juice.init(stageRef, "Juice", this);
strength.init(stageRef, "Strength", this);
luck.init(stageRef, "Luck", this);
updatePoints();
}
public function removeSelf(){
exit.removeEventListener(MouseEvent.MOUSE_UP, Close);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 106
//WeapShield (com.amp3d.blueberry.WeapShield)
package com.amp3d.blueberry {
import flash.display.*;
import flash.events.*;
public class WeapShield extends MovieClip {
public var pointer:MovieClip;
public var owner:MovieClip;
public var stageRef:Stage;
public function WeapShield(_arg1:Stage=null, _arg2:MovieClip=null, _arg3:Number=1){
if (_arg1 == null){
return;
};
this.owner = _arg2;
this.stageRef = _arg1;
this.alpha = _arg3;
blendMode = "add";
pointer.alpha = 0;
BlueberryEventRegister.addEvent(this, Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event){
x = owner.getX();
y = owner.getY();
alpha = ((Math.random() * 2) + 0.5);
if (alpha <= 0){
removeSelf();
};
}
public function removeSelf(){
BlueberryEventRegister.removeEvent(this, Event.ENTER_FRAME, loop);
if (stageRef.contains(this)){
stageRef.removeChild(this);
};
}
}
}//package com.amp3d.blueberry
Section 107
//KeyObject (com.senocular.utils.KeyObject)
package com.senocular.utils {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.ui.*;
public dynamic class KeyObject extends Proxy {
private static var keysDown:Object;
private static var stage:Stage;
public function KeyObject(_arg1:Stage){
(_arg1);
}
private function (_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
public function
(_arg1:Stage):void{
KeyObject.stage = _arg1;
keysDown = new Object();
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, );
_arg1.addEventListener(KeyboardEvent.KEY_UP, );
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
return (((_arg1 in Keyboard)) ? Keyboard[_arg1] : -1);
}
public function isDown(_arg1:uint):Boolean{
return (Boolean((_arg1 in keysDown)));
}
public function deleteKey(_arg1:uint):void{
delete keysDown[_arg1];
}
private function (_arg1:KeyboardEvent):void{
delete keysDown[_arg1.keyCode];
}
public function ():void{
stage.removeEventListener(KeyboardEvent.KEY_DOWN, );
stage.removeEventListener(KeyboardEvent.KEY_UP, );
keysDown = new Object();
KeyObject.stage = null;
}
}
}//package com.senocular.utils
Section 108
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var :String;
private var :Loader;
public function AdLoader(_arg1:String){
this. = _arg1;
addEventListener(Event.ADDED,
);
}
private function
(_arg1:Event):void{
var _local2:String;
var _local3:DisplayObjectContainer;
removeEventListener(Event.ADDED,
);
Security.allowDomain("server.cpmstar.com");
_local2 = "http://server.cpmstar.com/adviewas3.swf";
_local3 = parent;
= new Loader();
.contentLoaderInfo.addEventListener(Event.INIT, );
.contentLoaderInfo.addEventListener(Event.COMPLETE, );
.load(new URLRequest(((_local2 + "?contentspotid=") + )));
addChild();
}
private function (_arg1:Event):void{
dispatchEvent(_arg1);
}
}
}//package CPMStar
Section 109
//arrows_135 (engine_fla.arrows_135)
package engine_fla {
import flash.display.*;
public dynamic class arrows_135 extends MovieClip {
public function arrows_135(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 110
//AssetHolder_1 (engine_fla.AssetHolder_1)
package engine_fla {
import flash.display.*;
public dynamic class AssetHolder_1 extends MovieClip {
public function AssetHolder_1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 111
//blueberries_faces_226 (engine_fla.blueberries_faces_226)
package engine_fla {
import flash.display.*;
public dynamic class blueberries_faces_226 extends MovieClip {
public function blueberries_faces_226(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 112
//blueberry_ball_5 (engine_fla.blueberry_ball_5)
package engine_fla {
import flash.display.*;
public dynamic class blueberry_ball_5 extends MovieClip {
public var hit:MovieClip;
public function blueberry_ball_5(){
addFrameScript(0, frame1, 1, frame2, 2,
, 3, , 13, , 14,
, 20, , 21, , 32, );
}
function (){
gotoAndStop("mad");
}
function
(){
stop();
}
function
(){
play();
}
function frame1(){
stop();
}
function (){
play();
}
function (){
play();
}
function (){
gotoAndStop("mad");
}
function frame2(){
stop();
}
function (){
gotoAndStop("mad");
}
}
}//package engine_fla
Section 113
//blueberry_fury_7 (engine_fla.blueberry_fury_7)
package engine_fla {
import flash.display.*;
public dynamic class blueberry_fury_7 extends MovieClip {
public function blueberry_fury_7(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndStop(1);
}
}
}//package engine_fla
Section 114
//ChaosFactory_animated_176 (engine_fla.ChaosFactory_animated_176)
package engine_fla {
import flash.display.*;
public dynamic class ChaosFactory_animated_176 extends MovieClip {
public var ripple:MovieClip;
public var rmask:MovieClip;
public var normal:MovieClip;
}
}//package engine_fla
Section 115
//escapeTryPi_109 (engine_fla.escapeTryPi_109)
package engine_fla {
import flash.display.*;
public dynamic class escapeTryPi_109 extends MovieClip {
public function escapeTryPi_109(){
addFrameScript(0, frame1, 169, );
}
function (){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 116
//goo_41 (engine_fla.goo_41)
package engine_fla {
import flash.display.*;
public dynamic class goo_41 extends MovieClip {
public var juiceRed:MovieClip;
public var healthRed:MovieClip;
}
}//package engine_fla
Section 117
//goomask_43 (engine_fla.goomask_43)
package engine_fla {
import flash.display.*;
public dynamic class goomask_43 extends MovieClip {
public var maskHealth:MovieClip;
public var maskJuice:MovieClip;
}
}//package engine_fla
Section 118
//greenLoadIn_162 (engine_fla.greenLoadIn_162)
package engine_fla {
import flash.display.*;
public dynamic class greenLoadIn_162 extends MovieClip {
public function greenLoadIn_162(){
addFrameScript(24, );
}
function (){
stop();
}
}
}//package engine_fla
Section 119
//levelskillsgameData_193 (engine_fla.levelskillsgameData_193)
package engine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class levelskillsgameData_193 extends MovieClip {
public var level:TextField;
public var skillPoints:TextField;
}
}//package engine_fla
Section 120
//LoadingBar_270 (engine_fla.LoadingBar_270)
package engine_fla {
import flash.display.*;
public dynamic class LoadingBar_270 extends MovieClip {
public var juicebar:MovieClip;
public var themask:MovieClip;
}
}//package engine_fla
Section 121
//MINIJUEGOS_236 (engine_fla.MINIJUEGOS_236)
package engine_fla {
import flash.display.*;
public dynamic class MINIJUEGOS_236 extends MovieClip {
public function MINIJUEGOS_236(){
addFrameScript(0, frame1, 99, );
}
function frame1(){
play();
}
function (){
stop();
}
}
}//package engine_fla
Section 122
//orb_113 (engine_fla.orb_113)
package engine_fla {
import flash.display.*;
public dynamic class orb_113 extends MovieClip {
public var spark:MovieClip;
}
}//package engine_fla
Section 123
//pump_cannon_22 (engine_fla.pump_cannon_22)
package engine_fla {
import flash.display.*;
public dynamic class pump_cannon_22 extends MovieClip {
public function pump_cannon_22(){
addFrameScript(0, frame1, 5, );
}
function (){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 124
//quoteBox_228 (engine_fla.quoteBox_228)
package engine_fla {
import flash.display.*;
public dynamic class quoteBox_228 extends MovieClip {
public var quote:MovieClip;
}
}//package engine_fla
Section 125
//quoteNumber_229 (engine_fla.quoteNumber_229)
package engine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class quoteNumber_229 extends MovieClip {
public var need:TextField;
}
}//package engine_fla
Section 126
//raspberry_body_233 (engine_fla.raspberry_body_233)
package engine_fla {
import flash.display.*;
public dynamic class raspberry_body_233 extends MovieClip {
public function raspberry_body_233(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndStop(1);
}
}
}//package engine_fla
Section 127
//sectionAV_136 (engine_fla.sectionAV_136)
package engine_fla {
import flash.display.*;
public dynamic class sectionAV_136 extends MovieClip {
public var pg_m:btn_settingM;
public var pg_l:btn_settingL;
public var pg_h:btn_settingH;
public var mv_m:btn_settingM;
public var mv_l:btn_settingL;
public var ev_m:btn_settingM;
public var gq_l:btn_settingL;
public var ev_h:btn_settingH;
public var mv_h:btn_settingH;
public var gq_h:btn_settingH;
public var ev_o:btn_settingOFF;
public var mv_o:btn_settingOFF;
public var ev_l:btn_settingL;
public var gq_m:btn_settingM;
}
}//package engine_fla
Section 128
//sectionControls_133 (engine_fla.sectionControls_133)
package engine_fla {
import flash.display.*;
import com.amp3d.blueberry.*;
public dynamic class sectionControls_133 extends MovieClip {
public var keyLeft:KeySetter;
public var keyDive:KeySetter;
public var keyJump:KeySetter;
public var keyJam:KeySetter;
public var keyChangeRight:KeySetter;
public var keyChangeLeft:KeySetter;
public var keyBubble:KeySetter;
public var keyRight:KeySetter;
}
}//package engine_fla
Section 129
//sectionInstructions_141 (engine_fla.sectionInstructions_141)
package engine_fla {
import flash.display.*;
public dynamic class sectionInstructions_141 extends MovieClip {
public var strat:btn_ins_strategies;
public var control:btn_ins_controllingbb;
public var items:btn_ins_items;
public function sectionInstructions_141(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 130
//sheli_body_208 (engine_fla.sheli_body_208)
package engine_fla {
import flash.display.*;
public dynamic class sheli_body_208 extends MovieClip {
public var flame:MovieClip;
}
}//package engine_fla
Section 131
//skillbutton_158 (engine_fla.skillbutton_158)
package engine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class skillbutton_158 extends MovieClip {
public var power:MovieClip;
public var arrow:SimpleButton;
public var cost:TextField;
}
}//package engine_fla
Section 132
//StageFive_108 (engine_fla.StageFive_108)
package engine_fla {
import flash.display.*;
import flash.events.*;
public dynamic class StageFive_108 extends MovieClip {
public var tripi1:MovieClip;
public var tripi2:MovieClip;
public var tripi3:MovieClip;
public var tripi4:MovieClip;
public function StageFive_108(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function loop(_arg1:Event):void{
var _local2:Number;
_local2 = Math.ceil((Math.random() * 350));
if ((((tripi1.currentFrame == 1)) && ((_local2 == 33)))){
tripi1.play();
};
if ((((tripi2.currentFrame == 1)) && ((_local2 == 44)))){
tripi2.play();
};
if ((((tripi3.currentFrame == 1)) && ((_local2 == 55)))){
tripi3.play();
};
if ((((tripi4.currentFrame == 1)) && ((_local2 == 66)))){
tripi4.play();
};
}
}
}//package engine_fla
Section 133
//StageFour_112 (engine_fla.StageFour_112)
package engine_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.net.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.geom.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class StageFour_112 extends MovieClip {
public var orb:MovieClip;
public function StageFour_112(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function loop(_arg1:Event){
orb.spark.rotation = (orb.spark.rotation + 9);
orb.spark.alpha = Math.random();
}
}
}//package engine_fla
Section 134
//stageThumb_loadin_197 (engine_fla.stageThumb_loadin_197)
package engine_fla {
import flash.display.*;
public dynamic class stageThumb_loadin_197 extends MovieClip {
public function stageThumb_loadin_197(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 135
//StageTwo_106 (engine_fla.StageTwo_106)
package engine_fla {
import flash.display.*;
import flash.events.*;
public dynamic class StageTwo_106 extends MovieClip {
public var counter:Number;
public var lights:MovieClip;
public function StageTwo_106(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
counter = 0;
}
public function loop(_arg1:Event){
counter++;
if (Math.ceil((Math.random() * 350)) == 121){
counter = 0;
};
if ((((counter < 20)) && (((counter % 2) == 0)))){
lights.alpha = (0.6 + (Math.random() * 0.4));
} else {
if ((counter % 27) == 0){
lights.alpha = (0.6 + Math.random());
} else {
lights.alpha = 1;
};
};
}
}
}//package engine_fla
Section 136
//thanksBox_230 (engine_fla.thanksBox_230)
package engine_fla {
import flash.display.*;
public dynamic class thanksBox_230 extends MovieClip {
public var quote:MovieClip;
}
}//package engine_fla
Section 137
//tripyra_redout_33 (engine_fla.tripyra_redout_33)
package engine_fla {
import flash.display.*;
public dynamic class tripyra_redout_33 extends MovieClip {
public var hit:MovieClip;
}
}//package engine_fla
Section 138
//UKLevelChallenge_224 (engine_fla.UKLevelChallenge_224)
package engine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class UKLevelChallenge_224 extends MovieClip {
public var pointsNeeded:TextField;
}
}//package engine_fla
Section 139
//upgrade_levels_161 (engine_fla.upgrade_levels_161)
package engine_fla {
import flash.display.*;
public dynamic class upgrade_levels_161 extends MovieClip {
public function upgrade_levels_161(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package engine_fla
Section 140
//warning321_51 (engine_fla.warning321_51)
package engine_fla {
import flash.display.*;
public dynamic class warning321_51 extends MovieClip {
public function warning321_51(){
addFrameScript(144,
);
}
function
(){
stop();
}
}
}//package engine_fla
Section 141
//weapons_page_266 (engine_fla.weapons_page_266)
package engine_fla {
import flash.display.*;
public dynamic class weapons_page_266 extends MovieClip {
public var glare:MovieClip;
public var ball:MovieClip;
}
}//package engine_fla
Section 142
//YourPoints_171 (engine_fla.YourPoints_171)
package engine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class YourPoints_171 extends MovieClip {
public var points:TextField;
}
}//package engine_fla
Section 143
//btn_challenge (btn_challenge)
package {
import com.amp3d.assets.*;
public dynamic class btn_challenge extends MagicButton {
public function btn_challenge(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 144
//btn_credits (btn_credits)
package {
import com.amp3d.assets.*;
public dynamic class btn_credits extends MagicButton {
public function btn_credits(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 145
//btn_ins_controllingbb (btn_ins_controllingbb)
package {
import com.amp3d.assets.*;
public dynamic class btn_ins_controllingbb extends PerfectButton {
}
}//package
Section 146
//btn_ins_items (btn_ins_items)
package {
import com.amp3d.assets.*;
public dynamic class btn_ins_items extends PerfectButton {
}
}//package
Section 147
//btn_ins_strategies (btn_ins_strategies)
package {
import com.amp3d.assets.*;
public dynamic class btn_ins_strategies extends PerfectButton {
}
}//package
Section 148
//btn_moregames (btn_moregames)
package {
import com.amp3d.assets.*;
public dynamic class btn_moregames extends MagicButton {
public function btn_moregames(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 149
//btn_newgame (btn_newgame)
package {
import com.amp3d.assets.*;
public dynamic class btn_newgame extends MagicButton {
public function btn_newgame(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 150
//btn_settingH (btn_settingH)
package {
import com.amp3d.assets.*;
public dynamic class btn_settingH extends PerfectButton {
}
}//package
Section 151
//btn_settingL (btn_settingL)
package {
import com.amp3d.assets.*;
public dynamic class btn_settingL extends PerfectButton {
}
}//package
Section 152
//btn_settingM (btn_settingM)
package {
import com.amp3d.assets.*;
public dynamic class btn_settingM extends PerfectButton {
}
}//package
Section 153
//btn_settingOFF (btn_settingOFF)
package {
import com.amp3d.assets.*;
public dynamic class btn_settingOFF extends PerfectButton {
}
}//package
Section 154
//btn_settings (btn_settings)
package {
import com.amp3d.assets.*;
public dynamic class btn_settings extends MagicButton {
public function btn_settings(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 155
//btnAudioVideo (btnAudioVideo)
package {
import com.amp3d.assets.*;
public dynamic class btnAudioVideo extends PerfectButton {
}
}//package
Section 156
//btnControls (btnControls)
package {
import com.amp3d.assets.*;
public dynamic class btnControls extends PerfectButton {
}
}//package
Section 157
//btnInstructions (btnInstructions)
package {
import com.amp3d.assets.*;
public dynamic class btnInstructions extends PerfectButton {
}
}//package
Section 158
//ContinueGameButton (ContinueGameButton)
package {
import com.amp3d.assets.*;
public dynamic class ContinueGameButton extends MagicButton {
public function ContinueGameButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 159
//controls_mb (controls_mb)
package {
import com.amp3d.assets.*;
public dynamic class controls_mb extends PerfectButton {
}
}//package
Section 160
//DeleteGameButton (DeleteGameButton)
package {
import com.amp3d.assets.*;
public dynamic class DeleteGameButton extends MagicButton {
public function DeleteGameButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 161
//EchoDrop (EchoDrop)
package {
import flash.events.*;
import com.amp3d.blueberry.*;
public dynamic class EchoDrop extends LinkGeneric {
public function EchoDrop(){
addFrameScript(129, );
}
function (){
gotoAndStop(1);
dispatchEvent(new Event("adfinished"));
}
}
}//package
Section 162
//Exit (Exit)
package {
import com.amp3d.assets.*;
public dynamic class Exit extends MagicButton {
public function Exit(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 163
//intro_mb (intro_mb)
package {
import com.amp3d.assets.*;
public dynamic class intro_mb extends PerfectButton {
}
}//package
Section 164
//IntroComic (IntroComic)
package {
import flash.display.*;
import flash.events.*;
public dynamic class IntroComic extends MovieClip {
public var skip:SkipMovie;
public function IntroComic(){
addFrameScript(0, frame1, 1152, );
}
function frame1(){
skip.addEventListener(MouseEvent.MOUSE_DOWN, );
}
public function (_arg1:MouseEvent){
gotoAndPlay(1151);
}
function (){
dispatchEvent(new Event("playComplete"));
stop();
}
}
}//package
Section 165
//LLeet (LLeet)
package {
import com.amp3d.blueberry.*;
public dynamic class LLeet extends LinkLeet {
}
}//package
Section 166
//logo2leet (logo2leet)
package {
import com.amp3d.blueberry.*;
public dynamic class logo2leet extends LinkGeneric {
}
}//package
Section 167
//logoamp3d (logoamp3d)
package {
import com.amp3d.blueberry.*;
public dynamic class logoamp3d extends LinkGeneric {
}
}//package
Section 168
//logofgl (logofgl)
package {
import com.amp3d.blueberry.*;
public dynamic class logofgl extends LinkGeneric {
}
}//package
Section 169
//logomini (logomini)
package {
import com.amp3d.blueberry.*;
public dynamic class logomini extends LinkGeneric {
}
}//package
Section 170
//loopBoss (loopBoss)
package {
import flash.media.*;
public dynamic class loopBoss extends Sound {
}
}//package
Section 171
//loopFinalMarch (loopFinalMarch)
package {
import flash.media.*;
public dynamic class loopFinalMarch extends Sound {
}
}//package
Section 172
//loopWhisper (loopWhisper)
package {
import flash.media.*;
public dynamic class loopWhisper extends Sound {
}
}//package
Section 173
//Minijuegos (Minijuegos)
package {
import flash.events.*;
import com.amp3d.blueberry.*;
public dynamic class Minijuegos extends LinkGeneric {
public function Minijuegos(){
addFrameScript(0, frame1, 114, );
}
function frame1(){
mj.gotoAndPlay(1);
}
function (){
stop();
dispatchEvent(new Event("adfinished"));
}
}
}//package
Section 174
//NewGameButton (NewGameButton)
package {
import com.amp3d.assets.*;
public dynamic class NewGameButton extends MagicButton {
public function NewGameButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 175
//objective_mb (objective_mb)
package {
import com.amp3d.assets.*;
public dynamic class objective_mb extends PerfectButton {
}
}//package
Section 176
//playGame (playGame)
package {
import com.amp3d.assets.*;
public dynamic class playGame extends MagicButton {
public function playGame(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 177
//powerups_mb (powerups_mb)
package {
import com.amp3d.assets.*;
public dynamic class powerups_mb extends PerfectButton {
}
}//package
Section 178
//PreloadGameSponsor (PreloadGameSponsor)
package {
import flash.display.*;
import flash.events.*;
public dynamic class PreloadGameSponsor extends MovieClip {
public function PreloadGameSponsor(){
addFrameScript(134, );
}
function (){
dispatchEvent(new Event("adfinished"));
gotoAndStop(1);
}
}
}//package
Section 179
//RedOut (RedOut)
package {
import flash.display.*;
public dynamic class RedOut extends MovieClip {
}
}//package
Section 180
//ReturnMainMenu (ReturnMainMenu)
package {
import com.amp3d.assets.*;
public dynamic class ReturnMainMenu extends MagicButton {
public function ReturnMainMenu(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 181
//ReturnStageSelect (ReturnStageSelect)
package {
import com.amp3d.assets.*;
public dynamic class ReturnStageSelect extends MagicButton {
public function ReturnStageSelect(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 182
//sfxBerryHelp1 (sfxBerryHelp1)
package {
import flash.media.*;
public dynamic class sfxBerryHelp1 extends Sound {
}
}//package
Section 183
//sfxBerryHelp2 (sfxBerryHelp2)
package {
import flash.media.*;
public dynamic class sfxBerryHelp2 extends Sound {
}
}//package
Section 184
//sfxBerryHelp3 (sfxBerryHelp3)
package {
import flash.media.*;
public dynamic class sfxBerryHelp3 extends Sound {
}
}//package
Section 185
//sfxBerryHelp4 (sfxBerryHelp4)
package {
import flash.media.*;
public dynamic class sfxBerryHelp4 extends Sound {
}
}//package
Section 186
//sfxBlueberryBounce (sfxBlueberryBounce)
package {
import flash.media.*;
public dynamic class sfxBlueberryBounce extends Sound {
}
}//package
Section 187
//sfxBlueberryBubble (sfxBlueberryBubble)
package {
import flash.media.*;
public dynamic class sfxBlueberryBubble extends Sound {
}
}//package
Section 188
//sfxBlueberryHit (sfxBlueberryHit)
package {
import flash.media.*;
public dynamic class sfxBlueberryHit extends Sound {
}
}//package
Section 189
//sfxBlueberryJuice (sfxBlueberryJuice)
package {
import flash.media.*;
public dynamic class sfxBlueberryJuice extends Sound {
}
}//package
Section 190
//sfxBlueberrySplop (sfxBlueberrySplop)
package {
import flash.media.*;
public dynamic class sfxBlueberrySplop extends Sound {
}
}//package
Section 191
//sfxBlueberrySquelch (sfxBlueberrySquelch)
package {
import flash.media.*;
public dynamic class sfxBlueberrySquelch extends Sound {
}
}//package
Section 192
//sfxBtnHit (sfxBtnHit)
package {
import flash.media.*;
public dynamic class sfxBtnHit extends Sound {
}
}//package
Section 193
//sfxBtnIce (sfxBtnIce)
package {
import flash.media.*;
public dynamic class sfxBtnIce extends Sound {
}
}//package
Section 194
//sfxClickBeep (sfxClickBeep)
package {
import flash.media.*;
public dynamic class sfxClickBeep extends Sound {
}
}//package
Section 195
//sfxEnemyExplosion (sfxEnemyExplosion)
package {
import flash.media.*;
public dynamic class sfxEnemyExplosion extends Sound {
}
}//package
Section 196
//sfxFireGrenade (sfxFireGrenade)
package {
import flash.media.*;
public dynamic class sfxFireGrenade extends Sound {
}
}//package
Section 197
//sfxGrenadeExplosion (sfxGrenadeExplosion)
package {
import flash.media.*;
public dynamic class sfxGrenadeExplosion extends Sound {
}
}//package
Section 198
//sfxHighBullet (sfxHighBullet)
package {
import flash.media.*;
public dynamic class sfxHighBullet extends Sound {
}
}//package
Section 199
//sfxJuiceSplatter (sfxJuiceSplatter)
package {
import flash.media.*;
public dynamic class sfxJuiceSplatter extends Sound {
}
}//package
Section 200
//sfxMetalClink (sfxMetalClink)
package {
import flash.media.*;
public dynamic class sfxMetalClink extends Sound {
}
}//package
Section 201
//sfxOutOfJuice (sfxOutOfJuice)
package {
import flash.media.*;
public dynamic class sfxOutOfJuice extends Sound {
}
}//package
Section 202
//sfxSomaBtnOut (sfxSomaBtnOut)
package {
import flash.media.*;
public dynamic class sfxSomaBtnOut extends Sound {
}
}//package
Section 203
//sfxSomaBtnOver (sfxSomaBtnOver)
package {
import flash.media.*;
public dynamic class sfxSomaBtnOver extends Sound {
}
}//package
Section 204
//sfxSomaBubbleHit (sfxSomaBubbleHit)
package {
import flash.media.*;
public dynamic class sfxSomaBubbleHit extends Sound {
}
}//package
Section 205
//sfxSomaBulletFire (sfxSomaBulletFire)
package {
import flash.media.*;
public dynamic class sfxSomaBulletFire extends Sound {
}
}//package
Section 206
//sfxSomaJam (sfxSomaJam)
package {
import flash.media.*;
public dynamic class sfxSomaJam extends Sound {
}
}//package
Section 207
//sfxSomaLevelComplete (sfxSomaLevelComplete)
package {
import flash.media.*;
public dynamic class sfxSomaLevelComplete extends Sound {
}
}//package
Section 208
//sfxSomaLevelFailed (sfxSomaLevelFailed)
package {
import flash.media.*;
public dynamic class sfxSomaLevelFailed extends Sound {
}
}//package
Section 209
//sfxSomaReverb (sfxSomaReverb)
package {
import flash.media.*;
public dynamic class sfxSomaReverb extends Sound {
}
}//package
Section 210
//sfxSomaReverbHit (sfxSomaReverbHit)
package {
import flash.media.*;
public dynamic class sfxSomaReverbHit extends Sound {
}
}//package
Section 211
//sfxSomaWarningIntro (sfxSomaWarningIntro)
package {
import flash.media.*;
public dynamic class sfxSomaWarningIntro extends Sound {
}
}//package
Section 212
//sfxType (sfxType)
package {
import flash.media.*;
public dynamic class sfxType extends Sound {
}
}//package
Section 213
//sfxWeaponSwitch (sfxWeaponSwitch)
package {
import flash.media.*;
public dynamic class sfxWeaponSwitch extends Sound {
}
}//package
Section 214
//sfxWhoosh (sfxWhoosh)
package {
import flash.media.*;
public dynamic class sfxWhoosh extends Sound {
}
}//package
Section 215
//skillGrowth (skillGrowth)
package {
import com.amp3d.blueberry.*;
public dynamic class skillGrowth extends MenuSkillButton {
}
}//package
Section 216
//skillHealth (skillHealth)
package {
import com.amp3d.blueberry.*;
public dynamic class skillHealth extends MenuSkillButton {
}
}//package
Section 217
//skillJuice (skillJuice)
package {
import com.amp3d.blueberry.*;
public dynamic class skillJuice extends MenuSkillButton {
}
}//package
Section 218
//skillLongevity (skillLongevity)
package {
import com.amp3d.blueberry.*;
public dynamic class skillLongevity extends MenuSkillButton {
}
}//package
Section 219
//skillLuck (skillLuck)
package {
import com.amp3d.blueberry.*;
public dynamic class skillLuck extends MenuSkillButton {
}
}//package
Section 220
//skillRecharge (skillRecharge)
package {
import com.amp3d.blueberry.*;
public dynamic class skillRecharge extends MenuSkillButton {
}
}//package
Section 221
//SkillResetButton (SkillResetButton)
package {
import com.amp3d.assets.*;
public dynamic class SkillResetButton extends MagicButton {
public function SkillResetButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 222
//skillResistance (skillResistance)
package {
import com.amp3d.blueberry.*;
public dynamic class skillResistance extends MenuSkillButton {
}
}//package
Section 223
//skillSpeed (skillSpeed)
package {
import com.amp3d.blueberry.*;
public dynamic class skillSpeed extends MenuSkillButton {
}
}//package
Section 224
//skillStrength (skillStrength)
package {
import com.amp3d.blueberry.*;
public dynamic class skillStrength extends MenuSkillButton {
}
}//package
Section 225
//SkipMovie (SkipMovie)
package {
import com.amp3d.assets.*;
public dynamic class SkipMovie extends MagicButton {
public function SkipMovie(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 226
//SplatOne (SplatOne)
package {
import flash.display.*;
public dynamic class SplatOne extends MovieClip {
public function SplatOne(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package
Section 227
//SplatTwo (SplatTwo)
package {
import flash.display.*;
public dynamic class SplatTwo extends MovieClip {
public function SplatTwo(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package
Section 228
//submitHighScore (submitHighScore)
package {
import com.amp3d.assets.*;
public dynamic class submitHighScore extends MagicButton {
public function submitHighScore(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 229
//tips_mb (tips_mb)
package {
import com.amp3d.assets.*;
public dynamic class tips_mb extends PerfectButton {
}
}//package
Section 230
//uiFailure (uiFailure)
package {
import com.amp3d.assets.*;
public dynamic class uiFailure extends MagicButton {
public function uiFailure(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 231
//uiLevelComplete (uiLevelComplete)
package {
import com.amp3d.assets.*;
public dynamic class uiLevelComplete extends MagicButton {
public function uiLevelComplete(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 232
//weapons_mb (weapons_mb)
package {
import com.amp3d.assets.*;
public dynamic class weapons_mb extends PerfectButton {
}
}//package