Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function isInArray(_arg1:String, _arg2:Array):Boolean{
var _local3:uint = _arg2.length;
var _local4:uint;
while (_local4 < _local3) {
if (_arg2[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
public static function getObjectLength(_arg1:Object):uint{
var _local3:String;
var _local2:uint;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function concatObjects(... _args):Object{
var _local3:Object;
var _local5:String;
var _local2:Object = {};
var _local4:int;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 2
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function 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 easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(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 easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(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 easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
var _local8:Number = (((!(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 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 easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(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 easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(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 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 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 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 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 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));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var valueStart:Number;
public var valueComplete:Number;
public var originalValueComplete:Object;
public var arrayIndex:Number;
public var extra:Object;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var modifierFunction:Function;
public var modifierParameters:Array;
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 clone():PropertyInfoObj{
var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
public function toString():String{
var _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);
}
}
}//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var getValue:Function;
public var setValue:Function;
public var parameters:Array;
public var preProcess: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 = "";
_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 modifyValues:Function;
public var getValue:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _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 = "";
_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 __tweener_controller__:MovieClip;
private static var _engineExists:Boolean = false;
private static var _inited:Boolean = false;
private static var _currentTime:Number;
private static var _currentTimeFrame:Number;
private static var _tweenList:Array;
private static var _timeScale:Number = 1;
private static var _transitionList:Object;
private static var _specialPropertyList:Object;
private static var _specialPropertyModifierList:Object;
private static var _specialPropertySplitterList:Object;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
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];
};
var _local7:Object = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time;
var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay;
var _local10:Array = new Array();
var _local11:Object = {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};
var _local12:Object = 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 addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
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];
};
var _local5:Object = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time;
var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removedLocally:Boolean;
var i:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
var removed:Boolean;
var tl:uint = _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 removeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = 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 removeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = 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));
}
public static function pauseAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = 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 resumeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local4:Boolean;
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 splitTweens(_arg1:Number, _arg2:Array):uint{
var _local5:uint;
var _local6:String;
var _local7:Boolean;
var _local3:TweenListObj = _tweenList[_arg1];
var _local4:TweenListObj = _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));
}
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 removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
var _local3:Number = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
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 tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
var isOver:Boolean;
var cTime:Number = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(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.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
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 init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
if (!_inited){
init();
};
var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
if (!_inited){
init();
};
var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
if (!_inited){
init();
};
var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
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();
}
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 updateTime():void{
_currentTime = getTimer();
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function onEnterFrame(_arg1:Event):void{
updateTime();
updateFrame();
var _local2:Boolean;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
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 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 getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
if (!Boolean(_tweenList)){
return ([]);
};
var _local4:Array = 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 getTweenCount(_arg1:Object):Number{
var _local2:uint;
if (!Boolean(_tweenList)){
return (0);
};
var _local3:Number = 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 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()));
};
};
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getVersion():String{
return ("AS3 1.31.71");
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
}
}//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var scope:Object;
public var properties:Object;
public var timeStart:Number;
public var timeComplete:Number;
public var useFrames:Boolean;
public var transition:Function;
public var transitionParams:Object;
public var onStart:Function;
public var onUpdate:Function;
public var onComplete:Function;
public var onOverwrite:Function;
public var onError:Function;
public var onStartParams:Array;
public var onUpdateParams:Array;
public var onCompleteParams:Array;
public var onOverwriteParams:Array;
public var onStartScope:Object;
public var onUpdateScope:Object;
public var onCompleteScope:Object;
public var onOverwriteScope:Object;
public var onErrorScope:Object;
public var rounded:Boolean;
public var isPaused:Boolean;
public var timePaused:Number;
public var isCaller:Boolean;
public var count:Number;
public var timesCalled:Number;
public var waitFrames:Boolean;
public var skipUpdates:Number;
public var updatesSkipped:Number;
public var hasStarted:Boolean;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local3:String;
var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local3:String;
var _local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
var _local2:Boolean;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local2:Object = _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
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintColor:Number;// = 0
private var _tintMultiplier:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
public function set brightness(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
var _local2:Number = (1 - Math.abs(_arg1));
var _local3:Number = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function setTint(_arg1:uint, _arg2:Number):void{
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
var _local3:uint = ((_arg1 >> 16) & 0xFF);
var _local4:uint = ((_arg1 >> 8) & 0xFF);
var _local5:uint = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
private function deriveTintColor():uint{
var _local1:Number = (1 / this.tintMultiplier);
var _local2:uint = Math.round((this.redOffset * _local1));
var _local3:uint = Math.round((this.greenOffset * _local1));
var _local4:uint = Math.round((this.blueOffset * _local1));
var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
var _local2:XML = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (1 - _arg3);
var _local5:ColorTransform = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = ((_arg1 >> 24) & 0xFF);
var _local6:uint = ((_arg1 >> 16) & 0xFF);
var _local7:uint = ((_arg1 >> 8) & 0xFF);
var _local8:uint = (_arg1 & 0xFF);
var _local9:uint = ((_arg2 >> 24) & 0xFF);
var _local10:uint = ((_arg2 >> 16) & 0xFF);
var _local11:uint = ((_arg2 >> 8) & 0xFF);
var _local12:uint = (_arg2 & 0xFF);
var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3));
var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3));
var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3));
var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3));
var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
}
}//package fl.motion
Section 10
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_SHOW:String = "StoreShow";
public static const STORE_HIDE:String = "StoreHide";
public static const ITEM_OWNED:String = "ItemOwned";
public static const ITEM_NEW:String = "ItemNew";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static var _inventory:MochiInventory;
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showStore(_arg1:Object=null):void{
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
MochiSocial.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
MochiSocial.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
MochiSocial.removeEventListener(_arg1, _arg2);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 11
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Fragment:Number;
private var Sibling:MochiDigits;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function get value():Number{
return (Number(this.toString()));
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
}
}//package mochi.as3
Section 12
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
}
}//package mochi.as3
Section 13
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_CENTER:String = "ALIGN_C";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const FORMAT_SHORT:String = "ShortForm";
public static const FORMAT_LONG:String = "LongForm";
private static var gameStart:Number;
private static var levelStart:Number;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
}
}//package mochi.as3
Section 14
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _consumableProperties:Object;
private var _syncPending:Boolean;
private var _outstandingID:Number;
private var _syncID:Number;
private var _names:Array;
private var _storeSync:Object;
private static const CONSUMER_KEY:String = "MochiConsumables";
private static const KEY_SALT:String = " syncMaint";
public static const READY:String = "InvReady";
public static const WRITTEN:String = "InvWritten";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
public static const VALUE_ERROR:String = "InvValueError";
public static const NOT_READY:String = "InvNotReady";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut);
_storeSync = new Object();
_syncPending = false;
_outstandingID = 0;
_syncID = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, sync);
_timer.start();
if (MochiSocial.loggedIn){
loggedIn();
} else {
loggedOut();
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
private function loggedOut(_arg1:Object=null):void{
_consumableProperties = null;
}
private function loggedIn(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
private function newItems(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (_arg1.privateProperties.consumable){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
private function itemOwned(_arg1:Object):void{
_storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function getConsumableBag(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_names.push(_local2);
_consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _storeSync) {
_local3 = _storeSync[_local2].count;
if (_consumableProperties[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _consumableProperties[_local2]);
};
if (_local3 == 0){
} else {
newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function putConsumableBag(_arg1:MochiUserData):void{
_syncPending = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
private function sync(_arg1:Event=null):void{
var _local3:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
var _local2:Object = {};
for (_local3 in _consumableProperties) {
_local2[_local3] = MochiDigits(_consumableProperties[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[_arg1]){
return (MochiDigits(_consumableProperties[_arg1]).value);
};
return (undefined);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_consumableProperties[_arg1]){
return (false);
};
_names.splice(_names.indexOf(_arg1), 1);
delete _consumableProperties[_arg1];
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_consumableProperties[_arg1]){
_local3 = MochiDigits(_consumableProperties[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_names.push(_arg1);
_consumableProperties[_arg1] = new MochiDigits(_arg2);
};
_syncID++;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1));
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_names[(_arg1 - 1)]);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 15
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
public static var onCloseHandler:Object;
public static var onErrorHandler:Object;
private static var boardID:String;
public static function onClose(_arg1:Object=null):void{
if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiServices.warnID(_arg1, true);
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
if (options != null){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
}
}//package mochi.as3
Section 16
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _id:String;
private static var _container:Object;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _timer:Timer;
private static var _preserved:Object;
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
private static var _services:String = "services.swf";
private static var _mochiLC:String = "MochiLC.swf";
private static var _swfVersion:String;
private static var _listenChannelName:String = "__ms_";
private static var _sendChannel:LocalConnection;
private static var _sendChannelName:String;
private static var _connecting:Boolean = false;
private static var _connected:Boolean = false;
public static var netup:Boolean = true;
public static var netupAttempted:Boolean = false;
public static var onError:Object;
public static var widget:Boolean = false;
public static var servicesSync:MochiSync = new MochiSync();
private static var _mochiLocalConnection:MovieClip;
private static var _queue:Array;
private static var _nextCallbackID:Number;
private static var _callbacks:Object;
public static function get id():String{
return (_id);
}
public static function get clip():Object{
return (_container);
}
public static function get childClip():Object{
return (_clip);
}
public static function getVersion():String{
return ("3.8 as3");
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
public static function get connected():Boolean{
return (_connected);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local3:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local4:URLRequest = new URLRequest(_local3);
var _local5:URLVariables = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_loader.load(_local4);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
private static function loadLCBridge(_arg1:Object):void{
var loader:Loader;
var clip = _arg1;
loader = new Loader();
var mochiLCURL:String = (_servURL + _mochiLC);
var req:URLRequest = new URLRequest(mochiLCURL);
var complete:Function = function (_arg1:Object):void{
_mochiLocalConnection = MovieClip(loader.content);
listen();
};
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
loader.load(req);
clip.addChild(loader);
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _callbacks[cb];
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "sync":
servicesSync.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
public static function updateCopy(_arg1:Object):void{
MochiServices.send("coins_updateCopy", _arg1, null, null);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
var _local2:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
}
}//package mochi.as3
Section 17
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const LOGGED_OUT:String = "LoggedOut";
public static const LOGIN_SHOW:String = "LoginShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOWN:String = "LoginShown";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const USER_INFO:String = "UserInfo";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _user_info:Object = null;
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showLoginWidget", {options:_arg1});
}
public static function hideLoginWidget():void{
MochiServices.send("coins_hideLoginWidget");
}
public static function requestLogin():void{
MochiServices.send("coins_requestLogin");
}
public static function getUserInfo():void{
MochiServices.send("coins_getUserInfo");
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("coins_saveUserProperties", _arg1);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 18
//MochiSync (mochi.as3.MochiSync)
package mochi.as3 {
import flash.utils.*;
public dynamic class MochiSync extends Proxy {
private var _syncContainer:Object;
public static var SYNC_REQUEST:String = "SyncRequest";
public static var SYNC_PROPERTY:String = "UpdateProperty";
public function MochiSync():void{
_syncContainer = {};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
return (_syncContainer[_arg1]);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
if (_syncContainer[_arg1] == _arg2){
return;
};
var _local3:String = _arg1.toString();
_syncContainer[_local3] = _arg2;
MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2});
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
switch (_arg1){
case SYNC_REQUEST:
MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY:
_syncContainer[_arg2.name] = _arg2.value;
break;
};
}
}
}//package mochi.as3
Section 19
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var _loader:URLLoader;
public var key:String;// = null
public var data;// = null
public var error:Event;// = null
public var operation:String;// = null
public var callback:Function;// = null
public function MochiUserData(_arg1:String="", _arg2:Function=null){
this.key = _arg1;
this.callback = _arg2;
}
public function serialize(_arg1):ByteArray{
var _local2:ByteArray = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function deserialize(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public function request(_arg1:String, _arg2:ByteArray):void{
var _operation = _arg1;
var _data = _arg2;
operation = _operation;
var api_url:String = MochiSocial.getAPIURL();
var api_token:String = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_loader = new URLLoader();
var args:URLVariables = new URLVariables();
args.op = _operation;
args.key = key;
var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, completeHandler);
_loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
try {
_loader.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
performCallback();
} else {
dispatchEvent(_arg1);
};
close();
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function performCallback():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
public function close():void{
if (_loader){
_loader.removeEventListener(Event.COMPLETE, completeHandler);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.close();
_loader = null;
};
error = null;
callback = null;
}
public function getEvent():void{
request("get", serialize(null));
}
public function putEvent(_arg1):void{
request("put", serialize(_arg1));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData = new MochiUserData(_arg1, _arg2);
_local3.getEvent();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData = new MochiUserData(_arg1, _arg3);
_local4.putEvent(_arg2);
}
}
}//package mochi.as3
Section 20
//ProgBar (net.creativedynamix.progbar.ProgBar)
package net.creativedynamix.progbar {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.text.*;
public class ProgBar extends MovieClip {
protected var _stage:Stage;
protected var _pbInitialX:Number;// = -1
protected var _pbInitialY:Number;// = -1
protected var _pbWidth:Number;// = 200
protected var _pbHeight:Number;// = 10
protected var _pbBorder:Number;// = 6
protected var _pbRound:Number;// = 2
protected var _pbMaxValue:Number;// = 300
protected var _pbShowTextField:Boolean;// = false
protected var _pbTextFieldColor:Number;// = 0
protected var _pbColor:Number;// = 14015635
protected var _pbBorderColor:Number;// = 6513247
protected var _pbBorderShadow:uint;// = 0
protected var _pb:Sprite;
protected var _pbTextField:TextField;
public function ProgBar(_arg1:Object=null):void{
var _pbObj = _arg1;
_pb = new Sprite();
super();
try {
_pb = new Sprite();
if (_pbObj != null){
if (((!((_pbObj.width == null))) && (!((_pbObj.width == undefined))))){
_pbWidth = _pbObj.width;
};
if (((!((_pbObj.height == null))) && (!((_pbObj.height == undefined))))){
_pbHeight = _pbObj.height;
};
if (((!((_pbObj.x == null))) && (!((_pbObj.x == undefined))))){
_pbInitialX = _pbObj.x;
};
if (((!((_pbObj.y == null))) && (!((_pbObj.y == undefined))))){
_pbInitialY = _pbObj.y;
};
if (((!((_pbObj.borderWidth == null))) && (!((_pbObj.borderWidth == undefined))))){
_pbBorder = _pbObj.borderWidth;
};
if (((!((_pbObj.color == null))) && (!((_pbObj.color == undefined))))){
_pbColor = _pbObj.color;
};
if (((!((_pbObj.borderColor == null))) && (!((_pbObj.borderColor == undefined))))){
_pbBorderColor = _pbObj.borderColor;
};
if (((!((_pbObj.maxValue == null))) && (!((_pbObj.maxValue == undefined))))){
_pbMaxValue = _pbObj.maxValue;
};
if (((!((_pbObj.round == null))) && (!((_pbObj.round == undefined))))){
_pbRound = _pbObj.round;
};
if (((!((_pbObj.borderShadow == null))) && (!((_pbObj.borderShadow == undefined))))){
_pbBorderShadow = _pbObj.borderShadow;
};
if (((!((_pbObj.showTextField == null))) && (!((_pbObj.showTextField == undefined))))){
_pbShowTextField = _pbObj.showTextField;
};
if (((!((_pbObj.textColor == null))) && (!((_pbObj.textColor == undefined))))){
_pbTextFieldColor = _pbObj.textColor;
};
if (((!((_pbObj.stage == null))) && (!((_pbObj.stage == undefined))))){
_stage = _pbObj.stage;
};
};
drawBorder();
drawProgressBar();
if (_pbShowTextField){
drawTextField();
};
} catch(_err:Error) {
trace(("ERROR ON ProgBar Constructor: " + _err.toString()));
} finally {
addEventListener(Event.ADDED, create);
};
}
private function create(_arg1:Event):void{
var event = _arg1;
try {
if (_stage == null){
_stage = this.stage;
};
if (_pbInitialX == -1){
this.x = ((_stage.stageWidth * 0.5) - (_pbWidth * 0.5));
} else {
this.x = _pbInitialX;
};
if (_pbInitialY == -1){
this.y = ((_stage.stageHeight * 0.5) - (this.height * 0.5));
} else {
this.y = _pbInitialY;
};
} catch(_err:Error) {
trace(("ERROR ON ProgBar.create(): " + _err.toString()));
};
}
private function drawBorder():void{
var _Background:Sprite;
var myFilter:BitmapFilter;
var filterArray:Array;
try {
_Background = new Sprite();
_Background.x = 0;
_Background.y = 0;
_Background.graphics.beginFill(_pbBorderColor, 1);
_Background.graphics.lineStyle(1, _pbBorderColor, 1);
_Background.graphics.drawRect(0, 0, (_pbWidth + (_pbBorder * 2)), (_pbHeight + (_pbBorder * 2)));
_Background.graphics.endFill();
myFilter = InnerGlowFilter(_pbBorderShadow);
filterArray = new Array(myFilter);
_Background.filters = filterArray;
addChild(_Background).name = "progress_background";
} catch(_err:Error) {
trace(("ERROR ON ProgBar.drawBorder(): " + _err.toString()));
};
}
private function drawProgressBar():void{
var _pbBack:Sprite;
try {
_pbBack = new Sprite();
_pbBack.x = _pbBorder;
_pbBack.y = _pbBorder;
_pbBack.graphics.beginFill(0, 0.25);
_pbBack.graphics.lineStyle(1, 0, 0.5);
_pbBack.graphics.drawRect(0, 0, _pbWidth, _pbHeight);
_pbBack.graphics.endFill();
addChild(_pbBack).name = "progress_bar_back";
_pb.x = _pbBorder;
_pb.y = _pbBorder;
_pb.graphics.beginFill(_pbColor, 1);
_pb.graphics.lineStyle(1, _pbColor, 1);
_pb.graphics.drawRect(0, 0, _pbWidth, _pbHeight);
_pb.graphics.endFill();
addChild(_pb).name = "progress_bar";
} catch(_err:Error) {
trace(("ERROR ON ProgBar.drawProgressBar(): " + _err.toString()));
};
}
private function drawTextField():void{
var textFormat:TextFormat;
var pbTextField:TextField;
try {
textFormat = new TextFormat();
textFormat.font = "Arial";
textFormat.color = _pbTextFieldColor;
textFormat.size = ((_pbHeight * 0.5) + 3);
textFormat.bold = true;
textFormat.align = TextFormatAlign.CENTER;
pbTextField = new TextField();
pbTextField.text = "0%";
pbTextField.x = _pb.x;
pbTextField.y = (_pb.y - 2);
pbTextField.width = _pb.width;
pbTextField.height = (_pb.height + 3);
pbTextField.wordWrap = true;
pbTextField.multiline = false;
pbTextField.selectable = false;
pbTextField.condenseWhite = true;
pbTextField.defaultTextFormat = textFormat;
pbTextField.antiAliasType = "advanced";
addChild(pbTextField).name = "progress_text";
_pbTextField = TextField(this.getChildByName("progress_text"));
} catch(_err:Error) {
trace(("ERROR ON ProgBar.drawTextField(): " + _err.toString()));
};
}
private function InnerGlowFilter(_arg1:uint):BitmapFilter{
var _local2:uint = _arg1;
var _local3:Number = 0.5;
var _local4:Number = 4;
var _local5:Number = 4;
var _local6:Number = 1;
var _local7:Boolean;
var _local8:Boolean;
var _local9:Number = BitmapFilterQuality.HIGH;
return (new GlowFilter(_local2, _local3, _local4, _local5, _local6, _local9, _local7, _local8));
}
public function updatePercent(_arg1:Number):void{
var _percent = _arg1;
try {
if (_pb){
if (_percent < 100){
_pb.width = ((_percent * _pbWidth) / 100);
if (_pbShowTextField){
_pbTextField.text = (Math.floor(_percent) + "%");
};
} else {
_pb.width = _pbWidth;
if (_pbShowTextField){
_pbTextField.text = "";
};
};
} else {
trace("Progress Bar hasn't been created yet...");
};
} catch(_err:Error) {
trace(("ERROR ON ProgBar.updatePercent(): " + _err.toString()));
};
}
public function updateValue(_arg1:Number):void{
var myValue:*;
var _value = _arg1;
try {
if (_pb){
myValue = ((_pbWidth * _value) / _pbMaxValue);
if (_value <= _pbMaxValue){
_pb.width = myValue;
if (_pbShowTextField){
_pbTextField.text = (_value + "%");
};
} else {
_pb.width = _pbWidth;
if (_pbShowTextField){
_pbTextField.text = "100%";
};
};
} else {
trace("Progress Bar hasn't been created yet...");
};
} catch(_err:Error) {
trace(("ERROR ON ProgBar.updateValue(): " + _err.toString()));
};
}
public function remove():void{
try {
if (_pbShowTextField){
_pbTextField.text = "";
};
this.parent.removeChild(this);
} catch(_err:Error) {
trace(("ERROR ON ProgBar.remove(): " + _err.toString()));
};
}
}
}//package net.creativedynamix.progbar
Section 21
//ADSwitch_47 (Pilot_fla.ADSwitch_47)
package Pilot_fla {
import flash.display.*;
public dynamic class ADSwitch_47 extends MovieClip {
public var timer:uint;
public function ADSwitch_47(){
addFrameScript(0, frame1);
}
public function Update(){
timer++;
if (timer < 300){
x = 320;
} else {
x = -1000;
};
}
public function displaySelf(){
timer = 0;
}
function frame1(){
timer = 500;
}
}
}//package Pilot_fla
Section 22
//AllMissiles_32 (Pilot_fla.AllMissiles_32)
package Pilot_fla {
import flash.display.*;
public dynamic class AllMissiles_32 extends MovieClip {
public function AllMissiles_32(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 23
//BoostBar_40 (Pilot_fla.BoostBar_40)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class BoostBar_40 extends MovieClip {
public var bar:MovieClip;
public var _root:MovieClip;
public function BoostBar_40(){
addFrameScript(0, frame1);
}
public function Update(){
bar.height = ((_root.boostReadyPercent * 48) / 100);
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 24
//BoxBackground_28 (Pilot_fla.BoxBackground_28)
package Pilot_fla {
import flash.display.*;
public dynamic class BoxBackground_28 extends MovieClip {
public function BoxBackground_28(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 25
//BoxInRadar_38 (Pilot_fla.BoxInRadar_38)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class BoxInRadar_38 extends MovieClip {
public var _root:MovieClip;
public function BoxInRadar_38(){
addFrameScript(0, frame1);
}
public function Update(){
x = (_root.hero.x / 20);
y = (_root.hero.y / 20);
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 26
//dirt_MC_1 (Pilot_fla.dirt_MC_1)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class dirt_MC_1 extends MovieClip {
public var _root:MovieClip;
public function dirt_MC_1(){
addFrameScript(0, frame1);
}
public function Update(){
x = (-95 + (_root.hero.x * -1));
y = (-79 + (_root.hero.y * -1));
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 27
//Enemy2_Inside_61 (Pilot_fla.Enemy2_Inside_61)
package Pilot_fla {
import flash.display.*;
public dynamic class Enemy2_Inside_61 extends MovieClip {
public var prop1:MovieClip;
public var prop2:MovieClip;
public var prop3:MovieClip;
public var prop4:MovieClip;
public function Enemy2_Inside_61(){
addFrameScript(0, frame1);
}
public function Update(){
prop1.rotation = (prop1.rotation + 20);
prop2.rotation = (prop2.rotation + 20);
prop3.rotation = (prop3.rotation + 20);
prop4.rotation = (prop4.rotation + 20);
}
function frame1(){
}
}
}//package Pilot_fla
Section 28
//EtoUpgrade_34 (Pilot_fla.EtoUpgrade_34)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class EtoUpgrade_34 extends MovieClip {
public var pulser:MovieClip;
public function EtoUpgrade_34(){
addFrameScript(0, frame1);
}
public function mousePress(_arg1:MouseEvent){
if (MovieClip(root).gamePaused){
MovieClip(root).unpauseGame();
} else {
MovieClip(root).pauseGame();
};
}
public function Update(){
if (MovieClip(root).money > 200){
pulser.play();
} else {
pulser.gotoAndStop(1);
};
}
function frame1(){
pulser.stop();
addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
}
}
}//package Pilot_fla
Section 29
//etoUpgradeMemo_46 (Pilot_fla.etoUpgradeMemo_46)
package Pilot_fla {
import flash.display.*;
public dynamic class etoUpgradeMemo_46 extends MovieClip {
public var timer:uint;
public function etoUpgradeMemo_46(){
addFrameScript(0, frame1);
}
public function Update(){
timer++;
if (timer < 200){
x = 320;
} else {
x = -1000;
};
}
public function displaySelf(){
timer = 0;
}
function frame1(){
timer = 500;
}
}
}//package Pilot_fla
Section 30
//gotoMenu_64 (Pilot_fla.gotoMenu_64)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class gotoMenu_64 extends MovieClip {
public function gotoMenu_64(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:MouseEvent){
if (!MovieClip(root).muteSound){
MovieClip(root).whipSound.play(0, 1);
};
MovieClip(root).gotoAndStop("menu");
}
function frame1(){
Utils.addRollOver(this, "lightTint", 0.5);
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
}
}
}//package Pilot_fla
Section 31
//HealthBar_42 (Pilot_fla.HealthBar_42)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class HealthBar_42 extends MovieClip {
public var bar:MovieClip;
public var _root:MovieClip;
public function HealthBar_42(){
addFrameScript(0, frame1);
}
public function Update(){
bar.height = ((_root.hero.health * 48) / _root.hero.totalHealth);
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 32
//HealthBar_76 (Pilot_fla.HealthBar_76)
package Pilot_fla {
import flash.display.*;
public dynamic class HealthBar_76 extends MovieClip {
public var bar:MovieClip;
public function HealthBar_76(){
addFrameScript(0, frame1);
}
public function Update(_arg1:Number, _arg2:Number, _arg3:Number){
bar.width = ((_arg1 / _arg2) * 20);
rotation = (-1 * _arg3);
}
function frame1(){
}
}
}//package Pilot_fla
Section 33
//HealthLow_18 (Pilot_fla.HealthLow_18)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class HealthLow_18 extends MovieClip {
public function HealthLow_18(){
addFrameScript(0, frame1);
}
public function Update(){
if (MovieClip(root).hero.health < 30){
x = 320;
} else {
x = -1000;
};
}
function frame1(){
}
}
}//package Pilot_fla
Section 34
//Hero_21 (Pilot_fla.Hero_21)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Hero_21 extends MovieClip {
public var _root:MovieClip;
public var health:Number;
public var totalHealth:Number;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var speed:Number;
public var speedMultiplier:Number;
public var cannonPower:Number;
public var cannonRandomization:Number;
public var cannonRateOfFire:Number;
public var cannonDamage:Number;
public var missile1Damage:Number;
public var missile1RotateThresh:Number;
public var missile1Speed:Number;
public var missile1RateOfFire:Number;
public var spawnMissile1OnLeft:Boolean;
public var missile2Damage:Number;
public var missile2Radius:Number;
public var missile2RateOfFire:Number;
public var missile2Speed:Number;
public var missile3Damage:Number;
public var missile3SplitTimes:Number;
public var missile3RateOfFire:Number;
public var missile3TimeToSplit:Number;
public var missile3Speed:Number;
public var missile4Damage:Number;
public var missile4Quantity:Number;
public var missile4RateOfFire:Number;
public var missile4Speed:Number;
public var missile5Damage:Number;
public var missile5Width:Number;
public var missile5RateOfFire:Number;
public var missile6Damage:Number;
public var missile6Speed:Number;
public var missile6RateOfFire:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var boostTimer:Number;
public var correctX:Number;
public var correctY:Number;
public function Hero_21(){
addFrameScript(0, frame1);
}
public function Update(){
if (_root.mouseX < 0){
correctX = 0;
};
if ((((_root.mouseX > 0)) && ((_root.mouseX < 640)))){
correctX = _root.mouseX;
};
if (_root.mouseX > 640){
correctX = 640;
};
if (_root.mouseY < 0){
correctY = 0;
};
if ((((_root.mouseY > 0)) && ((_root.mouseY < 640)))){
correctY = _root.mouseY;
};
if (_root.mouseY > 640){
correctY = 640;
};
correctRotation = _root.Kyle.rotationTowardsPoint(this, correctX, correctY);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
rotation = (rotation + (rotateAmount / 10));
yspeed = (yspeed + _root.Kyle.getVectorComponent(rotation, speed, "y"));
xspeed = (xspeed + _root.Kyle.getVectorComponent(rotation, speed, "x"));
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + (xspeed * speedMultiplier));
y = (y + (yspeed * speedMultiplier));
}
public function shootCannon(){
var _local1:* = new Bullet();
_root.addChild(_local1);
_root.myBullets.addItems(_local1);
_local1.damage = cannonDamage;
_local1.x = x;
_local1.y = y;
_local1.xspeed = ((cannonPower * Math.sin((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.yspeed = (((-1 * cannonPower) * Math.cos((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.rotation = rotation;
if (!MovieClip(root).muteSound){
MovieClip(root).machineGunSound.play(0, 1);
};
}
public function shootMissile1(){
var _local1:* = new Missile1();
_root.addChild(_local1);
_root.myMissiles.addItems(_local1);
_local1.damage = missile1Damage;
_local1.rotateThresh = missile1RotateThresh;
_local1.speed = missile1Speed;
_local1.x = x;
_local1.y = y;
_local1.inside.gotoAndStop(MovieClip(root).ug3Level);
if (spawnMissile1OnLeft){
_local1.xspeed = (_root.Kyle.getVectorComponent((rotation - 90), (speed * 6), "x") + (xspeed * 4));
_local1.yspeed = (_root.Kyle.getVectorComponent((rotation - 90), (speed * 6), "y") + (yspeed * 4));
} else {
_local1.xspeed = (_root.Kyle.getVectorComponent((rotation + 90), (speed * 6), "x") + (xspeed * 4));
_local1.yspeed = (_root.Kyle.getVectorComponent((rotation + 90), (speed * 6), "y") + (yspeed * 4));
};
_local1.rotation = rotation;
spawnMissile1OnLeft = !(spawnMissile1OnLeft);
if (!MovieClip(root).muteSound){
MovieClip(root).missileSound.play(0, 1);
};
}
public function shootMissile2(){
var _local1:* = new Missile2();
_root.addChild(_local1);
_root.myMissiles.addItems(_local1);
_local1.damage = missile2Damage;
_local1.radius = missile2Radius;
_local1.x = x;
_local1.y = y;
_local1.inside.gotoAndStop(MovieClip(root).ug4Level);
_local1.xspeed = _root.Kyle.getVectorComponent(rotation, missile2Speed, "x");
_local1.yspeed = _root.Kyle.getVectorComponent(rotation, missile2Speed, "y");
_local1.rotation = rotation;
if (!MovieClip(root).muteSound){
MovieClip(root).missileSound.play(0, 1);
};
}
public function shootMissile3(){
var _local1:* = new Missile3();
_root.addChild(_local1);
_root.myMissiles.addItems(_local1);
_local1.x = x;
_local1.y = y;
_local1.oldX = MovieClip(root).dirt.x;
_local1.oldY = MovieClip(root).dirt.y;
_local1.damage = missile3Damage;
_local1.splitTimes = missile3SplitTimes;
_local1.timeToSplit = missile3TimeToSplit;
_local1.inside.gotoAndStop(MovieClip(root).ug5Level);
_local1.friction = 1;
_local1.leaf = 1;
_local1.xspeed = _root.Kyle.getVectorComponent(rotation, missile3Speed, "x");
_local1.yspeed = _root.Kyle.getVectorComponent(rotation, missile3Speed, "y");
_local1.rotation = rotation;
if (!MovieClip(root).muteSound){
MovieClip(root).missileSound.play(0, 1);
};
}
public function shootMissile4(){
var _local2:*;
var _local1:Number = 0;
while (_local1 < missile4Quantity) {
_local2 = new Missile4();
_root.addChild(_local2);
_root.myMissiles.addItems(_local2);
_local2.damage = missile4Damage;
_local2.x = x;
_local2.y = y;
_local2.oldX = MovieClip(root).dirt.x;
_local2.oldY = MovieClip(root).dirt.y;
_local2.inside.gotoAndStop(MovieClip(root).ug6Level);
_local2.friction = 1;
_local2.xspeed = _root.Kyle.getVectorComponent((rotation + (_local1 * (360 / missile4Quantity))), missile4Speed, "x");
_local2.yspeed = _root.Kyle.getVectorComponent((rotation + (_local1 * (360 / missile4Quantity))), missile4Speed, "y");
_local2.rotation = (rotation + (_local1 * (360 / missile4Quantity)));
_local1++;
};
if (!MovieClip(root).muteSound){
MovieClip(root).missileSound.play(0, 1);
};
}
public function shootMissile5(){
var _local1:* = new Missile5();
_root.addChild(_local1);
_root.myMissiles.addItems(_local1);
_local1.damage = missile5Damage;
_local1.x = x;
_local1.y = y;
_local1.laser.width = (missile5Width / 10);
_local1.invis.width = missile5Width;
_local1.rotation = rotation;
_local1.oldX = MovieClip(root).dirt.x;
_local1.oldY = MovieClip(root).dirt.y;
if (!MovieClip(root).muteSound){
MovieClip(root).laserSound.play(0, 1);
};
}
public function shootMissile6(){
var _local1:Missile6;
var _local2:MovieClip;
for each (_local2 in MovieClip(root).myEnemies.itemList) {
if ((((((((_local2.x > 0)) && ((_local2.x < 640)))) && ((_local2.y > 0)))) && ((_local2.y < 480)))){
_local1 = new Missile6();
MovieClip(root).addChild(_local1);
MovieClip(root).myMissiles.addItems(_local1);
_local1.damage = missile6Damage;
_local1.x = x;
_local1.y = y;
_local1.inside.gotoAndStop(MovieClip(root).ug8Level);
_local1.rotation = rotation;
spawnMissile1OnLeft = !(spawnMissile1OnLeft);
};
};
}
function frame1(){
_root = MovieClip(root);
health = 100;
totalHealth = 100;
xspeed = 0;
yspeed = 0;
friction = 0.8;
speed = 0.4;
speedMultiplier = 1;
cannonPower = 10;
cannonRandomization = 1;
cannonRateOfFire = 3;
cannonDamage = 10;
spawnMissile1OnLeft = false;
missile2Speed = 12;
missile3Speed = 6;
missile5Damage = 10;
missile5Width = 40;
missile5RateOfFire = 40;
missile6Damage = 50;
missile6Speed = 50;
missile6RateOfFire = 20;
correctRotation = 0;
rotateAmount = 0;
boostTimer = 10000;
correctX = 0;
correctY = 0;
}
}
}//package Pilot_fla
Section 35
//Hero_Menu_8 (Pilot_fla.Hero_Menu_8)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Hero_Menu_8 extends MovieClip {
public var _root:MovieClip;
public var health:Number;
public var totalHealth:Number;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var speed:Number;
public var speedMultiplier:Number;
public var cannonPower:Number;
public var cannonRandomization:Number;
public var cannonRateOfFire:Number;
public var cannonDamage:Number;
public var missile1Damage:Number;
public var missile1RotateThresh:Number;
public var missile1Speed:Number;
public var missile1RateOfFire:Number;
public var spawnMissile1OnLeft:Boolean;
public var missile2Damage:Number;
public var missile2Radius:Number;
public var missile2RateOfFire:Number;
public var missile2Speed:Number;
public var missile3Damage:Number;
public var missile3SplitTimes:Number;
public var missile3RateOfFire:Number;
public var missile3TimeToSplit:Number;
public var missile3Speed:Number;
public var missile4Damage:Number;
public var missile4Quantity:Number;
public var missile4RateOfFire:Number;
public var missile4Speed:Number;
public var missile5Damage:Number;
public var missile5Width:Number;
public var missile5RateOfFire:Number;
public var missile6Damage:Number;
public var missile6Speed:Number;
public var missile6RateOfFire:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var boostTimer:Number;
public var correctX:Number;
public var correctY:Number;
public function Hero_Menu_8(){
addFrameScript(0, frame1);
}
public function Update(){
if (_root.mouseX < 0){
correctX = 0;
};
if ((((_root.mouseX > 0)) && ((_root.mouseX < 640)))){
correctX = _root.mouseX;
};
if (_root.mouseX > 640){
correctX = 640;
};
if (_root.mouseY < 0){
correctY = 0;
};
if ((((_root.mouseY > 0)) && ((_root.mouseY < 640)))){
correctY = _root.mouseY;
};
if (_root.mouseY > 640){
correctY = 640;
};
correctRotation = _root.Kyle.rotationTowardsPoint(this, correctX, correctY);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
rotation = (rotation + (rotateAmount / 10));
yspeed = (yspeed + _root.Kyle.getVectorComponent(rotation, speed, "y"));
xspeed = (xspeed + _root.Kyle.getVectorComponent(rotation, speed, "x"));
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + (xspeed * speedMultiplier));
y = (y + (yspeed * speedMultiplier));
}
public function shootCannon(){
var _local1:* = new Bullet();
_root.addChild(_local1);
_root.myBullets.addItems(_local1);
_local1.damage = cannonDamage;
_local1.x = x;
_local1.y = y;
_local1.xspeed = ((cannonPower * Math.sin((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.yspeed = (((-1 * cannonPower) * Math.cos((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.x = (_local1.x + (_local1.xspeed * 2));
_local1.y = (_local1.y + (_local1.yspeed * 2));
_local1.rotation = rotation;
if (!MovieClip(root).muteSound){
MovieClip(root).machineGunSound.play(0, 1);
};
}
public function shootMissile1(){
var _local1:* = new MenuRocket();
_root.addChild(_local1);
_root.myMissiles.addItems(_local1);
_local1.damage = missile1Damage;
_local1.rotateThresh = missile1RotateThresh;
_local1.speed = missile1Speed;
_local1.x = x;
_local1.y = y;
_local1.inside.gotoAndStop(MovieClip(root).ug3Level);
if (spawnMissile1OnLeft){
_local1.xspeed = (_root.Kyle.getVectorComponent((rotation - 90), (speed * 6), "x") + (xspeed * 4));
_local1.yspeed = (_root.Kyle.getVectorComponent((rotation - 90), (speed * 6), "y") + (yspeed * 4));
} else {
_local1.xspeed = (_root.Kyle.getVectorComponent((rotation + 90), (speed * 6), "x") + (xspeed * 4));
_local1.yspeed = (_root.Kyle.getVectorComponent((rotation + 90), (speed * 6), "y") + (yspeed * 4));
};
_local1.rotation = rotation;
spawnMissile1OnLeft = !(spawnMissile1OnLeft);
if (!MovieClip(root).muteSound){
MovieClip(root).missileSound.play(0, 1);
};
}
function frame1(){
_root = MovieClip(root);
health = 100;
totalHealth = 100;
xspeed = 0;
yspeed = 0;
friction = 0.8;
speed = 0.4;
speedMultiplier = 1;
cannonPower = 10;
cannonRandomization = 1;
cannonRateOfFire = 3;
cannonDamage = 10;
missile1Damage = 10;
missile1RotateThresh = 10;
missile1Speed = 1;
missile1RateOfFire = 20;
spawnMissile1OnLeft = false;
missile2Speed = 12;
missile3Speed = 6;
missile5Damage = 10;
missile5Width = 40;
missile5RateOfFire = 40;
missile6Damage = 50;
missile6Speed = 50;
missile6RateOfFire = 20;
correctRotation = 0;
rotateAmount = 0;
boostTimer = 10000;
correctX = 0;
correctY = 0;
}
}
}//package Pilot_fla
Section 36
//HforHelp_45 (Pilot_fla.HforHelp_45)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class HforHelp_45 extends MovieClip {
public var timer:uint;
public function HforHelp_45(){
addFrameScript(0, frame1);
}
public function Update(){
timer++;
if (timer < 200){
x = 320;
} else {
x = -1000;
};
}
public function displaySelf(){
if (!MovieClip(root).muteSound){
if (timer > 2){
MovieClip(root).clickSound.play(0, 1);
};
};
timer = 0;
}
function frame1(){
timer = 100;
}
}
}//package Pilot_fla
Section 37
//levelIndicator_29 (Pilot_fla.levelIndicator_29)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class levelIndicator_29 extends MovieClip {
public function levelIndicator_29(){
addFrameScript(0, frame1);
}
public function Update(){
gotoAndStop((MovieClip(root)[(("ug" + (MovieClip(parent).weaponNum + 2)) + "Level")] + 1));
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 38
//LevelSlider_3 (Pilot_fla.LevelSlider_3)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class LevelSlider_3 extends MovieClip {
public var inside:MovieClip;
public function LevelSlider_3(){
addFrameScript(0, frame1);
}
public function doThing(_arg1:uint){
inside.text_txt.text = ("Level " + _arg1);
play();
}
function frame1(){
stop();
Utils.makeHighestDepth(this);
}
}
}//package Pilot_fla
Section 39
//lockOnBox_23 (Pilot_fla.lockOnBox_23)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class lockOnBox_23 extends MovieClip {
public var _root:MovieClip;
public var enemyToLockOn:MovieClip;
public var correctRotation:Number;
public var rotateAmount:Number;
public function lockOnBox_23(){
addFrameScript(0, frame1);
}
public function Update(){
if (enemyToLockOn != null){
x = (x - ((x - enemyToLockOn.x) / 1));
y = (y - ((y - enemyToLockOn.y) / 1));
correctRotation = _root.Kyle.rotationTowardsObject(_root.hero, _root.targetBox.enemyToLockOn);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - _root.hero.rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
if (Math.abs(rotateAmount) > 45){
x = -1000;
};
} else {
x = -1000;
};
}
public function findNewEnemy(_arg1:MovieClip){
enemyToLockOn = _arg1.enemyToLockOn;
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 40
//MainTimeline (Pilot_fla.MainTimeline)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import mochi.as3.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import PreLoader.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var lockOnBox:MovieClip;
public var dirt:MovieClip;
public var tutorial:MovieClip;
public var soundBtn:MovieClip;
public var score_txt:TextField;
public var hForHelp:MovieClip;
public var wave_txt:TextField;
public var ADSwitch:MovieClip;
public var hero:MovieClip;
public var mucisBtn:MovieClip;
public var eMemo:MovieClip;
public var targetPointer:MovieClip;
public var outOfAmmo:MovieClip;
public var lost_txt:TextField;
public var playMC:MovieClip;
public var upgradeMenu:MovieClip;
public var targetBox:MovieClip;
public var healthLow:MovieClip;
public var tut:MovieClip;
public var sidebar:MovieClip;
public var slider:MovieClip;
public var _root:MovieClip;
public var Kyle:KyleClass;
public var Key;
public var preLoad:PreLoader;
public var muteMusic:Boolean;
public var muteSound:Boolean;
public var moneyTutShown:Boolean;
public var weaponChangeTutShown:Boolean;
public var myEnemies:Collection;
public var myEnemy:MovieClip;
public var myExhausts:Collection;
public var myExhaust:Exhaust;
public var myPowerUps:Collection;
public var myPowerUp:PowerUp;
public var myCoinlets:Collection;
public var myCoinlet:Coinlet;
public var myBullets:Collection;
public var myBullet:Bullet;
public var myMissiles:Collection;
public var myMissile:MovieClip;
public var myEnemyBullets:Collection;
public var myEnemyBullet:EnemyBullet;
public var bin:Collection;
public var myBinItem:MovieClip;
public var rofC:Number;
public var rofM1:Number;
public var rofM2:Number;
public var rofM3:Number;
public var rofM4:Number;
public var rofM5:Number;
public var rofM6:Number;
public var waveNum:Number;
public var weaponSelected:Number;
public var exhaustTimer:Number;
public var boostReadyPercent:Number;
public var money:uint;
public var score:uint;
public var gamePaused:Boolean;
public var wonGame:Boolean;
public var tutorialShown:Boolean;
public var loopChannel:SoundChannel;
public var loopSound:Sound;
public var whipSound:Sound;
public var missileSound:Sound;
public var laserSound:Sound;
public var clickSound:Sound;
public var puSound:Sound;
public var explosionSound:Sound;
public var smallExplosionSound:Sound;
public var machineGunSound:Sound;
public var cashRegisterSound:Sound;
public var mouseIsDown:Boolean;
public var mouseActionDone:Boolean;
public var spaceIsDown:Boolean;
public var spaceActionDone:Boolean;
public var WisDown:Boolean;
public var WactionDone:Boolean;
public var AisDown:Boolean;
public var AactionDone:Boolean;
public var SisDown:Boolean;
public var SactionDone:Boolean;
public var DisDown:Boolean;
public var DactionDone:Boolean;
public var EisDown:Boolean;
public var EactionDone:Boolean;
public var HisDown:Boolean;
public var HactionDone:Boolean;
public var ug1Name:String;
public var ug2Name:String;
public var ug3Name:String;
public var ug4Name:String;
public var ug5Name:String;
public var ug6Name:String;
public var ug7Name:String;
public var ug8Name:String;
public var ug1Level:Number;
public var ug2Level:Number;
public var ug3Level:Number;
public var ug4Level:Number;
public var ug5Level:Number;
public var ug6Level:Number;
public var ug7Level:Number;
public var ug8Level:Number;
public var ug1UpgradeCost:Number;
public var ug2UpgradeCost:Number;
public var ug3UpgradeCost:Number;
public var ug4UpgradeCost:Number;
public var ug5UpgradeCost:Number;
public var ug6UpgradeCost:Number;
public var ug7UpgradeCost:Number;
public var ug8UpgradeCost:Number;
public var mg1Name:String;
public var mg2Name:String;
public var mg3Name:String;
public var mg4Name:String;
public var mg5Name:String;
public var mg6Name:String;
public var mg7Name:String;
public var mg8Name:String;
public var mg1UpgradeCost:uint;
public var mg2UpgradeCost:uint;
public var mg3UpgradeCost:uint;
public var mg4UpgradeCost:uint;
public var mg5UpgradeCost:uint;
public var mg6UpgradeCost:uint;
public var mg7UpgradeCost:uint;
public var mg8UpgradeCost:uint;
public var ammo1:uint;
public var ammo2:uint;
public var ammo3:uint;
public var ammo4:uint;
public var ammo5:uint;
public var ammo6:uint;
public var rofCM:uint;
public var rofMR:uint;
public var waiting:Boolean;
public var tutStage:uint;
public var o:Object;
public var boardID:String;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10);
}
public function playGame(){
gotoAndPlay(2);
}
public function MouseDown(_arg1:MouseEvent){
mouseIsDown = true;
mouseActionDone = false;
}
public function MouseUp(_arg1:MouseEvent){
mouseIsDown = false;
}
public function KeysDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 32){
if (!spaceIsDown){
spaceActionDone = false;
spaceIsDown = true;
};
};
if ((((_arg1.keyCode == 87)) || ((_arg1.keyCode == 119)))){
if (!WisDown){
WactionDone = false;
WisDown = true;
};
};
if ((((_arg1.keyCode == 65)) || ((_arg1.keyCode == 97)))){
if (!AisDown){
AactionDone = false;
AisDown = true;
};
};
if ((((_arg1.keyCode == 83)) || ((_arg1.keyCode == 115)))){
if (!SisDown){
SactionDone = false;
SisDown = true;
};
};
if ((((_arg1.keyCode == 68)) || ((_arg1.keyCode == 100)))){
if (!DisDown){
DactionDone = false;
DisDown = true;
};
};
if ((((_arg1.keyCode == 69)) || ((_arg1.keyCode == 101)))){
if (!EisDown){
EactionDone = false;
EisDown = true;
};
};
if ((((_arg1.keyCode == 72)) || ((_arg1.keyCode == 104)))){
if (!HisDown){
HactionDone = false;
HisDown = true;
};
};
}
public function KeysUp(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 32){
spaceIsDown = false;
};
if ((((_arg1.keyCode == 87)) || ((_arg1.keyCode == 119)))){
WisDown = false;
};
if ((((_arg1.keyCode == 65)) || ((_arg1.keyCode == 97)))){
AisDown = false;
};
if ((((_arg1.keyCode == 83)) || ((_arg1.keyCode == 115)))){
SisDown = false;
};
if ((((_arg1.keyCode == 68)) || ((_arg1.keyCode == 100)))){
DisDown = false;
};
if ((((_arg1.keyCode == 69)) || ((_arg1.keyCode == 101)))){
EisDown = false;
};
if ((((_arg1.keyCode == 72)) || ((_arg1.keyCode == 104)))){
HisDown = false;
};
}
public function updateVariables(){
hero.totalHealth = (100 * ug1Level);
hero.cannonRateOfFire = (5 - ug2Level);
if (ug3Level == 1){
hero.missile1Damage = 20;
hero.missile1RotateThresh = 45;
hero.missile1Speed = 0.7;
hero.missile1RateOfFire = 40;
};
if (ug3Level == 2){
hero.missile1Damage = 50;
hero.missile1RotateThresh = 60;
hero.missile1Speed = 0.8;
hero.missile1RateOfFire = 20;
};
if (ug3Level == 3){
hero.missile1Damage = 100;
hero.missile1RotateThresh = 90;
hero.missile1Speed = 1;
hero.missile1RateOfFire = 10;
};
if (ug4Level == 1){
hero.missile2Damage = 50;
hero.missile2Radius = 30;
hero.missile2RateOfFire = 40;
};
if (ug4Level == 2){
hero.missile2Damage = 100;
hero.missile2Radius = 40;
hero.missile2RateOfFire = 30;
};
if (ug4Level == 3){
hero.missile2Damage = 150;
hero.missile2Radius = 70;
hero.missile2RateOfFire = 20;
};
if (ug5Level == 1){
hero.missile3Damage = 20;
hero.missile3SplitTimes = 2;
hero.missile3RateOfFire = 40;
hero.missile3TimeToSplit = 7;
};
if (ug5Level == 2){
hero.missile3Damage = 40;
hero.missile3SplitTimes = 3;
hero.missile3RateOfFire = 30;
hero.missile3TimeToSplit = 5;
};
if (ug5Level == 3){
hero.missile3Damage = 60;
hero.missile3SplitTimes = 4;
hero.missile3RateOfFire = 20;
hero.missile3TimeToSplit = 4;
};
if (ug6Level == 1){
hero.missile4Damage = 50;
hero.missile4Quantity = 4;
hero.missile4RateOfFire = 40;
hero.missile4Speed = 6;
};
if (ug6Level == 2){
hero.missile4Damage = 100;
hero.missile4Quantity = 8;
hero.missile4RateOfFire = 30;
hero.missile4Speed = 8;
};
if (ug6Level == 3){
hero.missile4Damage = 150;
hero.missile4Quantity = 16;
hero.missile4RateOfFire = 20;
hero.missile4Speed = 10;
};
if (ug7Level == 1){
hero.missile5Damage = 3;
hero.missile5Width = 20;
hero.missile5RateOfFire = 40;
};
if (ug7Level == 2){
hero.missile5Damage = 6;
hero.missile5Width = 40;
hero.missile5RateOfFire = 30;
};
if (ug7Level == 3){
hero.missile5Damage = 9;
hero.missile5Width = 60;
hero.missile5RateOfFire = 20;
};
if (ug8Level == 1){
hero.missile6Damage = 20;
hero.missile6Speed = 0.7;
hero.missile6RateOfFire = 40;
};
if (ug8Level == 2){
hero.missile6Damage = 50;
hero.missile6Speed = 0.8;
hero.missile6RateOfFire = 30;
};
if (ug8Level == 3){
hero.missile6Damage = 100;
hero.missile6Speed = 1;
hero.missile6RateOfFire = 20;
};
}
public function updateCosts(){
if (ug1Level == 1){
ug1UpgradeCost = 500;
};
if (ug1Level == 2){
ug1UpgradeCost = 2000;
};
if (ug1Level == 3){
ug1UpgradeCost = NaN;
};
if (ug2Level == 1){
ug2UpgradeCost = 500;
};
if (ug2Level == 2){
ug2UpgradeCost = 2000;
};
if (ug2Level == 3){
ug2UpgradeCost = NaN;
};
if (ug3Level == 1){
ug3UpgradeCost = 300;
};
if (ug3Level == 2){
ug3UpgradeCost = 2000;
};
if (ug3Level == 3){
ug3UpgradeCost = NaN;
};
if (ug4Level == 0){
ug4UpgradeCost = 200;
};
if (ug4Level == 1){
ug4UpgradeCost = 750;
};
if (ug4Level == 2){
ug4UpgradeCost = 2000;
};
if (ug4Level == 3){
ug4UpgradeCost = NaN;
};
if (ug5Level == 0){
ug5UpgradeCost = 100;
};
if (ug5Level == 1){
ug5UpgradeCost = 300;
};
if (ug5Level == 2){
ug5UpgradeCost = 1000;
};
if (ug5Level == 3){
ug5UpgradeCost = NaN;
};
if (ug6Level == 0){
ug6UpgradeCost = 150;
};
if (ug6Level == 1){
ug6UpgradeCost = 400;
};
if (ug6Level == 2){
ug6UpgradeCost = 2000;
};
if (ug6Level == 3){
ug6UpgradeCost = NaN;
};
if (ug7Level == 0){
ug7UpgradeCost = 500;
};
if (ug7Level == 1){
ug7UpgradeCost = 1000;
};
if (ug7Level == 2){
ug7UpgradeCost = 4000;
};
if (ug7Level == 3){
ug7UpgradeCost = NaN;
};
if (ug8Level == 0){
ug8UpgradeCost = 200;
};
if (ug8Level == 1){
ug8UpgradeCost = 600;
};
if (ug8Level == 2){
ug8UpgradeCost = 3000;
};
if (ug8Level == 3){
ug8UpgradeCost = NaN;
};
}
public function onMenuFrame(_arg1:Event){
hero.Update();
dirt.Update();
for each (myBullet in myBullets.itemList) {
myBullet.Update();
if (myBullet.removeMe){
bin.addItems(myBullet);
removeChild(myBullet);
};
};
myBullets.removeItems(bin.itemList);
for each (myMissile in myMissiles.itemList) {
myMissile.Update();
if (myMissile.removeMe){
bin.addItems(myMissile);
removeChild(myMissile);
};
};
myMissiles.removeItems(bin.itemList);
rofCM++;
rofMR++;
if (mouseIsDown){
if (rofCM > hero.cannonRateOfFire){
hero.shootCannon();
rofCM = 0;
if (tutStage == 2){
if (waiting){
tut.play();
};
};
};
};
if (spaceIsDown){
if (rofMR > hero.missile1RateOfFire){
hero.shootMissile1();
rofMR = 0;
if (tutStage == 3){
if (waiting){
tut.play();
};
};
};
};
if (WisDown){
hero.speedMultiplier = 2;
if (tutStage == 4){
if (waiting){
tut.play();
};
};
} else {
hero.speedMultiplier = 1;
};
}
public function clearAllMenuItems(){
for each (myBullet in myBullets.itemList) {
bin.addItems(myBullet);
removeChild(myBullet);
};
myBullets.removeItems(bin.itemList);
for each (myMissile in myMissiles.itemList) {
bin.addItems(myMissile);
removeChild(myMissile);
};
myMissiles.removeItems(bin.itemList);
for each (myBinItem in bin.itemList) {
bin.removeItems(myBinItem);
};
}
public function initGame(){
myEnemies = new Collection();
myExhausts = new Collection();
myPowerUps = new Collection();
myCoinlets = new Collection();
myBullets = new Collection();
myMissiles = new Collection();
myEnemyBullets = new Collection();
bin = new Collection();
rofC = 100;
rofM1 = 100;
rofM2 = 100;
rofM3 = 100;
rofM4 = 100;
rofM5 = 100;
rofM6 = 100;
waveNum = 1;
weaponSelected = 1;
exhaustTimer = 0;
boostReadyPercent = 100;
money = 0;
gamePaused = true;
ug1Level = 1;
ug2Level = 1;
ug3Level = 1;
ug4Level = 0;
ug5Level = 0;
ug6Level = 0;
ug7Level = 0;
ug8Level = 0;
updateCosts();
ammo1 = 10;
ammo2 = 0;
ammo3 = 0;
ammo4 = 0;
ammo5 = 0;
ammo6 = 0;
score = 0;
wonGame = false;
}
public function onFrame(_arg1:Event){
var _local2:Boolean;
var _local3:Boolean;
var _local4:MovieClip;
if (!gamePaused){
hero.Update();
dirt.Update();
if (boostReadyPercent < 100){
boostReadyPercent = (boostReadyPercent + 0.5);
};
for each (myBullet in myBullets.itemList) {
myBullet.Update();
if (myBullet.removeMe){
bin.addItems(myBullet);
removeChild(myBullet);
};
};
myBullets.removeItems(bin.itemList);
for each (myEnemyBullet in myEnemyBullets.itemList) {
myEnemyBullet.Update();
if (myEnemyBullet.removeMe){
bin.addItems(myEnemyBullet);
removeChild(myEnemyBullet);
};
};
myEnemyBullets.removeItems(bin.itemList);
for each (myMissile in myMissiles.itemList) {
myMissile.Update();
if (myMissile.removeMe){
bin.addItems(myMissile);
removeChild(myMissile);
};
};
myMissiles.removeItems(bin.itemList);
_local2 = false;
for each (myEnemy in myEnemies.itemList) {
myEnemy.Update();
if (myEnemy.killed){
money = (money + myEnemy.startHealth);
score = (score + myEnemy.startHealth);
if (!MovieClip(root).muteSound){
MovieClip(root).explosionSound.play(0, 1);
};
spawnCoinlets(myEnemy.x, myEnemy.y);
if (Math.random() < 0.5){
spawnPU(myEnemy.x, myEnemy.y);
};
if (myEnemy == targetBox.enemyToLockOn){
_local2 = true;
};
bin.addItems(myEnemy);
removeChild(myEnemy);
};
};
myEnemies.removeItems(bin.itemList);
if (_local2){
targetBox.findNewEnemy(myEnemies);
lockOnBox.findNewEnemy(targetBox);
};
for each (myBullet in myBullets.itemList) {
_local3 = false;
for each (myEnemy in myEnemies.itemList) {
if (!_local3){
if (hitTestCircle(myBullet, 6, myEnemy, (14 * myEnemy.scaleX))){
bin.addItems(myBullet);
removeChild(myBullet);
_local3 = true;
myEnemy.health = (myEnemy.health - myBullet.damage);
if (!MovieClip(root).muteSound){
MovieClip(root).smallExplosionSound.play(0, 1);
};
};
};
};
};
myBullets.removeItems(bin.itemList);
for each (myMissile in myMissiles.itemList) {
_local3 = false;
for each (myEnemy in myEnemies.itemList) {
if (myMissile.constructor != Missile5){
if (!_local3){
if (hitTestCircle(myMissile, 6, myEnemy, 14)){
myMissile.hitEnemy();
};
};
};
};
};
myMissiles.removeItems(bin.itemList);
for each (myEnemyBullet in myEnemyBullets.itemList) {
if (hitTestCircle(myEnemyBullet, 6, hero, 14)){
bin.addItems(myEnemyBullet);
removeChild(myEnemyBullet);
hero.health = (hero.health - myEnemyBullet.damage);
};
};
myEnemyBullets.removeItems(bin.itemList);
for each (myPowerUp in myPowerUps.itemList) {
if (hitTestCircle(myPowerUp, 10, hero, 14)){
if (myPowerUp.experienced){
myPowerUp.hitHero();
};
};
};
myPowerUps.removeItems(bin.itemList);
};
processKeys();
if (!gamePaused){
exhaustTimer++;
if ((exhaustTimer % 2) == 0){
if (((((exhaustTimer % 6) == 2)) || (((exhaustTimer % 6) == 4)))){
spawnExhaust(hero);
} else {
for each (myMissile in myMissiles.itemList) {
if (((!((myMissile.constructor == Missile5))) && (!((myMissile.constructor == Missile6))))){
spawnExhaust(myMissile);
};
};
};
};
for each (myExhaust in myExhausts.itemList) {
myExhaust.Update();
};
myExhausts.removeItems(bin.itemList);
for each (myPowerUp in myPowerUps.itemList) {
myPowerUp.Update();
};
myPowerUps.removeItems(bin.itemList);
for each (myCoinlet in myCoinlets.itemList) {
myCoinlet.Update();
if (myCoinlet.removeMe){
bin.addItems(myCoinlet);
removeChild(myCoinlet);
};
};
myCoinlets.removeItems(bin.itemList);
targetBox.Update();
lockOnBox.Update();
targetPointer.Update();
sidebar.Update();
score_txt.text = (score + "");
outOfAmmo.Update();
hForHelp.Update();
eMemo.Update();
ADSwitch.Update();
healthLow.Update();
if ((((money > 200)) && (!(moneyTutShown)))){
moneyTutShown = true;
eMemo.displaySelf();
};
if ((((((((((((ug4Level > 0)) || ((ug5Level > 0)))) || ((ug6Level > 0)))) || ((ug7Level > 0)))) || ((ug8Level > 0)))) && (!(weaponChangeTutShown)))){
weaponChangeTutShown = true;
ADSwitch.displaySelf();
};
for each (_local4 in bin.itemList) {
bin.removeItems(_local4);
};
if (myEnemies.numItems() == 0){
waveNum++;
slider.doThing(waveNum);
populateLevel();
};
setCorrectDepths();
if (hero.health <= 0){
lostGame();
};
if (waveNum == 41){
wonGame = true;
lostGame();
};
};
}
public function processKeys(){
if (!gamePaused){
rofC++;
rofM1++;
rofM2++;
rofM3++;
rofM4++;
rofM5++;
rofM6++;
if (mouseIsDown){
if (rofC > hero.cannonRateOfFire){
hero.shootCannon();
rofC = 0;
};
};
if (weaponSelected == 1){
if (ug3Level > 0){
if (spaceIsDown){
if (rofM1 > hero.missile1RateOfFire){
if (ammo1 > 0){
hero.shootMissile1();
rofM1 = 0;
ammo1--;
} else {
outOfAmmo.displaySelf();
};
};
};
};
};
if (weaponSelected == 2){
if (ug4Level > 0){
if (spaceIsDown){
if (rofM2 > hero.missile2RateOfFire){
if (ammo2 > 0){
hero.shootMissile2();
rofM2 = 0;
ammo2--;
} else {
outOfAmmo.displaySelf();
};
};
};
};
};
if (weaponSelected == 3){
if (ug5Level > 0){
if (spaceIsDown){
if (rofM3 > hero.missile3RateOfFire){
if (ammo3 > 0){
hero.shootMissile3();
rofM3 = 0;
ammo3--;
} else {
outOfAmmo.displaySelf();
};
};
};
};
};
if (weaponSelected == 4){
if (ug6Level > 0){
if (spaceIsDown){
if (rofM4 > hero.missile4RateOfFire){
if (ammo4 > 0){
hero.shootMissile4();
rofM4 = 0;
ammo4--;
} else {
outOfAmmo.displaySelf();
};
};
};
};
};
if (weaponSelected == 5){
if (ug7Level > 0){
if (spaceIsDown){
if (rofM5 > hero.missile5RateOfFire){
if (ammo5 > 0){
hero.shootMissile5();
rofM5 = 0;
ammo5--;
} else {
outOfAmmo.displaySelf();
};
};
};
};
};
if (weaponSelected == 6){
if (ug8Level > 0){
if (spaceIsDown){
if (rofM6 > hero.missile6RateOfFire){
if (ammo6 > 0){
hero.shootMissile6();
rofM6 = 0;
ammo6--;
} else {
outOfAmmo.displaySelf();
};
};
};
};
};
if (WisDown){
if (boostReadyPercent > 0){
boostReadyPercent = (boostReadyPercent - 2);
hero.speedMultiplier = 2;
} else {
hero.speedMultiplier = 1;
};
} else {
hero.speedMultiplier = 1;
};
if (((AisDown) && (!(AactionDone)))){
AactionDone = true;
if (weaponSelected > 1){
weaponSelected--;
} else {
weaponSelected = 6;
};
while (MovieClip(root)[(("ug" + (weaponSelected + 2)) + "Level")] == 0) {
if (weaponSelected > 1){
weaponSelected--;
} else {
weaponSelected = 6;
};
};
};
if (((SisDown) && (!(SactionDone)))){
SactionDone = true;
_root.targetBox.findNewEnemy(myEnemies);
};
if (((DisDown) && (!(DactionDone)))){
DactionDone = true;
if (weaponSelected < 6){
weaponSelected++;
} else {
weaponSelected = 1;
};
while (MovieClip(root)[(("ug" + (weaponSelected + 2)) + "Level")] == 0) {
if (weaponSelected < 6){
weaponSelected++;
} else {
weaponSelected = 1;
};
};
};
if (((HisDown) && (!(HactionDone)))){
HactionDone = true;
tutorial.x = 0;
gamePaused = true;
};
};
if (((EisDown) && (!(EactionDone)))){
EactionDone = true;
if (gamePaused){
unpauseGame();
} else {
pauseGame();
};
};
}
public function readyToLeaveGame():void{
for each (myEnemy in myEnemies.itemList) {
bin.addItems(myEnemy);
removeChild(myEnemy);
};
myEnemies.removeItems(bin.itemList);
for each (myBullet in myBullets.itemList) {
bin.addItems(myBullet);
removeChild(myBullet);
};
myBullets.removeItems(bin.itemList);
for each (myMissile in myMissiles.itemList) {
bin.addItems(myMissile);
removeChild(myMissile);
};
myMissiles.removeItems(bin.itemList);
for each (myEnemyBullet in myEnemyBullets.itemList) {
bin.addItems(myEnemyBullet);
removeChild(myEnemyBullet);
};
myEnemyBullets.removeItems(bin.itemList);
for each (myExhaust in myExhausts.itemList) {
bin.addItems(myExhaust);
removeChild(myExhaust);
};
myExhausts.removeItems(bin.itemList);
for each (myPowerUp in myPowerUps.itemList) {
bin.addItems(myPowerUp);
removeChild(myPowerUp);
};
myPowerUps.removeItems(bin.itemList);
for each (myCoinlet in myCoinlets.itemList) {
bin.addItems(myCoinlet);
removeChild(myCoinlet);
};
myCoinlets.removeItems(bin.itemList);
for each (myBinItem in bin.itemList) {
bin.removeItems(myBinItem);
};
removeMC(hero);
removeMC(sidebar);
removeMC(targetBox);
removeMC(lockOnBox);
removeMC(targetPointer);
removeEventListener(Event.ENTER_FRAME, onFrame);
}
public function removeMC(_arg1:MovieClip):void{
if (_arg1.parent != null){
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
_arg1.parent.removeChild(_arg1);
};
}
public function goHighestDepth(_arg1:MovieClip):void{
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
}
public function setToSpawnLoc(_arg1:MovieClip):void{
var _local2:Number = Math.floor((Math.random() * 4));
_arg1.x = (((Math.random() * 0x0500) + dirt.x) + 95);
_arg1.y = (((Math.random() * 960) + dirt.y) + 79);
if (_local2 == 0){
_arg1.x = (dirt.x + 115);
};
if (_local2 == 1){
_arg1.x = (dirt.x + 1355);
};
if (_local2 == 2){
_arg1.y = (dirt.y + 99);
};
if (_local2 == 3){
_arg1.y = (dirt.y + 1019);
};
}
public function hitTestCircle(_arg1:MovieClip, _arg2:Number, _arg3:MovieClip, _arg4:Number):Boolean{
var _local5:Number = ((_arg2 / 2) + (_arg4 / 2));
var _local6:Number = Math.sqrt((((_arg1.x - _arg3.x) * (_arg1.x - _arg3.x)) + ((_arg1.y - _arg3.y) * (_arg1.y - _arg3.y))));
if (_local6 < _local5){
return (true);
};
return (false);
}
public function populateLevel():void{
if (waveNum == 1){
spawnEnemy(1, 10, 1, 100);
};
if (waveNum == 2){
spawnEnemy(1, 50, 1, 100);
};
if (waveNum == 3){
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
};
if (waveNum == 4){
spawnEnemy(1, 100, 1, 100);
spawnEnemy(1, 100, 1, 100);
spawnEnemy(1, 100, 1, 100);
};
if (waveNum == 5){
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
};
if (waveNum == 6){
spawnEnemy(2, 100, 1, 100);
};
if (waveNum == 7){
spawnEnemy(1, 100, 1, 100);
spawnEnemy(1, 100, 1, 100);
spawnEnemy(2, 100, 1, 100);
spawnEnemy(2, 100, 1, 100);
};
if (waveNum == 7){
spawnEnemy(1, 100, 1, 100);
spawnEnemy(1, 100, 1, 100);
spawnEnemy(2, 100, 1, 100);
spawnEnemy(2, 100, 1, 100);
};
if (waveNum == 8){
spawnEnemy(1, 100, 1, 80);
spawnEnemy(1, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
};
if (waveNum == 9){
spawnEnemy(2, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
spawnEnemy(2, 100, 1, 80);
};
if (waveNum == 10){
spawnEnemy(1, 500, 2, 100);
};
if (waveNum == 11){
spawnEnemy(1, 100, 1, 80);
spawnEnemy(1, 100, 1, 80);
spawnEnemy(1, 100, 1, 80);
spawnEnemy(1, 100, 1, 80);
spawnEnemy(1, 100, 1, 80);
spawnEnemy(1, 100, 1, 80);
};
if (waveNum == 12){
spawnEnemy(1, 200, 1.5, 50);
spawnEnemy(1, 200, 1.5, 50);
};
if (waveNum == 13){
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
spawnEnemy(1, 10, 0.5, 200);
};
if (waveNum == 14){
spawnEnemy(1, 100, 1, 100);
spawnEnemy(1, 150, 1, 100);
spawnEnemy(1, 200, 1, 100);
spawnEnemy(2, 10, 1, 10);
spawnEnemy(2, 10, 1, 10);
};
if (waveNum == 15){
spawnEnemy(2, 500, 2, 70);
};
if (waveNum == 16){
spawnEnemy(2, 200, 1, 100);
spawnEnemy(2, 350, 1, 300);
spawnEnemy(2, 200, 1, 500);
spawnEnemy(2, 300, 1, 100);
spawnEnemy(2, 100, 1, 100);
};
if (waveNum == 17){
spawnEnemy(1, 500, 1.3, 30);
spawnEnemy(2, 50, 0.5, 100);
spawnEnemy(2, 50, 0.5, 100);
spawnEnemy(2, 50, 0.5, 100);
spawnEnemy(2, 50, 0.5, 100);
spawnEnemy(2, 50, 0.5, 100);
spawnEnemy(2, 50, 0.5, 100);
};
if (waveNum == 17){
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(2, 200, 1.1, 50);
};
if (waveNum == 18){
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(2, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(2, 200, 1.1, 50);
};
if (waveNum == 19){
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(2, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 30);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(2, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(1, 200, 1.1, 50);
spawnEnemy(2, 200, 1.1, 50);
};
if (waveNum == 20){
spawnEnemy(1, 1500, 3, 10);
};
if (waveNum == 21){
spawnEnemy(3, 100, 1, 100);
};
if (waveNum == 22){
spawnEnemy(3, 30, 1, 100);
spawnEnemy(3, 30, 1, 100);
spawnEnemy(3, 30, 1, 100);
spawnEnemy(3, 30, 1, 60);
};
if (waveNum == 23){
spawnEnemy(1, 200, 1, 50);
spawnEnemy(2, 200, 1, 50);
spawnEnemy(3, 200, 1, 100);
spawnEnemy(1, 200, 1, 50);
spawnEnemy(2, 200, 1, 50);
spawnEnemy(3, 200, 1, 100);
};
if (waveNum == 24){
spawnEnemy(1, 200, 1, 50);
spawnEnemy(2, 200, 1, 50);
spawnEnemy(3, 200, 1, 100);
spawnEnemy(1, 200, 1, 20);
spawnEnemy(2, 200, 1, 50);
spawnEnemy(3, 200, 1, 100);
spawnEnemy(1, 200, 1, 50);
spawnEnemy(2, 200, 1, 20);
spawnEnemy(3, 200, 1, 100);
};
if (waveNum == 25){
spawnEnemy(1, 200, 1, 5);
spawnEnemy(2, 200, 1, 5);
};
if (waveNum == 26){
spawnEnemy(1, 1000, 2, 50);
spawnEnemy(2, 1000, 2, 50);
};
if (waveNum == 27){
spawnEnemy(3, 10, 0.5, 50);
spawnEnemy(3, 10, 0.5, 30);
spawnEnemy(3, 10, 0.5, 50);
spawnEnemy(3, 10, 0.5, 50);
spawnEnemy(3, 10, 0.5, 30);
spawnEnemy(3, 10, 0.5, 50);
spawnEnemy(3, 10, 0.5, 50);
spawnEnemy(3, 10, 0.5, 50);
};
if (waveNum == 28){
spawnEnemy(1, 100, 1, 30);
spawnEnemy(2, 100, 1, 30);
spawnEnemy(3, 100, 0.5, 50);
spawnEnemy(1, 100, 1, 30);
spawnEnemy(2, 100, 1, 50);
spawnEnemy(3, 100, 0.5, 30);
spawnEnemy(1, 100, 1, 50);
spawnEnemy(2, 100, 1, 50);
spawnEnemy(3, 100, 0.5, 50);
spawnEnemy(1, 100, 1, 50);
spawnEnemy(2, 100, 1, 50);
spawnEnemy(3, 100, 0.5, 50);
spawnEnemy(1, 100, 1, 50);
spawnEnemy(2, 100, 1, 50);
spawnEnemy(3, 100, 0.5, 50);
};
if (waveNum == 29){
spawnEnemy(1, 300, 1, 50);
spawnEnemy(2, 300, 1, 50);
spawnEnemy(3, 300, 0.5, 50);
spawnEnemy(1, 300, 1, 50);
spawnEnemy(2, 300, 1, 50);
spawnEnemy(3, 300, 0.5, 50);
};
if (waveNum == 30){
spawnEnemy(1, 1000, 2, 30);
spawnEnemy(2, 1000, 2, 30);
spawnEnemy(3, 100, 1, 30);
};
if (waveNum == 31){
spawnEnemy(1, 400, 1, 50);
spawnEnemy(2, 400, 1, 50);
spawnEnemy(3, 400, 0.5, 50);
spawnEnemy(1, 400, 1, 50);
spawnEnemy(2, 400, 1, 50);
spawnEnemy(3, 400, 0.5, 50);
};
if (waveNum == 32){
spawnEnemy(1, 400, 1, 20);
spawnEnemy(2, 200, 0.6, 30);
spawnEnemy(1, 300, 1, 40);
spawnEnemy(2, 100, 1, 50);
spawnEnemy(1, 400, 1.7, 60);
spawnEnemy(2, 300, 1.2, 70);
spawnEnemy(3, 200, 1, 80);
spawnEnemy(1, 100, 1, 90);
spawnEnemy(2, 400, 0.8, 90);
spawnEnemy(3, 400, 1, 100);
};
if (waveNum == 33){
spawnEnemy(1, 1500, 3, 50);
spawnEnemy(2, 1500, 3, 50);
};
if (waveNum == 34){
spawnEnemy(1, 200, 1, 40);
spawnEnemy(2, 200, 1, 40);
spawnEnemy(1, 200, 1, 40);
spawnEnemy(2, 200, 1, 40);
spawnEnemy(1, 200, 1, 40);
spawnEnemy(2, 200, 1, 40);
};
if (waveNum == 35){
spawnEnemy(1, 2000, 4, 40);
spawnEnemy(2, 2000, 4, 40);
};
if (waveNum == 36){
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
};
if (waveNum == 37){
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(3, 50, 1, 40);
spawnEnemy(2, 50, 1, 100);
spawnEnemy(2, 50, 1, 100);
spawnEnemy(2, 50, 1, 100);
spawnEnemy(2, 50, 1, 50);
spawnEnemy(2, 50, 1, 100);
spawnEnemy(2, 50, 1, 100);
spawnEnemy(2, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 10);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 10);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 100);
spawnEnemy(1, 50, 1, 10);
};
if (waveNum == 38){
spawnEnemy(1, 500, 1, 30);
spawnEnemy(1, 500, 1, 30);
spawnEnemy(1, 500, 1, 30);
spawnEnemy(2, 500, 1, 30);
spawnEnemy(2, 500, 1, 30);
spawnEnemy(2, 500, 1, 40);
spawnEnemy(1, 500, 1, 40);
spawnEnemy(1, 500, 1, 40);
spawnEnemy(1, 500, 1, 40);
spawnEnemy(2, 500, 1, 40);
spawnEnemy(2, 500, 1, 40);
spawnEnemy(2, 500, 1, 40);
};
if (waveNum == 39){
spawnEnemy(1, 800, 1, 40);
spawnEnemy(1, 800, 1, 40);
spawnEnemy(1, 800, 1, 40);
spawnEnemy(1, 800, 1, 40);
spawnEnemy(1, 800, 1, 40);
};
if (waveNum == 40){
spawnEnemy(1, 3000, 5, 5);
spawnEnemy(2, 3000, 5, 5);
spawnEnemy(3, 3000, 5, 5);
};
if (waveNum == 41){
};
targetBox.findNewEnemy(myEnemies);
lockOnBox.findNewEnemy(targetBox);
}
public function setCorrectDepths(){
for each (myEnemy in myEnemies.itemList) {
goHighestDepth(myEnemy);
};
goHighestDepth(hero);
goHighestDepth(targetBox);
goHighestDepth(lockOnBox);
goHighestDepth(targetPointer);
goHighestDepth(sidebar);
for each (myCoinlet in myCoinlets.itemList) {
goHighestDepth(myCoinlet);
};
}
public function spawnExhaust(_arg1:MovieClip){
var _local2:* = new Exhaust();
addChild(_local2);
myExhausts.addItems(_local2);
_local2.x = _arg1.x;
_local2.y = _arg1.y;
_local2.xspeed = (Math.random() - 0.5);
_local2.yspeed = (Math.random() - 0.5);
}
public function spawnEnemy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
var _local5:*;
if (_arg1 == 1){
_local5 = new Enemy1();
};
if (_arg1 == 2){
_local5 = new Enemy2();
};
if (_arg1 == 3){
_local5 = new Enemy3();
};
_local5.health = _arg2;
_local5.startHealth = _arg2;
_local5.scaleX = _arg3;
_local5.scaleY = _arg3;
_local5.rateOfFire = _arg4;
addChild(_local5);
myEnemies.addItems(_local5);
setToSpawnLoc(_local5);
}
public function spawnPU(_arg1:Number, _arg2:Number){
var _local3:PowerUp = new PowerUp();
addChild(_local3);
myPowerUps.addItems(_local3);
_local3.x = _arg1;
_local3.y = _arg2;
_local3.oldX = dirt.x;
_local3.oldY = dirt.y;
_local3.whichPU = Math.ceil((Math.random() * 8));
}
public function spawnCoinlets(_arg1:Number, _arg2:Number){
var _local4:*;
var _local3:uint;
while (_local3 < 8) {
_local4 = new Coinlet();
addChild(_local4);
myCoinlets.addItems(_local4);
_local4.finalX = 120;
_local4.finalY = 530;
_local4.x = _arg1;
_local4.y = _arg2;
_local4.friction = 0.95;
_local4.xspeed = Kyle.getVectorComponent((_local3 * 45), 2, "x");
_local4.yspeed = Kyle.getVectorComponent((_local3 * 45), 2, "y");
_local4.accelTimer = Math.round((10 + (Math.random() * 10)));
_local4.accelSpeed = Math.round((150 + (Math.random() * 100)));
_local4.timer = 0;
_local3++;
};
}
public function spawnMiniSplosion(_arg1:Number, _arg2:Number){
var _local3:* = new MiniSplosion();
addChild(_local3);
_local3.x = _arg1;
_local3.y = _arg2;
}
public function pauseGame(){
gamePaused = true;
eMemo.timer = 1000;
moneyTutShown = true;
upgradeMenu.y = 0;
upgradeMenu.Update();
goHighestDepth(upgradeMenu);
}
public function unpauseGame(){
gamePaused = false;
upgradeMenu.y = -1000;
}
public function lostGame(){
readyToLeaveGame();
gotoAndStop("results");
}
public function readyToLeaveGameAndGoToMenu(){
readyToLeaveGame();
gotoAndStop("menu");
}
public function readyToLeaveResults(){
}
function frame1(){
_root = MovieClip(root);
Kyle = new KyleClass(_root);
Kyle.ChangeRightClickMenu();
KeyboardManager.getInstance().init(stage);
Key = KeyboardManager.getInstance();
if (!Kyle.isOnSite("flashgamelicense.com")){
};
Utils.init(this);
preLoad = new PreLoader();
addChild(preLoad);
stop();
MochiBot.track(this, "04a6423c");
MochiServices.connect("47871811d74386cb", root);
}
function frame2(){
removeChild(preLoad);
}
function frame5(){
muteMusic = false;
muteSound = false;
moneyTutShown = false;
weaponChangeTutShown = false;
myEnemies = new Collection();
myExhausts = new Collection();
myPowerUps = new Collection();
myCoinlets = new Collection();
myBullets = new Collection();
myMissiles = new Collection();
myEnemyBullets = new Collection();
bin = new Collection();
rofC = 100;
rofM1 = 100;
rofM2 = 100;
rofM3 = 100;
rofM4 = 100;
rofM5 = 100;
rofM6 = 100;
waveNum = 1;
weaponSelected = 1;
exhaustTimer = 0;
boostReadyPercent = 100;
money = 0;
score = 0;
gamePaused = true;
wonGame = false;
tutorialShown = false;
loopChannel = new SoundChannel();
loopSound = new LoopSound();
loopChannel = loopSound.play(0, 999);
whipSound = new WhipSound();
missileSound = new MissileSound();
laserSound = new LaserSound();
clickSound = new ClickSound();
puSound = new PUSound();
explosionSound = new ExplosionSound();
smallExplosionSound = new SmallExplosionSound();
machineGunSound = new MachineGunSound();
cashRegisterSound = new CashRegisterSound();
mouseIsDown = false;
mouseActionDone = false;
spaceIsDown = false;
spaceActionDone = false;
WisDown = false;
WactionDone = false;
AisDown = false;
AactionDone = false;
SisDown = false;
SactionDone = false;
DisDown = false;
DactionDone = false;
EisDown = false;
EactionDone = false;
HisDown = false;
HactionDone = false;
addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
addEventListener(MouseEvent.MOUSE_UP, MouseUp);
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeysDown);
stage.addEventListener(KeyboardEvent.KEY_UP, KeysUp);
ug1Name = "Max Health";
ug2Name = "Main Gun";
ug3Name = "Weapon 1: Seeker Missiles";
ug4Name = "Weapon 2: Sploder Bombs";
ug5Name = "Weapon 3: Replicator Shells";
ug6Name = "Weapon 4: MultiShot Rockets";
ug7Name = "Weapon 5: Zapper Blasts";
ug8Name = "Weapon 6: Radius Mines";
ug1Level = 1;
ug2Level = 1;
ug3Level = 1;
ug4Level = 0;
ug5Level = 0;
ug6Level = 0;
ug7Level = 0;
ug8Level = 0;
updateCosts();
mg1Name = "Health";
mg2Name = "";
mg3Name = "10 rds";
mg4Name = "10 rds";
mg5Name = "10 rds";
mg6Name = "10 rds";
mg7Name = "10 rds";
mg8Name = "10 rds";
mg1UpgradeCost = 200;
mg2UpgradeCost = 200;
mg3UpgradeCost = 200;
mg4UpgradeCost = 200;
mg5UpgradeCost = 200;
mg6UpgradeCost = 200;
mg7UpgradeCost = 200;
mg8UpgradeCost = 200;
ammo1 = 10;
ammo2 = 0;
ammo3 = 0;
ammo4 = 0;
ammo5 = 0;
ammo6 = 0;
}
function frame6(){
stop();
rofCM = 0;
rofMR = 0;
waiting = false;
tutStage = 1;
addEventListener(Event.ENTER_FRAME, onMenuFrame);
}
function frame7(){
stop();
populateLevel();
upgradeMenu.Update();
updateVariables();
slider.doThing(1);
addEventListener(Event.ENTER_FRAME, onFrame);
}
function frame8(){
stop();
if (wonGame){
lost_txt.text = "You Won!";
waveNum = 40;
} else {
lost_txt.text = "You Lost!";
};
dirt.x = -200;
dirt.y = -200;
wave_txt.text = ("Level Reached: " + waveNum);
score_txt.text = ("Score: " + score);
}
function frame9(){
o = {n:[12, 1, 2, 7, 6, 9, 9, 5, 1, 1, 12, 2, 10, 7, 8, 6], f:function (_arg1:Number, _arg2:String):String{
if (_arg2.length == 16){
return (_arg2);
};
return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16))));
}};
boardID = o.f(0, "");
MochiScores.showLeaderboard({boardID:boardID, score:score});
}
function frame10(){
gotoAndStop("menu");
}
}
}//package Pilot_fla
Section 41
//MenuBtn_36 (Pilot_fla.MenuBtn_36)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class MenuBtn_36 extends MovieClip {
public function MenuBtn_36(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:Event){
MovieClip(root).readyToLeaveGameAndGoToMenu();
}
function frame1(){
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
}
}
}//package Pilot_fla
Section 42
//MiniPlusBox_51 (Pilot_fla.MiniPlusBox_51)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import fl.motion.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class MiniPlusBox_51 extends MovieClip {
public var name_txt:TextField;
public var cost_txt:TextField;
public var whichUpg:uint;
public function MiniPlusBox_51(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:MouseEvent){
if (whichUpg == 1){
if (MovieClip(root).mg1UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).hero.health < MovieClip(root).hero.totalHealth){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg1UpgradeCost);
MovieClip(root).hero.health = (MovieClip(root).hero.health + 50);
if (MovieClip(root).hero.health > MovieClip(root).hero.totalHealth){
MovieClip(root).hero.health = MovieClip(root).hero.totalHealth;
};
};
};
};
if (whichUpg == 2){
};
if (whichUpg == 3){
if (MovieClip(root).mg3UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).ug3Level > 0){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg3UpgradeCost);
MovieClip(root).ammo1 = (MovieClip(root).ammo1 + 10);
};
};
};
if (whichUpg == 4){
if (MovieClip(root).mg4UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).ug4Level > 0){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg4UpgradeCost);
MovieClip(root).ammo2 = (MovieClip(root).ammo2 + 10);
};
};
};
if (whichUpg == 5){
if (MovieClip(root).mg5UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).ug5Level > 0){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg5UpgradeCost);
MovieClip(root).ammo3 = (MovieClip(root).ammo3 + 10);
};
};
};
if (whichUpg == 6){
if (MovieClip(root).mg6UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).ug6Level > 0){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg6UpgradeCost);
MovieClip(root).ammo4 = (MovieClip(root).ammo4 + 10);
};
};
};
if (whichUpg == 7){
if (MovieClip(root).mg7UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).ug7Level > 0){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg7UpgradeCost);
MovieClip(root).ammo5 = (MovieClip(root).ammo5 + 10);
};
};
};
if (whichUpg == 8){
if (MovieClip(root).mg8UpgradeCost <= MovieClip(root).money){
if (MovieClip(root).ug8Level > 0){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).mg8UpgradeCost);
MovieClip(root).ammo6 = (MovieClip(root).ammo6 + 10);
};
};
};
MovieClip(root).sidebar.Update();
MovieClip(root).updateVariables();
MovieClip(root).updateCosts();
MovieClip(parent).Update();
}
public function RollOver(_arg1:Event){
var _local2:Color = new Color();
_local2.setTint(0xFFFFFF, 0.5);
this.transform.colorTransform = _local2;
}
public function RollOut(_arg1:Event){
var _local2:Color = new Color();
_local2.setTint(0xFFFFFF, 0);
this.transform.colorTransform = _local2;
}
function frame1(){
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
addEventListener(MouseEvent.ROLL_OVER, RollOver);
addEventListener(MouseEvent.ROLL_OUT, RollOut);
}
}
}//package Pilot_fla
Section 43
//Missile1_Inside_16 (Pilot_fla.Missile1_Inside_16)
package Pilot_fla {
import flash.display.*;
public dynamic class Missile1_Inside_16 extends MovieClip {
public function Missile1_Inside_16(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 44
//Missile2_Inside_56 (Pilot_fla.Missile2_Inside_56)
package Pilot_fla {
import flash.display.*;
public dynamic class Missile2_Inside_56 extends MovieClip {
public function Missile2_Inside_56(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 45
//Missile3_Inside_57 (Pilot_fla.Missile3_Inside_57)
package Pilot_fla {
import flash.display.*;
public dynamic class Missile3_Inside_57 extends MovieClip {
public function Missile3_Inside_57(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 46
//Missile4_Inside_58 (Pilot_fla.Missile4_Inside_58)
package Pilot_fla {
import flash.display.*;
public dynamic class Missile4_Inside_58 extends MovieClip {
public function Missile4_Inside_58(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 47
//Missile6_Inside_59 (Pilot_fla.Missile6_Inside_59)
package Pilot_fla {
import flash.display.*;
public dynamic class Missile6_Inside_59 extends MovieClip {
public function Missile6_Inside_59(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 48
//MusicNote_7 (Pilot_fla.MusicNote_7)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class MusicNote_7 extends MovieClip {
public var _root:MovieClip;
public function MusicNote_7(){
addFrameScript(0, frame1);
}
public function Click(_arg1:Event){
if (!_root.muteSound){
_root.clickSound.play(0, 1);
};
if (currentFrame == 1){
_root.loopChannel.stop();
_root.muteMusic = true;
gotoAndStop(2);
} else {
if (currentFrame == 2){
_root.loopChannel = _root.loopSound.play(0, 999);
_root.muteMusic = false;
gotoAndStop(1);
};
};
}
function frame1(){
_root = MovieClip(root);
if (_root.muteMusic){
gotoAndStop(2);
} else {
gotoAndStop(1);
};
addEventListener(MouseEvent.CLICK, Click);
}
}
}//package Pilot_fla
Section 49
//OutOfAmmo_44 (Pilot_fla.OutOfAmmo_44)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class OutOfAmmo_44 extends MovieClip {
public var timer:uint;
public function OutOfAmmo_44(){
addFrameScript(0, frame1);
}
public function Update(){
timer++;
if (timer < 30){
x = 320;
} else {
x = -1000;
};
}
public function displaySelf(){
if (!MovieClip(root).muteSound){
if (timer > 2){
MovieClip(root).clickSound.play(0, 1);
};
};
timer = 0;
}
function frame1(){
timer = 100;
}
}
}//package Pilot_fla
Section 50
//Play_5 (Pilot_fla.Play_5)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Play_5 extends MovieClip {
public var _root:MovieClip;
public function Play_5(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:Event){
_root.clearAllMenuItems();
_root.initGame();
MovieClip(root).removeEventListener(Event.ENTER_FRAME, MovieClip(root).onMenuFrame);
if (!MovieClip(root).muteSound){
MovieClip(root).whipSound.play(0, 1);
};
_root.gotoAndStop("game");
}
function frame1(){
_root = MovieClip(root);
Utils.addRollOver(this, "lightTint", 0.5);
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
}
}
}//package Pilot_fla
Section 51
//PlayMoreGames_17 (Pilot_fla.PlayMoreGames_17)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class PlayMoreGames_17 extends MovieClip {
public function PlayMoreGames_17(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://www.i6.com/new-games.php?utm_source=games&utm_medium=pilotpmg");
navigateToURL(_local2, "_blank");
}
function frame1(){
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
}
}
}//package Pilot_fla
Section 52
//PowerUp_Inside_55 (Pilot_fla.PowerUp_Inside_55)
package Pilot_fla {
import flash.display.*;
public dynamic class PowerUp_Inside_55 extends MovieClip {
public function PowerUp_Inside_55(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 53
//Radar_37 (Pilot_fla.Radar_37)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Radar_37 extends MovieClip {
public var heroBlip:MovieClip;
public var radarBox:MovieClip;
public var _root:MovieClip;
public var myBlips:Collection;
public var bin:Collection;
public function Radar_37(){
addFrameScript(0, frame1);
}
public function Update(){
var _local1:MovieClip;
var _local2:MovieClip;
var _local3:MovieClip;
var _local4:Blip;
radarBox.Update();
for each (_local1 in _root.myEnemies.itemList) {
if (_local1.blipAttached == null){
_local4 = new Blip();
addChild(_local4);
myBlips.addItems(_local4);
_local4.x = ((_root.hero.x + _local1.x) / 20);
_local4.y = ((_root.hero.y + _local1.y) / 20);
_local4.enemyAttachedTo = _local1;
_local1.blipAttached = _local4;
} else {
_local1.blipAttached.x = ((_root.hero.x + _local1.x) / 20);
_local1.blipAttached.y = ((_root.hero.y + _local1.y) / 20);
};
};
for each (_local2 in myBlips.itemList) {
if (_local2.enemyAttachedTo.killed == true){
removeChild(_local2);
bin.addItems(_local2);
};
};
for each (_local3 in bin.itemList) {
myBlips.removeItems(_local3);
};
heroBlip.x = ((_root.hero.x * 2) / 20);
heroBlip.y = ((_root.hero.y * 2) / 20);
heroBlip.rotation = _root.hero.rotation;
}
function frame1(){
_root = MovieClip(root);
myBlips = new Collection();
bin = new Collection();
}
}
}//package Pilot_fla
Section 54
//Sidebar_25 (Pilot_fla.Sidebar_25)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Sidebar_25 extends MovieClip {
public var weaponBoxes:MovieClip;
public var boostBar:MovieClip;
public var money_txt:TextField;
public var radar:MovieClip;
public var eToUpgrade:MovieClip;
public var healthBar:MovieClip;
public var waveNum_txt:TextField;
public var _root:MovieClip;
public function Sidebar_25(){
addFrameScript(0, frame1);
}
public function Update(){
radar.Update();
eToUpgrade.Update();
weaponBoxes.Update();
healthBar.Update();
boostBar.Update();
waveNum_txt.text = ("Level " + _root.waveNum);
money_txt.text = ("$" + _root.money);
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 55
//SoundInit_2 (Pilot_fla.SoundInit_2)
package Pilot_fla {
import flash.display.*;
public dynamic class SoundInit_2 extends MovieClip {
public function SoundInit_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 56
//Speaker_6 (Pilot_fla.Speaker_6)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Speaker_6 extends MovieClip {
public var _root:MovieClip;
public function Speaker_6(){
addFrameScript(0, frame1);
}
public function Click(_arg1:Event){
if (currentFrame == 1){
_root.muteSound = true;
gotoAndStop(2);
} else {
if (currentFrame == 2){
_root.muteSound = false;
gotoAndStop(1);
};
};
}
function frame1(){
_root = MovieClip(root);
if (_root.muteSound){
gotoAndStop(2);
} else {
gotoAndStop(1);
};
addEventListener(MouseEvent.CLICK, Click);
}
}
}//package Pilot_fla
Section 57
//SubmitScore_65 (Pilot_fla.SubmitScore_65)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
public dynamic class SubmitScore_65 extends MovieClip {
public function SubmitScore_65(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:MouseEvent){
MovieClip(root).gotoAndStop("highscores");
}
function frame1(){
Utils.addRollOver(this, "lightTint", 0.5);
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
}
}
}//package Pilot_fla
Section 58
//targetBox_22 (Pilot_fla.targetBox_22)
package Pilot_fla {
import flash.display.*;
public dynamic class targetBox_22 extends MovieClip {
public var _root:MovieClip;
public var enemyToLockOn:MovieClip;
public function targetBox_22(){
addFrameScript(0, frame1);
}
public function Update(){
if (enemyToLockOn != null){
x = (x - ((x - enemyToLockOn.x) / 1));
y = (y - ((y - enemyToLockOn.y) / 1));
} else {
x = -1000;
};
}
public function findNewEnemy(_arg1:Collection){
var _local3:Number;
var _local4:Number;
var _local5:MovieClip;
var _local2:MovieClip = enemyToLockOn;
if (_arg1.numItems() > 0){
_local3 = Math.floor((Math.random() * _arg1.numItems()));
_local4 = 0;
for each (_local5 in _arg1.itemList) {
if (_local4 == _local3){
enemyToLockOn = _local5;
};
_local4++;
};
} else {
enemyToLockOn = null;
};
if (_local2 == enemyToLockOn){
if (_arg1.numItems() > 1){
findNewEnemy(_arg1);
};
};
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 59
//targetPointer_24 (Pilot_fla.targetPointer_24)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class targetPointer_24 extends MovieClip {
public var _root:MovieClip;
public var myEnemy:MovieClip;
public function targetPointer_24(){
addFrameScript(0, frame1);
}
public function Update(){
if (_root.targetBox.enemyToLockOn != null){
myEnemy = _root.targetBox.enemyToLockOn;
if ((((myEnemy.x < 0)) && ((myEnemy.y < 0)))){
x = 5;
y = 5;
rotation = _root.Kyle.rotationTowardsObject(this, _root.targetBox.enemyToLockOn);
};
if ((((((myEnemy.x > 0)) && ((myEnemy.x < 640)))) && ((myEnemy.y < 0)))){
x = myEnemy.x;
y = 5;
rotation = 0;
};
if ((((myEnemy.x > 640)) && ((myEnemy.y < 0)))){
x = 635;
y = 5;
rotation = _root.Kyle.rotationTowardsObject(this, _root.targetBox.enemyToLockOn);
};
if ((((((myEnemy.x > 640)) && ((myEnemy.y > 0)))) && ((myEnemy.y < 480)))){
x = 635;
y = myEnemy.y;
rotation = 90;
};
if ((((myEnemy.x > 640)) && ((myEnemy.y > 480)))){
x = 635;
y = 475;
rotation = _root.Kyle.rotationTowardsObject(this, _root.targetBox.enemyToLockOn);
};
if ((((((myEnemy.x > 0)) && ((myEnemy.x < 640)))) && ((myEnemy.y > 480)))){
x = myEnemy.x;
y = 475;
rotation = 180;
};
if ((((myEnemy.x < 0)) && ((myEnemy.y > 480)))){
x = 5;
y = 475;
rotation = _root.Kyle.rotationTowardsObject(this, _root.targetBox.enemyToLockOn);
};
if ((((((myEnemy.x < 0)) && ((myEnemy.y > 0)))) && ((myEnemy.y < 480)))){
x = 5;
y = myEnemy.y;
rotation = 270;
};
if ((((((((myEnemy.x > 0)) && ((myEnemy.x < 640)))) && ((myEnemy.y > 0)))) && ((myEnemy.y < 480)))){
x = -1000;
} else {
if (x < 5){
x = 5;
};
if (x > 635){
x = 635;
};
if (y < 5){
y = 5;
};
if (y > 475){
y = 475;
};
};
};
}
function frame1(){
_root = MovieClip(root);
}
}
}//package Pilot_fla
Section 60
//Tutorial_54 (Pilot_fla.Tutorial_54)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Tutorial_54 extends MovieClip {
public function Tutorial_54(){
addFrameScript(0, frame1);
}
public function mousePress(_arg1:MouseEvent){
x = -2000;
MovieClip(root).gamePaused = false;
MovieClip(root).hForHelp.displaySelf();
}
function frame1(){
addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
}
}
}//package Pilot_fla
Section 61
//TutorialMenu_10 (Pilot_fla.TutorialMenu_10)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class TutorialMenu_10 extends MovieClip {
public function TutorialMenu_10(){
addFrameScript(111, frame112, 131, frame132, 152, frame153, 161, frame162);
}
function frame112(){
stop();
MovieClip(root).tutStage = 2;
MovieClip(root).waiting = true;
}
function frame132(){
stop();
MovieClip(root).tutStage = 3;
MovieClip(root).waiting = true;
}
function frame153(){
stop();
MovieClip(root).tutStage = 4;
MovieClip(root).waiting = true;
}
function frame162(){
stop();
y = -1000;
MovieClip(root).playMC.y = 163;
}
}
}//package Pilot_fla
Section 62
//UpgradeBox_49 (Pilot_fla.UpgradeBox_49)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import fl.motion.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class UpgradeBox_49 extends MovieClip {
public var name_txt:TextField;
public var buyweapon:MovieClip;
public var cost_txt:TextField;
public var whichUpg:uint;
public function UpgradeBox_49(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:MouseEvent){
if (whichUpg == 1){
if (MovieClip(root).ug1Level == 0){
if (MovieClip(root).ug1UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug1Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug1UpgradeCost);
MovieClip(root).hero.health = (MovieClip(root).hero.health + 100);
};
};
};
if (whichUpg == 2){
if (MovieClip(root).ug2Level == 0){
if (MovieClip(root).ug2UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug2Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug2UpgradeCost);
};
};
};
if (whichUpg == 3){
if (MovieClip(root).ug3Level == 0){
if (MovieClip(root).ug3UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug3Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug3UpgradeCost);
};
};
};
if (whichUpg == 4){
if (MovieClip(root).ug4Level == 0){
if (MovieClip(root).ug4UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug4Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug4UpgradeCost);
};
};
};
if (whichUpg == 5){
if (MovieClip(root).ug5Level == 0){
if (MovieClip(root).ug5UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug5Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug5UpgradeCost);
};
};
};
if (whichUpg == 6){
if (MovieClip(root).ug6Level == 0){
if (MovieClip(root).ug6UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug6Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug6UpgradeCost);
};
};
};
if (whichUpg == 7){
if (MovieClip(root).ug7Level == 0){
if (MovieClip(root).ug7UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug7Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug7UpgradeCost);
};
};
};
if (whichUpg == 8){
if (MovieClip(root).ug8Level == 0){
if (MovieClip(root).ug8UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug8Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug8UpgradeCost);
};
};
};
MovieClip(root).updateVariables();
MovieClip(root).updateCosts();
MovieClip(parent).Update();
MovieClip(root).sidebar.Update();
}
public function RollOver(_arg1:Event){
var _local2:Color;
if (alpha > 0.9){
_local2 = new Color();
_local2.setTint(0xFFFFFF, 0.5);
this.transform.colorTransform = _local2;
};
}
public function RollOut(_arg1:Event){
var _local2:Color;
if (alpha > 0.9){
_local2 = new Color();
_local2.setTint(0xFFFFFF, 0);
this.transform.colorTransform = _local2;
};
}
function frame1(){
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
addEventListener(MouseEvent.ROLL_OVER, RollOver);
addEventListener(MouseEvent.ROLL_OUT, RollOut);
}
}
}//package Pilot_fla
Section 63
//UpgradeLights_53 (Pilot_fla.UpgradeLights_53)
package Pilot_fla {
import flash.display.*;
public dynamic class UpgradeLights_53 extends MovieClip {
public function UpgradeLights_53(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Pilot_fla
Section 64
//UpgradeMenu_48 (Pilot_fla.UpgradeMenu_48)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class UpgradeMenu_48 extends MovieClip {
public var ub5:MovieClip;
public var ub6:MovieClip;
public var ub7:MovieClip;
public var ub8:MovieClip;
public var ugb1:MovieClip;
public var mb1:MovieClip;
public var money_txt:TextField;
public var ugb2:MovieClip;
public var mb2:MovieClip;
public var ugb3:MovieClip;
public var mb3:MovieClip;
public var ugb4:MovieClip;
public var mb4:MovieClip;
public var ugb5:MovieClip;
public var mb5:MovieClip;
public var ugb6:MovieClip;
public var mb6:MovieClip;
public var ugb7:MovieClip;
public var mb7:MovieClip;
public var ugb8:MovieClip;
public var mb8:MovieClip;
public var ub1:MovieClip;
public var ub2:MovieClip;
public var ub3:MovieClip;
public var ub4:MovieClip;
public function UpgradeMenu_48(){
addFrameScript(0, frame1);
}
public function Update(){
ub1.whichUpg = 1;
ub2.whichUpg = 2;
ub3.whichUpg = 3;
ub4.whichUpg = 4;
ub5.whichUpg = 5;
ub6.whichUpg = 6;
ub7.whichUpg = 7;
ub8.whichUpg = 8;
ub1.name_txt.text = MovieClip(root).ug1Name;
ub2.name_txt.text = MovieClip(root).ug2Name;
ub3.name_txt.text = MovieClip(root).ug3Name;
ub4.name_txt.text = MovieClip(root).ug4Name;
ub5.name_txt.text = MovieClip(root).ug5Name;
ub6.name_txt.text = MovieClip(root).ug6Name;
ub7.name_txt.text = MovieClip(root).ug7Name;
ub8.name_txt.text = MovieClip(root).ug8Name;
if (MovieClip(root).ug1Level >= 1){
ub1.buyweapon.alpha = 0;
} else {
ub1.buyweapon.alpha = 1;
};
if (MovieClip(root).ug2Level >= 1){
ub2.buyweapon.alpha = 0;
} else {
ub2.buyweapon.alpha = 1;
};
if (MovieClip(root).ug3Level >= 1){
ub3.buyweapon.alpha = 0;
} else {
ub3.buyweapon.alpha = 1;
};
if (MovieClip(root).ug4Level >= 1){
ub4.buyweapon.alpha = 0;
} else {
ub4.buyweapon.alpha = 1;
};
if (MovieClip(root).ug5Level >= 1){
ub5.buyweapon.alpha = 0;
} else {
ub5.buyweapon.alpha = 1;
};
if (MovieClip(root).ug6Level >= 1){
ub6.buyweapon.alpha = 0;
} else {
ub6.buyweapon.alpha = 1;
};
if (MovieClip(root).ug7Level >= 1){
ub7.buyweapon.alpha = 0;
} else {
ub7.buyweapon.alpha = 1;
};
if (MovieClip(root).ug8Level >= 1){
ub8.buyweapon.alpha = 0;
} else {
ub8.buyweapon.alpha = 1;
};
ub1.cost_txt.text = (("$" + MovieClip(root).ug1UpgradeCost) + "");
ub2.cost_txt.text = (("$" + MovieClip(root).ug2UpgradeCost) + "");
ub3.cost_txt.text = (("$" + MovieClip(root).ug3UpgradeCost) + "");
ub4.cost_txt.text = (("$" + MovieClip(root).ug4UpgradeCost) + "");
ub5.cost_txt.text = (("$" + MovieClip(root).ug5UpgradeCost) + "");
ub6.cost_txt.text = (("$" + MovieClip(root).ug6UpgradeCost) + "");
ub7.cost_txt.text = (("$" + MovieClip(root).ug7UpgradeCost) + "");
ub8.cost_txt.text = (("$" + MovieClip(root).ug8UpgradeCost) + "");
if (ub1.cost_txt.text == "NaN"){
ub1.cost_txt.text = "Full";
ub1.alpha = 0.75;
};
if (ub2.cost_txt.text == "NaN"){
ub2.cost_txt.text = "Full";
ub2.alpha = 0.75;
};
if (ub3.cost_txt.text == "NaN"){
ub3.cost_txt.text = "Full";
ub3.alpha = 0.75;
};
if (ub4.cost_txt.text == "NaN"){
ub4.cost_txt.text = "Full";
ub4.alpha = 0.75;
};
if (ub5.cost_txt.text == "NaN"){
ub5.cost_txt.text = "Full";
ub5.alpha = 0.75;
};
if (ub6.cost_txt.text == "NaN"){
ub6.cost_txt.text = "Full";
ub6.alpha = 0.75;
};
if (ub7.cost_txt.text == "NaN"){
ub7.cost_txt.text = "Full";
ub7.alpha = 0.75;
};
if (ub8.cost_txt.text == "NaN"){
ub8.cost_txt.text = "Full";
ub8.alpha = 0.75;
};
ugb1.lights.gotoAndStop((MovieClip(root).ug1Level + 1));
ugb2.lights.gotoAndStop((MovieClip(root).ug2Level + 1));
ugb3.lights.gotoAndStop((MovieClip(root).ug3Level + 1));
ugb4.lights.gotoAndStop((MovieClip(root).ug4Level + 1));
ugb5.lights.gotoAndStop((MovieClip(root).ug5Level + 1));
ugb6.lights.gotoAndStop((MovieClip(root).ug6Level + 1));
ugb7.lights.gotoAndStop((MovieClip(root).ug7Level + 1));
ugb8.lights.gotoAndStop((MovieClip(root).ug8Level + 1));
ugb1.whichUpg = 1;
ugb2.whichUpg = 2;
ugb3.whichUpg = 3;
ugb4.whichUpg = 4;
ugb5.whichUpg = 5;
ugb6.whichUpg = 6;
ugb7.whichUpg = 7;
ugb8.whichUpg = 8;
if (MovieClip(root).ug1Level == 0){
ugb1.alpha = 0.5;
} else {
ugb1.alpha = 1;
};
if (MovieClip(root).ug2Level == 0){
ugb2.alpha = 0.5;
} else {
ugb2.alpha = 1;
};
if (MovieClip(root).ug3Level == 0){
ugb3.alpha = 0.5;
} else {
ugb3.alpha = 1;
};
if (MovieClip(root).ug4Level == 0){
ugb4.alpha = 0.5;
} else {
ugb4.alpha = 1;
};
if (MovieClip(root).ug5Level == 0){
ugb5.alpha = 0.5;
} else {
ugb5.alpha = 1;
};
if (MovieClip(root).ug6Level == 0){
ugb6.alpha = 0.5;
} else {
ugb6.alpha = 1;
};
if (MovieClip(root).ug7Level == 0){
ugb7.alpha = 0.5;
} else {
ugb7.alpha = 1;
};
if (MovieClip(root).ug8Level == 0){
ugb8.alpha = 0.5;
} else {
ugb8.alpha = 1;
};
mb1.whichUpg = 1;
mb2.whichUpg = 2;
mb3.whichUpg = 3;
mb4.whichUpg = 4;
mb5.whichUpg = 5;
mb6.whichUpg = 6;
mb7.whichUpg = 7;
mb8.whichUpg = 8;
mb1.name_txt.text = MovieClip(root).mg1Name;
mb2.name_txt.text = MovieClip(root).mg2Name;
mb3.name_txt.text = MovieClip(root).mg3Name;
mb4.name_txt.text = MovieClip(root).mg4Name;
mb5.name_txt.text = MovieClip(root).mg5Name;
mb6.name_txt.text = MovieClip(root).mg6Name;
mb7.name_txt.text = MovieClip(root).mg7Name;
mb8.name_txt.text = MovieClip(root).mg8Name;
mb1.cost_txt.text = (("$" + MovieClip(root).mg1UpgradeCost) + "");
mb2.cost_txt.text = "";
mb2.alpha = 0.5;
mb3.cost_txt.text = (("$" + MovieClip(root).mg3UpgradeCost) + "");
mb4.cost_txt.text = (("$" + MovieClip(root).mg4UpgradeCost) + "");
mb5.cost_txt.text = (("$" + MovieClip(root).mg5UpgradeCost) + "");
mb6.cost_txt.text = (("$" + MovieClip(root).mg6UpgradeCost) + "");
mb7.cost_txt.text = (("$" + MovieClip(root).mg7UpgradeCost) + "");
mb8.cost_txt.text = (("$" + MovieClip(root).mg8UpgradeCost) + "");
money_txt.text = ("$" + MovieClip(root).money);
}
function frame1(){
}
}
}//package Pilot_fla
Section 65
//UpgradeWeaponBox_52 (Pilot_fla.UpgradeWeaponBox_52)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import fl.motion.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class UpgradeWeaponBox_52 extends MovieClip {
public var lights:MovieClip;
public var whichUpg:uint;
public function UpgradeWeaponBox_52(){
addFrameScript(0, frame1);
}
public function mouseRelease(_arg1:MouseEvent){
if (whichUpg == 1){
if ((((MovieClip(root).ug1Level < 3)) && ((MovieClip(root).ug1Level > 0)))){
if (MovieClip(root).ug1UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug1Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug1UpgradeCost);
MovieClip(root).hero.health = (MovieClip(root).hero.health + 100);
};
};
};
if (whichUpg == 2){
if ((((MovieClip(root).ug2Level < 3)) && ((MovieClip(root).ug2Level > 0)))){
if (MovieClip(root).ug2UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug2Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug2UpgradeCost);
};
};
};
if (whichUpg == 3){
if ((((MovieClip(root).ug3Level < 3)) && ((MovieClip(root).ug3Level > 0)))){
if (MovieClip(root).ug3UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug3Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug3UpgradeCost);
};
};
};
if (whichUpg == 4){
if ((((MovieClip(root).ug4Level < 3)) && ((MovieClip(root).ug4Level > 0)))){
if (MovieClip(root).ug4UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug4Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug4UpgradeCost);
};
};
};
if (whichUpg == 5){
if ((((MovieClip(root).ug5Level < 3)) && ((MovieClip(root).ug5Level > 0)))){
if (MovieClip(root).ug5UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug5Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug5UpgradeCost);
};
};
};
if (whichUpg == 6){
if ((((MovieClip(root).ug6Level < 3)) && ((MovieClip(root).ug6Level > 0)))){
if (MovieClip(root).ug6UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug6Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug6UpgradeCost);
};
};
};
if (whichUpg == 7){
if ((((MovieClip(root).ug7Level < 3)) && ((MovieClip(root).ug7Level > 0)))){
if (MovieClip(root).ug7UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug7Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug7UpgradeCost);
};
};
};
if (whichUpg == 8){
if ((((MovieClip(root).ug8Level < 3)) && ((MovieClip(root).ug8Level > 0)))){
if (MovieClip(root).ug8UpgradeCost <= MovieClip(root).money){
if (!MovieClip(root).muteSound){
MovieClip(root).cashRegisterSound.play(0, 1);
};
MovieClip(root).ug8Level++;
MovieClip(root).money = (MovieClip(root).money - MovieClip(root).ug8UpgradeCost);
};
};
};
MovieClip(root).updateVariables();
MovieClip(root).updateCosts();
MovieClip(parent).Update();
MovieClip(root).sidebar.Update();
}
public function RollOver(_arg1:Event){
var _local2:Color;
if (alpha > 0.9){
_local2 = new Color();
_local2.setTint(0xFFFFFF, 0.5);
this.transform.colorTransform = _local2;
};
}
public function RollOut(_arg1:Event){
var _local2:Color;
if (alpha > 0.9){
_local2 = new Color();
_local2.setTint(0xFFFFFF, 0);
this.transform.colorTransform = _local2;
};
}
function frame1(){
addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
addEventListener(MouseEvent.ROLL_OVER, RollOver);
addEventListener(MouseEvent.ROLL_OUT, RollOut);
}
}
}//package Pilot_fla
Section 66
//WeaponBoxes_26 (Pilot_fla.WeaponBoxes_26)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class WeaponBoxes_26 extends MovieClip {
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public function WeaponBoxes_26(){
addFrameScript(0, frame1);
}
public function Update(){
s1.Update();
s2.Update();
s3.Update();
s4.Update();
s5.Update();
s6.Update();
}
function frame1(){
}
}
}//package Pilot_fla
Section 67
//WeaponSlot_27 (Pilot_fla.WeaponSlot_27)
package Pilot_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class WeaponSlot_27 extends MovieClip {
public var rds_txt:TextField;
public var boxBackground:MovieClip;
public var missilePics:MovieClip;
public var lvlIndicator:MovieClip;
public var num_txt:TextField;
public var rofBar:MovieClip;
public var _root:MovieClip;
public var weaponNum:Number;
public function WeaponSlot_27(){
addFrameScript(0, frame1);
}
public function mousePress(_arg1:Event){
if (alpha == 1){
_root.weaponSelected = weaponNum;
Update();
};
}
public function Update(){
num_txt.text = (weaponNum + "");
rds_txt.text = (MovieClip(root)[("ammo" + weaponNum)] + " rds");
if (MovieClip(root)[("ammo" + weaponNum)] == 0){
boxBackground.gotoAndStop(2);
} else {
boxBackground.gotoAndStop(1);
};
if (_root.weaponSelected == weaponNum){
y = -10;
} else {
y = 0;
};
if (MovieClip(root)[(("ug" + (weaponNum + 2)) + "Level")] == 0){
alpha = 0.3;
} else {
alpha = 1;
};
rofBar.bar.height = ((MovieClip(root)[("rofM" + weaponNum)] / MovieClip(root).hero[(("missile" + weaponNum) + "RateOfFire")]) * 42);
if (rofBar.bar.height > 42){
rofBar.bar.height = 42;
};
missilePics.gotoAndStop((((weaponNum - 1) * 3) + MovieClip(root)[(("ug" + (weaponNum + 2)) + "Level")]));
if (alpha < 1){
missilePics.gotoAndStop((missilePics.currentFrame + 1));
};
lvlIndicator.Update();
}
function frame1(){
_root = MovieClip(root);
weaponNum = Number(name.substring(1, name.length));
Update();
addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
}
}
}//package Pilot_fla
Section 68
//PreLoader (PreLoader.PreLoader)
package PreLoader {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import net.creativedynamix.progbar.*;
public class PreLoader extends Sprite {
private var preLoadBar:ProgBar;
private var back:PreLoaderBackgreound;
private var i6:I6introsmall;
private var i6small:I6introsmall;
private var clik:ClickMe;
private var myTimer:Timer;
private var textLoadCounter:TextField;
private var textLoadCounterFormat:TextFormat;
private var font:PreloaderFont;
public function PreLoader(){
preLoadBar = new ProgBar({width:635, height:35, x:0, y:280, borderWidth:3, borderColor:39167, borderShadow:0, round:10, color:0xFFFF00, maxValue:100, showTextField:false, textColor:0});
back = new PreLoaderBackgreound();
i6 = new I6introsmall();
i6small = new I6introsmall();
clik = new ClickMe();
myTimer = new Timer(1000);
textLoadCounter = new TextField();
textLoadCounterFormat = new TextFormat();
font = new PreloaderFont();
super();
textLoadCounterFormat.font = font.fontName;
textLoadCounterFormat.color = 0xD6D6D6;
textLoadCounterFormat.size = 45;
textLoadCounter.x = 240;
textLoadCounter.y = 240;
textLoadCounter.width = 150;
textLoadCounter.height = 150;
textLoadCounter.selectable = false;
textLoadCounter.text = "Wait: 10";
textLoadCounter.x = 1000;
textLoadCounter.setTextFormat(textLoadCounterFormat);
addChild(back);
i6.width = 200;
i6.height = 200;
i6.x = 215;
i6.y = 35;
i6.alpha = 0;
addChild(i6);
i6small.x = 550;
i6small.y = 450;
i6small.width = 70;
i6small.height = 70;
i6small.alpha = 0;
addChild(i6small);
this.addEventListener(Event.ENTER_FRAME, loading);
addChild(preLoadBar);
preLoadBar.alpha = 0.3;
addChild(textLoadCounter);
addChild(clik);
clik.addEventListener(MouseEvent.CLICK, gotoI6Page);
}
private function loading(_arg1:Event):void{
var ctd:int;
var e = _arg1;
var total:Number = this.stage.loaderInfo.bytesTotal;
var loaded:Number = this.stage.loaderInfo.bytesLoaded;
preLoadBar.updatePercent(((loaded / total) * 100));
i6.alpha = (loaded / total);
i6small.alpha = (loaded / total);
if (total == loaded){
var contDown:Function = function (_arg1:TimerEvent){
ctd--;
if (ctd > 0){
textLoadCounter.text = ("Wait: " + String(ctd));
textLoadCounter.setTextFormat(textLoadCounterFormat);
myTimer.start();
} else {
myTimer.stop();
MovieClip(root).playGame();
};
};
this.removeEventListener(Event.ENTER_FRAME, loading);
Tweener.addTween(preLoadBar, {x:800, time:2, transition:"easeInOutBack"});
ctd = 10;
myTimer.addEventListener(TimerEvent.TIMER, contDown);
myTimer.start();
Tweener.addTween(textLoadCounter, {x:240, time:4, transition:"easeOutSine"});
};
}
private function gotoI6Page(_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://www.i6.com/new-games.php?utm_source=games&utm_medium=pilotpr");
navigateToURL(_local2, "_blank");
}
}
}//package PreLoader
Section 69
//Blip (Blip)
package {
import flash.display.*;
public dynamic class Blip extends MovieClip {
public var _root:MovieClip;
public var enemyAttachedTo:MovieClip;
public function Blip(){
addFrameScript(0, frame1);
}
function frame1(){
_root = MovieClip(root);
}
}
}//package
Section 70
//Bullet (Bullet)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Bullet extends MovieClip {
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var damage:Number;
public var removeMe:Boolean;
public var oldX:Number;
public var oldY:Number;
public function Bullet(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
}
function frame1(){
_root = MovieClip(root);
oldX = _root.dirt.x;
oldY = _root.dirt.y;
}
}
}//package
Section 71
//CashRegisterSound (CashRegisterSound)
package {
import flash.media.*;
public dynamic class CashRegisterSound extends Sound {
}
}//package
Section 72
//ClickMe (ClickMe)
package {
import flash.display.*;
public dynamic class ClickMe extends SimpleButton {
}
}//package
Section 73
//ClickSound (ClickSound)
package {
import flash.media.*;
public dynamic class ClickSound extends Sound {
}
}//package
Section 74
//Coinlet (Coinlet)
package {
import flash.display.*;
public dynamic class Coinlet extends MovieClip {
public var finalX:Number;
public var finalY:Number;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var timer:uint;
public var removeMe:Boolean;
public var accelTimer:Number;
public var accelSpeed:Number;
public function Coinlet(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + xspeed);
y = (y + yspeed);
if (timer < accelTimer){
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
} else {
xspeed = (xspeed + ((200 - x) / accelSpeed));
yspeed = (yspeed + ((490 - y) / accelSpeed));
};
if (y > 490){
removeMe = true;
};
timer++;
}
function frame1(){
removeMe = false;
}
}
}//package
Section 75
//Collection (Collection)
package {
import flash.display.*;
public class Collection {
public var _collection:Array;
public function Collection(... _args){
_collection = new Array();
addItems(_args);
}
public function addItems(... _args):void{
var _local2:*;
var _local3:*;
for each (_local2 in _args) {
if ((_local2 is Array)){
for each (_local3 in _local2) {
addItems(_local3);
};
} else {
if ((_local2 is Collection)){
for each (_local3 in _local2.itemList) {
addItems(_local3);
};
} else {
if (!contains(_local2)){
_collection.push(_local2);
};
};
};
};
}
public function removeItems(... _args):void{
var _local2:*;
var _local3:*;
for each (_local2 in _args) {
if ((_local2 is Array)){
for each (_local3 in _local2) {
removeItems(_local3);
};
} else {
if ((_local2 is Collection)){
for each (_local3 in _local2.itemList) {
removeItems(_local3);
};
} else {
if (contains(_local2)){
_collection.splice(_collection.indexOf(_local2), 1);
};
};
};
};
}
public function contains(_arg1):Boolean{
if ((((_arg1 is Array)) || ((_arg1 is Collection)))){
return (containsAll(_arg1));
};
if ((((_collection.indexOf(_arg1) > -1)) || ((this === _arg1)))){
return (true);
};
return (false);
}
public function containsAll(... _args):Boolean{
var _local3:*;
var _local4:*;
var _local2:Boolean;
for each (_local3 in _args) {
if ((_local3 is Array)){
for each (_local4 in _local3) {
if (!_collection.containsAll(_local4)){
_local2 = false;
};
};
} else {
if ((_local3 is Collection)){
for each (_local4 in _local3.itemList) {
if (!_collection.containsAll(_local4)){
_local2 = false;
};
};
} else {
if (!_collection.contains(_local3)){
_local2 = false;
};
};
};
};
return (_local2);
}
public function containsAny(... _args):Boolean{
var _local3:*;
var _local4:*;
var _local2:Boolean;
for each (_local3 in _args) {
if ((_local3 is Array)){
for each (_local4 in _local3) {
if (!_collection.containsAny(_local4)){
_local2 = true;
break;
};
};
} else {
if ((_local3 is Collection)){
for each (_local4 in _local3.itemList) {
if (!_collection.containsAny(_local4)){
_local2 = true;
break;
};
};
} else {
if (!_collection.contains(_local3)){
_local2 = true;
break;
};
};
};
};
return (_local2);
}
public function filter(_arg1:Function, _arg2=null):Collection{
var _local3:Collection = new Collection();
_local3.addItems(_collection.filter(_arg1, _arg2));
return (_local3);
}
public function forEach(_arg1:Function, _arg2=null):void{
_collection.forEach(_arg1, _arg2);
}
public function join(_arg1):String{
return (_collection.join(_arg1));
}
public function map(_arg1:Function, _arg2=null):Collection{
var _local5:*;
var _local3:Array = _collection.map(_arg1, _arg2);
var _local4:Collection = new Collection();
for each (_local5 in _local3) {
_local4.addItems(_local5);
};
return (_local4);
}
public function some(_arg1:Function, _arg2=null):Boolean{
return (_collection.some(_arg1, _arg2));
}
public function every(_arg1:Function, _arg2=null):Boolean{
return (_collection.every(_arg1, _arg2));
}
public function subCollection(_arg1:String, _arg2):Collection{
var item:*;
var property = _arg1;
var value = _arg2;
var subCollection:Collection = new Collection();
for each (item in _collection) {
try {
if (item[property] == value){
subCollection.addItems(item);
};
} catch(err) {
break;
};
};
return (subCollection);
}
public function intersection(_arg1:Collection):Collection{
var _local3:*;
var _local2:Collection = new Collection();
for each (_local3 in _arg1.itemList) {
if (this.contains(_local3)){
_local2.addItems(_local3);
};
};
return (_local2);
}
public function intersectMany(... _args):Collection{
var _local3:*;
var _local2:Collection = new Collection();
_local2.addItems(_collection);
for each (_local3 in _args) {
if ((_local3 is Collection)){
_local2 = _local2.intersection(_local3);
};
};
return (_local2);
}
public function union(_arg1:Collection):Collection{
var _local2:Collection = new Collection();
_local2.addItems(itemList, _arg1);
return (_local2);
}
public function unionMany(... _args):Collection{
var _local3:*;
var _local2:Collection = new Collection();
_local2.addItems(_collection);
for each (_local3 in _args) {
if ((_local3 is Collection)){
_local2 = _local2.union(_local3);
};
};
return (_local2);
}
public function relComp(_arg1):Collection{
var _local2:Collection = new Collection();
_local2.addItems(_collection);
_local2.removeItems(_arg1);
return (_local2);
}
public function relCompMany(... _args):Collection{
var _local3:*;
var _local2:Collection = new Collection();
_local2.addItems(_collection);
for each (_local3 in _args) {
if ((_local3 is Collection)){
_local2.removeItems(_local3);
};
};
return (_local2);
}
public function numItems():uint{
return (_collection.length);
}
public function get itemList():Array{
return (_collection);
}
public function removeAndDestroyContents(_arg1:MovieClip):void{
var _local2:MovieClip;
while (numItems() > 0) {
for each (_local2 in itemList) {
removeItems(_local2);
_arg1.removeChild(_local2);
_local2 = null;
};
};
}
public function removeAndDestroyDeleteMes(_arg1:MovieClip):void{
var _local3:MovieClip;
var _local2:Collection = new Collection();
for each (_local3 in itemList) {
if (_local3.deleteme == true){
_local2.addItems(_local3);
};
};
for each (_local3 in _local2.itemList) {
removeItems(_local3);
_arg1.removeChild(_local3);
_local3 = null;
};
}
public function runFunction(_arg1:String):void{
var _local2:*;
for each (_local2 in itemList) {
var _local5 = _local2;
_local5[_arg1]();
};
}
public function sendAllToTop():void{
var _local1:MovieClip;
for each (_local1 in itemList) {
if (MovieClip(_local1.parent) != null){
_local1.parent.setChildIndex(_local1, (_local1.parent.numChildren - 1));
};
};
}
public function addItems2(... _args):void{
var _local2:*;
var _local3:*;
for each (_local2 in _args) {
if ((_local2 is Array)){
for each (_local3 in _local2) {
addItems(_local3);
};
} else {
if ((_local2 is Collection)){
for each (_local3 in _local2.itemList) {
addItems(_local3);
};
} else {
if (!contains(_local2)){
_collection.push(_local2);
};
};
};
};
}
}
}//package
Section 76
//Enemy1 (Enemy1)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Enemy1 extends MovieClip {
public var healthBar:MovieClip;
public var _root:MovieClip;
public var health:Number;
public var startHealth:Number;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var cannonPower:Number;
public var cannonRandomization:Number;
public var speed:Number;
public var rateOfFire:Number;
public var cannonDamage:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var oldX:Number;
public var oldY:Number;
public var killed:Boolean;
public var rofI:Number;
public var blipAttached:MovieClip;
public var speedMult:Number;
public var checkPointY:Number;
public var checkPointX:Number;
public var checkPointThreshMax:Number;
public var checkPointThreshhold:Number;
public var checkPointTimer:Number;
public function Enemy1(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
checkPointX = (checkPointX + (_root.dirt.x - oldX));
checkPointY = (checkPointY + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
checkPointTimer++;
if ((((checkPointTimer > checkPointThreshhold)) || ((_root.Kyle.getDistanceBetweenPoints(x, y, checkPointX, checkPointY) < 40)))){
checkPointTimer = 0;
checkPointX = _root.hero.x;
checkPointY = _root.hero.y;
checkPointThreshhold = Math.round((Math.random() * checkPointThreshMax));
};
correctRotation = _root.Kyle.rotationTowardsPoint(this, checkPointX, checkPointY);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
rotation = (rotation + (rotateAmount / 10));
yspeed = (yspeed + _root.Kyle.getVectorComponent(rotation, speed, "y"));
xspeed = (xspeed + _root.Kyle.getVectorComponent(rotation, speed, "x"));
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
if ((((((((x < -20)) || ((x > 660)))) || ((y < -20)))) || ((y > 500)))){
speedMult = 2;
} else {
speedMult = 1;
};
x = (x + (xspeed * speedMult));
y = (y + (yspeed * speedMult));
rofI++;
if (rofI > rateOfFire){
shootCannon();
rofI = 0;
};
healthBar.Update(health, startHealth, rotation);
if (health <= 0){
killed = true;
};
}
public function shootCannon(){
var _local1:* = new EnemyBullet();
_root.addChild(_local1);
_root.myEnemyBullets.addItems(_local1);
_local1.x = x;
_local1.y = y;
_local1.damage = cannonDamage;
_local1.xspeed = ((cannonPower * Math.sin((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.yspeed = (((-1 * cannonPower) * Math.cos((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.rotation = rotation;
_local1.oldX = _root.dirt.x;
_local1.oldY = _root.dirt.y;
}
function frame1(){
_root = MovieClip(root);
xspeed = 0;
yspeed = 0;
friction = 0.8;
cannonPower = 5;
cannonRandomization = 2;
speed = 0.2;
cannonDamage = 10;
correctRotation = 0;
rotateAmount = 0;
oldX = _root.dirt.x;
oldY = _root.dirt.y;
killed = false;
rofI = Math.floor((Math.random() * rateOfFire));
speedMult = 1;
checkPointY = _root.hero.y;
checkPointX = _root.hero.x;
checkPointThreshMax = 200;
checkPointThreshhold = (Math.random() * checkPointThreshMax);
checkPointTimer = Math.round((Math.random() * checkPointThreshhold));
}
}
}//package
Section 77
//Enemy2 (Enemy2)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Enemy2 extends MovieClip {
public var healthBar:MovieClip;
public var inside:MovieClip;
public var _root:MovieClip;
public var health:Number;
public var startHealth:Number;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var cannonPower:Number;
public var cannonRandomization:Number;
public var speed:Number;
public var rateOfFire:Number;
public var cannonDamage:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var oldX:Number;
public var oldY:Number;
public var killed:Boolean;
public var rofI:Number;
public var blipAttached:MovieClip;
public var speedMult:Number;
public var realrotation:Number;
public var checkPointY:Number;
public var checkPointX:Number;
public var checkPointThreshMax:Number;
public var checkPointThreshhold:Number;
public var checkPointTimer:Number;
public var rotationPointY:Number;
public var rotationPointX:Number;
public var rotationPointThreshMax:Number;
public var rotationPointThreshhold:Number;
public var rotationPointTimer:Number;
public function Enemy2(){
addFrameScript(0, frame1);
}
public function Update(){
inside.Update();
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
checkPointX = (checkPointX + (_root.dirt.x - oldX));
checkPointY = (checkPointY + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
checkPointTimer++;
if ((((checkPointTimer > checkPointThreshhold)) || ((_root.Kyle.getDistanceBetweenPoints(x, y, checkPointX, checkPointY) < 40)))){
checkPointTimer = 0;
checkPointX = ((x + (Math.random() * 100)) - 50);
checkPointY = ((y + (Math.random() * 100)) - 50);
if (checkPointX < 0){
checkPointX = (checkPointX + 100);
};
if (checkPointX > 640){
checkPointX = (checkPointX - 100);
};
if (checkPointY < 0){
checkPointY = (checkPointY + 100);
};
if (checkPointY > 480){
checkPointY = (checkPointY - 100);
};
checkPointThreshhold = Math.round((Math.random() * checkPointThreshMax));
};
correctRotation = _root.Kyle.rotationTowardsPoint(this, checkPointX, checkPointY);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - realrotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
realrotation = (realrotation + (rotateAmount / 10));
yspeed = (yspeed + _root.Kyle.getVectorComponent(realrotation, speed, "y"));
xspeed = (xspeed + _root.Kyle.getVectorComponent(realrotation, speed, "x"));
rotationPointTimer++;
if ((((rotationPointTimer > rotationPointThreshhold)) || ((_root.Kyle.getDistanceBetweenPoints(x, y, checkPointX, checkPointY) < 40)))){
rotationPointTimer = 0;
rotationPointX = _root.hero.x;
rotationPointY = _root.hero.y;
checkPointThreshhold = Math.round((Math.random() * rotationPointThreshMax));
};
correctRotation = _root.Kyle.rotationTowardsPoint(this, rotationPointX, rotationPointY);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
rotation = (rotation + (rotateAmount / 10));
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
if ((((((((x < -20)) || ((x > 660)))) || ((y < -20)))) || ((y > 500)))){
speedMult = 2;
} else {
speedMult = 1;
};
x = (x + (xspeed * speedMult));
y = (y + (yspeed * speedMult));
rofI++;
if (rofI > rateOfFire){
shootCannon();
rofI = 0;
};
healthBar.Update(health, startHealth, rotation);
if (health <= 0){
killed = true;
};
}
public function shootCannon(){
var _local1:* = new EnemyBullet();
_root.addChild(_local1);
_root.myEnemyBullets.addItems(_local1);
_local1.x = x;
_local1.y = y;
_local1.damage = cannonDamage;
_local1.xspeed = ((cannonPower * Math.sin((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.yspeed = (((-1 * cannonPower) * Math.cos((rotation * (Math.PI / 180)))) + ((cannonRandomization * Math.random()) - (cannonRandomization / 2)));
_local1.rotation = rotation;
_local1.oldX = _root.dirt.x;
_local1.oldY = _root.dirt.y;
}
function frame1(){
_root = MovieClip(root);
xspeed = 0;
yspeed = 0;
friction = 0.8;
cannonPower = 5;
cannonRandomization = 2;
speed = 0.2;
cannonDamage = 10;
correctRotation = 0;
rotateAmount = 0;
oldX = _root.dirt.x;
oldY = _root.dirt.y;
killed = false;
rofI = Math.floor((Math.random() * rateOfFire));
speedMult = 1;
realrotation = 0;
checkPointY = _root.hero.y;
checkPointX = _root.hero.x;
checkPointThreshMax = 200;
checkPointThreshhold = (Math.random() * checkPointThreshMax);
checkPointTimer = Math.round((Math.random() * checkPointThreshhold));
rotationPointY = _root.hero.y;
rotationPointX = _root.hero.x;
rotationPointThreshMax = 200;
rotationPointThreshhold = (Math.random() * rotationPointThreshMax);
rotationPointTimer = Math.round((Math.random() * rotationPointThreshhold));
}
}
}//package
Section 78
//Enemy3 (Enemy3)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Enemy3 extends MovieClip {
public var healthBar:MovieClip;
public var _root:MovieClip;
public var health:Number;
public var startHealth:Number;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var speed:Number;
public var damage:Number;
public var rateOfFire:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var oldX:Number;
public var oldY:Number;
public var killed:Boolean;
public var blipAttached:MovieClip;
public var speedMult:Number;
public function Enemy3(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
correctRotation = _root.Kyle.rotationTowardsPoint(this, _root.hero.x, _root.hero.y);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
rotation = (rotation + (rotateAmount / 10));
yspeed = (yspeed + _root.Kyle.getVectorComponent(rotation, speed, "y"));
xspeed = (xspeed + _root.Kyle.getVectorComponent(rotation, speed, "x"));
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
if ((((((((x < -20)) || ((x > 660)))) || ((y < -20)))) || ((y > 500)))){
speedMult = 2;
} else {
speedMult = 1;
};
x = (x + (xspeed * speedMult));
y = (y + (yspeed * speedMult));
healthBar.Update(health, startHealth, rotation);
if (health <= 0){
killed = true;
} else {
if (_root.hitTestCircle(this, 20, _root.hero, 20)){
killed = true;
_root.hero.health = (_root.hero.health - damage);
};
};
}
function frame1(){
_root = MovieClip(root);
xspeed = 0;
yspeed = 0;
friction = 0.8;
speed = 0.5;
damage = 20;
correctRotation = 0;
rotateAmount = 0;
oldX = _root.dirt.x;
oldY = _root.dirt.y;
killed = false;
speedMult = 1;
}
}
}//package
Section 79
//EnemyBullet (EnemyBullet)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class EnemyBullet extends MovieClip {
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var damage:Number;
public var removeMe:Boolean;
public var oldX:Number;
public var oldY:Number;
public function EnemyBullet(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
}
function frame1(){
_root = MovieClip(root);
}
}
}//package
Section 80
//Exhaust (Exhaust)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Exhaust extends MovieClip {
public var _root:MovieClip;
public var i:Number;
public var xspeed:Number;
public var yspeed:Number;
public function Exhaust(){
addFrameScript(0, frame1);
}
public function Update(){
i++;
x = (x + xspeed);
y = (y + yspeed);
alpha = (2 / i);
height = i;
width = i;
if (i >= 20){
alpha = 0;
MovieClip(root).myExhausts.removeItems(this);
if (parent != null){
parent.removeChild(this);
};
};
}
function frame1(){
_root = MovieClip(root);
i = 0;
}
}
}//package
Section 81
//ExplosionSound (ExplosionSound)
package {
import flash.media.*;
public dynamic class ExplosionSound extends Sound {
}
}//package
Section 82
//I6introsmall (I6introsmall)
package {
import flash.display.*;
public dynamic class I6introsmall extends MovieClip {
}
}//package
Section 83
//KeyboardManager (KeyboardManager)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class KeyboardManager extends EventDispatcher {
private var stageRef:Stage;
private var initialized:Boolean;// = false
private var keysReference:Object;
private var keysListener:Dictionary;
private static var instance:KeyboardManager;
public function KeyboardManager(_arg1:SingletonLock){
}
public function init(_arg1:Stage):void{
if (initialized == false){
initialized = true;
stageRef = _arg1;
keysReference = new Object();
keysListener = new Dictionary();
stageRef.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 99999);
stageRef.addEventListener(KeyboardEvent.KEY_UP, handleKeyUp, false, 99999);
};
}
public function get isInitialized():Boolean{
return (initialized);
}
private function handleKeyDown(_arg1:KeyboardEvent):void{
keysReference[_arg1.keyCode] = true;
dispatchEvent(_arg1);
}
private function handleKeyUp(_arg1:KeyboardEvent):void{
keysReference[_arg1.keyCode] = false;
dispatchEvent(_arg1);
}
public function isDown(_arg1:uint):Boolean{
if (keysReference[_arg1] == true){
return (true);
};
return (false);
}
public function areKeysPressed(... _args):Boolean{
var _local2:int;
while (_local2 < _args.length) {
if (isDown(_args[_local2]) == false){
return (false);
};
_local2++;
};
return (true);
}
public function isAnyKeyPressed(... _args):Boolean{
var _local2:int;
while (_local2 < _args.length) {
if (isDown(_args[_local2]) == true){
return (true);
};
_local2++;
};
return (false);
}
public static function getInstance():KeyboardManager{
if (instance == null){
instance = new KeyboardManager(new SingletonLock());
};
return (instance);
}
}
}//package
class SingletonLock {
private function SingletonLock(){
}
}
Section 84
//KyleClass (KyleClass)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
public class KyleClass {
public var _root:MovieClip;
public function KyleClass(_arg1:MovieClip){
_root = _arg1;
}
public function ChangeRightClickMenu():void{
var _local1:ContextMenu = new ContextMenu();
_local1.hideBuiltInItems();
var _local2:ContextMenuItem = new ContextMenuItem("kChamp Games");
_local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, gotoKCG);
_local1.customItems.push(_local2);
_root.contextMenu = _local1;
}
public function gotoKCG(_arg1:ContextMenuEvent):void{
var _local2 = "http://www.kchampgames.com/";
var _local3:URLRequest = new URLRequest(_local2);
navigateToURL(_local3, "_blank");
}
public function isOnSite(_arg1:String):Boolean{
if (_root.loaderInfo.url.indexOf(_arg1) == -1){
return (false);
};
return (true);
}
public function addRollover(_arg1:MovieClip, _arg2:String, _arg3:Number):void{
var _local4:RollOverObject = new RollOverObject(_arg1, _arg2, _arg3);
_arg1.addEventListener(MouseEvent.ROLL_OVER, _local4.doRollOver);
_arg1.addEventListener(MouseEvent.ROLL_OUT, _local4.doRollOut);
}
public function getDistanceBetween(_arg1:MovieClip, _arg2:MovieClip):Number{
var _local3:Number = (_arg1.x - _arg2.x);
var _local4:Number = (_arg1.y - _arg2.y);
var _local5:Number = Math.abs(Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
return (_local5);
}
public function getDistanceBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number = (_arg1 - _arg3);
var _local6:Number = (_arg2 - _arg4);
var _local7:Number = Math.abs(Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
return (_local7);
}
public function getVectorComponent(_arg1:Number, _arg2:Number, _arg3:String):Number{
if (_arg3 == "x"){
return ((_arg2 * Math.sin((_arg1 * (Math.PI / 180)))));
};
if (_arg3 == "y"){
return (((-1 * _arg2) * Math.cos((_arg1 * (Math.PI / 180)))));
};
return (0);
}
public function rotationTowardsMouse(_arg1:MovieClip):Number{
var _local2:Number = (_arg1.x - _root.mouseX);
var _local3:Number = (_arg1.y - _root.mouseY);
var _local4:* = Math.atan2(_local3, _local2);
var _local5:* = ((_local4 * (180 / Math.PI)) - 90);
return (_local5);
}
public function rotationTowardsPoint(_arg1:MovieClip, _arg2:Number, _arg3:Number):Number{
var _local4:Number = (_arg1.x - _arg2);
var _local5:Number = (_arg1.y - _arg3);
var _local6:* = Math.atan2(_local5, _local4);
var _local7:* = ((_local6 * (180 / Math.PI)) - 90);
return (_local7);
}
public function rotationTowardsObject(_arg1:MovieClip, _arg2:MovieClip):Number{
var _local3:Number = (_arg1.x - _arg2.x);
var _local4:Number = (_arg1.y - _arg2.y);
var _local5:* = Math.atan2(_local4, _local3);
var _local6:* = ((_local5 * (180 / Math.PI)) - 90);
return (_local6);
}
public function circleHitTest(_arg1:MovieClip, _arg2:MovieClip):Boolean{
var _local3:Number = (_arg1.x - _arg2.x);
var _local4:Number = (_arg1.y - _arg2.y);
var _local5:Number = Math.abs(Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
var _local6:Number = ((_arg1.width / 2) + (_arg2.width / 2));
if (_local5 < _local6){
return (true);
};
return (false);
}
public function circleRadHitTest(_arg1:MovieClip, _arg2:Number, _arg3:MovieClip, _arg4:Number):Boolean{
var _local5:Number = (_arg1.x - _arg3.x);
var _local6:Number = (_arg1.y - _arg3.y);
var _local7:Number = Math.abs(Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
var _local8:Number = (_arg2 + _arg4);
if (_local7 < _local8){
return (true);
};
return (false);
}
}
}//package
Section 85
//LaserSound (LaserSound)
package {
import flash.media.*;
public dynamic class LaserSound extends Sound {
}
}//package
Section 86
//LoopSound (LoopSound)
package {
import flash.media.*;
public dynamic class LoopSound extends Sound {
}
}//package
Section 87
//MachineGunSound (MachineGunSound)
package {
import flash.media.*;
public dynamic class MachineGunSound extends Sound {
}
}//package
Section 88
//MenuRocket (MenuRocket)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class MenuRocket extends MovieClip {
public var inside:MovieClip;
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var speed:Number;
public var friction:Number;
public var damage:Number;
public var timer:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var rotateThresh:Number;
public function MenuRocket(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
if (timer < 8){
} else {
if (timer < 20){
rotation = (rotation + (rotateAmount / 10));
yspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "y") * (timer + 20)) / 7);
xspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "x") * (timer + 20)) / 7);
} else {
rotation = (rotation + (rotateAmount / 2));
yspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "y") * (timer + 20)) / 5);
xspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "x") * (timer + 20)) / 5);
};
};
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
timer++;
}
public function hitEnemy(){
if (MovieClip(root) != null){
if (!MovieClip(root).muteSound){
MovieClip(root).smallExplosionSound.play(0, 1);
};
MovieClip(root).spawnMiniSplosion(x, y);
MovieClip(root).bulRemoved = true;
MovieClip(root).myEnemy.health = (MovieClip(root).myEnemy.health - damage);
MovieClip(root).bin.addItems(this);
if (this.parent != null){
this.parent.removeChild(this);
};
};
}
function frame1(){
_root = MovieClip(root);
friction = 0.9;
timer = 0;
oldX = _root.dirt.x;
oldY = _root.dirt.y;
correctRotation = 0;
rotateAmount = 0;
}
}
}//package
Section 89
//MiniSplosion (MiniSplosion)
package {
import flash.display.*;
public dynamic class MiniSplosion extends MovieClip {
public function MiniSplosion(){
addFrameScript(9, frame10);
}
function frame10(){
if (parent != null){
parent.removeChild(this);
};
}
}
}//package
Section 90
//Missile1 (Missile1)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Missile1 extends MovieClip {
public var inside:MovieClip;
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var speed:Number;
public var friction:Number;
public var damage:Number;
public var timer:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var rotateThresh:Number;
public function Missile1(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
if (_root.targetBox.enemyToLockOn){
correctRotation = _root.Kyle.rotationTowardsObject(this, _root.targetBox.enemyToLockOn);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
if (!(Math.abs(rotateAmount) < 45)){
rotateAmount = 0;
};
} else {
rotateAmount = 0;
};
if (timer < 8){
} else {
if (timer < 20){
rotation = (rotation + (rotateAmount / 10));
yspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "y") * (timer + 20)) / 7);
xspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "x") * (timer + 20)) / 7);
} else {
rotation = (rotation + (rotateAmount / 2));
yspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "y") * (timer + 20)) / 5);
xspeed = ((_root.Kyle.getVectorComponent(rotation, speed, "x") * (timer + 20)) / 5);
};
};
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
timer++;
}
public function hitEnemy(){
if (MovieClip(root) != null){
if (!MovieClip(root).muteSound){
MovieClip(root).smallExplosionSound.play(0, 1);
};
MovieClip(root).spawnMiniSplosion(x, y);
MovieClip(root).bulRemoved = true;
MovieClip(root).myEnemy.health = (MovieClip(root).myEnemy.health - damage);
MovieClip(root).bin.addItems(this);
if (this.parent != null){
this.parent.removeChild(this);
};
};
}
function frame1(){
_root = MovieClip(root);
friction = 0.9;
timer = 0;
oldX = _root.dirt.x;
oldY = _root.dirt.y;
correctRotation = 0;
rotateAmount = 0;
}
}
}//package
Section 91
//Missile2 (Missile2)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Missile2 extends MovieClip {
public var inside:MovieClip;
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var damage:Number;
public var radius:Number;
public var timer:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public function Missile2(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
if (_root.targetBox.enemyToLockOn){
correctRotation = _root.Kyle.rotationTowardsObject(this, _root.targetBox.enemyToLockOn);
if (correctRotation < 0){
correctRotation = (correctRotation + 360);
};
rotateAmount = (correctRotation - rotation);
if (rotateAmount < -180){
rotateAmount = (rotateAmount + 360);
};
if (rotateAmount > 180){
rotateAmount = (rotateAmount - 360);
};
if (!(Math.abs(rotateAmount) < 45)){
rotateAmount = 0;
};
} else {
rotateAmount = 0;
};
if (timer > 20){
explode();
};
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
timer++;
}
public function explode(){
var _local2:MovieClip;
var _local1:* = new Missile2Explosion();
_local1._root = _root;
_local1.x = x;
_local1.y = y;
_local1.scaleX = (radius / 40);
_local1.scaleY = (radius / 40);
if (!MovieClip(root).muteSound){
MovieClip(root).explosionSound.play(0, 1);
};
for each (_local2 in _root.myEnemies.itemList) {
if (_root.Kyle.circleRadHitTest(this, radius, _local2, 5)){
_local2.health = (_local2.health - damage);
};
};
_root.addChild(_local1);
_root.myMissiles.removeItems(this);
MovieClip(parent).removeChild(this);
}
public function hitEnemy(){
}
function frame1(){
_root = MovieClip(root);
friction = 0.97;
timer = 0;
oldX = _root.dirt.x;
oldY = _root.dirt.y;
correctRotation = 0;
rotateAmount = 0;
}
}
}//package
Section 92
//Missile2Explosion (Missile2Explosion)
package {
import flash.display.*;
public dynamic class Missile2Explosion extends MovieClip {
public var _root;
public function Missile2Explosion(){
addFrameScript(0, frame1, 29, frame30);
}
function frame1(){
}
function frame30(){
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 93
//Missile3 (Missile3)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Missile3 extends MovieClip {
public var inside:MovieClip;
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var damage:Number;
public var timer:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var leaf:Number;
public var splitTimes;
public var timeToSplit;
public function Missile3(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (MovieClip(root).dirt.x - oldX));
y = (y + (MovieClip(root).dirt.y - oldY));
oldX = MovieClip(root).dirt.x;
oldY = MovieClip(root).dirt.y;
if (timer > timeToSplit){
if (leaf <= splitTimes){
split();
};
};
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
timer++;
}
public function split(){
var _local1:Missile3;
var _local2:Number;
_local1 = new Missile3();
_local2 = ((Math.random() * 4) + 8);
_local1.x = x;
_local1.y = y;
MovieClip(root).myMissiles.addItems(_local1);
_local1.xspeed = MovieClip(root).Kyle.getVectorComponent((rotation + _local2), MovieClip(root).hero.missile3Speed, "x");
_local1.yspeed = MovieClip(root).Kyle.getVectorComponent((rotation + _local2), MovieClip(root).hero.missile3Speed, "y");
_local1.oldX = MovieClip(root).dirt.x;
_local1.oldY = MovieClip(root).dirt.y;
_local1.friction = 1;
_local1.rotation = (rotation + _local2);
_local1.inside.gotoAndStop(MovieClip(root).ug5Level);
_local1.damage = damage;
_local1.splitTimes = splitTimes;
_local1.timeToSplit = timeToSplit;
_local1.leaf = (leaf + 1);
MovieClip(root).addChild(_local1);
_local1 = new Missile3();
_local2 = ((Math.random() * 10) + 10);
_local1.x = x;
_local1.y = y;
MovieClip(root).myMissiles.addItems(_local1);
_local1.xspeed = MovieClip(root).Kyle.getVectorComponent((rotation - _local2), MovieClip(root).hero.missile3Speed, "x");
_local1.yspeed = MovieClip(root).Kyle.getVectorComponent((rotation - _local2), MovieClip(root).hero.missile3Speed, "y");
_local1.oldX = MovieClip(root).dirt.x;
_local1.oldY = MovieClip(root).dirt.y;
_local1.friction = 1;
_local1.rotation = (rotation - _local2);
_local1.inside.gotoAndStop(MovieClip(root).ug5Level);
_local1.damage = damage;
_local1.splitTimes = splitTimes;
_local1.timeToSplit = timeToSplit;
_local1.leaf = (leaf + 1);
MovieClip(root).addChild(_local1);
MovieClip(root).myMissiles.removeItems(this);
MovieClip(parent).removeChild(this);
}
public function hitEnemy(){
if (MovieClip(root) != null){
if (!MovieClip(root).muteSound){
MovieClip(root).smallExplosionSound.play(0, 1);
};
MovieClip(root).spawnMiniSplosion(x, y);
MovieClip(root).bulRemoved = true;
MovieClip(root).myEnemy.health = (MovieClip(root).myEnemy.health - damage);
MovieClip(root).bin.addItems(this);
if (this.parent != null){
this.parent.removeChild(this);
};
};
}
function frame1(){
_root = MovieClip(root);
timer = 0;
correctRotation = 0;
rotateAmount = 0;
}
}
}//package
Section 94
//Missile4 (Missile4)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Missile4 extends MovieClip {
public var inside:MovieClip;
public var _root:MovieClip;
public var xspeed:Number;
public var yspeed:Number;
public var friction:Number;
public var damage:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public function Missile4(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (MovieClip(root).dirt.x - oldX));
y = (y + (MovieClip(root).dirt.y - oldY));
oldX = MovieClip(root).dirt.x;
oldY = MovieClip(root).dirt.y;
xspeed = (xspeed * friction);
yspeed = (yspeed * friction);
x = (x + xspeed);
y = (y + yspeed);
if ((((((((x < -50)) || ((x > 690)))) || ((y < -50)))) || ((y > 530)))){
removeMe = true;
};
}
public function hitEnemy(){
if (MovieClip(root) != null){
MovieClip(root).spawnMiniSplosion(x, y);
if (!MovieClip(root).muteSound){
MovieClip(root).smallExplosionSound.play(0, 1);
};
MovieClip(root).bulRemoved = true;
MovieClip(root).myEnemy.health = (MovieClip(root).myEnemy.health - damage);
MovieClip(root).bin.addItems(this);
if (this.parent != null){
this.parent.removeChild(this);
};
};
}
function frame1(){
_root = MovieClip(root);
correctRotation = 0;
rotateAmount = 0;
}
}
}//package
Section 95
//Missile5 (Missile5)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Missile5 extends MovieClip {
public var laser:MovieClip;
public var invis:MovieClip;
public var _root:MovieClip;
public var damage:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var myEnemy:MovieClip;
public var timer:Number;
public function Missile5(){
addFrameScript(0, frame1);
}
public function Update(){
x = MovieClip(root).hero.x;
y = MovieClip(root).hero.y;
rotation = MovieClip(root).hero.rotation;
for each (myEnemy in MovieClip(root).myEnemies.itemList) {
if (hitTestPoint(myEnemy.x, myEnemy.y, true)){
if ((((((((myEnemy.x > 0)) && ((myEnemy.x < 640)))) && ((myEnemy.y > 0)))) && ((myEnemy.y < 480)))){
hitEnemy();
};
};
};
timer++;
if (timer > 29){
removeMe = true;
};
}
public function hitEnemy(){
if (MovieClip(root) != null){
myEnemy.health = (myEnemy.health - damage);
};
}
function frame1(){
_root = MovieClip(root);
correctRotation = 0;
rotateAmount = 0;
timer = 0;
}
}
}//package
Section 96
//Missile6 (Missile6)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class Missile6 extends MovieClip {
public var inside:MovieClip;
public var _root:MovieClip;
public var damage:Number;
public var removeMe;
public var oldX:Number;
public var oldY:Number;
public var correctRotation:Number;
public var rotateAmount:Number;
public var enemyToLockOn:MovieClip;
public function Missile6(){
addFrameScript(0, frame1);
}
public function Update(){
x = (x + (_root.dirt.x - oldX));
y = (y + (_root.dirt.y - oldY));
oldX = _root.dirt.x;
oldY = _root.dirt.y;
}
public function hitEnemy(){
if (MovieClip(root) != null){
if (!MovieClip(root).muteSound){
MovieClip(root).smallExplosionSound.play(0, 1);
};
MovieClip(root).spawnMiniSplosion(x, y);
MovieClip(root).bulRemoved = true;
MovieClip(root).myEnemy.health = (MovieClip(root).myEnemy.health - damage);
MovieClip(root).bin.addItems(this);
if (this.parent != null){
this.parent.removeChild(this);
};
};
}
function frame1(){
_root = MovieClip(root);
oldX = _root.dirt.x;
oldY = _root.dirt.y;
correctRotation = 0;
rotateAmount = 0;
}
}
}//package
Section 97
//MissileSound (MissileSound)
package {
import flash.media.*;
public dynamic class MissileSound extends Sound {
}
}//package
Section 98
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 99
//Pbco (Pbco)
package {
import flash.display.*;
public dynamic class Pbco extends MovieClip {
public function Pbco(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
visible = false;
}
}
}//package
Section 100
//PowerUp (PowerUp)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class PowerUp extends MovieClip {
public var picture:MovieClip;
public var whichPU:uint;
public var experienced:Boolean;
public var oldX:Number;
public var oldY:Number;
public function PowerUp(){
addFrameScript(0, frame1, 9, frame10);
}
public function Update(){
x = (x + (MovieClip(root).dirt.x - oldX));
y = (y + (MovieClip(root).dirt.y - oldY));
oldX = MovieClip(root).dirt.x;
oldY = MovieClip(root).dirt.y;
experienced = true;
}
public function hitHero(){
if (whichPU == 1){
MovieClip(root).hero.health = (MovieClip(root).hero.health + 50);
if (MovieClip(root).hero.health > MovieClip(root).hero.totalHealth){
MovieClip(root).hero.health = MovieClip(root).hero.totalHealth;
};
};
if (whichPU == 2){
MovieClip(root).money = (MovieClip(root).money + 100);
};
if (whichPU == 3){
MovieClip(root).ammo1 = (MovieClip(root).ammo1 + 10);
};
if (whichPU == 4){
MovieClip(root).ammo2 = (MovieClip(root).ammo2 + 10);
};
if (whichPU == 5){
MovieClip(root).ammo3 = (MovieClip(root).ammo3 + 10);
};
if (whichPU == 6){
MovieClip(root).ammo4 = (MovieClip(root).ammo4 + 10);
};
if (whichPU == 7){
MovieClip(root).ammo5 = (MovieClip(root).ammo5 + 10);
};
if (whichPU == 8){
MovieClip(root).ammo6 = (MovieClip(root).ammo6 + 10);
};
MovieClip(root).bin.addItems(this);
if (!MovieClip(root).muteSound){
MovieClip(root).puSound.play(0, 1);
};
play();
}
function frame1(){
stop();
picture.gotoAndStop(whichPU);
experienced = false;
}
function frame10(){
if (parent != null){
parent.removeChild(this);
};
}
}
}//package
Section 101
//PreLoaderBackgreound (PreLoaderBackgreound)
package {
import flash.display.*;
public dynamic class PreLoaderBackgreound extends Sprite {
}
}//package
Section 102
//PreloaderFont (PreloaderFont)
package {
import flash.text.*;
public dynamic class PreloaderFont extends Font {
}
}//package
Section 103
//PUSound (PUSound)
package {
import flash.media.*;
public dynamic class PUSound extends Sound {
}
}//package
Section 104
//RollOverObject (RollOverObject)
package {
import flash.display.*;
import flash.events.*;
import fl.motion.*;
import flash.filters.*;
public class RollOverObject {
public var mc:MovieClip;
public var str:String;
public var num:Number;
public function RollOverObject(_arg1:MovieClip, _arg2:String, _arg3:Number){
mc = _arg1;
str = _arg2;
num = _arg3;
}
public function doRollOver(_arg1:Event){
var _local2:Color = new Color();
if (str == "lightTint"){
_local2.setTint(0xFFFFFF, num);
mc.transform.colorTransform = _local2;
};
if (str == "darkTint"){
_local2.setTint(0, num);
mc.transform.colorTransform = _local2;
};
if (str == "alpha"){
mc.alpha = num;
};
var _local3:GlowFilter = new GlowFilter();
_local3.alpha = 0.5;
_local3.quality = 1;
if (str == "lightGlow"){
_local3.color = 0xFFFFFF;
_local3.blurX = num;
_local3.blurY = num;
mc.filters = [_local3];
};
if (str == "darkGlow"){
_local3.color = 0;
_local3.blurX = num;
_local3.blurY = num;
mc.filters = [_local3];
};
if (str == "frame"){
mc.gotoAndStop(2);
};
}
public function doRollOut(_arg1:Event){
var _local2:Color = new Color();
if (str == "lightTint"){
_local2.setTint(0xFFFFFF, 0);
mc.transform.colorTransform = _local2;
};
if (str == "darkTint"){
_local2.setTint(0, 0);
mc.transform.colorTransform = _local2;
};
if (str == "alpha"){
mc.alpha = 100;
};
if (str == "lightGlow"){
mc.filters = [];
};
if (str == "darkGlow"){
mc.filters = [];
};
if (str == "frame"){
mc.gotoAndStop(1);
};
}
}
}//package
Section 105
//SmallExplosionSound (SmallExplosionSound)
package {
import flash.media.*;
public dynamic class SmallExplosionSound extends Sound {
}
}//package
Section 106
//TimeFunction (TimeFunction)
package {
import flash.display.*;
import flash.events.*;
public class TimeFunction {
public var Root:MovieClip;
public var frms:uint;
public var funct:Function;
public var timer:uint;
public function TimeFunction(_arg1:MovieClip, _arg2:uint, _arg3:Function){
Root = _arg1;
frms = _arg2;
funct = _arg3;
timer = 0;
Root.addEventListener(Event.ENTER_FRAME, onFrame);
}
public function onFrame(_arg1:Event){
timer++;
if (timer == frms){
if (funct != null){
funct();
Utils.deleteInstance(this);
};
};
}
}
}//package
Section 107
//Utils (Utils)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
public class Utils {
public static var Root:MovieClip;
public static function init(_arg1:MovieClip):void{
Root = _arg1;
}
public static function isOnSite(_arg1:String):Boolean{
if (Root.loaderInfo.url.indexOf(_arg1) == -1){
return (false);
};
return (true);
}
public static function ChangeRightClickMenu():void{
var _local1:ContextMenu = new ContextMenu();
_local1.hideBuiltInItems();
var _local2:ContextMenuItem = new ContextMenuItem("kChamp Games");
_local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, gotoKCG);
_local1.customItems.push(_local2);
Root.contextMenu = _local1;
}
public static function gotoKCG(_arg1:ContextMenuEvent):void{
var _local2 = "http://www.kchampgames.com/";
var _local3:URLRequest = new URLRequest(_local2);
navigateToURL(_local3, "_blank");
}
public static function addRollOver(_arg1:MovieClip, _arg2:String, _arg3:Number):void{
var _local4:RollOverObject = new RollOverObject(_arg1, _arg2, _arg3);
_arg1.addEventListener(MouseEvent.ROLL_OVER, _local4.doRollOver);
_arg1.addEventListener(MouseEvent.ROLL_OUT, _local4.doRollOut);
}
public static function makeHighestDepth(_arg1:MovieClip){
if (MovieClip(_arg1.parent) != null){
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
};
}
public static function removeMC(_arg1:MovieClip){
if (MovieClip(_arg1.parent) != null){
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
_arg1.parent.removeChild(_arg1);
_arg1 = null;
};
}
public static function playSound(_arg1:String){
if (!Root.muteSound){
Root[_arg1].play(0, 1);
};
}
public static function dateToString(_arg1:Date):String{
var _local2:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
return (((((_local2[_arg1.getMonth()] + " ") + _arg1.getDate()) + ", ") + _arg1.getFullYear()));
}
public static function addTimeFunction(_arg1:uint, _arg2:Function){
var _local3:TimeFunction = new TimeFunction(Root, _arg1, _arg2);
}
public static function deleteInstance(_arg1){
_arg1 = null;
}
}
}//package
Section 108
//WhipSound (WhipSound)
package {
import flash.media.*;
public dynamic class WhipSound extends Sound {
}
}//package