Section 1
//NewgroundsAPIAsset_API_Conencted_4 (APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_API_Conencted_4 extends MovieClip {
public function NewgroundsAPIAsset_API_Conencted_4(){
addFrameScript(36, frame37);
}
function frame37(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 2
//NewgroundsAPIAsset_ConnectingAPI_2 (APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2)
package APIConnector_fla {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_ConnectingAPI_2 extends MovieClip {
public function NewgroundsAPIAsset_ConnectingAPI_2(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package APIConnector_fla
Section 3
//NewgroundsAPIAsset_Connection_Error_7 (APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Connection_Error_7 extends MovieClip {
public function NewgroundsAPIAsset_Connection_Error_7(){
addFrameScript(9, frame10, 20, frame21);
}
function frame21(){
APIConnector(parent).clear();
}
function frame10(){
stop();
}
}
}//package APIConnector_fla
Section 4
//NewgroundsAPIAsset_Load_Indicator_3 (APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3)
package APIConnector_fla {
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip {
public function NewgroundsAPIAsset_Load_Indicator_3(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(_arg1:Event):void{
if (((visible) && (stage))){
rotation = (rotation + 30);
} else {
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
};
}
}
}//package APIConnector_fla
Section 5
//NewgroundsAPIAsset_Login_Warning_5 (APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Login_Warning_5 extends MovieClip {
public function NewgroundsAPIAsset_Login_Warning_5(){
addFrameScript(9, frame10, 20, frame21);
}
function frame21(){
APIConnector(parent).clear();
}
function frame10(){
stop();
}
}
}//package APIConnector_fla
Section 6
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 7
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 8
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var originalValueComplete:Object;
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var valueComplete:Number;
public var extra:Object;
public var valueStart:Number;
public var modifierFunction:Function;
public var arrayIndex:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1:String;
_local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 9
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var preProcess:Function;
public var setValue:Function;
public var getValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 10
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 11
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
parameters = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 12
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
public static var autoOverwrite:Boolean = true;
private static var _engineExists:Boolean = false;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyModifierList:Object;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
var _local6:SpecialProperty;
if (!_inited){
init();
};
_local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
_local5 = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local6 = (isNaN(_local5.time)) ? 0 : _local5.time;
_local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
var _local5:SpecialPropertySplitter;
var _local6:Array;
var _local7:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
if (_specialPropertySplitterList[_args[_local4]]){
_local5 = _specialPropertySplitterList[_args[_local4]];
_local6 = _local5.splitValues(_arg1, null);
_local7 = 0;
while (_local7 < _local6.length) {
_local3.push(_local6[_local7].name);
_local7++;
};
} else {
_local3.push(_args[_local4]);
};
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
var _local3:Number;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local3 = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.33.74");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
updateFrame();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var cTime:Number;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
cTime = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e2:Error) {
handleError(tTweening, e2, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e3:Error) {
handleError(tTweening, e3, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e4:Error) {
handleError(tTweening, e4, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Object;
var _local12:Object;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
_local7 = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
_local10 = new Array();
_local11 = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
_local12 = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
};
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 13
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var transition:Function;
public var timePaused:Number;
public var onCompleteParams:Array;
public var timesCalled:Number;
public var isCaller:Boolean;
public var onError:Function;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local2:TweenListObj;
var _local3:String;
_local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local1:String;
var _local2:Boolean;
var _local3:String;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = true;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 14
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
public static function hash(_arg1:String):String{
var _local2:ByteArray = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
public static function hashBytes(_arg1:ByteArray):String{
return (hashBinary(_arg1));
}
public static function hashBinary(_arg1:ByteArray):String{
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local2 = 1732584193;
var _local3 = -271733879;
var _local4 = -1732584194;
var _local5 = 271733878;
var _local10:Array = createBlocks(_arg1);
var _local11:int = _local10.length;
var _local12:int;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
digest = new ByteArray();
digest.writeInt(_local2);
digest.writeInt(_local3);
digest.writeInt(_local4);
digest.writeInt(_local5);
digest.position = 0;
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:ByteArray):Array{
var _local2:Array = new Array();
var _local3:int = (_arg1.length * 8);
var _local4 = 0xFF;
var _local5:int;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
}
}//package com.adobe.crypto
Section 15
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class PNGEncoder {
private static var crcTable:Array;
private static var crcTableComputed:Boolean = false;
public static function encode(_arg1:BitmapData):ByteArray{
var _local6:uint;
var _local7:int;
var _local2:ByteArray = new ByteArray();
_local2.writeUnsignedInt(2303741511);
_local2.writeUnsignedInt(218765834);
var _local3:ByteArray = new ByteArray();
_local3.writeInt(_arg1.width);
_local3.writeInt(_arg1.height);
_local3.writeUnsignedInt(134610944);
_local3.writeByte(0);
writeChunk(_local2, 1229472850, _local3);
var _local4:ByteArray = new ByteArray();
var _local5:int;
while (_local5 < _arg1.height) {
_local4.writeByte(0);
if (!_arg1.transparent){
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF)));
_local7++;
};
} else {
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel32(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24))));
_local7++;
};
};
_local5++;
};
_local4.compress();
writeChunk(_local2, 1229209940, _local4);
writeChunk(_local2, 1229278788, null);
return (_local2);
}
private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{
var _local8:uint;
var _local9:uint;
var _local10:uint;
if (!crcTableComputed){
crcTableComputed = true;
crcTable = [];
_local9 = 0;
while (_local9 < 0x0100) {
_local8 = _local9;
_local10 = 0;
while (_local10 < 8) {
if ((_local8 & 1)){
_local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1))));
} else {
_local8 = uint((_local8 >>> 1));
};
_local10++;
};
crcTable[_local9] = _local8;
_local9++;
};
};
var _local4:uint;
if (_arg3 != null){
_local4 = _arg3.length;
};
_arg1.writeUnsignedInt(_local4);
var _local5:uint = _arg1.position;
_arg1.writeUnsignedInt(_arg2);
if (_arg3 != null){
_arg1.writeBytes(_arg3);
};
var _local6:uint = _arg1.position;
_arg1.position = _local5;
_local8 = 4294967295;
var _local7:int;
while (_local7 < (_local6 - _local5)) {
_local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8))));
_local7++;
};
_local8 = uint((_local8 ^ uint(4294967295)));
_arg1.position = _local6;
_arg1.writeUnsignedInt(_local8);
}
}
}//package com.adobe.images
Section 16
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder = new JSONEncoder(_arg1);
return (_local2.getString());
}
public static function decode(_arg1:String){
var _local2:JSONDecoder = new JSONDecoder(_arg1);
return (_local2.getValue());
}
}
}//package com.adobe.serialization.json
Section 17
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
this.tokenizer = new JSONTokenizer(_arg1);
this.nextToken();
this.value = this.parseValue();
}
public function getValue(){
return (this.value);
}
private function nextToken():JSONToken{
return ((this.token = this.tokenizer.getNextToken()));
}
private function parseArray():Array{
var _local1:Array = new Array();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(this.parseValue());
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (this.token.type == JSONTokenType.COMMA){
this.nextToken();
} else {
this.tokenizer.parseError(("Expecting ] or , but found " + this.token.value));
};
};
return (null);
}
private function parseObject():Object{
var _local2:String;
var _local1:Object = new Object();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (this.token.type == JSONTokenType.STRING){
_local2 = String(this.token.value);
this.nextToken();
if (this.token.type == JSONTokenType.COLON){
this.nextToken();
_local1[_local2] = this.parseValue();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (this.token.type == JSONTokenType.COMMA){
this.nextToken();
} else {
this.tokenizer.parseError(("Expecting } or , but found " + this.token.value));
};
} else {
this.tokenizer.parseError(("Expecting : but found " + this.token.value));
};
} else {
this.tokenizer.parseError(("Expecting string but found " + this.token.value));
};
};
return (null);
}
private function parseValue():Object{
if (this.token == null){
this.tokenizer.parseError("Unexpected end of input");
};
switch (this.token.type){
case JSONTokenType.LEFT_BRACE:
return (this.parseObject());
case JSONTokenType.LEFT_BRACKET:
return (this.parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (this.token.value);
default:
this.tokenizer.parseError(("Unexpected " + this.token.value));
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 18
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
this.jsonString = this.convertToString(_arg1);
}
public function getString():String{
return (this.jsonString);
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (this.escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (this.arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (this.objectToString(_arg1));
};
};
};
return ("null");
}
private function escapeString(_arg1:String):String{
var _local3:String;
var _local6:String;
var _local7:String;
var _local2 = "";
var _local4:Number = _arg1.length;
var _local5:int;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function arrayToString(_arg1:Array):String{
var _local2 = "";
var _local3:int;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + this.convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
private function objectToString(_arg1:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
var s = "";
var classInfo:XML = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((this.escapeString(key) + ":") + this.convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((this.escapeString(v.@name.toString()) + ":") + this.convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
}
}//package com.adobe.serialization.json
Section 19
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
name = "JSONParseError";
this._location = _arg2;
this._text = _arg3;
}
public function get location():int{
return (this._location);
}
public function get text():String{
return (this._text);
}
}
}//package com.adobe.serialization.json
Section 20
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _type:int;
private var _value:Object;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
this._type = _arg1;
this._value = _arg2;
}
public function get type():int{
return (this._type);
}
public function set type(_arg1:int):void{
this._type = _arg1;
}
public function get value():Object{
return (this._value);
}
public function set value(_arg1:Object):void{
this._value = _arg1;
}
}
}//package com.adobe.serialization.json
Section 21
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var obj:Object;
private var jsonString:String;
private var loc:int;
private var ch:String;
public function JSONTokenizer(_arg1:String){
this.jsonString = _arg1;
this.loc = 0;
this.nextChar();
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var _local1:JSONToken = new JSONToken();
this.skipIgnored();
switch (this.ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
this.nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
this.nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
this.nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
this.nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
this.nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
this.nextChar();
break;
case "t":
_local2 = ((("t" + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
this.nextChar();
} else {
this.parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + this.nextChar()) + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
this.nextChar();
} else {
this.parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
this.nextChar();
} else {
this.parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = this.readString();
break;
default:
if (((this.isDigit(this.ch)) || ((this.ch == "-")))){
_local1 = this.readNumber();
} else {
if (this.ch == ""){
return (null);
};
this.parseError((("Unexpected " + this.ch) + " encountered"));
};
};
return (_local1);
}
private function readString():JSONToken{
var _local3:String;
var _local4:int;
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.STRING;
var _local2 = "";
this.nextChar();
while (((!((this.ch == "\""))) && (!((this.ch == ""))))) {
if (this.ch == "\\"){
this.nextChar();
switch (this.ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!this.isHexDigit(this.nextChar())){
this.parseError((" Excepted a hex digit, but found: " + this.ch));
};
_local3 = (_local3 + this.ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + this.ch));
};
} else {
_local2 = (_local2 + this.ch);
};
this.nextChar();
};
if (this.ch == ""){
this.parseError("Unterminated string literal");
};
this.nextChar();
_local1.value = _local2;
return (_local1);
}
private function readNumber():JSONToken{
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
var _local2 = "";
if (this.ch == "-"){
_local2 = (_local2 + "-");
this.nextChar();
};
if (!this.isDigit(this.ch)){
this.parseError("Expecting a digit");
};
if (this.ch == "0"){
_local2 = (_local2 + this.ch);
this.nextChar();
if (this.isDigit(this.ch)){
this.parseError("A digit cannot immediately follow 0");
};
} else {
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
if (this.ch == "."){
_local2 = (_local2 + ".");
this.nextChar();
if (!this.isDigit(this.ch)){
this.parseError("Expecting a digit");
};
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
if ((((this.ch == "e")) || ((this.ch == "E")))){
_local2 = (_local2 + "e");
this.nextChar();
if ((((this.ch == "+")) || ((this.ch == "-")))){
_local2 = (_local2 + this.ch);
this.nextChar();
};
if (!this.isDigit(this.ch)){
this.parseError("Scientific notation number needs exponent value");
};
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
var _local3:Number = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
this.parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
private function nextChar():String{
return ((this.ch = this.jsonString.charAt(this.loc++)));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = this.loc;
this.skipWhite();
this.skipComments();
} while (_local1 != this.loc);
}
private function skipComments():void{
if (this.ch == "/"){
this.nextChar();
switch (this.ch){
case "/":
do {
this.nextChar();
} while (((!((this.ch == "\n"))) && (!((this.ch == "")))));
this.nextChar();
break;
case "*":
this.nextChar();
while (true) {
if (this.ch == "*"){
this.nextChar();
if (this.ch == "/"){
this.nextChar();
break;
};
} else {
this.nextChar();
};
if (this.ch == ""){
this.parseError("Multi-line comment not closed");
};
};
break;
default:
this.parseError((("Unexpected " + this.ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function skipWhite():void{
while (this.isWhiteSpace(this.ch)) {
this.nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String = _arg1.toUpperCase();
return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, this.loc, this.jsonString));
}
}
}//package com.adobe.serialization.json
Section 22
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACE:int = 1;
public static const RIGHT_BRACE:int = 2;
public static const LEFT_BRACKET:int = 3;
public static const RIGHT_BRACKET:int = 4;
public static const COLON:int = 6;
public static const TRUE:int = 7;
public static const FALSE:int = 8;
public static const NULL:int = 9;
public static const STRING:int = 10;
public static const NUMBER:int = 11;
}
}//package com.adobe.serialization.json
Section 23
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local4:int;
var _local5:int;
var _local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
}
}//package com.adobe.utils
Section 24
//APIConnector (com.newgrounds.components.APIConnector)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class APIConnector extends MovieClip {
public var errorDialog:MovieClip;
public var background:MovieClip;
public var viewLatestButton:SimpleButton;
public var closeButton:SimpleButton;
public var viewAuthorizedButton:SimpleButton;
private var _initialized:Boolean;
private var _movieId:String;
private var _encryptionKey:String;
private var _movieVersion:String;
private var _showConnectingPopup:Boolean;// = true
private var _useErrorPopup:Boolean;// = true
private var _medalPopup:MedalPopup;
private var _popDelay:Timer;
public function APIConnector(){
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 6, this.frame7, 7, this.frame8);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
this.useErrorPopup = true;
this.useMedalPopup = true;
this._popDelay.addEventListener(TimerEvent.TIMER, this.errorTimerHandler);
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
if (stage){
addEventListener(Event.RENDER, this.renderHandler);
stage.invalidate();
} else {
this.clear();
};
}
public function get movieId():String{
return (this._movieId);
}
public function set movieId(_arg1:String):void{
this._movieId = _arg1;
}
public function get encryptionKey():String{
return (this._encryptionKey);
}
public function set encryptionKey(_arg1:String):void{
this._encryptionKey = _arg1;
}
public function get movieVersion():String{
return (this._movieVersion);
}
public function set movieVersion(_arg1:String):void{
this._movieVersion = _arg1;
}
public function get debugMode():Boolean{
return (API.debugMode);
}
public function set debugMode(_arg1:Boolean):void{
API.debugMode = true;
}
public function get useMedalPopup():Boolean{
return (!((this._medalPopup == null)));
}
public function set useMedalPopup(_arg1:Boolean):void{
if (((_arg1) && (!(this._medalPopup)))){
this._medalPopup = new MedalPopup();
addChild(this._medalPopup);
} else {
if (((!(_arg1)) && (this._medalPopup))){
removeChild(this._medalPopup);
this._medalPopup = null;
};
};
}
public function get useErrorPopup():Boolean{
return (this._useErrorPopup);
}
public function set useErrorPopup(_arg1:Boolean):void{
this._useErrorPopup = _arg1;
API.addEventListener(APIEvent.API_CONNECTED, this.movieConnectedHandler);
if (this._useErrorPopup){
API.addEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.addEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
} else {
API.removeEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.removeEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
};
}
public function get showConnectingPopup():Boolean{
return (this._showConnectingPopup);
}
public function set showConnectingPopup(_arg1:Boolean):void{
this._showConnectingPopup = _arg1;
if (((!(_arg1)) && ((((currentLabel == "connecting")) || ((currentLabel == "connected")))))){
this.clear();
};
}
public function clear():void{
gotoAndStop("idle");
}
public function connect():void{
API.setVersion(this._movieVersion);
API.connect(root.loaderInfo, this._movieId, this._encryptionKey);
visible = true;
if (this.showConnectingPopup){
gotoAndStop("connecting");
};
}
private function renderHandler(_arg1:Event):void{
removeEventListener(Event.RENDER, this.renderHandler);
this.clear();
this.connect();
}
private function movieConnectedHandler(_arg1:APIEvent):void{
if (_arg1.success){
if (((((((API.isPublishedHost()) && (API.IsCompatible()))) && (!(API.hasUserSession())))) && (!(API.debugMode)))){
gotoAndStop("no_login");
this._popDelay.start();
visible = true;
} else {
if (this.showConnectingPopup){
gotoAndStop("connected");
};
};
} else {
gotoAndStop("no_connect");
this._popDelay.start();
visible = true;
};
}
private function newVersionAvailableHandler(_arg1:APIEvent):void{
gotoAndStop("new_version");
visible = true;
this.centerOnStage();
}
private function hostBlockedHandler(_arg1:APIEvent):void{
gotoAndStop("bad_host");
visible = true;
this.centerOnStage();
}
private function closeButtonClickHandler(_arg1:Event):void{
this.clear();
}
private function officialVersionClickHandler(_arg1:Event):void{
API.loadOfficialVersion();
}
private function enterFrameHandler(_arg1:Event):void{
this.forceAlwaysOnTop();
}
private function initButtons():void{
if (this.viewLatestButton){
this.viewLatestButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.viewAuthorizedButton){
this.viewAuthorizedButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.closeButton){
this.closeButton.addEventListener(MouseEvent.CLICK, this.closeButtonClickHandler);
};
}
private function forceAlwaysOnTop():void{
var myIndex:uint;
var topIndex:uint;
if (((parent) && (visible))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(e:Error) {
};
};
}
private function centerOnStage():void{
if (stage){
x = (stage.stageWidth / 2);
y = (stage.stageHeight / 2);
};
}
private function errorTimerHandler(_arg1:TimerEvent):void{
if (this.errorDialog){
this.errorDialog.gotoAndPlay("closeme");
} else {
this.clear();
};
}
function frame1(){
stop();
}
function frame7(){
this.initButtons();
}
function frame8(){
this.initButtons();
}
}
}//package com.newgrounds.components
Section 25
//FlashAd (com.newgrounds.components.FlashAd)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class FlashAd extends Sprite {
public var background:MovieClip;
private var _showBackground:Boolean;
private var _adURLLoader:URLLoader;
private var _adRect:Sprite;
private var _mask:Shape;
private var _ad:Loader;
private static const DEBUG_AD_URL:String = "http://www.ngads.com/adtest.php";
private static const REMOVED_FROM_STAGE:String = "removedFromStage";
private static var _adResetTime:uint = 0;
private static var _adURL:URLRequest;
public function FlashAd(_arg1:Boolean=true){
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
this._adRect = new Sprite();
this._adRect.graphics.beginFill(0);
this._adRect.graphics.moveTo(0, 0);
this._adRect.graphics.lineTo(300, 0);
this._adRect.graphics.lineTo(300, 250);
this._adRect.graphics.lineTo(0, 250);
this._adRect.graphics.lineTo(0, 0);
this._adRect.graphics.endFill();
this._mask = new Shape();
this._mask.graphics.beginFill(0);
this._mask.graphics.moveTo(0, 0);
this._mask.graphics.lineTo(300, 0);
this._mask.graphics.lineTo(300, 250);
this._mask.graphics.lineTo(0, 250);
this._mask.graphics.lineTo(0, 0);
this._mask.graphics.endFill();
addChild(this._adRect);
this._adRect.addChild(this._mask);
this._adRect.visible = false;
x = Math.round(x);
y = Math.round(y);
scaleX = 1;
scaleY = 1;
if (this.background){
if (this.background.ngLinkButton){
this.background.ngLinkButton.addEventListener(MouseEvent.CLICK, this.linkClickHandler);
};
if (this.background.loadingClip){
this.background.loadingClip.visible = false;
};
};
if (API.isFlashVersion(9, 0, 28)){
addEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage);
};
if (API.adsApproved){
this.loadAdFeed(API.adFeedURL);
} else {
API.addEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false, 0, true);
};
this.showBackground = _arg1;
}
public function get showBackground():Boolean{
return (this._showBackground);
}
public function set showBackground(_arg1:Boolean):void{
this._showBackground = _arg1;
if (this.background){
this.background.visible = _arg1;
this._adRect.mask = (_arg1) ? this.background.adMask : null;
};
}
public function removeAd():void{
removeEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage);
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
if (this._adURLLoader){
try {
this._adURLLoader.close();
} catch(e:Error) {
};
};
if (this._adRect){
this._adRect.visible = false;
};
if (this._ad){
trace("[NewgroundsAPI] :: Ad removed");
try {
this._ad.close();
} catch(e:Error) {
};
try {
Object(this._ad).unloadAndStop(true);
} catch(e:Error) {
_ad.unload();
};
if (this._ad.parent){
this._ad.parent.removeChild(this._ad);
};
};
this._ad = null;
}
private function onAdsApproved(_arg1:APIEvent):void{
API.removeEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false);
if (_arg1.success){
this.loadAdFeed(API.adFeedURL);
} else {
trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!");
};
}
private function loadAdFeed(_arg1:String):void{
var adFeedURL = _arg1;
this._adURLLoader = new URLLoader();
this._adURLLoader.addEventListener(Event.COMPLETE, this.onAdFeedLoaded);
this._adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError);
this._adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onAdError);
if (!adFeedURL){
trace("[Newgrounds API] :: Invalid feed URL!");
return;
};
if (this.hasAdElapsed){
if (adFeedURL.indexOf("?") > -1){
_adURL = new URLRequest(((adFeedURL + "&random=") + Math.random()));
} else {
_adURL = new URLRequest(((adFeedURL + "?random=") + Math.random()));
};
};
try {
this._adURLLoader.load(_adURL);
} catch(e:Error) {
onAdError(null);
};
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = true;
};
}
private function loadAd(_arg1:String):void{
if (this._ad){
this.removeAd();
};
this._ad = new Loader();
this._ad.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onAdLoaded);
this._ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError);
this._ad.load(new URLRequest(_arg1), new LoaderContext(false, new ApplicationDomain(null)));
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = true;
};
}
private function onAdFeedLoaded(_arg1:Event):void{
var _local2:URLLoader = URLLoader(_arg1.target);
if (((_local2.data) && (!((_local2.data == ""))))){
this.loadAd((_local2.data as String));
} else {
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
};
}
private function onAdFeedError(_arg1:Event):void{
trace("[NewgroundsAPI] :: Unable to load ad feed!");
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
}
private function onAdError(_arg1:Event):void{
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
this.removeAd();
}
private function onAdLoaded(_arg1:Event):void{
this._adRect.addChild(this._ad);
this._ad.mask = this._mask;
this._adRect.visible = true;
if (this.background){
if (this._showBackground){
this._adRect.mask = this.background.adMask;
};
if (this.background.loadingClip){
this.background.loadingClip.visible = false;
};
};
trace("[NewgroundsAPI] :: Ad loaded!");
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, true));
}
private function onRemovedFromStage(_arg1:Event):void{
this.removeAd();
}
private function get hasAdElapsed():Boolean{
if (getTimer() >= _adResetTime){
_adResetTime = (getTimer() + ((1000 * 60) * 5));
return (true);
};
return (false);
}
private function linkClickHandler(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
}
}//package com.newgrounds.components
Section 26
//MedalPopup (com.newgrounds.components.MedalPopup)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class MedalPopup extends MovieClip {
public var medalNameText:TextField;
public var medalValueText:TextField;
public var medalContainer:Sprite;
private var _initialized:Boolean;
private var _medal:Medal;
private var _medalIcon:Bitmap;
private var _medalQueue:Array;
private var _popDelay:Timer;
public function MedalPopup(){
this._medalQueue = [];
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 9, this.frame10, 18, this.frame19);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
visible = false;
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
stop();
API.addEventListener(APIEvent.MEDAL_UNLOCKED, this.onMedalUnlocked, false, 0, true);
this._popDelay.addEventListener(TimerEvent.TIMER, this.timerHandler);
}
public function get popupTime():Number{
return ((this._popDelay.delay / 1000));
}
public function set popupTime(_arg1:Number):void{
if (isNaN(_arg1)){
_arg1 = 3;
};
this._popDelay.delay = (_arg1 * 1000);
}
private function enterFrameHandler(_arg1:Event):void{
var myIndex:uint;
var topIndex:uint;
var event = _arg1;
if (((this._medalQueue.length) && (!(visible)))){
this._medal = this._medalQueue.pop();
this._popDelay.start();
gotoAndPlay("medal_show");
visible = true;
};
if (((visible) && (parent))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(error:Error) {
};
};
}
private function onMedalUnlocked(_arg1:APIEvent):void{
if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data is Medal)))){
this._medalQueue.push(Medal(_arg1.data));
};
}
private function showMedalInfo():void{
if (!this._medal){
return;
};
if (this.medalContainer){
this._medalIcon = this._medal.createIconBitmap();
this.medalContainer.addChild(this._medalIcon);
};
if (this.medalNameText){
this.medalNameText.text = this._medal.name;
};
if (this.medalValueText){
this.medalValueText.text = (this._medal.value.toString() + "pts");
};
this._popDelay.start();
stop();
}
private function timerHandler(_arg1:TimerEvent):void{
if (((this._medalIcon) && (this._medalIcon.parent))){
this._medalIcon.parent.removeChild(this._medalIcon);
this._medalIcon = null;
};
gotoAndPlay("medal_hide");
this._popDelay.stop();
}
function frame1(){
stop();
}
function frame10(){
this.showMedalInfo();
stop();
}
function frame19(){
stop();
visible = false;
}
}
}//package com.newgrounds.components
Section 27
//API (com.newgrounds.API)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import com.newgrounds.components.*;
import flash.utils.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.adobe.images.*;
import com.adobe.crypto.*;
import flash.system.*;
public class API {
public static const VERSION:String = "2.9";
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php";
private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/";
private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/";
private static var do_echo:Boolean = false;
private static var _debug:Boolean = true;
private static var _connected:Boolean = false;
private static var _isMetadataLoaded:Boolean = false;
private static var _preloadComplete:Boolean = false;
private static var _adsApproved:Boolean = false;
private static var _saveGroupId:uint;
private static var _saveFileId:uint;
private static var _trackerId:uint;
private static var _movieId:String;
private static var _encryptionKey:String;
private static var _url:String;
private static var _host:String;
private static var connected:Boolean;
private static var version:String;
private static var ad_url:String;
private static var publisher_id:uint;
private static var session_id:String;
private static var user_email:String;
private static var user_name:String;
private static var user_id:uint;
private static var userpage_format:String;
private static var _medals:Array;
private static var timeoutTimer:Timer = new Timer(8000, 1);
private static var _userpageFormat:String;
private static var _scoreboards:Array = new Array();
private static var _bridge:Bridge;
private static var _saveFile:SaveFile;
private static var _imageFilePath:String;
private static var _saveFilePath:String;
private static var _saveGroups:Array = [];
private static var root:DisplayObject;
private static var _eventDispatcher:EventDispatcher = new EventDispatcher();
private static var score_page_counts:Object = new Object();
private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
private static var compressor:BaseN = new BaseN(compression_radix);
public static var errors:Dictionary = APIError.init_codes();
private static var sharedObjects:Dictionary = new Dictionary();
private static var _preloadAssets:Array = [];
public static var periods:Object = getPeriodAliases();
private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}};
private static var secureCommand:String;
public static function get adFeedURL():String{
return (ad_url);
}
public static function get preloadComplete():Boolean{
return (_preloadComplete);
}
private static function assertConnected():Boolean{
if (!_connected){
return (false);
};
return (true);
}
public static function setVersion(_arg1:String):void{
if (((_arg1) && (!((_arg1 == ""))))){
version = _arg1;
};
}
public static function setUserEmail(_arg1:String):void{
user_email = _arg1;
}
public static function get debugMode():Boolean{
return (_debug);
}
public static function set debugMode(_arg1:Boolean):void{
_debug = _arg1;
}
public static function getTrackerID():uint{
return (_trackerId);
}
public static function getUserID():uint{
return (user_id);
}
public static function getUserName():String{
return (user_name);
}
public static function isConnected():Boolean{
return (_connected);
}
public static function getOfficialURL():String{
var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + _movieId) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random());
if (debugMode){
_local1 = (_local1 + "&debug=1");
};
return (_local1);
}
public static function get adsApproved():Boolean{
return (_adsApproved);
}
public static function hasUserSession():Boolean{
return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0)))));
}
public static function isNewgrounds():Boolean{
return ((((publisher_id == 1)) || ((getHost().toLowerCase().indexOf("ungrounded.net") > -1))));
}
public static function IsCompatible():Boolean{
return (!((publisher_id == 0)));
}
public static function hasUserEmail():Boolean{
return (((!((user_email == null))) && (!((user_email == "")))));
}
public static function connectionTimeOut(_arg1:Event=null):void{
dispatchEvent(new APIEvent(APIEvent.API_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out.")));
}
public static function connect(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{
var loaderInfo = _arg1;
var m_id = _arg2;
var encrypt_key = _arg3;
if (!loaderInfo){
fatalError("Null loaderInfo paremeter passed in to connectMovie!", "");
return;
};
try {
if (loaderInfo.loader){
loaderInfo = loaderInfo.loader.loaderInfo;
};
} catch(error:Error) {
};
_url = loaderInfo.url;
_host = _url;
if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){
_host = _host.split("/")[2].toLowerCase();
} else {
_host = "localhost";
};
var flashVars:Object = loaderInfo.parameters;
if (isPublishedHost()){
debugMode = false;
};
if (((!(debugMode)) && (flashVars))){
if (flashVars.NewgroundsAPI_UserName){
user_name = flashVars.NewgroundsAPI_UserName;
};
if (flashVars.NewgroundsAPI_UserID){
user_id = flashVars.NewgroundsAPI_UserID;
};
if (flashVars.NewgroundsAPI_PublisherID){
publisher_id = flashVars.NewgroundsAPI_PublisherID;
} else {
publisher_id = 1;
};
if (flashVars.NewgroundsAPI_UserpageFormat){
_userpageFormat = flashVars.NewgroundsAPI_UserpageFormat;
};
if (flashVars.NewgroundsAPI_SessionID){
session_id = flashVars.NewgroundsAPI_SessionID;
};
if (flashVars.NewgroundsAPI_SaveGroupID){
_saveGroupId = flashVars.NewgroundsAPI_SaveGroupID;
};
if (flashVars.NewgroundsAPI_SaveFileID){
_saveFileId = flashVars.NewgroundsAPI_SaveFileID;
};
if (flashVars.NewgroundsAPI_SandboxID){
_bridge = new Bridge(flashVars.NewgroundsAPI_SandboxID);
};
} else {
publisher_id = 1;
session_id = "D3bu64p1U53R";
user_id = 10;
user_name = "API-Debugger";
};
if (connected){
fatalError("NewgroundsAPI.connect() - connection already in progress", "connect");
return;
};
timeoutTimer.start();
if (!m_id){
fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie");
};
_movieId = String(m_id);
_trackerId = uint(_movieId.substring(0, _movieId.indexOf(":")));
_encryptionKey = encrypt_key;
connected = true;
sendCommand("connectMovie", {host:getHost(), movie_version:version});
}
private static function getHost():String{
return (_host);
}
public static function isPublishedHost():Boolean{
return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1))));
}
public static function loadUserPage(_arg1:uint=0, _arg2:String=null):Boolean{
var _local3:String;
if ((((_arg1 == 0)) && ((_arg2 == null)))){
if (hasUserSession()){
_arg1 = user_id;
_arg2 = user_name;
} else {
return (false);
};
};
if (publisher_id == 1){
_local3 = (("http://" + _arg2.toLowerCase()) + ".newgrounds.com");
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
if (userpage_format){
_local3 = userpage_format;
_local3 = _local3.split(":user_id:").join(_arg1.toString());
_local3 = _local3.split(":user_name:").join(escape(_arg2));
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
return (false);
}
public static function loadNewgrounds():void{
sendCommand("loadNewgrounds", {host:getHost()}, true);
}
public static function loadOfficialVersion():void{
navigateToURL(new URLRequest(getOfficialURL()));
}
public static function loadMySite():void{
sendCommand("loadMySite", {host:getHost()}, true);
}
public static function loadCustomLink(_arg1:String):void{
sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true);
}
public static function logCustomEvent(_arg1:String):void{
sendCommand("logCustomEvent", {host:getHost(), event:_arg1});
}
public static function getScoreBoardByName(_arg1:String):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function getScoreBoardById(_arg1:uint):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function postScore(_arg1:String, _arg2:uint, _arg3:String=""):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
if (_arg3 == null){
_arg3 = "";
};
sendSecureCommand("postScore", {user_name:user_name, board:_arg1, value:_arg2, publisher_id:publisher_id, tag:_arg3});
}
public static function loadScores(_arg1:ScoreBoard, _arg2:String=null):void{
var _local3 = "loadScores";
if (!_arg1.id){
sendError({command_id:getCommandID(_local3)}, new APIError("MISSING_PARAM", "missing required ScoreBoard instance"));
return;
};
var _local4:Object = {};
_local4.publisher_id = publisher_id;
_local4.period = _arg1.period;
_local4.board = _arg1.id;
_local4.num_results = _arg1.num_results;
_local4.page = _arg1.page;
if (((!(_arg2)) || ((_arg2 == "")))){
_local4.tag = _arg1.tag;
} else {
_local4.tag = _arg2;
};
sendCommand(_local3, _local4);
}
public static function loadScoresInRange(_arg1:String, _arg2:String="All-Time", _arg3:uint=1, _arg4:uint=10):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
var _local5:ScoreBoard = getScoreBoardByName(_arg1);
if (_local5){
_local5.loadScoresInRange(_arg2, _arg3, _arg4);
} else {
sendWarning((("loadScoresInRange: Scoreboard " + _arg1) + " could not be found."));
};
}
private static function populateMedals(_arg1:Array):void{
var _local2:uint;
var _local3:Object;
if (_medals === null){
_medals = new Array();
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = _arg1[_local2];
_medals.push(Medal.createFromObject(_local3));
_local2++;
};
};
sendMessage("Medals loaded!");
}
private static function populateSaveGroups(_arg1:Array):void{
var _local3:SaveGroup;
_saveGroups = [];
var _local2:uint;
while (_local2 < _arg1.length) {
_local3 = SaveGroup.createFromObject(_arg1[_local2]);
_saveGroups.push(_local3);
_local2++;
};
}
private static function populateScoreBoards(_arg1:Array):void{
_scoreboards = [];
var _local2:uint;
while (_local2 < _arg1.length) {
_scoreboards.push(new ScoreBoard(_arg1[_local2].id, _arg1[_local2].name, ""));
_local2++;
};
}
public static function get medals():Array{
return ((_medals) ? _medals.concat() : []);
}
public static function getMedalById(_arg1:uint):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function getMedalByName(_arg1:String):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function unlockMedal(_arg1:String):void{
var _local3:Object;
var _local4:Object;
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name"));
return;
};
var _local2:Medal = getMedalByName(_arg1);
if (!_local2){
sendMessage(("No medal with name: " + _arg1));
return;
};
if (((hasUserSession()) || (debugMode))){
sendMessage((("Attempting to unlock '" + _local2.name) + "'"));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local3 = new Object();
_local3.medal_id = _local2.id;
sendSecureCommand("unlockMedal", _local3);
} else {
sendMessage(("Locally unlocking " + _local2.name));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local2.unlocked = true;
_local4 = loadLocal("medals_unlocked");
if (!_local4){
_local4 = new Object();
};
_local4[_local2.id.toString()] = true;
saveLocal("medals_unlocked", _local4);
callListener(APIEvent.MEDAL_UNLOCKED, true, _local2);
};
}
public static function loadMedals():void{
if (_medals){
dispatchEvent(new APIEvent(APIEvent.MEDALS_LOADED, true, medals));
return;
};
var _local1:Object = new Object();
if (hasUserSession()){
_local1.publisher_id = publisher_id;
_local1.user_id = user_id;
};
sendCommand("getMedals", _local1);
}
public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{
var sharedObj:SharedObject;
var save_id = _arg1;
var save_data = _arg2;
var size_allocation = _arg3;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
sharedObj.data[save_id] = encodeData(save_data);
sharedObj.flush();
} catch(e:Error) {
sendWarning(("saveLocal ERROR: " + e));
};
}
public static function loadLocal(_arg1:String):Object{
var sharedObj:SharedObject;
var save_id = _arg1;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){
return (decodeData(sharedObj.data[save_id]));
} else {
return (null);
};
} catch(e:Error) {
sendWarning(("loadLocal ERROR: " + e));
};
return (null);
}
public static function encodeData(_arg1:Object):String{
return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey)));
}
public static function decodeData(_arg1:String){
return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey)));
}
private static function compressHex(_arg1:String):String{
var _local2:uint = (_arg1.length % 6);
var _local3 = "";
var _local4:uint;
while (_local4 < _arg1.length) {
_local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4));
_local4 = (_local4 + 6);
};
return ((_local2.toString() + _local3));
}
private static function uncompressHex(_arg1:String):String{
var _local4:uint;
var _local6:String;
var _local7:uint;
var _local8:String;
var _local2:uint = uint(_arg1.charAt(0));
var _local3 = "";
var _local5:uint = 1;
while (_local5 < _arg1.length) {
_local6 = _arg1.substr(_local5, 4);
_local7 = uint(compressor.decode(_local6));
_local8 = _local7.toString(16);
if ((_local5 + 4) < _arg1.length){
_local4 = 6;
} else {
_local4 = _local2;
};
while (_local8.length < _local4) {
_local8 = ("0" + _local8);
};
_local3 = (_local3 + _local8);
_local5 = (_local5 + 4);
};
return (_local3);
}
public static function getSaveGroupById(_arg1:uint):SaveGroup{
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
var _local2:uint;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].id == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function getSaveGroupByName(_arg1:String):SaveGroup{
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
var _local2:uint;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].name == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function createSaveQuery(_arg1:String):SaveGroupQuery{
var _local2:SaveGroup = getSaveGroupByName(_arg1);
if (_local2){
return (_local2.createQuery());
};
return (null);
}
public static function executeSaveQuery(_arg1:SaveGroupQuery):void{
sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1);
}
public static function checkFilePrivledges(_arg1:SaveFile):void{
sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id});
}
public static function newSaveFile(_arg1:String):SaveFile{
var _local2:SaveGroup = getSaveGroupByName(_arg1);
if (_local2){
return (new SaveFile(_local2));
};
sendError({command_id:"newSaveFile"}, new APIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group.")));
return (null);
}
public static function saveFile(_arg1:SaveFile, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Object = _arg1.toObject();
_local4.user_name = user_name;
if (_arg1.id){
_local4.save_id = _arg1.id;
};
_local4.overwrite = (_arg3) ? 1 : 0;
if (_arg2){
_local4.draft = 1;
};
var _local5:ByteArray = new ByteArray();
if ((_arg1.contents is ByteArray)){
_local5.writeByte(0);
_local5.writeBytes(_arg1.contents);
} else {
_local5.writeByte(1);
_local5.writeObject(_arg1.contents);
};
_local5.compress();
var _local6:Object = new Object();
_local6.file = _local5;
if (_arg1.thumbnail){
_local6.thumbnail = PNGEncoder.encode(_arg1.thumbnail);
};
sendSecureCommand("saveFile", _local4, null, _local6, _arg1);
}
public static function rateSaveFile(_arg1:SaveFile, _arg2:SaveRating, _arg3:Number):void{
sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1);
}
public static function loadSaveFile(_arg1:Number, _arg2:Boolean=true){
var _local3:Object = {publisher_id:publisher_id, save_id:_arg1, get_contents:_arg2};
sendCommand("loadSaveFile", _local3);
}
private static function doEvent(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:Boolean;
var _local6:ScoreBoard;
var _local7:Array;
var _local8:*;
var _local9:String;
var _local10:Medal;
var _local11:SaveGroup;
var _local12:Object;
var _local13:Object;
var _local14:Object;
var _local15:SaveFile;
var _local16:uint;
var _local17:Object;
var _local18:uint;
switch (getCommandName(_arg1.command_id)){
case "connectMovie":
timeoutTimer.stop();
if (_arg1.success){
sendMessage("You have successfully connected to the Newgrounds API Gateway");
sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\""));
callListener(APIEvent.API_CONNECTED, _arg1.success, {title:_arg1.movie_name});
} else {
callListener(APIEvent.API_CONNECTED, _arg1.success, {});
return;
};
_local5 = false;
if (_arg1.ad_status === -1){
_local2 = "This movie was not approved to run Flash Ads.";
sendWarning(_local2);
sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines"));
if (!_arg1.ad_url){
callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
} else {
if (_arg1.ad_status === 0){
_local2 = "Flash Ads are currently awaiting approval.";
sendNotice(_local2);
if (!_arg1.ad_url){
callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
};
};
if (_arg1.ad_url){
ad_url = unescape(_arg1.ad_url);
if (!_local5){
sendMessage("This movie has been approved to run Flash Ads!");
};
_adsApproved = true;
callListener(APIEvent.ADS_APPROVED, true);
};
if (_arg1.deny_host){
_local2 = (getHost() + " does not have permission to run this movie!");
sendWarning(_local2);
sendWarning(("\tUpdate your API configuration to unblock " + getHost()));
callListener(APIEvent.HOST_BLOCKED, true, {real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.movie_version){
sendWarning("According to your API Configuration, this version is out of date.");
if (version){
sendWarning(("\tThe this movie is version " + version));
};
sendWarning(("\tThe most current version is " + _arg1.movie_version));
callListener(APIEvent.NEW_VERSION_AVAILABLE, true, {version:_arg1.movie_version, real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.request_portal_url){
sendCommand("setPortalID", {portal_url:_url});
};
sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id});
break;
case "preloadSettings":
if (_arg1.medals){
populateMedals(_arg1.medals);
if (((!(hasUserSession())) && (!(debugMode)))){
echo("Checking for SharedObject Medals...");
_local8 = loadLocal("medals_unlocked");
if (_local8){
for (_local9 in _local8) {
if (_local8[_local9]){
_local10 = getMedalById(uint(_local9));
echo(("Now unlocking " + _local10.name));
_local10.unlocked = true;
};
};
};
};
};
if (_arg1.save_groups){
populateSaveGroups(_arg1.save_groups);
};
if (_arg1.save_file_path){
_saveFilePath = (_arg1.save_file_path + "/");
};
if (_arg1.image_file_path){
_imageFilePath = (_arg1.image_file_path + "/");
};
if (_arg1.score_boards){
populateScoreBoards(_arg1.score_boards);
};
sendMessage("Metadata loaded!");
callListener(APIEvent.METADATA_LOADED, _arg1.success);
if (((_saveFileId) && (_saveGroupId))){
_local11 = getSaveGroupById(_saveGroupId);
if (_local11){
callListener(APIEvent.FILE_REQUESTED, true, {save_id:_saveFileId, group:_local11});
};
};
_preloadComplete = true;
break;
case "logCustomEvent":
if (_arg1.success){
sendMessage((("Event '" + _arg1.event) + "' was logged."));
};
callListener(APIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event});
break;
case "postScore":
if (_arg1.success){
_local4 = "User";
if (user_email){
_local4 = user_email;
} else {
if (user_name){
_local4 = user_name;
};
};
_local6 = getScoreBoardById(_arg1.board);
if (_local6){
sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _local6.name) + "'"));
};
if (_arg1.best_scores){
_local12 = {today:_arg1.best_scores.D, yesterday:_arg1.best_scores.P, week:_arg1.best_scores.W, year:_arg1.best_scores.Y, all_time:_arg1.best_scores.A};
} else {
_local12 = {};
};
if (_arg1.best_ranks){
_local13 = {today:_arg1.best_ranks.D, yesterday:_arg1.best_ranks.P, week:_arg1.best_ranks.W, year:_arg1.best_ranks.Y, all_time:_arg1.best_ranks.A};
} else {
_local13 = {};
};
if (_arg1.num_scores){
_local14 = {today:_arg1.num_scores.D, yesterday:_arg1.num_scores.P, week:_arg1.num_scores.W, year:_arg1.num_scores.Y, all_time:_arg1.num_scores.A};
} else {
_local14 = {};
};
_local3 = {score:_arg1.score, value:_arg1.value, username:_local4, best_scores:_local12, best_ranks:_local13, num_scores:_local14};
};
callListener(APIEvent.SCORE_POSTED, _arg1.success, _local3);
break;
case "loadScores":
_local3 = new Object();
_local6 = getScoreBoardById(_arg1.board);
if (_local6){
_local6.setScores(_arg1.scores, _arg1.period, _arg1.page, _arg1.num_results, _arg1.num_scores);
};
callListener(APIEvent.SCORES_LOADED, _arg1.success, _local6);
break;
case "unlockMedal":
if (_medals){
_local10 = getMedalByName(_arg1.medal_name);
if (_local10.unlocked){
return;
};
_local10.unlocked = true;
callListener(APIEvent.MEDAL_UNLOCKED, _arg1.success, _local10);
};
break;
case "getMedals":
if (_arg1.success){
populateMedals(_arg1.medals);
};
callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3);
break;
case "loadSaveFile":
if (_arg1.success){
_local11 = getSaveGroupById(_arg1.group_id);
_local15 = new SaveFile(_local11);
_local15.id = _arg1.file.save_id;
_local15.name = _arg1.file.filename;
_local15.fileUrl = (_saveFilePath + _arg1.file.file);
_local15.thumbnailUrl = (_imageFilePath + _arg1.file.thumb);
_local15.authorName = _arg1.file.user_name;
_local15.authorId = _arg1.file.user_id;
_local15.setStatus(_arg1.file.status);
_local15.description = _arg1.file.description;
_local15.setFileSize(_arg1.file.file_size);
if (((_arg1.file.keys) && (_arg1.file.keys.length))){
_local16 = 0;
while (_local16 < _arg1.file.keys.length) {
_local15.setKey(_arg1.file.keys[_local16].id, _arg1.file.keys[_local16].value);
_local16++;
};
};
if (((_arg1.file.ratings) && (_arg1.file.ratings.length))){
_local16 = 0;
while (_local16 < _arg1.file.ratings.length) {
_local15.setRating(_arg1.file.ratings[_local16].id, _arg1.file.ratings[_local16].votes, _arg1.file.ratings[_local16].score);
_local16++;
};
};
if (_arg1.get_contents){
_local15.loadContents();
};
};
callListener(APIEvent.FILE_INITIALIZED, _arg1.success, _local15);
break;
case "lookupSaveFiles":
_local7 = [];
if (((_arg1.success) && (_arg1.files))){
_local16 = 0;
while (_local16 < _arg1.files.length) {
_local17 = _arg1.files[_local16];
_local15 = new SaveFile(getSaveGroupById(_arg1.group_id));
_local15.name = _local17.filename;
_local15.id = _local17.save_id;
_local15.description = _local17.description;
_local15.thumbnailUrl = (_imageFilePath + _local17.thumb);
_local15.fileUrl = (_saveFilePath + _local17.file);
_local15.authorName = _local17.user_name;
_local15.authorId = _local17.user_id;
_local15.setStatus(_local17.status);
_local15.setFileSize(_local17.file_size);
if (((_local17.keys) && (_local17.keys.length))){
_local18 = 0;
while (_local18 < _local17.keys.length) {
_local15.setKey(_local17.keys[_local18].id, _local17.keys[_local18].value);
_local18++;
};
};
if (((_local17.ratings) && (_local17.ratings.length))){
_local18 = 0;
while (_local18 < _local17.ratings.length) {
_local15.setRating(_local17.ratings[_local18].id, _local17.ratings[_local18].votes, _local17.ratings[_local18].score);
_local18++;
};
};
_local7.push(_local15);
_local16++;
};
};
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, _local7));
break;
case "rateSaveFile":
_local15 = _arg1.owner;
_arg1.success = ((_arg1.success) && (!(_arg1.already_voted)));
if (_arg1.success){
_local15.setRating(_arg1.rating_id, _arg1.votes, _arg1.score);
};
_arg1.file = _local15;
_local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1));
break;
case "saveFile":
_local3 = {};
if (_arg1.success){
_local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon};
SaveFile(_arg1.owner).fileSaved(_local3);
};
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.FILE_SAVED, _arg1.success, _local3));
break;
case "checkFilePrivs":
_local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write};
callListener(APIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3);
break;
};
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
private static function dispatchEvent(_arg1:Event):void{
_eventDispatcher.dispatchEvent(_arg1);
echo(("Fired Event: " + _arg1.type));
}
static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{
dispatchEvent(new APIEvent(_arg1, _arg2, _arg3));
if (_bridge){
_bridge.sendEvent(_arg1, {success:_arg2, data:_arg3});
};
}
private static function getCommandName(_arg1:String):String{
return (_arg1);
}
private static function getCommandID(_arg1:String):String{
return (_arg1);
}
private static function getPeriodAliases():Object{
var _local2:String;
var _local1:Object = new Object();
for (_local2 in period_aliases) {
_local1[period_aliases[_local2].alias] = _local2;
};
return (_local1);
}
public static function getPeriodName(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].name);
};
};
return (null);
}
public static function getPeriodAlias(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].alias);
};
};
return (null);
}
private static function sendError(_arg1:Object, _arg2:APIError):void{
var _local3:String = ((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function sendWarning(_arg1:String, _arg2:String=null):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function sendNotice(_arg1:String, _arg2:String=null):void{
var _local3:String;
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function fatalError(_arg1:String, _arg2:String):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(("***ERROR*** class=API\n\n" + _arg1));
}
public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{
if (((((!(debugMode)) && (!(hasUserSession())))) && (!(hasUserEmail())))){
sendError({command_id:getCommandID(_arg1)}, new APIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "().")));
return;
};
if (!_arg1){
fatalError("Missing command", "sendSecureCommand");
};
if (!_arg2){
fatalError("Missing secure_params", "sendSecureCommand");
};
if (!_arg3){
_arg3 = new Object();
};
var _local6 = "";
var _local7:uint;
while (_local7 < 16) {
_local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length))));
_local7++;
};
if (((debugMode) && (!(session_id)))){
_arg2.session_id = "";
} else {
_arg2.session_id = session_id;
};
_arg2.as_version = 3;
_arg2.user_email = user_email;
_arg2.publisher_id = publisher_id;
_arg2.seed = _local6;
_arg2.command_id = getCommandID(_arg1);
var _local8:String = MD5.hash(_local6);
var _local9:String = RC4.encrypt(JSON.encode(_arg2), _encryptionKey);
var _local10:String = (_local8 + _local9);
_arg3.secure = compressHex(_local10);
secureCommand = _arg1;
sendCommand("securePacket", _arg3, false, _arg4, _arg5);
}
public static function stopPendingCommands():void{
SmartURLLoader.closeAll();
}
private static function onCommandComplete(_arg1:Event):void{
var response:Object;
var error:APIError;
var e = _arg1;
var loader:SmartURLLoader = SmartURLLoader(e.target);
echo((("INPUT: \n" + loader.response) + "\n"));
var i:uint;
while (i < _preloadAssets.length) {
if (_preloadAssets[i] == loader){
_preloadAssets.splice(i, 1);
break;
};
i = (i + 1);
};
try {
response = JSON.decode(loader.response);
} catch(error:Error) {
};
if (!response){
response = {command_id:loader._command, success:false};
};
response.owner = loader.owner;
if (((!(response)) || (!(response.success)))){
if (response.command_id == "connectMovie"){
connected = false;
};
error = new APIError(response.error_code, response.error_msg);
sendError(response, error);
if (response.command_id){
doEvent(response);
};
} else {
doEvent(response);
};
}
private static function onCommandError(_arg1:Event):void{
var _local2:Object = {success:false};
var _local3:SmartURLLoader = SmartURLLoader(_arg1.target);
_local2.owner = _local3.owner;
var _local4:uint;
while (_local4 < _preloadAssets.length) {
if (_preloadAssets[_local4] == _local3){
_preloadAssets.splice(_local4, 1);
break;
};
_local4++;
};
if (_local3._command){
_local2.command_id = _local3._command;
if (_local2.command_id == "connectMovie"){
connected = false;
};
doEvent(_local2);
};
}
private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{
var _local7:String;
var _local8:String;
var _local9:String;
if (((!(connected)) && (!((_arg1 == "connectMovie"))))){
_local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n");
fatalError(_local7, "connectMovie");
};
var _local6:SmartURLLoader = new SmartURLLoader();
_local6.addVariable("command_id", getCommandID(_arg1));
_local6.addVariable("tracker_id", _movieId);
if (debugMode){
_local6.addVariable("debug", 1);
};
if (_arg2){
for (_local8 in _arg2) {
_local6.addVariable(_local8, _arg2[_local8]);
};
};
if (_arg4){
for (_local9 in _arg4) {
_local6.addFile(_local9, _arg4[_local9], _local9);
};
};
if (_arg3){
_local6.method = URLRequestMethod.GET;
} else {
_local6.method = URLRequestMethod.POST;
};
_local6.preventCache = true;
if (_arg3){
_local6.openBrowser = true;
_local6.method = URLRequestMethod.GET;
} else {
_local6.addEventListener(Event.COMPLETE, onCommandComplete);
_local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError);
_local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError);
_local6.method = URLRequestMethod.POST;
};
if (_arg2.secure){
_local6._command = secureCommand;
} else {
_local6._command = getCommandID(_arg1);
};
_local6.owner = _arg5;
_local6.load(GATEWAY_URL);
}
public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{
var _local6:Array = Capabilities.version.split(" ")[1].split(",");
var _local7:Array = arguments;
var _local8:uint;
while (_local8 < _local7.length) {
_local6[_local8] = uint(_local6[_local8]);
_local8++;
};
_local8 = 0;
while (_local8 < _local7.length) {
if (_local6[_local8] > _local7[_local8]){
return (true);
};
if (_local6[_local8] < _local7[_local8]){
return (false);
};
_local8++;
};
return (true);
}
public static function createAd():FlashAd{
sendMessage("You may see a security sandbox violation. This is normal!");
return (new FlashAd());
}
public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{
var _local3:String = ("[NewgroundsAPI] :: " + _arg1);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function echo(_arg1:String):void{
if (do_echo){
trace(_arg1);
};
}
}
}//package com.newgrounds
Section 28
//APIError (com.newgrounds.APIError)
package com.newgrounds {
import flash.utils.*;
public class APIError {
public var code:Number;// = 0
public var message:String;
public var name:String;
public var alias:String;
public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED");
private static const always_caps:Array = new Array("API", "URL", "ID");
public static const error_codes:Object = init_codes();
public static const error_names:Object = init_names();
public function APIError(_arg1, _arg2:String){
if ((_arg1 is String)){
_arg1 = error_codes[_arg1];
} else {
if (!(_arg1 is uint)){
_arg1 = 0;
};
};
this.code = _arg1;
this.message = _arg2;
this.name = error_names[_arg1];
this.alias = aliases[_arg1];
}
public function isError():Boolean{
return (true);
}
public static function init_codes():Dictionary{
var _local1:Dictionary = new Dictionary();
var _local2:uint;
while (_local2 < aliases.length) {
_local1[aliases[_local2]] = _local2;
_local2++;
};
return (_local1);
}
private static function init_names():Array{
var _local3:Array;
var _local4:uint;
var _local5:String;
var _local1:Array = new Array();
var _local2:uint;
while (_local2 < aliases.length) {
_local3 = aliases[_local2].toLowerCase().split("_");
_local4 = 0;
while (_local4 < _local3.length) {
_local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length));
for each (_local5 in always_caps) {
if (_local3[_local4].toUpperCase() == _local5){
_local3[_local4] = _local3[_local4].toUpperCase();
};
};
_local4++;
};
_local1[_local2] = _local3.join(" ");
_local2++;
};
return (_local1);
}
}
}//package com.newgrounds
Section 29
//APIEvent (com.newgrounds.APIEvent)
package com.newgrounds {
import flash.events.*;
public class APIEvent extends Event {
private var _data;
private var _success:Boolean;
private var _target;
private var _error:APIError;
public static const API_CONNECTED:String = "movieConnected";
public static const ADS_APPROVED:String = "adsApproved";
public static const AD_ATTACHED:String = "adAttached";
public static const HOST_BLOCKED:String = "hostBlocked";
public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable";
public static const EVENT_LOGGED:String = "eventLogged";
public static const SCORE_POSTED:String = "scorePosted";
public static const SCORES_LOADED:String = "scoresLoaded";
public static const MEDAL_UNLOCKED:String = "medalUnlocked";
public static const MEDALS_LOADED:String = "medalsLoaded";
public static const METADATA_LOADED:String = "metadataLoaded";
public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded";
public static const FILE_SAVED:String = "fileSaved";
public static const FILE_LOADED:String = "fileLoaded";
public static const FILE_INITIALIZED:String = "fileInitialized";
public static const FILE_REQUESTED:String = "fileRequested";
public static const QUERY_COMPLETE:String = "queryComplete";
public static const VOTE_COMPLETE:String = "voteComplete";
public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){
super(_arg1);
this._data = _arg3;
this._success = _arg2;
}
public function get success():Boolean{
return (this._success);
}
public function get data(){
return (this._data);
}
}
}//package com.newgrounds
Section 30
//BaseN (com.newgrounds.BaseN)
package com.newgrounds {
import flash.utils.*;
public class BaseN {
private var _hashIndex:String;
private var _hashVal:Dictionary;
private var _base:Number;
public function BaseN(_arg1:String=null){
if (_arg1){
this._hashIndex = _arg1;
} else {
this._hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/";
};
this._base = this._hashIndex.length;
this._hashVal = new Dictionary();
var _local2:uint;
while (_local2 < this._base) {
this._hashVal[this._hashIndex.charAt(_local2)] = _local2;
_local2++;
};
}
public function encode(_arg1:Number, _arg2:uint=1):String{
var _local3:String = _arg1.toString();
var _local4 = "";
if (_local3.charAt(0) == "-"){
_local4 = "-";
_local3 = _local3.substring(1);
};
var _local5:Array = _local3.split(".", 2);
_local4 = (_local4 + this.baseNEncoder(_local5[0], _arg2));
if (_local5.length > 1){
_local4 = (_local4 + ("." + this.baseNEncoder(_local5[1])));
};
return (_local4);
}
public function decode(_arg1:String):Number{
var _local2 = "";
if (_arg1.charAt(0) == "-"){
_local2 = "-";
_arg1 = _arg1.substring(1);
};
var _local3:Array = _arg1.split(".", 2);
_local2 = (_local2 + this.baseNDecoder(_local3[0]));
if (_local3.length > 1){
_local2 = (_local2 + ".");
_local2 = (_local2 + this.baseNDecoder(_local3[1]));
};
return (Number(_local2));
}
private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{
var _local3 = "";
var _local4:uint = _arg1;
while (_local4 != 0) {
_local3 = (this._hashIndex.charAt((_local4 % this._base)) + _local3);
_local4 = (_local4 / this._base);
};
if (_arg2){
while (_local3.length < _arg2) {
_local3 = (this._hashIndex.charAt(0) + _local3);
};
};
return (_local3);
}
private function baseNDecoder(_arg1:String):uint{
var _local2:uint;
var _local3:uint;
while (_local3 < _arg1.length) {
_local2 = (_local2 * this._base);
_local2 = (_local2 + this._hashVal[_arg1.charAt(_local3)]);
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 31
//Bridge (com.newgrounds.Bridge)
package com.newgrounds {
import flash.events.*;
import flash.net.*;
public class Bridge {
private var _inConnection:LocalConnection;
private var _outConnection:LocalConnection;
private var _widgetId:String;
public function Bridge(_arg1:String){
this._widgetId = _arg1;
this._inConnection = new LocalConnection();
this._outConnection = new LocalConnection();
this._inConnection.client = this;
this._inConnection.connect(("rec_" + this._widgetId));
this._outConnection.addEventListener(StatusEvent.STATUS, this.onStatus);
}
public function sendCommand(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendCommand", _arg1, this.scrubParameters(_arg2));
};
}
public function sendEvent(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendEvent", _arg1, this.scrubParameters(_arg2));
};
}
public function receiveEvent(_arg1:String, _arg2:Object):void{
API.callListener(_arg1, _arg2.success, _arg2.data);
}
public function scrubParameters(_arg1:Object):Object{
var _local3:String;
var _local2:Object = new Object();
for (_local3 in _arg1) {
if ((((((((((_arg1[_local3] is String)) || ((_arg1[_local3] is Number)))) || ((_arg1[_local3] is uint)))) || ((_arg1[_local3] is int)))) || ((_arg1[_local3] is Boolean)))){
_local2[_local3] = _arg1[_local3];
};
};
return (_local2);
}
private function onStatus(_arg1:Event):void{
}
}
}//package com.newgrounds
Section 32
//Medal (com.newgrounds.Medal)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class Medal {
private var _id:uint;
private var _name:String;
private var _value:uint;
private var _difficultyId:uint;
private var _unlocked:Boolean;// = false
private var _iconUrl:URLRequest;
private var _iconLoader:Loader;
private var _icon:BitmapData;
private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0);
private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"];
public function Medal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){
var id = _arg1;
var name = _arg2;
var value = _arg3;
var difficulty = _arg4;
var unlocked = _arg5;
var iconUrl = _arg6;
this._icon = DEFAULT_ICON;
super();
this._id = id;
this._name = name;
this._value = value;
this._difficultyId = difficulty;
this._unlocked = unlocked;
if (iconUrl){
this._iconUrl = new URLRequest(iconUrl);
this._iconLoader = new Loader();
this._iconLoader.contentLoaderInfo.addEventListener(Event.INIT, this.onIconLoaderInit);
this._iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIconLoaderError);
this._iconLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onIconLoaderError);
this._iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onIconLoaderComplete);
try {
this._iconLoader.load(this._iconUrl, new LoaderContext(true));
} catch(e:Error) {
onIconLoaderError(null);
};
};
}
public function get difficulty():String{
return (DIFFICULT_NAMES[this._difficultyId]);
}
public function get difficultyId():uint{
return (this._difficultyId);
}
public function get icon():BitmapData{
return (this._icon);
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get unlocked():Boolean{
return (this._unlocked);
}
public function set unlocked(_arg1:Boolean):void{
this._unlocked = _arg1;
}
public function get value():uint{
return (this._value);
}
public function get bytesLoaded():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0);
}
private function onIconLoaderInit(_arg1:Event):void{
}
private function onIconLoaderError(_arg1:IOErrorEvent):void{
trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + this.name) + " (") + this._iconUrl.url.split("/").pop()) + ")"));
this._iconLoader.unload();
this._iconLoader = null;
}
private function onIconLoaderComplete(_arg1:Event):void{
var _local2:Bitmap = (this._iconLoader.content as Bitmap);
this._icon = _local2.bitmapData;
this._iconLoader.unload();
this._iconLoader = null;
}
public function unlock():void{
if (!this._unlocked){
API.unlockMedal(this._name);
};
}
public function createIconBitmap():Bitmap{
return (new Bitmap(this.icon));
}
public function toString():String{
return (this._name);
}
public static function createFromObject(_arg1:Object):Medal{
return (new Medal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon));
}
}
}//package com.newgrounds
Section 33
//RC4 (com.newgrounds.RC4)
package com.newgrounds {
public class RC4 {
private static var sbox:Array = new Array(0xFF);
private static var mykey:Array = new Array(0xFF);
public static function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array = strToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (charsToHex(_local5));
}
public static function encryptbin(_arg1:String, _arg2:String):Array{
var _local3:Array = strToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (_local5);
}
public static function decrypt(_arg1:String, _arg2:String):String{
var _local3:Array = hexToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (charsToStr(_local5));
}
private static function initialize(_arg1:Array):void{
var _local3:uint;
var _local2:uint;
var _local4:uint = _arg1.length;
var _local5:uint;
while (_local5 <= 0xFF) {
mykey[_local5] = _arg1[(_local5 % _local4)];
sbox[_local5] = _local5;
_local5++;
};
_local5 = 0;
while (_local5 <= 0xFF) {
_local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100);
_local3 = sbox[_local5];
sbox[_local5] = sbox[_local2];
sbox[_local2] = _local3;
_local5++;
};
}
private static function calculate(_arg1:Array, _arg2:Array):Array{
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local10:uint;
initialize(_arg2);
var _local3:uint;
var _local4:uint;
var _local5:Array = new Array();
var _local9:uint;
while (_local9 < _arg1.length) {
_local3 = ((_local3 + 1) % 0x0100);
_local4 = ((_local4 + sbox[_local3]) % 0x0100);
_local7 = sbox[_local3];
sbox[_local3] = sbox[_local4];
sbox[_local4] = _local7;
_local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100);
_local6 = sbox[_local10];
_local8 = (_arg1[_local9] ^ _local6);
_local5.push(_local8);
_local9++;
};
return (_local5);
}
private static function charsToHex(_arg1:Array):String{
var _local2:String = new String("");
var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
var _local4:uint;
while (_local4 < _arg1.length) {
_local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)]));
_local4++;
};
return (_local2);
}
private static function hexToChars(_arg1:String):Array{
var _local2:Array = new Array();
var _local3:uint = ((_arg1.substr(0, 2))=="0x") ? 2 : 0;
while (_local3 < _arg1.length) {
_local2.push(parseInt(_arg1.substr(_local3, 2), 16));
_local3 = (_local3 + 2);
};
return (_local2);
}
private static function charsToStr(_arg1:Array):String{
var _local2:String = new String("");
var _local3:uint;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
private static function strToChars(_arg1:String):Array{
var _local2:Array = new Array();
var _local3:uint;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 34
//SaveFile (com.newgrounds.SaveFile)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class SaveFile extends EventDispatcher {
private var _filename:String;
private var _id:uint;
private var _description:String;
private var _contents;
private var _loader:SmartURLLoader;
private var _group:SaveGroup;
private var _keys:Dictionary;
private var _ratings:Dictionary;
private var _fileUrl:String;
private var _thumbnail:BitmapData;
private var _thumbnailUrl:String;
private var _authorId:uint;
private var _authorName:String;
private var _contentSize:uint;
private var _status:uint;
public static const STATUS_PRIVATE = 1;
public static const STATUS_SHARED = 2;
public static const STATUS_UNAPPROVED = 3;
public static const STATUS_APPROVED = 4;
public function SaveFile(_arg1:SaveGroup){
this._keys = new Dictionary();
this._ratings = new Dictionary();
this._group = _arg1;
this._description = "";
}
public function get name():String{
return (this._filename);
}
public function set name(_arg1:String):void{
this._filename = _arg1;
}
public function get id():uint{
return (this._id);
}
public function set id(_arg1:uint):void{
this._id = _arg1;
}
public function get description():String{
return (this._description);
}
public function set description(_arg1:String):void{
this._description = _arg1;
}
public function get contents(){
return (this._contents);
}
public function set contents(_arg1):void{
this._contents = _arg1;
this._contentSize = 0;
}
public function get thumbnailUrl():String{
return (this._thumbnailUrl);
}
public function set thumbnailUrl(_arg1:String):void{
this._thumbnailUrl = _arg1;
}
public function get fileUrl():String{
return (this._fileUrl);
}
public function set fileUrl(_arg1:String):void{
this._fileUrl = _arg1;
}
public function get thumbnail():BitmapData{
return (this._thumbnail);
}
public function set thumbnail(_arg1:BitmapData):void{
if (this._thumbnail){
this._thumbnail.dispose();
};
this._thumbnail = _arg1.clone();
}
public function loadThumbnail():Loader{
var _local1:Loader = new Loader();
if (this._thumbnailUrl){
_local1.load(new URLRequest(this._thumbnailUrl));
};
return (_local1);
}
public function get bytesLoaded():uint{
return ((this._loader) ? this._loader.bytesLoaded : this._contentSize);
}
public function get bytesTotal():uint{
return (this._contentSize);
}
public function get status():uint{
return (this._status);
}
function setStatus(_arg1:uint):void{
this._status = _arg1;
}
public function get groupId():uint{
return (this._group.id);
}
public function get groupName():String{
return (this._group.name);
}
public function get groupType():uint{
return (this._group.type);
}
public function get authorName():String{
return (this._authorName);
}
public function set authorName(_arg1:String):void{
this._authorName = _arg1;
}
public function get authorId():uint{
return (this._authorId);
}
public function set authorId(_arg1:uint):void{
this._authorId = _arg1;
}
public function get shared():Boolean{
return (true);
}
function setFileSize(_arg1:uint):void{
this._contentSize = _arg1;
}
public function setKey(_arg1, _arg2):void{
var _local3:SaveKey;
if ((_arg1 is String)){
_local3 = this._group.getKeyByName(_arg1);
} else {
_local3 = this._group.getKeyById(_arg1);
};
if (_local3){
switch (_local3.type){
case SaveKey.TYPE_BOOLEAN:
this._keys[_local3] = {id:_local3.id, val:Boolean(int(_arg2))};
break;
case SaveKey.TYPE_FLOAT:
this._keys[_local3] = {id:_local3.id, val:Number(_arg2)};
break;
case SaveKey.TYPE_INTEGER:
this._keys[_local3] = {id:_local3.id, val:int(_arg2)};
break;
case SaveKey.TYPE_STRING:
default:
this._keys[_local3] = {id:_local3.id, val:_arg2.toString()};
break;
};
};
}
public function getKey(_arg1){
var _local2:SaveKey;
if ((_arg1 is String)){
_local2 = this._group.getKeyByName(_arg1);
} else {
_local2 = this._group.getKeyById(_arg1);
};
if (_local2){
return (this._keys[_local2]);
};
return (null);
}
public function setRating(_arg1, _arg2:Number, _arg3:Number):void{
var _local4:SaveRating;
if ((_arg1 is String)){
_local4 = this._group.getRatingByName(_arg1);
} else {
_local4 = this._group.getRatingById(_arg1);
};
if (_local4){
this._ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3};
};
}
public function getRating(_arg1):Object{
var _local2:SaveRating;
if ((_arg1 is String)){
_local2 = this._group.getRatingByName(_arg1);
} else {
_local2 = this._group.getRatingById(_arg1);
};
if (_local2){
return (this._ratings[_local2]);
};
return (null);
}
public function sendRating(_arg1:String, _arg2:Number):void{
var _local3:SaveRating = this._group.getRatingByName(_arg1);
if (!_local3){
trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file"));
return;
};
if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){
trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue));
return;
};
_local3.voted = true;
API.rateSaveFile(this, _local3, _arg2);
}
override public function toString():String{
var _local2:Object;
var _local3:Object;
var _local1 = (((((("Save File " + this._filename) + " ID: ") + this._id) + "\n ") + this._description) + "\n");
for each (_local2 in this._keys) {
_local1 = (_local1 + ((((" " + this._group.getKeyById(_local2.id).name) + ": ") + _local2.val) + "\n"));
};
for each (_local3 in this._ratings) {
_local1 = (_local1 + ((((((" " + this._group.getRatingById(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n"));
};
return (_local1);
}
public function toObject():Object{
var _local2:Object;
var _local1:Object = {group:this.groupId, filename:this.name, description:this.description, shared:true};
_local1.keys = [];
for each (_local2 in this._keys) {
_local1.keys.push({id:_local2.id, value:_local2.val});
};
return (_local1);
}
public function save(_arg1:Boolean=false, _arg2:Boolean=false):void{
API.saveFile(this, _arg1, _arg2);
}
public function loadContents():void{
if (this._fileUrl){
this._loader = new SmartURLLoader();
this._loader.responseFormat = URLLoaderDataFormat.BINARY;
this._loader.addEventListener(Event.COMPLETE, this.onContentsLoaded);
this._loader.addEventListener(IOErrorEvent.IO_ERROR, this.onContentsError);
this._loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onContentsError);
this._loader.load(this._fileUrl);
};
}
private function onContentsError(_arg1:Event):void{
this._loader = null;
dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, false));
}
private function onContentsLoaded(_arg1:Event):void{
var _local2:ByteArray = _arg1.target.response;
this._contentSize = _local2.length;
_local2.uncompress();
var _local3:uint = _local2.readUnsignedByte();
if (_local3 == 0){
this._contents = new ByteArray();
this._contents.writeBytes(_local2, 1);
} else {
this._contents = _local2.readObject();
};
this._loader = null;
dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, true, this.contents));
}
public function loadAuthorPage(){
API.loadUserPage(this._authorId, this._authorName);
}
function fileSaved(_arg1:Object):void{
this._id = _arg1.save_id;
this._thumbnailUrl = _arg1.thumbnail;
this._fileUrl = _arg1.file_url;
}
}
}//package com.newgrounds
Section 35
//SaveGroup (com.newgrounds.SaveGroup)
package com.newgrounds {
public class SaveGroup {
private var _name:String;
private var _id:uint;
private var _type:uint;
private var _keys:Array;
private var _ratings:Array;
private var _files:Array;
public static const TYPE_SYSTEM:uint = 0;
public static const TYPE_PRIVATE:uint = 1;
public static const TYPE_PUBLIC:uint = 2;
public static const TYPE_MODERATED:uint = 3;
public function SaveGroup(_arg1:uint, _arg2:String, _arg3:uint){
this._name = _arg2;
this._id = _arg1;
this._type = _arg3;
this._ratings = [];
this._keys = [];
this._files = [];
}
public function get name():String{
return (this._name);
}
public function get id():uint{
return (this._id);
}
public function get type():uint{
return (this._type);
}
public function get keys():Array{
return (this._keys.concat());
}
public function get ratings():Array{
return (this._ratings.concat());
}
public function addRating(_arg1:SaveRating):void{
this._ratings.push(_arg1);
}
public function getRatingById(_arg1:uint):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if (this._ratings[_local2].id == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function getRatingByName(_arg1:String):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if (this._ratings[_local2].name == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function addKey(_arg1:SaveKey):void{
this._keys.push(_arg1);
}
public function getKeyById(_arg1:uint):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if (this._keys[_local2].id == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function getKeyByName(_arg1:String):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if (this._keys[_local2].name == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function createQuery():SaveGroupQuery{
return (new SaveGroupQuery(this));
}
public function toString():String{
return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}"));
}
public static function createFromObject(_arg1:Object):SaveGroup{
var _local4:Object;
var _local5:Object;
var _local2:SaveGroup = new SaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type);
var _local3:uint;
while (_local3 < _arg1.keys.length) {
_local4 = _arg1.keys[_local3];
_local2.addKey(new SaveKey(_local4.id, _local4.name, _local4.type));
_local3++;
};
_local3 = 0;
while (_local3 < _arg1.ratings.length) {
_local5 = _arg1.ratings[_local3];
_local2.addRating(new SaveRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 36
//SaveGroupQuery (com.newgrounds.SaveGroupQuery)
package com.newgrounds {
import flash.events.*;
public class SaveGroupQuery extends EventDispatcher {
private var _group:SaveGroup;
private var _groupBy:Array;
private var _lookupKeys:Array;
private var _lookupRatings:Array;
private var _fileConditions:Array;
private var _keyConditions:Array;
private var _ratingConditions:Array;
private var _sortConditions:Array;
private var _page:uint;
private var _resultsPerPage:uint;
private var _randomizeResults:Boolean;
public static const TABLE_FILES:uint = 1;
public static const TABLE_KEYS:uint = 2;
public static const TABLE_RATINGS:uint = 3;
public static const FILE_ID:uint = 0;
public static const AUTHOR_ID:uint = 1;
public static const AUTHOR_NAME:uint = 2;
public static const FILE_NAME:uint = 3;
public static const CREATED_ON:uint = 4;
public static const UPDATED_ON:uint = 5;
public static const TOTAL_VIEWS:uint = 6;
public static const FILE_STATUS:uint = 7;
public static const SCORE:String = "score";
public static const TOTAL_VOTES:String = "votes";
public function SaveGroupQuery(_arg1:SaveGroup){
this._group = _arg1;
this.reset();
}
public function get group():SaveGroup{
return (this._group);
}
public function get groupId():uint{
return (this._group.id);
}
public function get resultsPerPage():uint{
return (this._resultsPerPage);
}
public function set resultsPerPage(_arg1:uint):void{
this._resultsPerPage = _arg1;
}
public function get page():uint{
return (this._page);
}
public function set page(_arg1:uint):void{
this._page = _arg1;
}
public function get isRandomized():Boolean{
return (this._randomizeResults);
}
public function set isRandomized(_arg1:Boolean):void{
this._randomizeResults = _arg1;
}
public function reset():void{
this._fileConditions = [];
this._keyConditions = [];
this._ratingConditions = [];
this._sortConditions = [];
this._groupBy = [];
this._lookupKeys = [];
this._lookupRatings = [];
this._randomizeResults = false;
this._resultsPerPage = 20;
this._page = 1;
}
public function includeKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyByName(_arg1);
if (_local2){
this._lookupKeys.push(_local2.id);
};
}
public function includeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
if (_local2){
this._lookupRatings.push(_local2.id);
};
}
public function excludeKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyByName(_arg1);
var _local3:uint;
while (_local3 < this._lookupKeys.length) {
if (this._lookupKeys[_local3] == _local2.id){
this._lookupKeys.splice(_local3, 1);
return;
};
_local3++;
};
}
public function excludeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
var _local3:uint;
while (_local3 < this._lookupRatings.length) {
if (this._lookupRatings[_local3] == _local2.id){
this._lookupRatings.splice(_local3, 1);
return;
};
_local3++;
};
}
public function groupBy(_arg1:uint):void{
this._groupBy.push({table:TABLE_FILES, field:_arg1});
}
public function groupByRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
if (!_local2){
return;
};
this._groupBy.push({table:TABLE_RATINGS, field:_local2.id});
}
public function groupByKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyByName(_arg1);
if (!_local2){
return;
};
this._groupBy.push({table:TABLE_KEYS, field:_local2.id});
}
public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{
this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3});
}
public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{
var _local4:SaveKey = this._group.getKeyByName(_arg1);
if (!_local4){
return;
};
if (!this.checkValue(_arg3, _local4.type)){
return;
};
this._keyConditions.push({key_id:_local4.id, operator:_arg2, value:_arg3});
}
public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{
var _local5:SaveRating = this._group.getRatingByName(_arg1);
if (!_local5){
return;
};
this._ratingConditions.push({rating_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4});
}
private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{
var _local5:Object = {table:_arg1, field:_arg2, desc:_arg3};
if (_arg4){
_local5.extra = _arg4;
};
this._sortConditions.push(_local5);
}
public function sortOn(_arg1:uint, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_FILES, _arg1, _arg2);
}
public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_KEYS, this._group.getKeyByName(_arg1).id, _arg2);
}
public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{
this.addSortCondition(TABLE_RATINGS, this._group.getRatingByName(_arg1).id, _arg2, _arg3);
}
public function execute():void{
API.executeSaveQuery(this);
}
private function checkValue(_arg1, _arg2:uint):Boolean{
return (true);
}
override public function toString():String{
return ("");
}
public function toObject():Object{
var _local1:Object = {page:this._page, num_results:this._resultsPerPage};
if (this.isRandomized){
_local1.randomize = 1;
};
if (((this._fileConditions) && ((this._fileConditions.length > 0)))){
_local1.file_conditions = this._fileConditions;
};
if (((this._keyConditions) && ((this._keyConditions.length > 0)))){
_local1.key_conditions = this._keyConditions;
};
if (((this._ratingConditions) && ((this._ratingConditions.length > 0)))){
_local1.rating_conditions = this._ratingConditions;
};
if (((this._sortConditions) && ((this._sortConditions.length > 0)))){
_local1.sort_conditions = this._sortConditions;
};
if (((this._lookupKeys) && ((this._lookupKeys.length > 0)))){
_local1.lookup_keys = this._lookupKeys;
};
if (((this._lookupRatings) && ((this._lookupRatings.length > 0)))){
_local1.lookup_ratings = this._lookupRatings;
};
if (((this._groupBy) && ((this._groupBy.length > 0)))){
_local1.group_by = this._groupBy;
};
return (_local1);
}
}
}//package com.newgrounds
Section 37
//SaveKey (com.newgrounds.SaveKey)
package com.newgrounds {
public class SaveKey {
private var _id:uint;
private var _name:String;
private var _type:uint;
public static const TYPE_FLOAT:uint = 1;
public static const TYPE_INTEGER:uint = 2;
public static const TYPE_STRING:uint = 3;
public static const TYPE_BOOLEAN:uint = 4;
public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){
this._id = _arg1;
this._name = _arg2;
this._type = _arg3;
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get type():uint{
return (this._type);
}
public function isValueValid(_arg1):Boolean{
if (this._type == TYPE_INTEGER){
return ((((_arg1 is int)) || ((_arg1 is uint))));
};
if (this._type == TYPE_FLOAT){
return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number))));
};
if (this._type == TYPE_STRING){
return ((_arg1 is String));
};
if (this._type == TYPE_BOOLEAN){
return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == ""))));
};
return (false);
}
public function toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 38
//SaveRating (com.newgrounds.SaveRating)
package com.newgrounds {
public class SaveRating {
private var _id:uint;
private var _name:String;
private var _minValue:Number;
private var _maxValue:Number;
private var _isFloat:Boolean;
private var _voted:Boolean;
public function SaveRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){
this._id = _arg1;
this._name = _arg2;
this._isFloat = _arg3;
this._minValue = _arg4;
this._maxValue = _arg5;
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get minValue():Number{
return (this._minValue);
}
public function get maxValue():Number{
return (this._maxValue);
}
public function get isFloat():Boolean{
return (this._isFloat);
}
public function get voted():Boolean{
return (this._voted);
}
public function set voted(_arg1:Boolean):void{
this._voted = _arg1;
}
public function toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 39
//Score (com.newgrounds.Score)
package com.newgrounds {
public class Score {
private var _board:ScoreBoard;
private var _position:uint;
private var _username:String;
private var _value:String;
private var _numeric_value:uint;
private var _tag:String;
public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint, _arg6:String){
this._board = _arg1;
this._position = _arg2;
this._username = _arg3;
this._value = _arg4;
this._numeric_value = _arg5;
this._tag = _arg6;
}
public function get board():ScoreBoard{
return (this._board);
}
public function get position():uint{
return (this._position);
}
public function get username():String{
return (this._username);
}
public function get value():String{
return (this._value);
}
public function get numeric_value():uint{
return (this._numeric_value);
}
public function get tag():String{
return (this._tag);
}
}
}//package com.newgrounds
Section 40
//ScoreBoard (com.newgrounds.ScoreBoard)
package com.newgrounds {
import flash.events.*;
public class ScoreBoard extends EventDispatcher {
private var _name:String;
private var _id:uint;
private var _scores:Array;
private var _period:String;// = "Today"
private var _num_results:uint;// = 10
private var _numScores:uint;
private var _desiredNumResults:uint;
private var _startRank:uint;
private var _endRank:uint;
private var _page:uint;// = 1
private var _tag:String;
public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){
this._name = _arg2;
this._id = _arg1;
this._scores = [];
this._tag = _arg3;
}
public function exists():Boolean{
return ((this._id > 0));
}
public function get id():Number{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get period():String{
return (this._period);
}
public function get page():uint{
return (this._page);
}
public function get num_results():uint{
return (this._num_results);
}
public function get scores():Array{
return (this._scores);
}
public function get tag():String{
return (this._tag);
}
public function get num_scores():uint{
return (this._numScores);
}
public function postScore(_arg1:uint):void{
API.postScore(this._name, _arg1);
}
public function loadScores(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._page = _arg2;
this._num_results = _arg3;
this._desiredNumResults = 0;
API.loadScores(this);
}
public function loadScoresInRange(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
if (_arg2 == 0){
_arg2 = 1;
};
if (_arg3 < _arg2){
_arg3 = _arg2;
};
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._desiredNumResults = ((_arg3 - _arg2) + 1);
this._num_results = this._desiredNumResults;
while (int(((_arg2 - 1) / this._num_results)) != int(((_arg3 - 1) / this._num_results))) {
this._num_results++;
};
this._page = ((_arg2 - 1) / this._num_results);
this._startRank = _arg2;
this._endRank = _arg3;
this._page++;
API.loadScores(this);
}
function setScores(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint):void{
var _local7:uint;
this._period = _arg2;
this._page = _arg3;
this._num_results = _arg4;
this._numScores = _arg5;
this._scores = [];
var _local6:uint;
while (_local6 < _arg1.length) {
_local7 = (((this._num_results * (this._page - 1)) + 1) + _local6);
if (((!(this._desiredNumResults)) || ((((_local7 >= this._startRank)) && ((_local7 <= this._endRank)))))){
this._scores.push(new Score(this, _local7, _arg1[_local6].username, _arg1[_local6].value, _arg1[_local6].numeric_value, _arg1[_local6].tag));
};
_local6++;
};
this._num_results = this._scores.length;
}
}
}//package com.newgrounds
Section 41
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod)
package com.newgrounds {
public class ScoreBoardPeriod {
public static const TODAY:String = "Today";
public static const WEEK:String = "This Week";
public static const MONTH:String = "This Month";
public static const YEAR:String = "This Year";
public static const ALL_TIME:String = "All-Time";
}
}//package com.newgrounds
Section 42
//SmartURLLoader (com.newgrounds.SmartURLLoader)
package com.newgrounds {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.errors.*;
public class SmartURLLoader extends EventDispatcher {
private var _variables:Dictionary;
private var _files:Dictionary;
private var _hasVariables:Boolean;
private var _method:String;// = "GET"
private var _urlRequest:URLRequest;
private var _urlLoader:URLLoader;
private var _dataFormat:String;// = "text"
private var _openBrowser:Boolean;// = false
private var _preventCache:Boolean;// = false
var _command:String;
public var owner;
private static const CRLF:String = "
";
private static var _loaders:Dictionary = new Dictionary();
public function SmartURLLoader(){
this._urlRequest = new URLRequest();
this._variables = new Dictionary();
}
public function get responseFormat():String{
return (this._dataFormat);
}
public function set responseFormat(_arg1:String):void{
this._dataFormat = _arg1;
}
public function get response(){
return (this._urlLoader.data);
}
public function get hasFiles():Boolean{
return (Boolean(this._files));
}
public function get method():String{
return (this._method);
}
public function set method(_arg1:String):void{
if (((this.hasFiles) && ((_arg1 == URLRequestMethod.GET)))){
throw (new IllegalOperationError("GET cannot be used to upload files."));
};
this._method = _arg1;
}
public function get openBrowser():Boolean{
return (this._openBrowser);
}
public function set openBrowser(_arg1:Boolean):void{
this._openBrowser = _arg1;
}
public function get preventCache():Boolean{
return (this._preventCache);
}
public function set preventCache(_arg1:Boolean):void{
this._preventCache = _arg1;
}
public function get bytesLoaded():uint{
return ((this._urlLoader) ? this._urlLoader.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._urlLoader) ? this._urlLoader.bytesTotal : 0);
}
public function addVariable(_arg1:String, _arg2=""):void{
this._variables[_arg1] = _arg2;
if (_arg2){
this._hasVariables = true;
};
}
public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octet-stream"):void{
this.method = URLRequestMethod.POST;
if (!this._files){
this._files = new Dictionary();
};
this._files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4);
}
public function clearVariables():void{
this._variables = new Dictionary();
}
public function clearFiles():void{
this._files = null;
}
public function load(_arg1:String):void{
var urlVariables:URLVariables;
var key:String;
var boundary:String;
var i:uint;
var event:SecurityErrorEvent;
var url = _arg1;
this._urlRequest.url = url;
if (this._preventCache){
url = (url + ("?seed=" + Math.random()));
if (this._hasVariables){
url = (url + "&");
};
};
this._urlRequest.method = this._method;
if ((((this._urlRequest.method == URLRequestMethod.GET)) || (!(this.hasFiles)))){
this._urlRequest.contentType = "application/x-www-form-urlencoded";
if (this._hasVariables){
urlVariables = new URLVariables();
for (key in this._variables) {
urlVariables[key] = this._variables[key];
};
this._urlRequest.data = urlVariables;
};
} else {
boundary = "";
i = 0;
while (i < 32) {
boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25)))));
i = (i + 1);
};
this._urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\"");
this._urlRequest.data = this.buildMultipartData(boundary);
};
if (this.openBrowser){
navigateToURL(this._urlRequest, "_blank");
} else {
this._urlLoader = new URLLoader();
this._urlLoader.dataFormat = this._dataFormat;
this._urlLoader.addEventListener(Event.COMPLETE, this.onComplete);
this._urlLoader.addEventListener(ProgressEvent.PROGRESS, this.onProgress);
this._urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onIOError);
this._urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus);
this._urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError);
_loaders[this._urlLoader] = this;
try {
this._urlLoader.load(this._urlRequest);
} catch(error:Error) {
event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message);
onSecurityError(event);
};
};
}
public function close():void{
try {
this._urlLoader.close();
} catch(e:Error) {
};
}
public function dispose():void{
this.close();
this._files = null;
this._variables = null;
if (this._urlLoader){
this._urlLoader.removeEventListener(Event.COMPLETE, this.onComplete);
this._urlLoader.removeEventListener(ProgressEvent.PROGRESS, this.onProgress);
this._urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOError);
this._urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus);
this._urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError);
this._urlLoader = null;
};
this._urlRequest = null;
delete _loaders[this];
}
private function buildMultipartData(_arg1:String):ByteArray{
var _local3:String;
var _local4:File;
var _local2:ByteArray = new ByteArray();
_local2.endian = Endian.BIG_ENDIAN;
_arg1 = ("--" + _arg1);
for (_local3 in this._variables) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((this._variables[_local3] + CRLF));
};
if (this.hasFiles){
for each (_local4 in this._files) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((_local4.fileName + CRLF));
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF));
_local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeBytes(_local4.data);
_local2.writeUTFBytes(CRLF);
};
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes(("Submit Query" + CRLF));
};
_local2.writeUTFBytes((_arg1 + "--"));
_local2.position = 0;
_local2.position = 0;
return (_local2);
}
private function onComplete(_arg1:Event):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onProgress(_arg1:ProgressEvent):void{
dispatchEvent(_arg1);
}
private function onIOError(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onSecurityError(_arg1:SecurityErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onHTTPStatus(_arg1:HTTPStatusEvent):void{
dispatchEvent(_arg1);
}
public static function closeAll():void{
var _local1:SmartURLLoader;
for each (_local1 in _loaders) {
if (_local1){
_local1.dispose();
};
};
_loaders = new Dictionary();
}
}
}//package com.newgrounds
import flash.utils.*;
class File {
private var fileName:String;
private var data:ByteArray;
private var dataField:String;
private var contentType:String;
private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){
this.fileName = _arg1;
this.data = _arg2;
this.dataField = _arg3;
this.contentType = _arg4;
}
}
Section 43
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var contentspotid:String;
private var cpmstarLoader:Loader;
public function AdLoader(_arg1:String){
this.contentspotid = _arg1;
addEventListener(Event.ADDED, addedHandler);
}
private function addedHandler(_arg1:Event):void{
var _local2:String;
var _local3:DisplayObjectContainer;
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
_local2 = "http://server.cpmstar.com/adviewas3.swf";
_local3 = parent;
cpmstarLoader = new Loader();
cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler);
cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler);
cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid)));
addChild(cpmstarLoader);
}
private function dispatchHandler(_arg1:Event):void{
dispatchEvent(_arg1);
}
}
}//package CPMStar
Section 44
//btn_addToSite_36 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_addToSite_36)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class btn_addToSite_36 extends MovieClip {
public function btn_addToSite_36(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.playtowerdefensegames.com/download-games.html";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 45
//btn_buy_75 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_buy_75)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class btn_buy_75 extends MovieClip {
public function btn_buy_75(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 46
//btn_buyUpgrade_76 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_buyUpgrade_76)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class btn_buyUpgrade_76 extends MovieClip {
public function btn_buyUpgrade_76(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 47
//btn_forExtraMoney_77 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_forExtraMoney_77)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class btn_forExtraMoney_77 extends MovieClip {
public function btn_forExtraMoney_77(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
MovieClip(parent.parent)._mochibotExtraMoneyLink();
this.x = 2000;
MovieClip(parent.parent).money = (MovieClip(parent.parent).money + 250);
MovieClip(parent.parent).updateStatsUI();
_local2 = "http://www.playtowerdefensegames.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 48
//btn_highscores_31 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_highscores_31)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class btn_highscores_31 extends MovieClip {
public function btn_highscores_31(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://playtowerdefensegames.com/index.php?action=highscores&gameid=976";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 49
//btn_KotubukiMedia_12 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_KotubukiMedia_12)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class btn_KotubukiMedia_12 extends MovieClip {
public function btn_KotubukiMedia_12(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.kotubukimedia.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 50
//btn_main_83 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_main_83)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class btn_main_83 extends MovieClip {
public var acquiredScore_txt:TextField;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 51
//btn_moreGames_32 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_moreGames_32)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class btn_moreGames_32 extends MovieClip {
public function btn_moreGames_32(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.playtowerdefensegames.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 52
//btn_submitScore_82 (GraveyardMadness_kenplay_viralNG_v2_fla.btn_submitScore_82)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class btn_submitScore_82 extends MovieClip {
public var acquiredScore_txt:TextField;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 53
//MainTimeline (GraveyardMadness_kenplay_viralNG_v2_fla.MainTimeline)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.newgrounds.components.*;
import flash.utils.*;
import flash.net.*;
import ru.etcs.ui.*;
import flash.media.*;
import CPMStar.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var keyIsPressed:String;
public var fireWeapon:String;
public var sndHit1:Sound;
public var sndHit2:Sound;
public var sndHit3:Sound;
public var level28EnemiesArrayContent:Array;
public var ammo4InventoryPack:Number;
public var tombLevel:Number;
public var airStrikePrompt_mc:MovieClip;
public var level23EnemiesArrayContent:Array;
public var ad:DisplayObject;
public var weapon10AmmoPrice:Number;
public var level17EnemiesArrayContent:Array;
public var ammo7Inventory:Number;
public var level5EnemiesArrayContent:Array;
public var ammo9InventoryPack:Number;
public var sndPistol:Sound;
public var loader_txt:TextField;
public var flash_mc:MovieClip;
public var weaponCounter:Number;
public var award11_name:String;
public var level12EnemiesArrayContent:Array;
public var awards_btn:MovieClip;
public var __setPropDict:Dictionary;
public var award4_name:String;
public var sndIncomingRocket:Sound;
public var award6_des:String;
public var __id0_:APIConnector;
public var creditsPanel_mc:MovieClip;
public var playerAmmo8Rof:Number;
public var weapon7Price:Number;
public var allowed_site2:String;
public var weapon4AmmoPrice:Number;
public var fogForeground1_mc:MovieClip;
public var playerAmmo4Array:Array;
public var acquiredScore_txt:TextField;
public var CPMStarContentSpotID:String;
public var levelEnemyDeploymentTimerObj2:Timer;
public var weapon1Price:Number;
public var money:Number;
public var goToPost:String;
public var domain:String;
public var sndBuyAmmo:Sound;
public var weapon10Price:Number;
public var ammo2InventoryPack:Number;
public var treeContainer_mc:MovieClip;
public var award5_des:String;
public var ammo4Inventory:Number;
public var weapon8AmmoPrice:Number;
public var level19EnemiesArrayContent:Array;
public var fogForeground2_mc:MovieClip;
public var level25EnemiesArrayContent:Array;
public var award12_name:String;
public var award5_name:String;
public var level7EnemiesArrayContent:Array;
public var level31EnemiesArrayContent:Array;
public var level14EnemiesArrayContent:Array;
public var ammo7InventoryPack:Number;
public var weapon1AmmoPrice:Number;
public var toPostLevelTmrObj:Timer;
public var level20EnemiesArrayContent:Array;
public var weapon8Price:Number;
public var lifeDenom:Number;
public var level2EnemiesArrayContent:Array;
public var groundEnemyYpos:Number;
public var ammo10InventoryPack:Number;
public var playerAmmo5Array:Array;
public var weapon10:String;
public var credits_btn:MovieClip;
public var bar_mc:MovieClip;
public var sndGameScreen:Sound;
public var award4_des:String;
public var ammo8Inventory:Number;
public var weapon2Price:Number;
public var ng_loader:MovieClip;
public var ammo1Inventory:Number;
public var levelEnemiesArray:Array;
public var repair1price:Number;
public var awardsPanel_mc:MovieClip;
public var weapon5AmmoPrice:Number;
public var award6_name:String;
public var km_mc:MovieClip;
public var weapon1:String;
public var weapon3:String;
public var award12_des:String;
public var weapon5:String;
public var shop_btn:MovieClip;
public var weapon8:String;
public var weapon4:String;
public var weapon6:String;
public var playerAmmo1Rof:Number;
public var weapon7:String;
public var ammo5InventoryPack:Number;
public var level9EnemiesArrayContent:Array;
public var musicCode:Number;
public var weaponArray:Array;
public var gMadness_so:SharedObject;
public var level16EnemiesArrayContent:Array;
public var level22EnemiesArrayContent:Array;
public var award3_des:String;
public var weapon9:String;
public var weapon9Price:Number;
public var weapon2:String;
public var playerAmmo6Array:Array;
public var sndNewGameScreen:Sound;
public var level4EnemiesArrayContent:Array;
public var fallSpeed:Number;
public var statsUI_mc:MovieClip;
public var level27EnemiesArrayContent:Array;
public var level11EnemiesArrayContent:Array;
public var weapon3Price:Number;
public var ammo5Inventory:Number;
public var submitScore_btn:MovieClip;
public var weapon9AmmoPrice:Number;
public var playerAmmo2Rof:Number;
public var award11_des:String;
public var repair2price:Number;
public var music:String;
public var transitionPanel_mc:MovieClip;
public var weapon2AmmoPrice:Number;
public var maximum:Number;
public var award7_name:String;
public var award2_des:String;
public var crystalSnd:Sound;
public var sndRepair:Sound;
public var gameStateCode:Number;
public var sndShotgun:Sound;
public var level29EnemiesArrayContent:Array;
public var playerAmmo3Rof:Number;
public var sndTitle:Sound;
public var ammo9Inventory:Number;
public var award1_name:String;
public var ammo3InventoryPack:Number;
public var level18EnemiesArrayContent:Array;
public var ammo10Inventory:Number;
public var playerAmmo7Array:Array;
public var level24EnemiesArrayContent:Array;
public var level30EnemiesArrayContent:Array;
public var award10_des:String;
public var weapon4Price:Number;
public var ammo2Inventory:Number;
public var score:Number;
public var weapon6AmmoPrice:Number;
public var ammo8InventoryPack:Number;
public var level13EnemiesArrayContent:Array;
public var adBox:MovieClip;
public var playerAmmo1Array:Array;
public var level1EnemiesArrayContent:Array;
public var sndBuyWeapons:Sound;
public var textLogo_mc:MovieClip;
public var level6EnemiesArrayContent:Array;
public var playerAmmo4Rof:Number;
public var award1_des:String;
public var sndSniperRiffle:Sound;
public var play_btn:MovieClip;
public var crosshair_mc:MovieClip;
public var main_btn:MovieClip;
public var levelEnemyDeploymentTimerObj:Timer;
public var award8_name:String;
public var sndLaser:Sound;
public var award9_des:String;
public var lifeNum:Number;
public var playerAmmo8Array:Array;
public var ammo6Inventory:Number;
public var award2_name:String;
public var playerAmmo5Rof:Number;
public var sndAssaultRiffle:Sound;
public var titleLogo_mc:MovieClip;
public var sndMac:Sound;
public var weapon5Price:Number;
public var sndExplode:Sound;
public var ammo1InventoryPack:Number;
public var playerAmmo10Array:Array;
public var upgradeTombprice:Number;
public var level8EnemiesArrayContent:Array;
public var weapon3AmmoPrice:Number;
public var PTDG_mc:MovieClip;
public var playerAmmo2Array:Array;
public var closeButton:MovieClip;
public var award8_des:String;
public var level26EnemiesArrayContent:Array;
public var sndFlame:Sound;
public var ammo6InventoryPack:Number;
public var howTo_mc:MovieClip;
public var award9_name:String;
public var level21EnemiesArrayContent:Array;
public var shop_mc:MovieClip;
public var playerAmmo6Rof:Number;
public var level10EnemiesArrayContent:Array;
public var level:Number;
public var allowed_site:String;
public var level3EnemiesArrayContent:Array;
public var level15EnemiesArrayContent:Array;
public var sndGrown1:Sound;
public var sndGrown2:Sound;
public var sndGrown3:Sound;
public var sndGrown4:Sound;
public var sndGrown5:Sound;
public var sndGrown6:Sound;
public var userName_txt:TextField;
public var weaponsUI_mc:MovieClip;
public var playerAmmo9Array:Array;
public var award3_name:String;
public var award10_name:String;
public var ammo3Inventory:Number;
public var gameState:String;
public var sndMiniGun:Sound;
public var levelContainer_mc:MovieClip;
public var enemyArray:Array;
public var award7_des:String;
public var weapon6Price:Number;
public var playerAmmo7Rof:Number;
public var weapon7AmmoPrice:Number;
public var playerAmmo3Array:Array;
public function MainTimeline(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(0, frame1, 1, frame2, 3, frame4, 4, frame5, 5, frame6);
}
public function attEnemy4Ammo(_arg1:Number, _arg2:Number){
var _local3:Enemy4Ammo;
_local3 = new Enemy4Ammo(_arg1, _arg2);
_local3.main = this;
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
}
public function updateAllInventory(){
weaponsUI_mc.w2Inv_txt.text = String(ammo2Inventory);
weaponsUI_mc.w3Inv_txt.text = String(ammo3Inventory);
weaponsUI_mc.w4Inv_txt.text = String(ammo4Inventory);
weaponsUI_mc.w5Inv_txt.text = String(ammo5Inventory);
weaponsUI_mc.w6Inv_txt.text = String(ammo6Inventory);
weaponsUI_mc.w7Inv_txt.text = String(ammo7Inventory);
weaponsUI_mc.w8Inv_txt.text = String(ammo8Inventory);
weaponsUI_mc.w9Inv_txt.text = String(ammo9Inventory);
weaponsUI_mc.w10Inv_txt.text = String(ammo10Inventory);
shop_mc.w2Inv_txt.text = String(ammo2Inventory);
shop_mc.w3Inv_txt.text = String(ammo3Inventory);
shop_mc.w4Inv_txt.text = String(ammo4Inventory);
shop_mc.w5Inv_txt.text = String(ammo5Inventory);
shop_mc.w6Inv_txt.text = String(ammo6Inventory);
shop_mc.w7Inv_txt.text = String(ammo7Inventory);
shop_mc.w8Inv_txt.text = String(ammo8Inventory);
shop_mc.w9Inv_txt.text = String(ammo9Inventory);
shop_mc.w10Inv_txt.text = String(ammo10Inventory);
}
public function achiever(){
if (gMadness_so.data.award12_so == undefined){
gMadness_so.data.award12_so = 1;
promptAchievement(award12_name);
};
}
public function makeTreeFall(){
var _local1:Number;
_local1 = randomGenerator(1, 12);
switch (_local1){
case 1:
break;
case 2:
_treeFall("right");
break;
case 3:
_treeFall("left");
break;
case 4:
break;
case 5:
_treeFall("right");
_treeFall("left");
break;
case 6:
break;
case 7:
_treeFall("left");
_treeFall("right");
break;
};
}
function frame2(){
stop();
stage.frameRate = 30;
musicCode = 0;
music = "on";
sndGameScreen = new SndGameScreen();
sndNewGameScreen = new SndNewGameScreen();
sndTitle = new SndTitle();
sndShotgun = new SndShotgun();
sndIncomingRocket = new SndIncomingRocket();
sndSniperRiffle = new SndSniperRiffle();
sndPistol = new SndPistol();
sndAssaultRiffle = new SndAssaultRiffle();
sndMac = new SndMac();
sndMiniGun = new SndMiniGun();
sndBuyAmmo = new SndBuyAmmo();
sndBuyWeapons = new SndBuyWeapons();
sndRepair = new SndRepair();
sndLaser = new SndLaser();
sndFlame = new SndFlame();
sndExplode = new SndExplode();
crystalSnd = new CrystalSnd();
sndHit1 = new SndHit1();
sndHit2 = new SndHit2();
sndHit3 = new SndHit3();
sndGrown1 = new SndGrown1();
sndGrown2 = new SndGrown2();
sndGrown3 = new SndGrown3();
sndGrown4 = new SndGrown4();
sndGrown5 = new SndGrown5();
sndGrown6 = new SndGrown6();
}
function frame4(){
_mochibotViral();
stop();
stage.showDefaultContextMenu = false;
MouseWheel.capture();
playSndTitle();
titleLogo_mc.y = (titleLogo_mc.y - 300);
Tweener.addTween(titleLogo_mc, {y:79, time:1, transition:"easeOutStrong"});
navButton(play_btn, "gameScreen");
howToButton(howTo_mc.play_btn, "gameScreen");
howToButton(howTo_mc.back_btn, "gameScreen");
stage.addEventListener(KeyboardEvent.KEY_DOWN, kd);
stage.addEventListener(KeyboardEvent.KEY_UP, ku);
keyIsPressed = "false";
gMadness_so = SharedObject.getLocal("gMadnessSavedData");
award1_name = "ZOMB-DURANCE";
award2_name = "ZOMB-POWER";
award3_name = "ZOMB-STRONG";
award4_name = "ZOMB-OLYMPIAN";
award5_name = "ZOMB-LOVESTOMB";
award6_name = "BOMB DISPOSAL";
award7_name = "SWAT";
award8_name = "CONSTRUCTION";
award9_name = "PREDATOR";
award10_name = "MISSILE";
award11_name = "WHO";
award12_name = "ACHIEVER";
award1_des = "REACHING LEVEL 10";
award2_des = "REACHING LEVEL 20";
award3_des = "REACHING LEVEL 30";
award4_des = "REACHING LEVEL 40";
award5_des = "REACHING LEVEL 50";
award6_des = "Destroy a bomb disposal robot";
award7_des = "Kill a Swat";
award8_des = "Kill a construction worker";
award9_des = "Shoot down an UAV";
award10_des = "Shoot down a missile";
award11_des = "Check the credits";
award12_des = "Beat your score 3 times (Only Applicable on Level 30 onwards)";
awardsPanel_mc.medal1_mc.gotoAndStop(1);
awardsPanel_mc.medal2_mc.gotoAndStop(2);
awardsPanel_mc.medal3_mc.gotoAndStop(3);
awardsPanel_mc.medal4_mc.gotoAndStop(4);
awardsPanel_mc.medal5_mc.gotoAndStop(5);
awardsPanel_mc.medal6_mc.gotoAndStop(6);
awardsPanel_mc.medal7_mc.gotoAndStop(7);
awardsPanel_mc.medal8_mc.gotoAndStop(8);
awardsPanel_mc.medal9_mc.gotoAndStop(9);
awardsPanel_mc.medal10_mc.gotoAndStop(10);
awardsPanel_mc.medal11_mc.gotoAndStop(11);
awardsPanel_mc.medal12_mc.gotoAndStop(12);
_setAwardsNameDesc(awardsPanel_mc.medal1_mc, award1_name, award1_des);
_setAwardsNameDesc(awardsPanel_mc.medal2_mc, award2_name, award2_des);
_setAwardsNameDesc(awardsPanel_mc.medal3_mc, award3_name, award3_des);
_setAwardsNameDesc(awardsPanel_mc.medal4_mc, award4_name, award4_des);
_setAwardsNameDesc(awardsPanel_mc.medal5_mc, award5_name, award5_des);
_setAwardsNameDesc(awardsPanel_mc.medal6_mc, award6_name, award6_des);
_setAwardsNameDesc(awardsPanel_mc.medal7_mc, award7_name, award7_des);
_setAwardsNameDesc(awardsPanel_mc.medal8_mc, award8_name, award8_des);
_setAwardsNameDesc(awardsPanel_mc.medal9_mc, award9_name, award9_des);
_setAwardsNameDesc(awardsPanel_mc.medal10_mc, award10_name, award10_des);
_setAwardsNameDesc(awardsPanel_mc.medal11_mc, award11_name, award11_des);
_setAwardsNameDesc(awardsPanel_mc.medal12_mc, award12_name, award12_des);
awardsButton(awards_btn);
awardsButton(awardsPanel_mc.back_btn);
credButton(credits_btn);
credButton(creditsPanel_mc.back_btn);
setMedals();
}
function frame5(){
gameStateCode = 0;
gameState = "paused";
lifeDenom = 100;
lifeNum = lifeDenom;
ammo1Inventory = 100;
ammo2Inventory = 0;
ammo3Inventory = 0;
ammo4Inventory = 0;
ammo5Inventory = 0;
ammo6Inventory = 0;
ammo7Inventory = 0;
ammo8Inventory = 0;
ammo9Inventory = 0;
ammo10Inventory = 0;
ammo1InventoryPack = 100;
ammo2InventoryPack = 90;
ammo3InventoryPack = 30;
ammo4InventoryPack = 150;
ammo5InventoryPack = 80;
ammo6InventoryPack = 10;
ammo7InventoryPack = 300;
ammo8InventoryPack = 20;
ammo9InventoryPack = 2;
ammo10InventoryPack = 1;
weaponCounter = 1;
playerAmmo1Array = new Array();
playerAmmo2Array = new Array();
playerAmmo3Array = new Array();
playerAmmo4Array = new Array();
playerAmmo5Array = new Array();
playerAmmo6Array = new Array();
playerAmmo7Array = new Array();
playerAmmo8Array = new Array();
playerAmmo9Array = new Array();
playerAmmo10Array = new Array();
enemyArray = new Array();
fireWeapon = "cease";
weaponArray = [1];
weapon1 = "sold";
weapon2 = "available";
weapon3 = "available";
weapon4 = "available";
weapon5 = "available";
weapon6 = "available";
weapon7 = "available";
weapon8 = "available";
weapon9 = "available";
weapon10 = "available";
level = 1;
score = 0;
money = 50;
weapon1Price = 100;
weapon2Price = 300;
weapon3Price = 1200;
weapon4Price = 3000;
weapon5Price = 4000;
weapon6Price = 5500;
weapon7Price = 7000;
weapon8Price = 8000;
weapon9Price = 3000;
weapon10Price = 4000;
weapon1AmmoPrice = 100;
weapon2AmmoPrice = 100;
weapon3AmmoPrice = 100;
weapon4AmmoPrice = 100;
weapon5AmmoPrice = 100;
weapon6AmmoPrice = 100;
weapon7AmmoPrice = 100;
weapon8AmmoPrice = 100;
weapon9AmmoPrice = 1500;
weapon10AmmoPrice = 2000;
repair1price = 50;
repair2price = 150;
upgradeTombprice = 500;
tombLevel = 0;
goToPost = "no";
toPostLevelTmrObj = new Timer(1000, 2);
toPostLevelTmrObj.addEventListener(TimerEvent.TIMER, toPostLevelTmr);
toPostLevelTmrObj.addEventListener(TimerEvent.TIMER_COMPLETE, toPostLevel);
_revealShop(shop_btn);
stage.addEventListener(Event.ENTER_FRAME, looper);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheel);
playerAmmo1Rof = 1;
playerAmmo2Rof = 1;
playerAmmo3Rof = 1;
playerAmmo4Rof = 1;
playerAmmo5Rof = 1;
playerAmmo6Rof = 1;
playerAmmo7Rof = 1;
playerAmmo8Rof = 1;
groundEnemyYpos = 380;
fallSpeed = 8;
level1EnemiesArrayContent = new Array(1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2);
level2EnemiesArrayContent = new Array(1, 1, 1, 1, 4, 1, 1, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 2);
level3EnemiesArrayContent = new Array(1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4);
level4EnemiesArrayContent = new Array(1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3);
level5EnemiesArrayContent = new Array(1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3);
level6EnemiesArrayContent = new Array(1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4);
level7EnemiesArrayContent = new Array(1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4);
level8EnemiesArrayContent = new Array(1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4);
level9EnemiesArrayContent = new Array(1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4, 1, 1, 2, 3, 4);
level10EnemiesArrayContent = new Array(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5);
level11EnemiesArrayContent = new Array(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5);
level12EnemiesArrayContent = new Array(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5);
level13EnemiesArrayContent = new Array(1, 2, 4, 5, 6, 1, 2, 4, 5, 6, 1, 2, 4, 5, 6, 1, 2, 4, 5, 6);
level14EnemiesArrayContent = new Array(1, 2, 4, 5, 6, 1, 2, 4, 5, 6, 1, 2, 4, 5, 6, 1, 2, 4, 5, 6);
level15EnemiesArrayContent = new Array(1, 2, 4, 5, 6, 1, 2, 4, 5, 6, 1, 2, 4, 5, 6, 1, 2, 4, 5, 6);
level16EnemiesArrayContent = new Array(1, 2, 5, 6, 7, 1, 2, 5, 6, 7, 1, 4, 5, 6, 7, 1, 4, 5, 6, 7);
level17EnemiesArrayContent = new Array(1, 4, 5, 6, 7, 1, 4, 5, 6, 7, 1, 4, 5, 6, 7, 1, 4, 5, 6, 7);
level18EnemiesArrayContent = new Array(1, 2, 5, 6, 7, 1, 2, 5, 6, 7, 1, 2, 5, 6, 7, 1, 2, 5, 6, 7);
level19EnemiesArrayContent = new Array(1, 2, 6, 7, 8, 1, 2, 6, 7, 8, 1, 2, 6, 7, 8, 1, 2, 6, 7, 8);
level20EnemiesArrayContent = new Array(1, 4, 6, 7, 8, 1, 2, 6, 7, 8, 1, 4, 6, 7, 8, 1, 2, 6, 7, 8);
level21EnemiesArrayContent = new Array(1, 2, 6, 7, 8, 1, 2, 6, 7, 8, 1, 2, 6, 7, 8, 1, 2, 6, 7, 8);
level22EnemiesArrayContent = new Array(1, 2, 7, 8, 9, 1, 2, 7, 8, 9, 1, 2, 7, 8, 9, 1, 2, 7, 8, 9);
level23EnemiesArrayContent = new Array(1, 4, 7, 8, 9, 1, 2, 7, 8, 9, 1, 4, 7, 8, 9, 1, 2, 7, 8, 9);
level24EnemiesArrayContent = new Array(1, 2, 7, 8, 9, 1, 2, 7, 8, 9, 1, 2, 7, 8, 9, 1, 2, 7, 8, 9);
level25EnemiesArrayContent = new Array(1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 10);
level26EnemiesArrayContent = new Array(1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 10);
level27EnemiesArrayContent = new Array(1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 1, 2, 8, 9, 3, 10);
level28EnemiesArrayContent = new Array(2, 3, 8, 9, 1, 2, 3, 8, 9, 1, 2, 3, 8, 9, 1, 2, 3, 8, 9, 10);
level29EnemiesArrayContent = new Array(2, 3, 8, 9, 11, 2, 3, 8, 9, 11, 2, 3, 8, 9, 11, 2, 3, 8, 9, 11);
level30EnemiesArrayContent = new Array(2, 3, 8, 9, 11, 2, 3, 8, 9, 11, 2, 3, 8, 9, 11, 2, 3, 8, 9, 10);
level31EnemiesArrayContent = new Array(4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 10, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 11, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 10, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 11, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 10, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 11, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 10, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 8, 4, 5, 7, 9, 11);
levelEnemiesArray = level1EnemiesArrayContent.concat();
levelEnemyDeploymentTimerObj = new Timer(1500, 0);
levelEnemyDeploymentTimerObj.addEventListener(TimerEvent.TIMER, levelEnemyDeploymentTimer);
levelEnemyDeploymentTimerObj2 = new Timer(1000, 0);
levelEnemyDeploymentTimerObj2.addEventListener(TimerEvent.TIMER, levelEnemyDeploymentTimer2);
buyWeapons(shop_mc.buyWeapon2_btn);
buyWeapons(shop_mc.buyWeapon3_btn);
buyWeapons(shop_mc.buyWeapon4_btn);
buyWeapons(shop_mc.buyWeapon5_btn);
buyWeapons(shop_mc.buyWeapon6_btn);
buyWeapons(shop_mc.buyWeapon7_btn);
buyWeapons(shop_mc.buyWeapon8_btn);
buyWeapons(shop_mc.buyWeapon9_btn);
buyWeapons(shop_mc.buyWeapon10_btn);
buyAmmo(shop_mc.buyWeapon2Ammo_btn);
buyAmmo(shop_mc.buyWeapon3Ammo_btn);
buyAmmo(shop_mc.buyWeapon4Ammo_btn);
buyAmmo(shop_mc.buyWeapon5Ammo_btn);
buyAmmo(shop_mc.buyWeapon6Ammo_btn);
buyAmmo(shop_mc.buyWeapon7Ammo_btn);
buyAmmo(shop_mc.buyWeapon8Ammo_btn);
buyAmmo(shop_mc.buyWeapon9Ammo_btn);
buyAmmo(shop_mc.buyWeapon10Ammo_btn);
buyRepair(shop_mc.buyRepair25_btn);
buyRepair(shop_mc.buyRepairFull_btn);
buyUpgradeTomb(shop_mc.buyUpgradeTomb_btn);
init();
}
function frame6(){
stop();
if ((((gMadness_so.data.pointsOverall_so == undefined)) && ((level >= 30)))){
gMadness_so.data.newRecordCount_so = 1;
gMadness_so.data.pointsOverall_so = score;
} else {
if ((((score > gMadness_so.data.pointsOverall_so)) && ((level >= 30)))){
gMadness_so.data.newRecordCount_so++;
if (gMadness_so.data.newRecordCount_so == 3){
achiever();
};
gMadness_so.data.pointsOverall_so = score;
};
};
playSndTitle();
Tweener.addTween(transitionPanel_mc, {x:1500, time:1, transition:"easeOutIn"});
acquiredScore_txt.text = String(score);
postLvlNavButton(main_btn, "title");
submitButton(submitScore_btn, "title");
}
function frame1(){
if ((((__setPropDict[__id0_] == undefined)) || (!((int(__setPropDict[__id0_]) == 1))))){
__setPropDict[__id0_] = currentFrame;
__setProp___id0__preloader_preload_scene_as_1();
};
stop();
trace(API);
API.connect(loaderInfo, "14896:laVEEDKy", "max477HTxXnXsQ3pChTJlTOXNYbWkhK1");
CPMStarContentSpotID = "3226Q7C6EBA71";
ad = new AdLoader(CPMStarContentSpotID);
adBox.addChild(ad);
stop();
allowed_site = "uploads.ungrounded.net";
allowed_site2 = "newgrounds.com";
domain = this.root.loaderInfo.url.split("/")[2];
if (domain.indexOf(allowed_site) == (domain.length - allowed_site.length)){
} else {
if (domain.indexOf(allowed_site2) == (domain.length - allowed_site2.length)){
} else {
ng_loader.x = -1000;
PTDG_mc.x = 97;
PTDG_mc.y = 108;
textLogo_mc.x = 97;
textLogo_mc.y = 164;
km_mc.x = 604;
km_mc.y = 114;
bar_mc.x = 234;
bar_mc.y = 316;
loader_txt.x = 164;
loader_txt.y = 249;
adBox.x = 200;
adBox.y = 10;
this.addEventListener(Event.ENTER_FRAME, loading);
};
};
closeButton.buttonMode = true;
closeButton.addEventListener(MouseEvent.CLICK, clickHandler);
}
public function levelEnemyDeploymentTimer(_arg1:TimerEvent){
var _local2:*;
var _local3:Number;
if (gameState == "running"){
_local2 = levelEnemiesArray[0];
_local3 = levelEnemiesArray[_local2];
deployEnemy(_local3);
levelEnemiesArray.splice(0, 1);
if (levelEnemiesArray.length <= 0){
level++;
levelAwards();
updateStatsUI();
if (level == 2){
levelEnemiesArray = level2EnemiesArrayContent.concat();
} else {
if (level == 3){
levelEnemiesArray = level3EnemiesArrayContent.concat();
} else {
if (level == 4){
levelEnemiesArray = level4EnemiesArrayContent.concat();
} else {
if (level == 5){
levelEnemiesArray = level5EnemiesArrayContent.concat();
} else {
if (level == 6){
levelEnemiesArray = level6EnemiesArrayContent.concat();
} else {
if (level == 7){
levelEnemiesArray = level7EnemiesArrayContent.concat();
} else {
if (level == 8){
levelEnemiesArray = level8EnemiesArrayContent.concat();
} else {
if (level == 9){
levelEnemiesArray = level9EnemiesArrayContent.concat();
} else {
if (level == 10){
levelEnemiesArray = level10EnemiesArrayContent.concat();
} else {
if (level == 11){
levelEnemiesArray = level11EnemiesArrayContent.concat();
} else {
if (level == 12){
levelEnemiesArray = level12EnemiesArrayContent.concat();
} else {
if (level == 13){
levelEnemiesArray = level13EnemiesArrayContent.concat();
} else {
if (level == 14){
levelEnemiesArray = level14EnemiesArrayContent.concat();
} else {
if (level == 15){
levelEnemiesArray = level15EnemiesArrayContent.concat();
} else {
if (level == 16){
levelEnemiesArray = level16EnemiesArrayContent.concat();
} else {
if (level == 17){
levelEnemiesArray = level17EnemiesArrayContent.concat();
} else {
if (level == 18){
levelEnemiesArray = level18EnemiesArrayContent.concat();
} else {
if (level == 19){
levelEnemiesArray = level19EnemiesArrayContent.concat();
} else {
if (level == 20){
levelEnemiesArray = level20EnemiesArrayContent.concat();
} else {
if (level == 21){
levelEnemiesArray = level21EnemiesArrayContent.concat();
} else {
if (level == 22){
levelEnemiesArray = level22EnemiesArrayContent.concat();
} else {
if (level == 23){
levelEnemiesArray = level23EnemiesArrayContent.concat();
} else {
if (level == 24){
levelEnemiesArray = level24EnemiesArrayContent.concat();
} else {
if (level == 25){
levelEnemiesArray = level25EnemiesArrayContent.concat();
} else {
if (level == 26){
levelEnemiesArray = level26EnemiesArrayContent.concat();
} else {
if (level == 27){
levelEnemiesArray = level27EnemiesArrayContent.concat();
} else {
if (level == 28){
levelEnemiesArray = level28EnemiesArrayContent.concat();
} else {
if (level == 29){
levelEnemiesArray = level29EnemiesArrayContent.concat();
} else {
if (level == 30){
levelEnemiesArray = level30EnemiesArrayContent.concat();
} else {
levelEnemyDeploymentTimerObj.stop();
levelEnemiesArray = level30EnemiesArrayContent.concat();
levelEnemyDeploymentTimerObj2.start();
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
}
public function _changeTombAppearance(_arg1:MovieClip){
if (levelContainer_mc.lifeBar_mc.scaleX > 0.75){
_arg1.gotoAndStop(1);
} else {
if (levelContainer_mc.lifeBar_mc.scaleX > 0.5){
_arg1.gotoAndStop(2);
} else {
if (levelContainer_mc.lifeBar_mc.scaleX > 0.25){
_arg1.gotoAndStop(3);
} else {
if (levelContainer_mc.lifeBar_mc.scaleX > 0.01){
_arg1.gotoAndStop(4);
};
};
};
};
}
public function buyWeapons(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var _setButtonToSold:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
};
mout = function (_arg1:MouseEvent){
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case shop_mc.buyWeapon2_btn:
if ((((weapon2 == "available")) && ((money >= weapon2Price)))){
playSndBuyWeapons();
weapon2 = "sold";
weaponCounter = 2;
weaponArray.push(weaponCounter);
ammo2Inventory = (ammo2Inventory + ammo2InventoryPack);
updateMoney(money, weapon2Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon3_btn:
if ((((weapon3 == "available")) && ((money >= weapon3Price)))){
playSndBuyWeapons();
weapon3 = "sold";
weaponCounter = 3;
weaponArray.push(weaponCounter);
ammo3Inventory = (ammo3Inventory + ammo3InventoryPack);
updateMoney(money, weapon3Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon4_btn:
if ((((weapon4 == "available")) && ((money >= weapon4Price)))){
playSndBuyWeapons();
weapon4 = "sold";
weaponCounter = 4;
weaponArray.push(weaponCounter);
ammo4Inventory = (ammo4Inventory + ammo4InventoryPack);
updateMoney(money, weapon4Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon5_btn:
if ((((weapon5 == "available")) && ((money >= weapon5Price)))){
playSndBuyWeapons();
weapon5 = "sold";
weaponCounter = 5;
weaponArray.push(weaponCounter);
ammo5Inventory = (ammo5Inventory + ammo5InventoryPack);
updateMoney(money, weapon5Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon6_btn:
if ((((weapon6 == "available")) && ((money >= weapon6Price)))){
playSndBuyWeapons();
weapon6 = "sold";
weaponCounter = 6;
weaponArray.push(weaponCounter);
ammo6Inventory = (ammo6Inventory + ammo6InventoryPack);
updateMoney(money, weapon6Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon7_btn:
if ((((weapon7 == "available")) && ((money >= weapon7Price)))){
playSndBuyWeapons();
weapon7 = "sold";
weaponCounter = 7;
weaponArray.push(weaponCounter);
ammo7Inventory = (ammo7Inventory + ammo7InventoryPack);
updateMoney(money, weapon7Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon8_btn:
if ((((weapon8 == "available")) && ((money >= weapon8Price)))){
playSndBuyWeapons();
weapon8 = "sold";
weaponCounter = 8;
weaponArray.push(weaponCounter);
ammo8Inventory = (ammo8Inventory + ammo8InventoryPack);
updateMoney(money, weapon8Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon9_btn:
if ((((weapon9 == "available")) && ((money >= weapon9Price)))){
playSndBuyWeapons();
weapon9 = "sold";
ammo9Inventory = (ammo9Inventory + ammo9InventoryPack);
updateMoney(money, weapon9Price);
_setButtonToSold();
};
break;
case shop_mc.buyWeapon10_btn:
if ((((weapon10 == "available")) && ((money >= weapon10Price)))){
playSndBuyWeapons();
weapon10 = "sold";
ammo10Inventory = (ammo10Inventory + ammo10InventoryPack);
updateMoney(money, weapon10Price);
_setButtonToSold();
};
break;
};
weaponArray.sort();
weaponInUse();
};
_setButtonToSold = function (){
btn.gotoAndStop(2);
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function awardsButton(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1.1, scaleY:1.1, time:0.5, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1, scaleY:1, time:0.5, transition:"easeOutStrong"});
};
klik = function (_arg1:MouseEvent){
if (btn == awards_btn){
Tweener.addTween(awardsPanel_mc, {x:350, time:0.5, transition:"easeOutStrong"});
} else {
if (btn == awardsPanel_mc.back_btn){
Tweener.addTween(awardsPanel_mc, {x:1110, time:0.5, transition:"easeOutStrong"});
};
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
public function _firstTimeKill(_arg1:MovieClip){
if ((_arg1 is Enemy6)){
if (gMadness_so.data.award6_so == undefined){
gMadness_so.data.award6_so = 1;
promptAchievement(award6_name);
};
} else {
if ((_arg1 is Enemy7)){
if (gMadness_so.data.award8_so == undefined){
gMadness_so.data.award8_so = 1;
promptAchievement(award8_name);
};
} else {
if ((_arg1 is Enemy9)){
if (gMadness_so.data.award7_so == undefined){
gMadness_so.data.award7_so = 1;
promptAchievement(award7_name);
};
} else {
if ((_arg1 is Enemy10)){
if (gMadness_so.data.award9_so == undefined){
gMadness_so.data.award9_so = 1;
promptAchievement(award9_name);
};
} else {
if ((_arg1 is Enemy11)){
if (gMadness_so.data.award10_so == undefined){
gMadness_so.data.award10_so = 1;
promptAchievement(award10_name);
};
};
};
};
};
};
}
public function playCrystalSnd(){
if (music == "on"){
crystalSnd.play();
};
}
public function clickHandler(_arg1:Event):void{
gotoAndPlay(2);
}
public function removeFromArray(_arg1:Array, _arg2:MovieClip){
var _local3:Number;
_local3 = (_arg1.length - 1);
while (_local3 >= 0) {
if ((_arg2 is PlayerAmmo10)){
attExplosionAirStrike();
makeTreeFall();
} else {
if ((_arg2 is PlayerAmmo9)){
attExplosionGranade(_arg2.x, _arg2.y);
makeTreeFall();
};
};
if (_arg1[_local3] == _arg2){
_arg1.splice(_local3, 1);
levelContainer_mc.removeChild(_arg2);
break;
};
_local3--;
};
}
public function playSndShotgun(){
if (music == "on"){
sndShotgun.play();
};
}
public function increaseMoneyAndScore(_arg1:MovieClip){
if ((_arg1 is Enemy1)){
money = (money + 15);
score = (score + 5);
} else {
if ((_arg1 is Enemy2)){
money = (money + 30);
score = (score + 15);
} else {
if ((_arg1 is Enemy3)){
money = (money + 50);
score = (score + 75);
} else {
if ((_arg1 is Enemy4)){
money = (money + 50);
score = (score + 75);
} else {
if ((_arg1 is Enemy5)){
money = (money + 75);
score = (score + 100);
} else {
if ((_arg1 is Enemy6)){
money = (money + 100);
score = (score + 120);
} else {
if ((_arg1 is Enemy7)){
money = (money + 115);
score = (score + 125);
} else {
if ((_arg1 is Enemy8)){
money = (money + 115);
score = (score + 125);
} else {
if ((_arg1 is Enemy9)){
money = (money + 130);
score = (score + 140);
} else {
if ((_arg1 is Enemy9)){
money = (money + 150);
score = (score + 160);
} else {
if ((_arg1 is Enemy10)){
money = (money + 150);
score = (score + 160);
} else {
if ((_arg1 is Enemy11)){
money = (money + 175);
score = (score + 175);
} else {
if ((_arg1 is Enemy4Ammo)){
money = (money + 10);
score = (score + 10);
} else {
if ((_arg1 is Enemy8Ammo)){
money = (money + 10);
score = (score + 10);
} else {
if ((_arg1 is Enemy10Ammo)){
money = (money + 10);
score = (score + 10);
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
updateStatsUI();
}
public function attPlayerAmmo10(){
var _local1:PlayerAmmo10;
if (ammo10Inventory > 0){
airStrikePrompt_mc.x = 1000;
Tweener.addTween(airStrikePrompt_mc, {x:-1000, time:5, transition:"linear"});
ammo10Inventory = (ammo10Inventory - 1);
_local1 = new PlayerAmmo10(50, -150);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo10Array.push(_local1);
} else {
if (ammo10Inventory <= 0){
ammo10Inventory = 0;
};
};
}
public function attExplosionNuke(_arg1:Number, _arg2:Number){
var _local3:ExplosionAirAttack;
_local3 = new ExplosionAirAttack();
_local3.x = _arg1;
_local3.y = _arg2;
levelContainer_mc.addChild(_local3);
}
public function mouseReleased(_arg1:MouseEvent){
fireWeapon = "cease";
}
public function init(){
Tweener.addTween(howTo_mc, {x:2010, time:0.5, transition:"easeOutStrong"});
Mouse.hide();
gameState = "running";
shop_mc.money_txt.text = String(money);
shop_mc.w2Amnt_txt.text = String(weapon2Price);
shop_mc.w3Amnt_txt.text = String(weapon3Price);
shop_mc.w4Amnt_txt.text = String(weapon4Price);
shop_mc.w5Amnt_txt.text = String(weapon5Price);
shop_mc.w6Amnt_txt.text = String(weapon6Price);
shop_mc.w7Amnt_txt.text = String(weapon7Price);
shop_mc.w8Amnt_txt.text = String(weapon8Price);
shop_mc.w9Amnt_txt.text = String(weapon9Price);
shop_mc.w10Amnt_txt.text = String(weapon10Price);
shop_mc.w2Rnds_txt.text = String(ammo2InventoryPack);
shop_mc.w3Rnds_txt.text = String(ammo3InventoryPack);
shop_mc.w4Rnds_txt.text = String(ammo4InventoryPack);
shop_mc.w5Rnds_txt.text = String(ammo5InventoryPack);
shop_mc.w6Rnds_txt.text = String(ammo6InventoryPack);
shop_mc.w7Rnds_txt.text = String(ammo7InventoryPack);
shop_mc.w8Rnds_txt.text = String(ammo8InventoryPack);
shop_mc.w9Rnds_txt.text = String(ammo9InventoryPack);
shop_mc.w10Rnds_txt.text = String(ammo10InventoryPack);
shop_mc.w9AmmoAmount_txt.text = String(("$" + weapon9AmmoPrice));
shop_mc.w10AmmoAmount_txt.text = String(("$" + weapon10AmmoPrice));
updateTombUI();
updateAllInventory();
weaponInUse();
updateStatsUI();
playSndGameScreen();
levelEnemyDeploymentTimerObj.start();
}
public function postLvlNavButton(_arg1:MovieClip, _arg2:String){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
var whereTo = _arg2;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1.1, scaleY:1.1, time:0.5, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1, scaleY:1, time:0.5, transition:"easeOutStrong"});
};
klik = function (_arg1:MouseEvent){
gotoAndStop(whereTo);
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
function __setProp___id0__preloader_preload_scene_as_1(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.debugMode = true;
__id0_.encryptionKey = "max477HTxXnXsQ3pChTJlTOXNYbWkhK1";
__id0_.movieId = "14896:laVEEDKy";
__id0_.movieVersion = "";
__id0_.showConnectingPopup = true;
__id0_.useErrorPopup = true;
__id0_.useMedalPopup = true;
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function playSndSniperRiffle(){
if (music == "on"){
sndSniperRiffle.play();
};
}
public function loading(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
_local2 = this.stage.loaderInfo.bytesTotal;
_local3 = this.stage.loaderInfo.bytesLoaded;
bar_mc.innerBar_mc.scaleX = (_local3 / _local2);
loader_txt.text = (Math.floor(((_local3 / _local2) * 100)) + "%");
if (_local2 == _local3){
this.removeEventListener(Event.ENTER_FRAME, loading);
bar_mc.y = 700;
loader_txt.y = 700;
closeButton.y = 295;
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function weaponInUse(){
trace(weaponCounter);
levelContainer_mc.player_mc.gun1_mc.visible = false;
levelContainer_mc.player_mc.gun2_mc.visible = false;
levelContainer_mc.player_mc.gun3_mc.visible = false;
levelContainer_mc.player_mc.gun4_mc.visible = false;
levelContainer_mc.player_mc.gun5_mc.visible = false;
levelContainer_mc.player_mc.gun6_mc.visible = false;
levelContainer_mc.player_mc.gun7_mc.visible = false;
levelContainer_mc.player_mc.gun8_mc.visible = false;
switch (weaponCounter){
case 1:
weaponsUI_mc.weaponSelected_mc.x = 24.8;
levelContainer_mc.player_mc.gun1_mc.visible = true;
playerAmmo1Rof = 1;
break;
case 2:
weaponsUI_mc.weaponSelected_mc.x = 70.8;
levelContainer_mc.player_mc.gun2_mc.visible = true;
playerAmmo2Rof = 1;
break;
case 3:
weaponsUI_mc.weaponSelected_mc.x = 114.8;
levelContainer_mc.player_mc.gun3_mc.visible = true;
playerAmmo3Rof = 1;
break;
case 4:
weaponsUI_mc.weaponSelected_mc.x = 170.8;
levelContainer_mc.player_mc.gun4_mc.visible = true;
playerAmmo4Rof = 1;
break;
case 5:
weaponsUI_mc.weaponSelected_mc.x = 230.8;
levelContainer_mc.player_mc.gun5_mc.visible = true;
playerAmmo5Rof = 1;
break;
case 6:
weaponsUI_mc.weaponSelected_mc.x = 290.8;
levelContainer_mc.player_mc.gun6_mc.visible = true;
playerAmmo6Rof = 1;
break;
case 7:
weaponsUI_mc.weaponSelected_mc.x = 362.8;
levelContainer_mc.player_mc.gun7_mc.visible = true;
playerAmmo7Rof = 1;
break;
case 8:
weaponsUI_mc.weaponSelected_mc.x = 432.8;
levelContainer_mc.player_mc.gun8_mc.visible = true;
playerAmmo8Rof = 1;
break;
};
}
public function ku(_arg1:KeyboardEvent){
if ((((((((((((((((((((((((((_arg1.keyCode == 83)) || ((_arg1.keyCode == 48)))) || ((_arg1.keyCode == 49)))) || ((_arg1.keyCode == 50)))) || ((_arg1.keyCode == 51)))) || ((_arg1.keyCode == 52)))) || ((_arg1.keyCode == 53)))) || ((_arg1.keyCode == 54)))) || ((_arg1.keyCode == 55)))) || ((_arg1.keyCode == 56)))) || ((_arg1.keyCode == 57)))) || ((_arg1.keyCode == 58)))) || ((_arg1.keyCode == 77)))){
keyIsPressed = "false";
};
trace(keyIsPressed);
}
public function checkHit(_arg1:Array, _arg2:Array, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:GunHit;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = (_arg2.length - 1);
while (_local5 >= 0) {
if (_arg1[_local4].hitBox_mc.hitTestObject(_arg2[_local5].hitBox_mc)){
if ((((((((((((((_arg2[_local5] is Enemy1)) || ((_arg2[_local5] is Enemy2)))) || ((_arg2[_local5] is Enemy3)))) || ((_arg2[_local5] is Enemy4)))) || ((_arg2[_local5] is Enemy5)))) || ((_arg2[_local5] is Enemy7)))) || ((_arg2[_local5] is Enemy9)))){
if (_arg2[_local5].dir == "left"){
_arg2[_local5].x = (_arg2[_local5].x + 1);
} else {
if (_arg2[_local5].dir == "right"){
_arg2[_local5].x = (_arg2[_local5].x - 1);
};
};
};
_local6 = new GunHit();
_local6.x = _arg2[_local5].x;
_local6.y = _arg1[_local4].y;
_local6.rotation = _arg1[_local4].rotation;
levelContainer_mc.addChild(_local6);
_arg1[_local4].destruct("");
playSndHit();
_arg2[_local5].life = (_arg2[_local5].life - _arg3);
if (_arg2[_local5].life <= 0){
};
break;
};
_local5--;
};
_local4--;
};
}
public function showDeath(_arg1:MovieClip){
var _determineScale:Function;
var e1:Enemy1DeathAnim;
var e2:Enemy2DeathAnim;
var e3:Enemy3DeathAnim;
var e4:Enemy4DeathAnim;
var e5:Enemy5DeathAnim;
var e7:Enemy7DeathAnim;
var e8:Enemy8DeathAnim;
var e9:Enemy9DeathAnim;
var e10:Enemy10DeathAnim;
var mc = _arg1;
_determineScale = function ():Number{
var _local1:Number;
if (mc.dir == "left"){
_local1 = -1;
} else {
if (mc.dir == "right"){
_local1 = 1;
};
};
return (_local1);
};
if ((mc is Enemy1)){
trace("death animation");
playSndGrown();
e1 = new Enemy1DeathAnim();
e1.x = mc.x;
e1.y = mc.y;
e1.scaleX = _determineScale();
levelContainer_mc.addChild(e1);
} else {
if ((mc is Enemy2)){
playSndGrown();
e2 = new Enemy2DeathAnim();
e2.x = mc.x;
e2.y = mc.y;
e2.scaleX = _determineScale();
levelContainer_mc.addChild(e2);
} else {
if ((mc is Enemy3)){
playSndGrown();
e3 = new Enemy3DeathAnim();
e3.x = mc.x;
e3.y = mc.y;
e3.scaleX = _determineScale();
levelContainer_mc.addChild(e3);
} else {
if ((mc is Enemy4)){
playSndGrown();
e4 = new Enemy4DeathAnim();
e4.x = mc.x;
e4.y = mc.y;
e4.scaleX = _determineScale();
levelContainer_mc.addChild(e4);
} else {
if ((mc is Enemy5)){
playSndGrown();
e5 = new Enemy5DeathAnim();
e5.x = mc.x;
e5.y = mc.y;
e5.scaleX = _determineScale();
levelContainer_mc.addChild(e5);
} else {
if ((mc is Enemy7)){
playSndGrown();
e7 = new Enemy7DeathAnim();
e7.x = mc.x;
e7.y = mc.y;
e7.scaleX = _determineScale();
levelContainer_mc.addChild(e7);
} else {
if ((mc is Enemy8)){
playSndGrown();
e8 = new Enemy8DeathAnim();
e8.x = mc.x;
e8.y = mc.y;
e8.scaleX = _determineScale();
levelContainer_mc.addChild(e8);
} else {
if ((mc is Enemy9)){
playSndGrown();
e9 = new Enemy9DeathAnim();
e9.x = mc.x;
e9.y = mc.y;
e9.scaleX = _determineScale();
levelContainer_mc.addChild(e9);
} else {
if ((mc is Enemy10)){
e10 = new Enemy10DeathAnim();
e10.x = mc.x;
e10.y = mc.y;
levelContainer_mc.addChild(e10);
};
};
};
};
};
};
};
};
};
}
public function kd(_arg1:KeyboardEvent){
if (keyIsPressed == "false"){
if (_arg1.keyCode == 77){
musicCode++;
if (musicCode == 1){
SoundMixer.stopAll();
music = "off";
};
if (musicCode == 2){
music = "on";
musicCode = 0;
if (currentFrame == 2){
playSndGameScreen();
} else {
if ((((currentFrame == 1)) || ((currentFrame == 3)))){
playSndTitle();
};
};
};
};
if (currentFrame == 2){
if (_arg1.keyCode == 83){
gameStateCode++;
if (gameStateCode == 1){
gameState = "paused";
Mouse.show();
Tweener.addTween(shop_mc, {y:0, time:0.5, transition:"easeOutStrong"});
};
if (gameStateCode == 2){
gameState = "running";
gameStateCode = 0;
Mouse.hide();
Tweener.addTween(shop_mc, {y:-450, time:0.5, transition:"easeOutStrong"});
};
};
if (_arg1.keyCode == 49){
weaponCounter = 1;
};
if ((((_arg1.keyCode == 50)) && ((weapon2 == "sold")))){
weaponCounter = 2;
};
if ((((_arg1.keyCode == 51)) && ((weapon3 == "sold")))){
weaponCounter = 3;
};
if ((((_arg1.keyCode == 52)) && ((weapon4 == "sold")))){
weaponCounter = 4;
};
if ((((_arg1.keyCode == 53)) && ((weapon5 == "sold")))){
weaponCounter = 5;
};
if ((((_arg1.keyCode == 54)) && ((weapon6 == "sold")))){
weaponCounter = 6;
};
if ((((_arg1.keyCode == 55)) && ((weapon7 == "sold")))){
weaponCounter = 7;
};
if ((((_arg1.keyCode == 56)) && ((weapon8 == "sold")))){
weaponCounter = 8;
};
if ((((_arg1.keyCode == 57)) && ((weapon9 == "sold")))){
if (gameState == "running"){
attPlayerAmmo9();
};
};
if ((((_arg1.keyCode == 48)) && ((weapon10 == "sold")))){
if (playerAmmo10Array.length == 0){
if (gameState == "running"){
attPlayerAmmo10();
};
};
};
weaponInUse();
};
keyIsPressed = "true";
trace(keyIsPressed);
};
}
public function playSndRepair(){
if (music == "on"){
sndRepair.play();
};
}
public function attExplosion(_arg1:MovieClip){
var _local2:Explosion;
_local2 = new Explosion();
_local2.x = _arg1.x;
_local2.y = _arg1.y;
levelContainer_mc.addChild(_local2);
flash_mc.gotoAndPlay(2);
}
public function playSndExplode(){
if (music == "on"){
sndExplode.play();
};
}
public function updateMoney(_arg1:Number, _arg2:Number){
money = (_arg1 - _arg2);
shop_mc.money_txt.text = String(money);
updateAllInventory();
updateStatsUI();
}
public function mouseWheel(_arg1:MouseEvent){
var _local2:Number;
var _local3:Number;
var _local4:Array;
_local2 = _arg1.delta;
_local3 = 8;
if (_local2 < 1){
weaponCounter++;
if ((((weaponCounter == 2)) && ((weapon2 == "available")))){
weaponCounter++;
};
if ((((weaponCounter == 3)) && ((weapon3 == "available")))){
weaponCounter++;
};
if ((((weaponCounter == 4)) && ((weapon4 == "available")))){
weaponCounter++;
};
if ((((weaponCounter == 5)) && ((weapon5 == "available")))){
weaponCounter++;
};
if ((((weaponCounter == 6)) && ((weapon6 == "available")))){
weaponCounter++;
};
if ((((weaponCounter == 7)) && ((weapon7 == "available")))){
weaponCounter++;
};
if ((((weaponCounter == 8)) && ((weapon8 == "available")))){
weaponCounter++;
};
if (weaponCounter > _local3){
weaponCounter = weaponArray[0];
};
} else {
weaponCounter--;
if ((((weaponCounter == 7)) && ((weapon7 == "available")))){
weaponCounter--;
};
if ((((weaponCounter == 6)) && ((weapon6 == "available")))){
weaponCounter--;
};
if ((((weaponCounter == 5)) && ((weapon5 == "available")))){
weaponCounter--;
};
if ((((weaponCounter == 4)) && ((weapon4 == "available")))){
weaponCounter--;
};
if ((((weaponCounter == 3)) && ((weapon3 == "available")))){
weaponCounter--;
};
if ((((weaponCounter == 2)) && ((weapon2 == "available")))){
weaponCounter--;
};
if (weaponCounter < 1){
_local4 = weaponArray.concat();
_local4.sort(Array.DESCENDING);
trace(("dec" + _local4));
weaponCounter = _local4[0];
trace(("dec--" + weaponCounter));
};
};
weaponInUse();
}
public function cloudMover(_arg1:MovieClip, _arg2:Number){
_arg1.x = (_arg1.x - _arg2);
if (_arg1.x < -400){
_arg1.x = randomGenerator(700, 800);
_arg1.y = randomGenerator(50, 100);
};
}
public function buyRepair(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
};
mout = function (_arg1:MouseEvent){
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case shop_mc.buyRepair25_btn:
if ((((money >= repair1price)) && ((lifeNum < lifeDenom)))){
playSndRepair();
lifeNum = (lifeNum + (lifeDenom * 0.25));
if (lifeNum > lifeDenom){
lifeNum = lifeDenom;
};
updateMoney(money, repair1price);
updateTombUI();
};
break;
case shop_mc.buyRepairFull_btn:
if ((((money >= repair2price)) && ((lifeNum < lifeDenom)))){
playSndRepair();
lifeNum = lifeDenom;
updateMoney(money, repair2price);
updateTombUI();
};
break;
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function playSndHit(){
var _local1:Number;
if (music == "on"){
_local1 = randomGenerator(1, 4);
if (_local1 == 1){
sndHit1.play();
} else {
if (_local1 == 2){
sndHit2.play();
} else {
if (_local1 == 3){
sndHit3.play();
};
};
};
};
}
public function playSndTitle(){
SoundMixer.stopAll();
if (music == "on"){
sndGameScreen.play(0, int.MAX_VALUE);
sndTitle.play(0, int.MAX_VALUE);
};
}
public function attEnemy11(){
var _local1:Enemy11;
_local1 = new Enemy11(randomGenerator(100, 600), randomGenerator(-200, -100), "");
_local1.main = this;
levelContainer_mc.addChild(_local1);
enemyArray.push(_local1);
}
public function attEnemy10Ammo(_arg1:Number, _arg2:Number){
var _local3:Enemy10Ammo;
_local3 = new Enemy10Ammo(_arg1, _arg2);
_local3.main = this;
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
}
public function attEnemy10(){
var _local1:Enemy10;
_local1 = new Enemy10(randomGenerator(100, 600), randomGenerator(-200, -100), "");
_local1.main = this;
if (level >= 50){
_local1.life = 20;
};
levelContainer_mc.addChild(_local1);
enemyArray.push(_local1);
}
public function toPostLevelTmr(_arg1:TimerEvent){
Tweener.addTween(transitionPanel_mc, {x:304, time:0.5, transition:"easeOutStrong"});
}
public function _treeFall(_arg1:String){
var _local2:Number;
var _local3:TreeFall;
if (_arg1 == "left"){
_local2 = -114.6;
} else {
if (_arg1 == "right"){
_local2 = 821.4;
};
};
_local3 = new TreeFall();
_local3.x = _local2;
_local3.y = 435.9;
treeContainer_mc.addChild(_local3);
}
public function _entryPoint():Array{
var _local1:Number;
var _local2:Array;
_local1 = randomGenerator(1, 3);
_local2 = new Array();
if (_local1 == 1){
_local2[0] = 725;
_local2[1] = "left";
} else {
if (_local1 == 2){
_local2[0] = -25;
_local2[1] = "right";
};
};
return (_local2);
}
public function submitButton(_arg1:MovieClip, _arg2:String){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
var whereTo = _arg2;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1.1, scaleY:1.1, time:0.5, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1, scaleY:1, time:0.5, transition:"easeOutStrong"});
};
klik = function (_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
var _local4:*;
var _local5:String;
var _local6:URLRequest;
_local2 = "http://playtowerdefensegames.com/highscores/submit/play4scores.php";
_local3 = new URLRequest(_local2);
_local3.method = URLRequestMethod.POST;
_local4 = new URLVariables();
_local4.game_id = 976;
_local4.user_id = userName_txt.text;
_local4.score = acquiredScore_txt.text;
_local3.data = _local4;
sendToURL(_local3);
_local5 = "http://playtowerdefensegames.com/index.php?action=highscores&gameid=976";
_local6 = new URLRequest(_local5);
navigateToURL(_local6, "_new");
gotoAndStop(whereTo);
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
public function screenShake(_arg1:Number, _arg2:Number){
Earthquake.go(this, _arg1, _arg2);
}
public function pCheckHit(_arg1:Array, _arg2:Number){
var _local3:Number;
_local3 = (_arg1.length - 1);
while (_local3 >= 0) {
if (levelContainer_mc.player_mc.hitBox_mc.hitTestObject(_arg1[_local3].hitBox_mc)){
};
_local3--;
};
}
public function howToButton(_arg1:MovieClip, _arg2:String){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
var whereTo = _arg2;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1.1, scaleY:1.1, time:0.5, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1, scaleY:1, time:0.5, transition:"easeOutStrong"});
};
klik = function (_arg1:MouseEvent){
if (btn == howTo_mc.back_btn){
Tweener.addTween(howTo_mc, {x:-410, time:0.5, transition:"easeOutStrong"});
};
if (btn == howTo_mc.play_btn){
gotoAndStop(whereTo);
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
public function _revealShop(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
Mouse.show();
};
mout = function (_arg1:MouseEvent){
if (gameState == "running"){
Mouse.hide();
};
};
klik = function (_arg1:MouseEvent){
gameStateCode++;
if (gameStateCode == 1){
gameState = "paused";
Mouse.show();
Tweener.addTween(shop_mc, {y:0, time:0.5, transition:"easeOutStrong"});
};
if (gameStateCode == 2){
gameState = "running";
gameStateCode = 0;
Mouse.hide();
Tweener.addTween(shop_mc, {y:-450, time:0.5, transition:"easeOutStrong"});
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
public function updateTombUI(){
if (lifeNum <= 0){
lifeNum = 0;
};
levelContainer_mc.showTomStat_txt.text = String(((lifeNum + " / ") + lifeDenom));
shop_mc.tombStrength_txt.text = String(((lifeNum + " / ") + lifeDenom));
shop_mc.upgradePrice_txt.text = String(upgradeTombprice);
shop_mc.repair25Price_txt.text = String(repair1price);
shop_mc.repairFullPrice_txt.text = String(repair2price);
shop_mc.upgradePrice_txt.text = String(upgradeTombprice);
}
public function _setAwardsNameDesc(_arg1:MovieClip, _arg2:String, _arg3:String){
var seeDes:Function;
var awards = _arg1;
var awardsName = _arg2;
var awardsDescription = _arg3;
seeDes = function (_arg1:MouseEvent){
awardsPanel_mc.aDes_txt.text = awardsDescription;
};
awards.aName_txt.text = awardsName;
awards.buttonMode = true;
awards.addEventListener(MouseEvent.CLICK, seeDes);
}
public function playSndMiniGun(){
if (music == "on"){
sndMiniGun.play();
};
}
public function credButton(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1.1, scaleY:1.1, time:0.5, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1, scaleY:1, time:0.5, transition:"easeOutStrong"});
};
klik = function (_arg1:MouseEvent){
if (btn == credits_btn){
if (gMadness_so.data.award11_so == undefined){
gMadness_so.data.award11_so = 1;
setMedals();
promptAchievement(award11_name);
};
Tweener.addTween(creditsPanel_mc, {y:205, time:0.5, transition:"easeOutStrong"});
} else {
if (btn == creditsPanel_mc.back_btn){
Tweener.addTween(creditsPanel_mc, {y:715, time:0.5, transition:"easeOutStrong"});
};
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
public function playSndGrown(){
var _local1:Number;
if (music == "on"){
_local1 = randomGenerator(1, 12);
if (_local1 == 1){
sndGrown1.play();
} else {
if (_local1 == 2){
sndGrown2.play();
} else {
if (_local1 == 3){
sndGrown3.play();
} else {
if (_local1 == 4){
sndGrown4.play();
} else {
if (_local1 == 5){
sndGrown5.play();
} else {
if (_local1 == 6){
sndGrown6.play();
};
};
};
};
};
};
};
}
public function attEnemy8Ammo(_arg1:Number, _arg2:Number){
var _local3:Enemy8Ammo;
_local3 = new Enemy8Ammo(_arg1, _arg2, "");
_local3.main = this;
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
}
public function navButton(_arg1:MovieClip, _arg2:String){
var movr:Function;
var mout:Function;
var klik:Function;
var btn = _arg1;
var whereTo = _arg2;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1.1, scaleY:1.1, time:0.5, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn, {scaleX:1, scaleY:1, time:0.5, transition:"easeOutStrong"});
};
klik = function (_arg1:MouseEvent){
Tweener.addTween(howTo_mc, {x:350, time:0.5, transition:"easeOutStrong"});
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, klik);
}
public function playSndLaser(){
if (music == "on"){
sndLaser.play();
};
}
public function looper(_arg1:Event){
var _local2:Number;
if ((((((lifeNum <= 0)) && ((gameState == "running")))) && ((goToPost == "no")))){
goToPost = "yes";
trace("yes");
toPostLevelTmrObj.start();
};
if (gameState == "running"){
levelContainer_mc.player_mc.looper();
instanceLooper(playerAmmo1Array);
instanceLooper(playerAmmo2Array);
instanceLooper(playerAmmo3Array);
instanceLooper(playerAmmo4Array);
instanceLooper(playerAmmo5Array);
instanceLooper(playerAmmo6Array);
instanceLooper(playerAmmo7Array);
instanceLooper(playerAmmo8Array);
instanceLooper(playerAmmo9Array);
instanceLooper(playerAmmo10Array);
instanceLooper(enemyArray);
checkHit(playerAmmo1Array, enemyArray, 1);
checkHit(playerAmmo2Array, enemyArray, 0.5);
checkHit(playerAmmo3Array, enemyArray, 0.8);
checkHit(playerAmmo4Array, enemyArray, 1);
checkHit(playerAmmo5Array, enemyArray, 1);
checkHit(playerAmmo6Array, enemyArray, 8);
checkHit(playerAmmo7Array, enemyArray, 1);
checkHit(playerAmmo8Array, enemyArray, 10);
firingFunction();
if (lifeNum <= 0){
lifeNum = 0;
};
levelContainer_mc.lifeBar_mc.scaleX = (lifeNum / lifeDenom);
levelContainer_mc.crosshair_mc.x = mouseX;
levelContainer_mc.crosshair_mc.y = mouseY;
crosshair_mc.x = mouseX;
crosshair_mc.y = mouseY;
bgScroller(fogForeground1_mc, fogForeground2_mc, 2, -1200);
bgScroller(levelContainer_mc.fog1_mc, levelContainer_mc.fog2_mc, 1, -1200);
bgScroller(levelContainer_mc.fog3_mc, levelContainer_mc.fog4_mc, 0.5, -1200);
_local2 = 1;
while (_local2 < 6) {
cloudMover(levelContainer_mc[(("c" + _local2) + "_mc")], 1);
_local2++;
};
if (tombLevel == 0){
_changeTombAppearance(levelContainer_mc.tombLevel0_mc);
} else {
if (tombLevel == 1){
_changeTombAppearance(levelContainer_mc.tombLevel1_mc);
} else {
if (tombLevel == 2){
_changeTombAppearance(levelContainer_mc.tombLevel2_mc);
} else {
if (tombLevel == 3){
_changeTombAppearance(levelContainer_mc.tombLevel3_mc);
};
};
};
};
updateAllInventory();
};
}
public function levelAwards(){
if (gMadness_so.data.award1_so == undefined){
if (level == 10){
gMadness_so.data.award1_so = 1;
promptAchievement(award1_name);
};
};
if (gMadness_so.data.award2_so == undefined){
if (level == 20){
gMadness_so.data.award2_so = 1;
promptAchievement(award2_name);
};
};
if (gMadness_so.data.award3_so == undefined){
if (level == 30){
gMadness_so.data.award3_so = 1;
promptAchievement(award3_name);
};
};
if (gMadness_so.data.award4_so == undefined){
if (level == 40){
gMadness_so.data.award4_so = 1;
promptAchievement(award4_name);
};
};
if (gMadness_so.data.award5_so == undefined){
if ((level == 50)){
gMadness_so.data.award5_so = 1;
promptAchievement(award5_name);
};
};
}
public function _setDistanceFromCenterEnemy(_arg1:MovieClip):Array{
var _local2:Array;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = new Array();
_local3 = 30;
_local4 = _arg1.gun_mc.rotation;
_local5 = (_arg1.x + (_local3 * Math.cos(((_local4 * Math.PI) / 180))));
_local6 = (_arg1.y + (_local3 * Math.sin(((_local4 * Math.PI) / 180))));
_local2[0] = _local5;
_local2[1] = _local6;
return (_local2);
}
public function updateStatsUI(){
statsUI_mc.level_txt.text = String(level);
statsUI_mc.score_txt.text = String(score);
statsUI_mc.money_txt.text = String(("$" + money));
shop_mc.money_txt.text = String(money);
}
public function firingFunction(){
if (fireWeapon == "open"){
if (weaponCounter == 1){
attPlayerAmmo1();
} else {
if (weaponCounter == 2){
attPlayerAmmo2();
} else {
if (weaponCounter == 3){
attPlayerAmmo3();
} else {
if (weaponCounter == 4){
attPlayerAmmo4();
} else {
if (weaponCounter == 5){
attPlayerAmmo5();
} else {
if (weaponCounter == 6){
attPlayerAmmo6();
} else {
if (weaponCounter == 7){
attPlayerAmmo7();
} else {
if (weaponCounter == 8){
attPlayerAmmo8();
};
};
};
};
};
};
};
};
};
}
public function buyAmmo(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
};
mout = function (_arg1:MouseEvent){
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case shop_mc.buyWeapon2Ammo_btn:
if ((((weapon2 == "sold")) && ((money >= weapon2AmmoPrice)))){
playSndBuyAmmo();
ammo2Inventory = (ammo2Inventory + ammo2InventoryPack);
updateMoney(money, weapon2AmmoPrice);
};
break;
case shop_mc.buyWeapon3Ammo_btn:
if ((((weapon3 == "sold")) && ((money >= weapon3AmmoPrice)))){
playSndBuyAmmo();
ammo3Inventory = (ammo3Inventory + ammo3InventoryPack);
updateMoney(money, weapon3AmmoPrice);
};
break;
case shop_mc.buyWeapon4Ammo_btn:
if ((((weapon4 == "sold")) && ((money >= weapon4AmmoPrice)))){
playSndBuyAmmo();
ammo4Inventory = (ammo4Inventory + ammo4InventoryPack);
updateMoney(money, weapon4AmmoPrice);
};
break;
case shop_mc.buyWeapon5Ammo_btn:
if ((((weapon5 == "sold")) && ((money >= weapon5AmmoPrice)))){
playSndBuyAmmo();
ammo5Inventory = (ammo5Inventory + ammo5InventoryPack);
updateMoney(money, weapon5AmmoPrice);
};
break;
case shop_mc.buyWeapon6Ammo_btn:
if ((((weapon6 == "sold")) && ((money >= weapon6AmmoPrice)))){
playSndBuyAmmo();
ammo6Inventory = (ammo6Inventory + ammo6InventoryPack);
updateMoney(money, weapon6AmmoPrice);
};
break;
case shop_mc.buyWeapon7Ammo_btn:
if ((((weapon7 == "sold")) && ((money >= weapon7AmmoPrice)))){
playSndBuyAmmo();
ammo7Inventory = (ammo7Inventory + ammo7InventoryPack);
updateMoney(money, weapon7AmmoPrice);
};
break;
case shop_mc.buyWeapon8Ammo_btn:
if ((((weapon8 == "sold")) && ((money >= weapon8AmmoPrice)))){
playSndBuyAmmo();
ammo8Inventory = (ammo8Inventory + ammo8InventoryPack);
updateMoney(money, weapon8AmmoPrice);
};
break;
case shop_mc.buyWeapon9Ammo_btn:
if ((((weapon9 == "sold")) && ((money >= weapon9AmmoPrice)))){
playSndBuyAmmo();
ammo9Inventory = (ammo9Inventory + ammo9InventoryPack);
updateMoney(money, weapon9AmmoPrice);
};
break;
case shop_mc.buyWeapon10Ammo_btn:
if ((((weapon10 == "sold")) && ((money >= weapon10AmmoPrice)))){
playSndBuyAmmo();
ammo10Inventory = (ammo10Inventory + ammo10InventoryPack);
updateMoney(money, weapon10AmmoPrice);
};
break;
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function playSndAssaultRiffle(){
if (music == "on"){
sndAssaultRiffle.play();
};
}
public function playSndGameScreen(){
SoundMixer.stopAll();
if (music == "on"){
sndNewGameScreen.play(0, int.MAX_VALUE);
};
}
public function toPostLevel(_arg1:TimerEvent){
var _local2:int;
var _local3:int;
gameState = "paused";
toPostLevelTmrObj.reset();
toPostLevelTmrObj.removeEventListener(TimerEvent.TIMER_COMPLETE, toPostLevel);
levelEnemyDeploymentTimerObj.reset();
levelEnemyDeploymentTimerObj.removeEventListener(TimerEvent.TIMER, levelEnemyDeploymentTimer);
stage.removeEventListener(Event.ENTER_FRAME, looper);
endLevelCleanUpArray(playerAmmo1Array);
endLevelCleanUpArray(playerAmmo2Array);
endLevelCleanUpArray(playerAmmo3Array);
endLevelCleanUpArray(playerAmmo4Array);
endLevelCleanUpArray(playerAmmo5Array);
endLevelCleanUpArray(playerAmmo6Array);
endLevelCleanUpArray(playerAmmo7Array);
endLevelCleanUpArray(playerAmmo8Array);
endLevelCleanUpArray(playerAmmo9Array);
endLevelCleanUpArray(playerAmmo10Array);
endLevelCleanUpArray(enemyArray);
_local2 = levelContainer_mc.numChildren;
while (_local2--) {
levelContainer_mc.removeChildAt(_local2);
};
_local3 = treeContainer_mc.numChildren;
while (_local3--) {
treeContainer_mc.removeChildAt(_local3);
};
Mouse.show();
gotoAndPlay("postLevel");
}
public function playSndFlame(){
if (music == "on"){
sndFlame.play();
};
}
public function attExplosionAirStrike(){
var _local1:Number;
var _local2:ExplosionAirAttack;
var _local3:ExplosionAirAttack;
var _local4:ExplosionAirAttack;
var _local5:ExplosionAirAttack;
_local1 = 50;
_local2 = new ExplosionAirAttack();
_local3 = new ExplosionAirAttack();
_local4 = new ExplosionAirAttack();
_local5 = new ExplosionAirAttack();
_local2.x = (65.5 + _local1);
_local2.y = 381;
_local3.x = (185.5 + _local1);
_local3.y = 381;
_local4.x = (435.5 + _local1);
_local4.y = 381;
_local5.x = (545.5 + _local1);
_local5.y = 381;
levelContainer_mc.addChild(_local2);
levelContainer_mc.addChild(_local3);
levelContainer_mc.addChild(_local4);
levelContainer_mc.addChild(_local5);
flash_mc.gotoAndPlay(2);
}
public function _mochibotViral(){
MochiBot.track(this, "67028b9e");
}
public function deployEnemy(_arg1:Number){
switch (_arg1){
case 1:
attEnemy1();
break;
case 2:
attEnemy2();
break;
case 3:
attEnemy3();
break;
case 4:
attEnemy4();
break;
case 5:
attEnemy5();
break;
case 6:
attEnemy6();
break;
case 7:
attEnemy7();
break;
case 8:
attEnemy8();
break;
case 9:
attEnemy9();
break;
case 10:
attEnemy10();
break;
case 11:
attEnemy11();
break;
};
}
public function heavyWeapons(_arg1:Array, _arg2:String){
var _local3:Number;
var _local4:MovieClip;
var _local5:Number;
if (_arg2 == "granade"){
playSndExplode();
playSndFlame();
_local3 = (_arg1.length - 1);
while (_local3 >= 0) {
_local4 = _arg1[_local3];
if ((((((((((((((_local4 is Enemy1)) || ((_local4 is Enemy2)))) || ((_local4 is Enemy3)))) || ((_local4 is Enemy5)))) || ((_local4 is Enemy6)))) || ((_local4 is Enemy7)))) || ((_local4 is Enemy9)))){
_local4.life = 0;
};
_local3--;
};
} else {
if (_arg2 == "air strike"){
playSndExplode();
playSndFlame();
_local5 = (_arg1.length - 1);
while (_local5 >= 0) {
_arg1[_local5].life = 0;
_local5--;
};
};
};
}
public function promptAchievement(_arg1:String){
var _local2:PromptAward;
playCrystalSnd();
_local2 = new PromptAward();
_local2.x = 742;
_local2.y = 146;
_local2._name_txt.text = _arg1;
switch (_arg1){
case award1_name:
API.unlockMedal("ZOMB-DURANCE");
_local2.icon_mc.gotoAndStop(1);
break;
case award2_name:
API.unlockMedal("ZOMB-POWER");
_local2.icon_mc.gotoAndStop(2);
break;
case award3_name:
API.unlockMedal("ZOMB-STRONG");
_local2.icon_mc.gotoAndStop(3);
break;
case award4_name:
API.unlockMedal("ZOMB-OLYMPIAN");
_local2.icon_mc.gotoAndStop(4);
break;
case award5_name:
API.unlockMedal("ZOMB-LOVESTOMB");
_local2.icon_mc.gotoAndStop(5);
break;
case award6_name:
API.unlockMedal("BOMB DISPOSAL");
_local2.icon_mc.gotoAndStop(6);
break;
case award7_name:
API.unlockMedal("SWAT");
_local2.icon_mc.gotoAndStop(7);
break;
case award8_name:
API.unlockMedal("CONSTRUCTION");
_local2.icon_mc.gotoAndStop(8);
break;
case award9_name:
API.unlockMedal("PREDATOR");
_local2.icon_mc.gotoAndStop(9);
break;
case award10_name:
API.unlockMedal("MISSILE");
_local2.icon_mc.gotoAndStop(10);
break;
case award11_name:
API.unlockMedal("Who");
_local2.icon_mc.gotoAndStop(11);
break;
case award12_name:
API.unlockMedal("ACHIEVER");
_local2.icon_mc.gotoAndStop(12);
break;
};
this.addChild(_local2);
}
public function playSndBuyAmmo(){
if (music == "on"){
sndBuyAmmo.play();
};
}
public function attGunSpark(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:GunSpark;
_local4 = new GunSpark();
_local4.x = _arg1;
_local4.y = _arg2;
_local4.rotation = _arg3;
levelContainer_mc.addChild(_local4);
}
public function attackPlayer(_arg1:MovieClip){
if ((_arg1 is Enemy1)){
lifeNum = (lifeNum - 1);
} else {
if ((_arg1 is Enemy2)){
lifeNum = (lifeNum - 2);
} else {
if ((_arg1 is Enemy3)){
lifeNum = (lifeNum - 2);
} else {
if ((_arg1 is Enemy5)){
lifeNum = (lifeNum - 3);
} else {
if ((_arg1 is Enemy6)){
lifeNum = (lifeNum - 5);
} else {
if ((_arg1 is Enemy7)){
lifeNum = (lifeNum - 4);
} else {
if ((_arg1 is Enemy9)){
lifeNum = (lifeNum - 3);
} else {
if ((_arg1 is Enemy11)){
lifeNum = (lifeNum - 10);
} else {
if ((_arg1 is Enemy4Ammo)){
lifeNum = (lifeNum - 2);
} else {
if ((_arg1 is Enemy8Ammo)){
lifeNum = (lifeNum - 5);
} else {
if ((_arg1 is Enemy10Ammo)){
lifeNum = (lifeNum - 10);
};
};
};
};
};
};
};
};
};
};
};
updateTombUI();
}
public function setMedals(){
awardsPanel_mc.medal1_mc.alpha = 0.3;
awardsPanel_mc.medal2_mc.alpha = 0.3;
awardsPanel_mc.medal3_mc.alpha = 0.3;
awardsPanel_mc.medal4_mc.alpha = 0.3;
awardsPanel_mc.medal5_mc.alpha = 0.3;
awardsPanel_mc.medal6_mc.alpha = 0.3;
awardsPanel_mc.medal7_mc.alpha = 0.3;
awardsPanel_mc.medal8_mc.alpha = 0.3;
awardsPanel_mc.medal9_mc.alpha = 0.3;
awardsPanel_mc.medal10_mc.alpha = 0.3;
awardsPanel_mc.medal11_mc.alpha = 0.3;
awardsPanel_mc.medal12_mc.alpha = 0.3;
if (gMadness_so.data.award1_so == 1){
awardsPanel_mc.medal1_mc.alpha = 1;
};
if (gMadness_so.data.award2_so == 1){
awardsPanel_mc.medal2_mc.alpha = 1;
};
if (gMadness_so.data.award3_so == 1){
awardsPanel_mc.medal4_mc.alpha = 1;
};
if (gMadness_so.data.award4_so == 1){
awardsPanel_mc.medal4_mc.alpha = 1;
};
if (gMadness_so.data.award5_so == 1){
awardsPanel_mc.medal5_mc.alpha = 1;
};
if (gMadness_so.data.award6_s == 1){
awardsPanel_mc.medal6_mc.alpha = 1;
};
if (gMadness_so.data.award7_so == 1){
awardsPanel_mc.medal7_mc.alpha = 1;
};
if (gMadness_so.data.award8_so == 1){
awardsPanel_mc.medal8_mc.alpha = 1;
};
if (gMadness_so.data.award9_so == 1){
awardsPanel_mc.medal9_mc.alpha = 1;
};
if (gMadness_so.data.award10_so == 1){
awardsPanel_mc.medal10_mc.alpha = 1;
};
if (gMadness_so.data.award11_so == 1){
awardsPanel_mc.medal11_mc.alpha = 1;
};
if (gMadness_so.data.award12_so == 1){
awardsPanel_mc.medal12_mc.alpha = 1;
};
}
public function attPlayerAmmo7(){
var _local1:PlayerAmmo7;
playerAmmo7Rof--;
if (playerAmmo7Rof <= 0){
if (ammo7Inventory > 0){
playSndMiniGun();
ammo7Inventory--;
_local1 = new PlayerAmmo7(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun7_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo7Array.push(_local1);
levelContainer_mc.player_mc.gun7_mc.gotoAndPlay(2);
} else {
if (ammo7Inventory <= 0){
ammo7Inventory = 0;
};
};
playerAmmo7Rof = 3;
};
}
public function attPlayerAmmo8(){
var _local1:PlayerAmmo8;
playerAmmo8Rof--;
if (playerAmmo8Rof <= 0){
if (ammo8Inventory > 0){
playSndLaser();
ammo8Inventory--;
_local1 = new PlayerAmmo8(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun8_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo8Array.push(_local1);
levelContainer_mc.player_mc.gun8_mc.gotoAndPlay(2);
} else {
if (ammo8Inventory <= 0){
ammo8Inventory = 0;
};
};
playerAmmo8Rof = 3;
};
}
public function attPlayerAmmo2(){
var _local1:PlayerAmmo2;
playerAmmo2Rof--;
if (playerAmmo2Rof <= 0){
if (ammo2Inventory > 0){
playSndMac();
ammo2Inventory--;
_local1 = new PlayerAmmo2(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun2_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo2Array.push(_local1);
levelContainer_mc.player_mc.gun2_mc.gotoAndPlay(2);
} else {
if (ammo2Inventory <= 0){
ammo2Inventory = 0;
};
};
playerAmmo2Rof = 3;
};
}
public function attPlayerAmmo3(){
var _local1:Number;
var _local2:PlayerAmmo3;
playerAmmo3Rof--;
if (playerAmmo3Rof <= 0){
if (ammo3Inventory > 0){
playSndShotgun();
ammo3Inventory--;
_local1 = 0;
while (_local1 < 4) {
_local2 = new PlayerAmmo3(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], (levelContainer_mc.player_mc.gun3_mc.rotation + randomGenerator(-5, 5)));
_local2.main = this;
levelContainer_mc.addChild(_local2);
playerAmmo3Array.push(_local2);
levelContainer_mc.player_mc.gun3_mc.gotoAndPlay(2);
_local1++;
};
} else {
if (ammo3Inventory <= 0){
ammo3Inventory = 0;
};
};
playerAmmo3Rof = 12;
};
}
public function playSndPistol(){
if (music == "on"){
sndPistol.play();
};
}
public function _setDistanceFromCenter(_arg1:MovieClip):Array{
var _local2:Array;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = new Array();
switch (weaponCounter){
case 1:
_local3 = 30;
_local4 = _arg1.gun1_mc.rotation;
break;
case 2:
_local3 = 35;
_local4 = _arg1.gun2_mc.rotation;
break;
case 3:
_local3 = 40;
_local4 = _arg1.gun3_mc.rotation;
break;
case 4:
_local3 = 40;
_local4 = _arg1.gun4_mc.rotation;
break;
case 5:
_local3 = 40;
_local4 = _arg1.gun5_mc.rotation;
break;
case 6:
_local3 = 60;
_local4 = _arg1.gun6_mc.rotation;
break;
case 7:
_local3 = 60;
_local4 = _arg1.gun7_mc.rotation;
break;
case 8:
_local3 = 40;
_local4 = _arg1.gun8_mc.rotation;
break;
};
_local5 = (_arg1.x + (_local3 * Math.cos(((_local4 * Math.PI) / 180))));
_local6 = (_arg1.y + (_local3 * Math.sin(((_local4 * Math.PI) / 180))));
_local2[0] = _local5;
_local2[1] = _local6;
attGunSpark(_local5, _local6, _local4);
return (_local2);
}
public function attPlayerAmmo9(){
var _local1:PlayerAmmo9;
var _local2:PlayerAmmo9;
if (ammo9Inventory > 0){
ammo9Inventory = (ammo9Inventory - 2);
_local1 = new PlayerAmmo9(levelContainer_mc.player_mc.x, levelContainer_mc.player_mc.y, -60);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo9Array.push(_local1);
_local2 = new PlayerAmmo9(levelContainer_mc.player_mc.x, levelContainer_mc.player_mc.y, -120);
_local2.main = this;
levelContainer_mc.addChild(_local2);
playerAmmo9Array.push(_local2);
} else {
if (ammo9Inventory <= 0){
ammo9Inventory = 0;
};
};
}
public function attPlayerAmmo1(){
var _local1:PlayerAmmo1;
playerAmmo1Rof--;
if (playerAmmo1Rof <= 0){
playSndPistol();
_local1 = new PlayerAmmo1(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun1_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo1Array.push(_local1);
levelContainer_mc.player_mc.gun1_mc.gotoAndPlay(2);
playerAmmo1Rof = 10;
};
}
public function playSndMac(){
if (music == "on"){
sndMac.play();
};
}
public function attPlayerAmmo4(){
var _local1:PlayerAmmo4;
playerAmmo4Rof--;
if (playerAmmo4Rof <= 0){
if (ammo4Inventory > 0){
playSndAssaultRiffle();
ammo4Inventory--;
_local1 = new PlayerAmmo4(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun4_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo4Array.push(_local1);
levelContainer_mc.player_mc.gun4_mc.gotoAndPlay(2);
} else {
if (ammo4Inventory <= 0){
ammo4Inventory = 0;
};
};
playerAmmo4Rof = 4;
};
}
public function attPlayerAmmo5(){
var _local1:PlayerAmmo5;
playerAmmo5Rof--;
if (playerAmmo5Rof <= 0){
if (ammo5Inventory > 0){
playSndFlame();
ammo5Inventory--;
_local1 = new PlayerAmmo5(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun5_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo5Array.push(_local1);
levelContainer_mc.player_mc.gun5_mc.gotoAndPlay(2);
} else {
if (ammo5Inventory <= 0){
ammo5Inventory = 0;
};
};
playerAmmo5Rof = 3;
};
}
public function buyUpgradeTomb(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
};
mout = function (_arg1:MouseEvent){
};
mclck = function (_arg1:MouseEvent){
if ((((money >= upgradeTombprice)) && ((tombLevel < 3)))){
tombLevel++;
if (tombLevel == 1){
lifeDenom = 150;
levelContainer_mc.tombLevel0_mc.x = -400;
levelContainer_mc.tombLevel1_mc.x = 348;
} else {
if (tombLevel == 2){
lifeDenom = 200;
levelContainer_mc.tombLevel1_mc.x = -400;
levelContainer_mc.tombLevel2_mc.x = 348;
} else {
if (tombLevel == 3){
lifeDenom = 250;
levelContainer_mc.tombLevel2_mc.x = -400;
levelContainer_mc.tombLevel3_mc.x = 348;
btn.gotoAndStop(2);
};
};
};
lifeNum = lifeDenom;
playSndRepair();
updateTombUI();
updateMoney(money, upgradeTombprice);
upgradeTombprice = (upgradeTombprice + upgradeTombprice);
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function attExplosionGranade(_arg1:Number, _arg2:Number){
var _local3:ExplosionGranade;
_local3 = new ExplosionGranade();
_local3.x = _arg1;
_local3.y = _arg2;
levelContainer_mc.addChild(_local3);
flash_mc.gotoAndPlay(2);
}
public function playSndIncomingRocket(){
if (music == "on"){
sndIncomingRocket.play();
};
}
public function attPlayerAmmo6(){
var _local1:PlayerAmmo6;
playerAmmo6Rof--;
if (playerAmmo6Rof <= 0){
if (ammo6Inventory > 0){
playSndSniperRiffle();
ammo6Inventory--;
_local1 = new PlayerAmmo6(_setDistanceFromCenter(levelContainer_mc.player_mc)[0], _setDistanceFromCenter(levelContainer_mc.player_mc)[1], levelContainer_mc.player_mc.gun6_mc.rotation);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerAmmo6Array.push(_local1);
levelContainer_mc.player_mc.gun6_mc.gotoAndPlay(2);
} else {
if (ammo6Inventory <= 0){
ammo6Inventory = 0;
};
};
playerAmmo6Rof = 15;
};
}
public function attSmoke(_arg1:MovieClip){
var _local2:Smoke;
_local2 = new Smoke();
_local2.x = (_arg1.x + randomGenerator(-2, 2));
_local2.y = (_arg1.y - randomGenerator(2, 5));
levelContainer_mc.addChild(_local2);
}
public function levelEnemyDeploymentTimer2(_arg1:TimerEvent){
var _local2:*;
var _local3:Number;
if (gameState == "running"){
_local2 = levelEnemiesArray[0];
_local3 = levelEnemiesArray[_local2];
deployEnemy(_local3);
levelEnemiesArray.splice(0, 1);
if (levelEnemiesArray.length <= 0){
level++;
levelAwards();
updateStatsUI();
if (level > 30){
levelEnemiesArray = level30EnemiesArrayContent.concat();
};
};
};
}
public function bgScroller(_arg1:MovieClip, _arg2:MovieClip, _arg3:Number, _arg4:Number){
var _local5:Number;
_local5 = _arg3;
_arg1.x = (_arg1.x - _local5);
_arg2.x = (_arg2.x - _local5);
if (_arg1.x < _arg4){
_arg1.x = (_arg2.x + _arg2.width);
};
if (_arg2.x < _arg4){
_arg2.x = (_arg1.x + _arg1.width);
};
}
public function instanceLooper(_arg1:Array){
var _local2:Number;
_local2 = (_arg1.length - 1);
while (_local2 >= 0) {
_arg1[_local2].looper();
_local2--;
};
}
public function attEnemy3(){
var _local1:Array;
var _local2:Enemy3;
_local1 = _entryPoint();
_local2 = new Enemy3(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 6;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy4(){
var _local1:Array;
var _local2:Enemy4;
_local1 = _entryPoint();
_local2 = new Enemy4(_local1[0], 75, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 12;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy7(){
var _local1:Array;
var _local2:Enemy7;
_local1 = _entryPoint();
_local2 = new Enemy7(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 30;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy2(){
var _local1:Array;
var _local2:Enemy2;
_local1 = _entryPoint();
_local2 = new Enemy2(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 12;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy6(){
var _local1:Array;
var _local2:Enemy6;
_local1 = _entryPoint();
_local2 = new Enemy6(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 12;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy1(){
var _local1:Array;
var _local2:Enemy1;
_local1 = _entryPoint();
_local2 = new Enemy1(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 6;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function mousePressed(_arg1:MouseEvent){
fireWeapon = "open";
}
public function attEnemy9(){
var _local1:Array;
var _local2:Enemy9;
_local1 = _entryPoint();
_local2 = new Enemy9(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 50;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy5(){
var _local1:Array;
var _local2:Enemy5;
_local1 = _entryPoint();
_local2 = new Enemy5(_local1[0], groundEnemyYpos, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 20;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function attEnemy8(){
var _local1:Array;
var _local2:Enemy8;
_local1 = _entryPoint();
_local2 = new Enemy8(_local1[0], 75, _local1[1]);
_local2.main = this;
if (level >= 50){
_local2.life = 30;
};
levelContainer_mc.addChild(_local2);
enemyArray.push(_local2);
}
public function playSndBuyWeapons(){
if (music == "on"){
sndBuyWeapons.play();
};
}
public function _mochibotExtraMoneyLink(){
MochiBot.track(this, "2301d2d1");
}
public function endLevelCleanUpArray(_arg1:Array){
var _local2:Number;
_local2 = (_arg1.length - 1);
while (_local2 >= 0) {
_arg1[_local2].destruct("");
_local2--;
};
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 54
//mc_awardsPanel_39 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_awardsPanel_39)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_awardsPanel_39 extends MovieClip {
public var back_btn:MovieClip;
public var medal7_mc:MovieClip;
public var aDes_txt:TextField;
public var medal10_mc:MovieClip;
public var medal5_mc:MovieClip;
public var medal8_mc:MovieClip;
public var medal3_mc:MovieClip;
public var medal2_mc:MovieClip;
public var medal11_mc:MovieClip;
public var medal6_mc:MovieClip;
public var medal9_mc:MovieClip;
public var medal1_mc:MovieClip;
public var medal12_mc:MovieClip;
public var medal4_mc:MovieClip;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 55
//mc_creditsPanel_37 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_creditsPanel_37)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_creditsPanel_37 extends MovieClip {
public var back_btn:MovieClip;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 56
//mc_enem4Weapon_137 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enem4Weapon_137)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enem4Weapon_137 extends MovieClip {
public function mc_enem4Weapon_137(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 57
//mc_enemy1Weapon_120 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy1Weapon_120)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy1Weapon_120 extends MovieClip {
public function mc_enemy1Weapon_120(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 58
//mc_enemy2Weapon_126 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy2Weapon_126)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy2Weapon_126 extends MovieClip {
public function mc_enemy2Weapon_126(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 59
//mc_enemy3Weapon_129 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy3Weapon_129)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy3Weapon_129 extends MovieClip {
public function mc_enemy3Weapon_129(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 60
//mc_enemy4FallingANim_133 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy4FallingANim_133)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy4FallingANim_133 extends MovieClip {
public function mc_enemy4FallingANim_133(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 61
//mc_enemy5Weapon_140 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy5Weapon_140)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy5Weapon_140 extends MovieClip {
public function mc_enemy5Weapon_140(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 62
//mc_enemy7Weapon_145 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy7Weapon_145)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy7Weapon_145 extends MovieClip {
public function mc_enemy7Weapon_145(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 63
//mc_enemy8FallingAnim_156 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy8FallingAnim_156)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy8FallingAnim_156 extends MovieClip {
public function mc_enemy8FallingAnim_156(){
addFrameScript(56, frame57);
}
function frame57(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 64
//mc_enemy9Weapon_149 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_enemy9Weapon_149)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_enemy9Weapon_149 extends MovieClip {
public function mc_enemy9Weapon_149(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 65
//mc_extraWeapon_35 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_extraWeapon_35)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class mc_extraWeapon_35 extends MovieClip {
public function mc_extraWeapon_35(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.playtowerdefensegames.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 66
//mc_flash_71 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_flash_71)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_flash_71 extends MovieClip {
public function mc_flash_71(){
addFrameScript(0, frame1, 8, frame9);
}
function frame1(){
stop();
}
function frame9(){
stop();
gotoAndStop(1);
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 67
//mc_gun2_62 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun2_62)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun2_62 extends MovieClip {
public function mc_gun2_62(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 68
//mc_gun3_63 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun3_63)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun3_63 extends MovieClip {
public function mc_gun3_63(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 69
//mc_gun4_64 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun4_64)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun4_64 extends MovieClip {
public function mc_gun4_64(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 70
//mc_gun5_61 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun5_61)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun5_61 extends MovieClip {
public function mc_gun5_61(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 71
//mc_gun6_65 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun6_65)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun6_65 extends MovieClip {
public function mc_gun6_65(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 72
//mc_gun7_66 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun7_66)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun7_66 extends MovieClip {
public function mc_gun7_66(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 73
//mc_gun8_67 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gun8_67)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gun8_67 extends MovieClip {
public function mc_gun8_67(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 74
//mc_gunHitSprite_88 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_gunHitSprite_88)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_gunHitSprite_88 extends MovieClip {
public function mc_gunHitSprite_88(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 75
//mc_howToPanel_41 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_howToPanel_41)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_howToPanel_41 extends MovieClip {
public var back_btn:MovieClip;
public var play_btn:MovieClip;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 76
//mc_levelContainer_43 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_levelContainer_43)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_levelContainer_43 extends MovieClip {
public var c3_mc:MovieClip;
public var fog1_mc:MovieClip;
public var tombLevel0_mc:MovieClip;
public var tombLevel3_mc:MovieClip;
public var fog4_mc:MovieClip;
public var c1_mc:MovieClip;
public var c4_mc:MovieClip;
public var lifeBar_mc:MovieClip;
public var tombLevel1_mc:MovieClip;
public var fog2_mc:MovieClip;
public var showTomStat_txt:TextField;
public var c2_mc:MovieClip;
public var tombHitBox_mc:MovieClip;
public var player_mc:MovieClip;
public var c5_mc:MovieClip;
public var crosshair_mc:MovieClip;
public var tombLevel2_mc:MovieClip;
public var fog3_mc:MovieClip;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 77
//mc_medalIcon_40 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_medalIcon_40)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_medalIcon_40 extends MovieClip {
public var aName_txt:TextField;
public function mc_medalIcon_40(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 78
//mc_PDTGTextLogo_11 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_PDTGTextLogo_11)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class mc_PDTGTextLogo_11 extends MovieClip {
public function mc_PDTGTextLogo_11(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.playtowerdefensegames.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 79
//mc_player_58 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_player_58)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class mc_player_58 extends MovieClip {
public var gun2_mc:MovieClip;
public var a_x:Number;
public var a_y:Number;
public var gun5_mc:MovieClip;
public var gun8_mc:MovieClip;
public var gun3_mc:MovieClip;
public var body_mc:MovieClip;
public var gun6_mc:MovieClip;
public var gun1_mc:MovieClip;
public var gun4_mc:MovieClip;
public var _angle:Number;
public var crosshair_mc:MovieClip;
public var gun7_mc:MovieClip;
public function mc_player_58(){
addFrameScript(0, frame1);
}
function frame1(){
crosshair_mc = MovieClip(parent).crosshair_mc;
}
public function looper(){
if (MovieClip(parent.parent).weaponCounter == 1){
rotatePart(crosshair_mc, gun1_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 2){
rotatePart(crosshair_mc, gun2_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 3){
rotatePart(crosshair_mc, gun3_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 4){
rotatePart(crosshair_mc, gun4_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 5){
rotatePart(crosshair_mc, gun5_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 6){
rotatePart(crosshair_mc, gun6_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 7){
rotatePart(crosshair_mc, gun7_mc);
} else {
if (MovieClip(parent.parent).weaponCounter == 8){
rotatePart(crosshair_mc, gun8_mc);
};
};
};
};
};
};
};
};
}
public function rotatePart(_arg1:MovieClip, _arg2:MovieClip){
a_x = (_arg1.x - (this.x + _arg2.x));
a_y = (_arg1.y - (this.y + _arg2.y));
_angle = ((180 * Math.atan2(a_y, a_x)) / Math.PI);
_arg2.rotation = _angle;
if (_arg1.x < this.x){
_arg2.scaleY = -1;
body_mc.scaleX = -1;
} else {
_arg2.scaleY = 1;
body_mc.scaleX = 1;
};
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 80
//mc_playersGun_60 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_playersGun_60)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_playersGun_60 extends MovieClip {
public function mc_playersGun_60(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 81
//mc_preloaderBar_3 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_preloaderBar_3)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_preloaderBar_3 extends MovieClip {
public var innerBar_mc:MovieClip;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 82
//mc_promptIcon_86 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_promptIcon_86)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_promptIcon_86 extends MovieClip {
public function mc_promptIcon_86(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 83
//mc_shop_74 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_shop_74)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_shop_74 extends MovieClip {
public var w2Inv_txt:TextField;
public var repairFullPrice_txt:TextField;
public var w9Inv_txt:TextField;
public var buyWeapon5_btn:MovieClip;
public var buyWeapon9_btn:MovieClip;
public var w3Amnt_txt:TextField;
public var w5Amnt_txt:TextField;
public var w7Inv_txt:TextField;
public var w7Amnt_txt:TextField;
public var w9Amnt_txt:TextField;
public var money_txt:TextField;
public var buyWeapon10Ammo_btn:MovieClip;
public var w10Amnt_txt:TextField;
public var w5Inv_txt:TextField;
public var w3Rnds_txt:TextField;
public var w9AmmoAmount_txt:TextField;
public var w5Rnds_txt:TextField;
public var w9Rnds_txt:TextField;
public var buyWeapon9Ammo_btn:MovieClip;
public var buyWeapon3Ammo_btn:MovieClip;
public var buyWeapon5Ammo_btn:MovieClip;
public var buyWeapon8_btn:MovieClip;
public var w7Rnds_txt:TextField;
public var buyWeapon4_btn:MovieClip;
public var w3Inv_txt:TextField;
public var tombStrength_txt:TextField;
public var buyWeapon7Ammo_btn:MovieClip;
public var w10Rnds_txt:TextField;
public var buyWeapon10_btn:MovieClip;
public var w8Inv_txt:TextField;
public var buyWeapon3_btn:MovieClip;
public var buyWeapon7_btn:MovieClip;
public var w6Amnt_txt:TextField;
public var w8Amnt_txt:TextField;
public var w2Amnt_txt:TextField;
public var w4Amnt_txt:TextField;
public var w10Inv_txt:TextField;
public var buyRepairFull_btn:MovieClip;
public var w6Inv_txt:TextField;
public var w2Rnds_txt:TextField;
public var w4Rnds_txt:TextField;
public var buyWeapon2Ammo_btn:MovieClip;
public var w8Rnds_txt:TextField;
public var upgradePrice_txt:TextField;
public var buyWeapon8Ammo_btn:MovieClip;
public var w6Rnds_txt:TextField;
public var buyUpgradeTomb_btn:MovieClip;
public var w4Inv_txt:TextField;
public var repair25Price_txt:TextField;
public var buyWeapon4Ammo_btn:MovieClip;
public var buyWeapon2_btn:MovieClip;
public var buyWeapon6Ammo_btn:MovieClip;
public var buyWeapon6_btn:MovieClip;
public var buyRepair25_btn:MovieClip;
public var w10AmmoAmount_txt:TextField;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 84
//mc_statsUI_79 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_statsUI_79)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_statsUI_79 extends MovieClip {
public var level_txt:TextField;
public var score_txt:TextField;
public var money_txt:TextField;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 85
//mc_tomb_50 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_tomb_50)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class mc_tomb_50 extends MovieClip {
public var graphics_mc:MovieClip;
public function mc_tomb_50(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
public function tomb3Looper(){
if (MovieClip(parent).lifeBar_mc.scaleX > 0.75){
this.graphics_mc.stop();
this.graphics_mc.gotoAndStop(1);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.5){
this.graphics_mc.gotoAndStop(2);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.25){
this.graphics_mc.gotoAndStop(3);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.01){
this.graphics_mc.gotoAndStop(4);
};
};
};
};
}
function frame3(){
stop();
}
function frame1(){
stop();
}
public function tomb4Looper(){
if (MovieClip(parent).lifeBar_mc.scaleX > 0.75){
this.graphics_mc.stop();
this.graphics_mc.gotoAndStop(1);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.5){
this.graphics_mc.gotoAndStop(2);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.25){
this.graphics_mc.gotoAndStop(3);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.01){
this.graphics_mc.gotoAndStop(4);
};
};
};
};
}
function frame4(){
stop();
}
function frame2(){
stop();
}
public function tomb1Looper(){
if (MovieClip(parent).lifeBar_mc.scaleX > 0.75){
this.graphics_mc.stop();
this.graphics_mc.gotoAndStop(1);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.5){
this.graphics_mc.gotoAndStop(2);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.25){
this.graphics_mc.gotoAndStop(3);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.01){
this.graphics_mc.gotoAndStop(4);
};
};
};
};
}
public function tomb2Looper(){
if (MovieClip(parent).lifeBar_mc.scaleX > 0.75){
this.graphics_mc.stop();
this.graphics_mc.gotoAndStop(1);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.5){
this.graphics_mc.gotoAndStop(2);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.25){
this.graphics_mc.gotoAndStop(3);
} else {
if (MovieClip(parent).lifeBar_mc.scaleX > 0.01){
this.graphics_mc.gotoAndStop(4);
};
};
};
};
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 86
//mc_tombLevel1_51 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_tombLevel1_51)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_tombLevel1_51 extends MovieClip {
public function mc_tombLevel1_51(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 87
//mc_tombLevel2_52 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_tombLevel2_52)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_tombLevel2_52 extends MovieClip {
public function mc_tombLevel2_52(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 88
//mc_tombLevel3_53 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_tombLevel3_53)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_tombLevel3_53 extends MovieClip {
public function mc_tombLevel3_53(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 89
//mc_tombLevel4_54 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_tombLevel4_54)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class mc_tombLevel4_54 extends MovieClip {
public function mc_tombLevel4_54(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 90
//mc_uiWeapons_72 (GraveyardMadness_kenplay_viralNG_v2_fla.mc_uiWeapons_72)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_uiWeapons_72 extends MovieClip {
public var weaponSelected_mc:MovieClip;
public var w2Inv_txt:TextField;
public var w9Inv_txt:TextField;
public var w8Inv_txt:TextField;
public var w7Inv_txt:TextField;
public var w10Inv_txt:TextField;
public var w6Inv_txt:TextField;
public var w5Inv_txt:TextField;
public var w4Inv_txt:TextField;
public var w3Inv_txt:TextField;
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 91
//PDTG_introElement3_23 (GraveyardMadness_kenplay_viralNG_v2_fla.PDTG_introElement3_23)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class PDTG_introElement3_23 extends MovieClip {
public function PDTG_introElement3_23(){
addFrameScript(0, frame1, 119, frame120);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.playtowerdefensegames.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
function frame120(){
stop();
MovieClip(parent).gotoAndPlay(3);
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 92
//PTDG_Logo1_8 (GraveyardMadness_kenplay_viralNG_v2_fla.PTDG_Logo1_8)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class PTDG_Logo1_8 extends MovieClip {
public function PTDG_Logo1_8(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clck);
}
public function clck(_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.playtowerdefensegames.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 93
//Timeline_13 (GraveyardMadness_kenplay_viralNG_v2_fla.Timeline_13)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public dynamic class Timeline_13 extends MovieClip {
public const FRAME_RATE_ADJUST:Boolean = true;
public const LOADER_FRAME_RATE:Number = 30;
public const AUTO_PLAY:Boolean = false;
public var bar:MovieClip;
public var ngButton:SimpleButton;
public var playButton:SimpleButton;
public var movieFrameRate:Number;
public var loadingComplete:Boolean;
public var initialized:Boolean;
public function Timeline_13(){
addFrameScript(0, frame1, 50, frame51);
}
public function init():void{
if (initialized){
return;
};
movieFrameRate = 0;
if (((FRAME_RATE_ADJUST) && (stage))){
movieFrameRate = stage.frameRate;
stage.frameRate = LOADER_FRAME_RATE;
};
initialized = true;
stop();
if (((root) && ((root is MovieClip)))){
MovieClip(root).stop();
};
loadingComplete = false;
ngButton.addEventListener(MouseEvent.CLICK, ngButtonClickHandler, false, 0, true);
addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true);
if (meetsVersion([9, 0, 28, 0])){
addEventListener(Event.REMOVED_FROM_STAGE, cleanup, false, 0, true);
};
enterFrameHandler();
}
public function enterFrameHandler(_arg1:Event=null):void{
var _local2:Number;
if (((((!(movieFrameRate)) && (FRAME_RATE_ADJUST))) && (stage))){
movieFrameRate = stage.frameRate;
stage.frameRate = LOADER_FRAME_RATE;
};
if (!loadingComplete){
_local2 = 0;
if (loaderInfo){
_local2 = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal);
};
if (bar){
bar.scaleX = _local2;
};
if (_local2 == 1){
loadingComplete = true;
if (AUTO_PLAY){
startMovie();
} else {
gotoAndPlay("loaded");
};
};
};
}
public function meetsVersion(_arg1:Array):Boolean{
var _local2:Array;
var _local3:uint;
_local2 = String(Capabilities.version.split(" ")[1]).split(",");
_local3 = 0;
while (_local3 < _arg1.length) {
if (uint(_local2[_local3]) > _arg1[_local3]){
return (true);
};
if (uint(_local2[_local3]) < _arg1[_local3]){
return (false);
};
_local3++;
};
return (true);
}
public function playButtonClickHandler(_arg1:Event=null):void{
startMovie();
}
function frame1(){
initialized = false;
init();
}
public function ngButtonClickHandler(_arg1:Event):void{
navigateToURL(new URLRequest("http://www.newgrounds.com"), "_blank");
}
public function cleanup(_arg1:Event=null){
if (initialized){
ngButton.removeEventListener(MouseEvent.CLICK, ngButtonClickHandler);
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
if (meetsVersion([9, 0, 28, 0])){
removeEventListener(Event.REMOVED_FROM_STAGE, cleanup);
};
if (movieFrameRate){
stage.frameRate = movieFrameRate;
movieFrameRate = 0;
};
};
initialized = false;
}
function frame51(){
stop();
if (((playButton) && (!(playButton.hasEventListener(MouseEvent.CLICK))))){
playButton.addEventListener(MouseEvent.CLICK, playButtonClickHandler, false, 0, true);
};
}
public function startMovie():void{
cleanup();
if (((root) && ((root is MovieClip)))){
MovieClip(root).play();
};
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 94
//Timeline_19 (GraveyardMadness_kenplay_viralNG_v2_fla.Timeline_19)
package GraveyardMadness_kenplay_viralNG_v2_fla {
import flash.display.*;
public dynamic class Timeline_19 extends MovieClip {
public function Timeline_19(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package GraveyardMadness_kenplay_viralNG_v2_fla
Section 95
//MouseWheel (ru.etcs.ui.MouseWheel)
package ru.etcs.ui {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.errors.*;
public final class MouseWheel {
private static const _bytes:ByteArray = new ByteArray();
private static const _dataPart0:Array = new Array(1180128009, 671154176, 2013267295, 4000, 7937, 0x441100, 67, 50331647, 1057226240, 34908, 589932, 1660963951, 1667329091, 1869508197, 1668573551, 1845521507);
private static const _dataPart1:Array = new Array(6516590, 1852138356, 6513008, 1953854053, 5074805, 1935999073, 1684294761, 1937007982, 1701970034, 1701670774, 1699506547, 1952804453, 1912631150, 1299150195, 1700227173, 1701576854, 218105856, 100663296, 0, 524608, 496371968, 134350593, 8, 1873410, 525138, 395706880, 134225046, 33556484, 2383347712, 16778025, 161377, 1819632896, 939562498, 262674, 2634154009, 0x960900, 67176193, 8, 85759490, 525906, 395903488, 335582729, 262407, 16777216, 134552726, 33556487, 1377259414, 33556488, 2600796160, 0, 496371968, 83953409, 8, 1873410, 525394, 385892352);
private static const _connection:LocalConnection = new LocalConnection();
private static var _complete:Boolean = false;
private static var _loader:Loader;
private static var _captured:Boolean = false;
private static var _connectionID:uint;
public function MouseWheel(){
throw (new IllegalOperationError("do not instantiate MouseWheel"));
}
public static function capture():void{
var _local1:uint;
var _local2:ByteArray;
var _local3:Array;
var _local4:uint;
var _local5:uint;
if (MouseWheel._captured){
return;
};
if (!MouseWheel._bytes.length){
_local1 = Math.round((Math.random() * 100000));
while (_local1 < 10000) {
_local1 = Math.round((Math.random() * 100000));
};
MouseWheel._connectionID = _local1;
_local2 = MouseWheel._bytes;
_local3 = MouseWheel._dataPart0;
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local2.writeUnsignedInt(_local3[_local5]);
_local5++;
};
_local2.writeUTFBytes(("_" + MouseWheel._connectionID.toString()));
_local3 = MouseWheel._dataPart1;
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local2.writeUnsignedInt(_local3[_local5]);
_local5++;
};
_local2.writeShort(0);
};
MouseWheel._connection.addEventListener(StatusEvent.STATUS, MouseWheel.handler_status);
MouseWheel._connection.addEventListener(AsyncErrorEvent.ASYNC_ERROR, MouseWheel.handler_asyncError);
MouseWheel._captured = true;
if (MouseWheel._loader){
MouseWheel.send();
} else {
MouseWheel._loader = new Loader();
MouseWheel._loader.loadBytes(MouseWheel._bytes);
MouseWheel._loader.contentLoaderInfo.addEventListener(Event.COMPLETE, MouseWheel.handler_complete);
};
}
private static function handler_status(_arg1:StatusEvent):void{
if (_arg1.level == "error"){
MouseWheel.send();
};
}
public static function release():void{
if (!MouseWheel._captured){
return;
};
MouseWheel._captured = false;
MouseWheel.send();
}
private static function send(_arg1:Event=null):void{
if (!MouseWheel._complete){
return;
};
MouseWheel._connection.send(("lc_" + MouseWheel._connectionID), "capture", MouseWheel._captured);
}
private static function handler_asyncError(_arg1:AsyncErrorEvent):void{
}
private static function handler_complete(_arg1:Event):void{
MouseWheel._complete = true;
if (!MouseWheel._captured){
MouseWheel.send();
};
}
public static function get captured():Boolean{
return (MouseWheel._captured);
}
}
}//package ru.etcs.ui
Section 96
//CrystalSnd (CrystalSnd)
package {
import flash.media.*;
public dynamic class CrystalSnd extends Sound {
}
}//package
Section 97
//Earthquake (Earthquake)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Earthquake {
private static const FRAME_RATE:int = 30;
private static var timer:Timer;
private static var originalX:int;
private static var originalY:int;
private static var intensityOffset:int;
private static var intensity:int;
private static var image:DisplayObject;
private static function cleanup():void{
timer = null;
image = null;
}
public static function go(_arg1:DisplayObject, _arg2:Number=10, _arg3:Number=1):void{
var _local4:int;
var _local5:int;
if (timer){
timer.stop();
};
image = _arg1;
originalX = 0;
originalY = 0;
intensity = _arg2;
intensityOffset = (intensity / 2);
_local4 = int((1000 / FRAME_RATE));
_local5 = int(((_arg3 * 1000) / _local4));
timer = new Timer(_local4, _local5);
timer.addEventListener(TimerEvent.TIMER, quake);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, resetImage);
timer.start();
}
public static function temp():void{
}
private static function quake(_arg1:TimerEvent):void{
var _local2:int;
var _local3:int;
_local2 = ((originalX + (Math.random() * intensity)) - intensityOffset);
_local3 = ((originalY + (Math.random() * intensity)) - intensityOffset);
image.x = _local2;
image.y = _local3;
}
private static function resetImage(_arg1:TimerEvent=null):void{
image.x = originalX;
image.y = originalY;
cleanup();
}
}
}//package
Section 98
//Enemy1 (Enemy1)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy1 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy1(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 3;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function pushBack(){
}
public function looper(){
if (life <= 0){
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
weapon_mc.gotoAndPlay(2);
};
}
}
}//package
Section 99
//Enemy10 (Enemy10)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy10 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var movTmrObj:Timer;
public var attackTmrObj:Timer;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy10(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 25;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
attackTmrObj.start();
movTmrObj = new Timer(3000, 0);
movTmrObj.addEventListener(TimerEvent.TIMER, movTmr);
movTmrObj.start();
}
public function looper(){
if (life <= 0){
main._firstTimeKill(this);
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
};
};
}
public function movTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
if (this.x > 350){
this.rotation = -2;
Tweener.addTween(this, {x:main.randomGenerator(200, 300), y:main.randomGenerator(20, 50), time:3, transition:"linear"});
} else {
this.rotation = 2;
Tweener.addTween(this, {x:main.randomGenerator(400, 500), y:main.randomGenerator(20, 50), time:3, transition:"linear"});
};
};
}
public function destruct(_arg1:String){
movTmrObj.stop();
movTmrObj.removeEventListener(TimerEvent.TIMER, movTmr);
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
if ((((((this.y > 0)) || ((this.x > 300)))) || ((this.x < 395)))){
};
if (this.y > 0){
if ((((this.x > 300)) || ((this.x < 395)))){
main.attEnemy10Ammo(this.x, this.y);
trace("hak");
};
};
};
}
}
}//package
Section 100
//Enemy10Ammo (Enemy10Ammo)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class Enemy10Ammo extends MovieClip {
public var life:Number;// = 10
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function Enemy10Ammo(_arg1:Number, _arg2:Number){
life = 10;
super();
this.x = _arg1;
this.y = _arg2;
spd = 2;
grvty = 1.5;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (life <= 0){
main.playSndExplode();
main.attExplosion(this);
destruct("");
} else {
if (this.hitTestObject(MovieClip(parent).tombHitBox_mc)){
main.playSndExplode();
main.attackPlayer(this);
main.attExplosion(this);
main.lifeNum = (main.lifeNum - 2);
destruct("");
} else {
if (this.y > 400){
main.attExplosion(this);
destruct("");
} else {
this.y = (this.y + 10);
};
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.enemyArray, this);
}
}
}//package
Section 101
//Enemy10DeathAnim (Enemy10DeathAnim)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Enemy10DeathAnim extends MovieClip {
public var i:Number;
public var hitBox_mc:MovieClip;
public function Enemy10DeathAnim(){
addFrameScript(0, frame1);
}
public function addSmoke(){
i--;
if (i <= 0){
MovieClip(parent.parent).attSmoke(this);
i = 5;
};
}
public function looper(_arg1:Event){
this.y = (this.y + MovieClip(parent.parent).fallSpeed);
addSmoke();
if (this.y > 378){
this.removeEventListener(Event.ENTER_FRAME, looper);
MovieClip(parent.parent).makeTreeFall();
MovieClip(parent.parent).playSndExplode();
MovieClip(parent.parent).screenShake(20, 0.3);
MovieClip(parent.parent).attExplosionGranade(this.x, this.y);
MovieClip(parent.parent).attExplosion(this);
MovieClip(parent.parent).attExplosionNuke(this.x, this.y);
MovieClip(parent).removeChild(this);
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, looper);
i = 5;
}
}
}//package
Section 102
//Enemy11 (Enemy11)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy11 extends MovieClip {
public var life:Number;
public var spd:Number;
private var dir:Point;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy11(_arg1:Number, _arg2:Number, _arg3:String){
dir = new Point(0, 0);
super();
life = 10;
this.x = _arg1;
this.y = _arg2;
trace("");
life = 10;
spd = 1;
}
public function looper(){
var _local1:MovieClip;
var _local2:Point;
if (life <= 0){
main._firstTimeKill(this);
main.playSndExplode();
main.increaseMoneyAndScore(this);
main.attExplosion(this);
destruct("");
} else {
if (this.hitTestObject(MovieClip(parent).tombHitBox_mc)){
main.playSndExplode();
main.attackPlayer(this);
main.attExplosion(this);
destruct("");
} else {
_local1 = MovieClip(parent).tombHitBox_mc;
_local2 = new Point((_local1.x - this.x), (_local1.y - this.y));
_local2.normalize(1);
dir = dir.add(_local2);
dir.normalize(7);
this.x = (this.x + dir.x);
this.y = (this.y + dir.y);
this.rotation = ((Math.atan2(dir.y, dir.x) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.enemyArray, this);
}
}
}//package
Section 103
//Enemy1DeathAnim (Enemy1DeathAnim)
package {
import flash.display.*;
public dynamic class Enemy1DeathAnim extends MovieClip {
public var hitBox_mc:MovieClip;
public function Enemy1DeathAnim(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 104
//Enemy2 (Enemy2)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy2 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy2(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 6;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
weapon_mc.gotoAndPlay(2);
};
}
}
}//package
Section 105
//Enemy2DeathAnim (Enemy2DeathAnim)
package {
import flash.display.*;
public dynamic class Enemy2DeathAnim extends MovieClip {
public var hitBox_mc:MovieClip;
public function Enemy2DeathAnim(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 106
//Enemy3 (Enemy3)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy3 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy3(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 3;
spd = 2;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
weapon_mc.gotoAndPlay(2);
};
}
}
}//package
Section 107
//Enemy3DeathAnim (Enemy3DeathAnim)
package {
import flash.display.*;
public dynamic class Enemy3DeathAnim extends MovieClip {
public var hitBox_mc:MovieClip;
public function Enemy3DeathAnim(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 108
//Enemy4 (Enemy4)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy4 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy4(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 6;
spd = 2;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 338){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 368){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
weapon_mc.gotoAndPlay(2);
main.attEnemy4Ammo(this.x, this.y);
trace("hak");
};
}
}
}//package
Section 109
//Enemy4Ammo (Enemy4Ammo)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class Enemy4Ammo extends MovieClip {
public var life:Number;// = 1
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function Enemy4Ammo(_arg1:Number, _arg2:Number){
life = 1;
super();
this.x = _arg1;
this.y = _arg2;
spd = 18;
grvty = 1.5;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (life <= 0){
main.playSndExplode();
main.attExplosion(this);
destruct("");
} else {
if (this.hitTestObject(MovieClip(parent).tombHitBox_mc)){
main.playSndExplode();
main.attExplosion(this);
main.attackPlayer(this);
destruct("");
} else {
if (this.y > 400){
main.attExplosion(this);
destruct("");
} else {
this.y = (this.y + 10);
this.rotation = (this.rotation - 20);
};
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.enemyArray, this);
}
}
}//package
Section 110
//Enemy4DeathAnim (Enemy4DeathAnim)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Enemy4DeathAnim extends MovieClip {
public var i:Number;
public var hitBox_mc:MovieClip;
public function Enemy4DeathAnim(){
addFrameScript(0, frame1);
}
public function addSmoke(){
i--;
if (i <= 0){
trace(("smoke" + i));
MovieClip(parent.parent).attSmoke(this);
i = 5;
};
}
public function looper(_arg1:Event){
this.y = (this.y + MovieClip(parent.parent).fallSpeed);
addSmoke();
if (this.y > 400){
this.removeEventListener(Event.ENTER_FRAME, looper);
MovieClip(parent.parent).makeTreeFall();
MovieClip(parent.parent).playSndExplode();
MovieClip(parent.parent).attExplosion(this);
MovieClip(parent.parent).attExplosionGranade(this.x, this.y);
MovieClip(parent).removeChild(this);
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, looper);
i = 5;
}
}
}//package
Section 111
//Enemy5 (Enemy5)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy5 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy5(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 10;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
weapon_mc.gotoAndPlay(2);
trace("hak");
};
}
}
}//package
Section 112
//Enemy5DeathAnim (Enemy5DeathAnim)
package {
import flash.display.*;
public dynamic class Enemy5DeathAnim extends MovieClip {
public var hitBox_mc:MovieClip;
public function Enemy5DeathAnim(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 113
//Enemy6 (Enemy6)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy6 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy6(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 6;
spd = 3;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main._firstTimeKill(this);
main.playSndExplode();
main.increaseMoneyAndScore(this);
main.attExplosion(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
main.attExplosion(this);
main.attackPlayer(this);
destruct("");
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
main.attExplosion(this);
main.attackPlayer(this);
destruct("");
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
trace("hak");
};
}
}
}//package
Section 114
//Enemy7 (Enemy7)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy7 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy7(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 15;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main._firstTimeKill(this);
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
weapon_mc.gotoAndPlay(2);
trace("hak");
};
}
}
}//package
Section 115
//Enemy7DeathAnim (Enemy7DeathAnim)
package {
import flash.display.*;
public dynamic class Enemy7DeathAnim extends MovieClip {
public var hitBox_mc:MovieClip;
public function Enemy7DeathAnim(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 116
//Enemy8 (Enemy8)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy8 extends MovieClip {
public var gun_mc:MovieClip;
public var life:Number;
public var a_y:Number;
public var a_x:Number;
public var attack:String;// = "no"
public var body_mc:MovieClip;
public var attackTmrObj:Timer;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var _angle:Number;
public var hitBox_mc:MovieClip;
public function Enemy8(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 15;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(2000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
}
public function looper(){
if (life <= 0){
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
body_mc.x = 10;
body_mc.scaleX = -1;
gun_mc.scaleY = -1;
if (this.x > 650){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 50){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
rotatePart(main.levelContainer_mc.player_mc, gun_mc);
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attEnemy8Ammo(main._setDistanceFromCenterEnemy(this)[0], main._setDistanceFromCenterEnemy(this)[1]);
main.attExplosion(this);
};
}
public function rotatePart(_arg1:MovieClip, _arg2:MovieClip){
a_x = (_arg1.x - (this.x + _arg2.x));
a_y = (_arg1.y - (this.y + _arg2.y));
_angle = ((180 * Math.atan2(a_y, a_x)) / Math.PI);
_arg2.rotation = _angle;
}
}
}//package
Section 117
//Enemy8Ammo (Enemy8Ammo)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy8Ammo extends MovieClip {
public var life:Number;
public var spd:Number;
private var dir:Point;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy8Ammo(_arg1:Number, _arg2:Number, _arg3:String){
dir = new Point(0, 0);
super();
life = 2;
this.x = _arg1;
this.y = _arg2;
trace("");
life = 10;
spd = 1;
}
public function looper(){
var _local1:MovieClip;
var _local2:Point;
_local1 = MovieClip(parent).tombHitBox_mc;
if (life <= 0){
main.playSndExplode();
main.attExplosion(this);
destruct("");
} else {
if (this.hitBox_mc.hitTestObject(_local1)){
main.playSndExplode();
main.attackPlayer(this);
main.attExplosion(this);
destruct("");
} else {
_local2 = new Point((_local1.x - this.x), (_local1.y - this.y));
_local2.normalize(1);
dir = dir.add(_local2);
dir.normalize(7);
this.x = (this.x + dir.x);
this.y = (this.y + dir.y);
this.rotation = ((Math.atan2(dir.y, dir.x) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.enemyArray, this);
}
}
}//package
Section 118
//Enemy8DeathAnim (Enemy8DeathAnim)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Enemy8DeathAnim extends MovieClip {
public var i:Number;
public var hitBox_mc:MovieClip;
public function Enemy8DeathAnim(){
addFrameScript(0, frame1);
}
public function addSmoke(){
i--;
if (i <= 0){
MovieClip(parent.parent).attSmoke(this);
i = 5;
};
}
public function looper(_arg1:Event){
this.y = (this.y + MovieClip(parent.parent).fallSpeed);
addSmoke();
if (this.y > 400){
this.removeEventListener(Event.ENTER_FRAME, looper);
MovieClip(parent.parent).makeTreeFall();
MovieClip(parent.parent).playSndExplode();
MovieClip(parent.parent).attExplosion(this);
MovieClip(parent.parent).attExplosionGranade(this.x, this.y);
MovieClip(parent).removeChild(this);
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, looper);
i = 5;
}
}
}//package
Section 119
//Enemy9 (Enemy9)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class Enemy9 extends MovieClip {
public var life:Number;
public var attack:String;// = "no"
public var attackTmrObj:Timer;
public var weapon_mc:MovieClip;
public var spd:Number;
public var dir:String;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy9(_arg1:Number, _arg2:Number, _arg3:String){
attack = "no";
super();
this.x = _arg1;
this.y = _arg2;
life = 25;
spd = 1;
dir = _arg3;
attackTmrObj = new Timer(1000, 0);
attackTmrObj.addEventListener(TimerEvent.TIMER, attackTmr);
if (dir == "left"){
this.scaleX = -1;
};
}
public function looper(){
if (life <= 0){
main._firstTimeKill(this);
main.increaseMoneyAndScore(this);
main.showDeath(this);
destruct("");
} else {
if (dir == "left"){
if (this.x > 395){
this.x = (this.x - spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
} else {
if (dir == "right"){
if (this.x < 300){
this.x = (this.x + spd);
} else {
if (attack == "no"){
attack = "yes";
attackTmrObj.start();
};
};
};
};
};
}
public function destruct(_arg1:String){
attackTmrObj.stop();
attackTmrObj.removeEventListener(TimerEvent.TIMER, attackTmr);
main.removeFromArray(main.enemyArray, this);
}
public function attackTmr(_arg1:TimerEvent){
if (main.gameState == "running"){
main.attackPlayer(this);
weapon_mc.gotoAndPlay(2);
trace("hak");
};
}
}
}//package
Section 120
//Enemy9DeathAnim (Enemy9DeathAnim)
package {
import flash.display.*;
public dynamic class Enemy9DeathAnim extends MovieClip {
public var hitBox_mc:MovieClip;
public function Enemy9DeathAnim(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 121
//Explosion (Explosion)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Explosion extends MovieClip {
public function Explosion(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
stop();
MovieClip(parent).removeChild(this);
}
function frame1(){
MovieClip(parent.parent).screenShake(4, 0.3);
}
}
}//package
Section 122
//ExplosionAirAttack (ExplosionAirAttack)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ExplosionAirAttack extends MovieClip {
public var mushroomHeightTime:Number;
public var s3_mc:MovieClip;
public var s10_mc:MovieClip;
public var s6_mc:MovieClip;
public var spinTime:Number;
public var s1_mc:MovieClip;
public var s9_mc:MovieClip;
public var s4_mc:MovieClip;
public var s11_mc:MovieClip;
public var s7_mc:MovieClip;
public var s2_mc:MovieClip;
public var s5_mc:MovieClip;
public var s8_mc:MovieClip;
public function ExplosionAirAttack(){
addFrameScript(0, frame1);
}
function frame1(){
spinTime = 3;
mushroomHeightTime = 40;
Tweener.addTween(s1_mc, {y:(s1_mc.y - mushroomHeightTime), rotation:(s1_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s2_mc, {y:(s2_mc.y - mushroomHeightTime), rotation:(s2_mc.rotation + 700), time:spinTime, transition:"linear"});
Tweener.addTween(s3_mc, {y:(s3_mc.y - mushroomHeightTime), rotation:(s3_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s4_mc, {y:(s4_mc.y - mushroomHeightTime), rotation:(s4_mc.rotation + 700), time:spinTime, transition:"linear"});
Tweener.addTween(s5_mc, {y:(s5_mc.y - mushroomHeightTime), rotation:(s5_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s11_mc, {y:(s11_mc.y - 50), rotation:(s11_mc.rotation - 500), time:spinTime, transition:"linear"});
Tweener.addTween(s6_mc, {rotation:(s6_mc.rotation - 360), time:spinTime, transition:"linear"});
Tweener.addTween(s7_mc, {rotation:(s7_mc.rotation + 360), time:spinTime, transition:"linear"});
Tweener.addTween(s8_mc, {rotation:(s8_mc.rotation - 360), time:spinTime, transition:"linear"});
Tweener.addTween(s9_mc, {rotation:(s9_mc.rotation + 360), time:spinTime, transition:"linear"});
Tweener.addTween(s10_mc, {rotation:(s10_mc.rotation - 360), time:spinTime, transition:"linear"});
Tweener.addTween(this, {alpha:0, time:3, transition:"linear", onComplete:_removeMe});
MovieClip(parent.parent).screenShake(20, 0.3);
}
public function _removeMe(){
MovieClip(parent).removeChild(this);
}
}
}//package
Section 123
//ExplosionGranade (ExplosionGranade)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ExplosionGranade extends MovieClip {
public var mushroomHeightTime:Number;
public var s3_mc:MovieClip;
public var s6_mc:MovieClip;
public var spinTime:Number;
public var s1_mc:MovieClip;
public var s9_mc:MovieClip;
public var s4_mc:MovieClip;
public var s7_mc:MovieClip;
public var s2_mc:MovieClip;
public var s5_mc:MovieClip;
public var s8_mc:MovieClip;
public function ExplosionGranade(){
addFrameScript(0, frame1);
}
function frame1(){
spinTime = 1;
mushroomHeightTime = 40;
Tweener.addTween(s1_mc, {x:-90, y:-9, rotation:(s1_mc.rotation + 700), time:spinTime, transition:"linear"});
Tweener.addTween(s2_mc, {x:-51, y:-73, rotation:(s2_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s3_mc, {x:8.6, y:-97, rotation:(s3_mc.rotation + 700), time:spinTime, transition:"linear"});
Tweener.addTween(s4_mc, {x:79, y:-65, rotation:(s4_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s5_mc, {x:94, y:-10, rotation:(s5_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s6_mc, {x:-34, y:-7, rotation:(s6_mc.rotation + 700), time:spinTime, transition:"linear"});
Tweener.addTween(s7_mc, {x:-20, y:-40, rotation:(s7_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(s8_mc, {x:29, y:-41, rotation:(s8_mc.rotation + 700), time:spinTime, transition:"linear"});
Tweener.addTween(s9_mc, {x:43, y:-3, rotation:(s9_mc.rotation - 700), time:spinTime, transition:"linear"});
Tweener.addTween(this, {alpha:0, time:1, transition:"linear", onComplete:_removeMe});
MovieClip(parent.parent).screenShake(15, 0.3);
}
public function _removeMe(){
MovieClip(parent).removeChild(this);
}
}
}//package
Section 124
//GunHit (GunHit)
package {
import flash.display.*;
public dynamic class GunHit extends MovieClip {
public var frm:Number;
public var sprite_mc:MovieClip;
public function GunHit(){
addFrameScript(0, frame1, 1, frame2);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
function frame1(){
frm = randomGenerator(1, 7);
this.sprite_mc.gotoAndStop(frm);
}
function frame2(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 125
//GunSpark (GunSpark)
package {
import flash.display.*;
public dynamic class GunSpark extends MovieClip {
public var frm:Number;
public var sprite_mc:MovieClip;
public function GunSpark(){
addFrameScript(0, frame1, 2, frame3);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
function frame3(){
stop();
MovieClip(parent).removeChild(this);
}
function frame1(){
frm = randomGenerator(1, 7);
this.sprite_mc.gotoAndStop(frm);
}
}
}//package
Section 126
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 127
//NewgroundsAPIAsset_big_popup_background (NewgroundsAPIAsset_big_popup_background)
package {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_big_popup_background extends MovieClip {
public var tl:MovieClip;
public var br:MovieClip;
public var tr:MovieClip;
public var l:MovieClip;
public var shadow:MovieClip;
public var r:MovieClip;
public var b:MovieClip;
public var bl:MovieClip;
public var t:MovieClip;
public var c:MovieClip;
}
}//package
Section 128
//PlayerAmmo1 (PlayerAmmo1)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo1 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo1(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo1Array, this);
}
}
}//package
Section 129
//PlayerAmmo10 (PlayerAmmo10)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo10 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo10(_arg1:Number, _arg2:Number){
this.x = _arg1;
this.y = _arg2;
spd = 18;
grvty = 1.5;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y > 400){
main.heavyWeapons(main.enemyArray, "air strike");
destruct("");
} else {
this.y = (this.y + 10);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo10Array, this);
}
}
}//package
Section 130
//PlayerAmmo2 (PlayerAmmo2)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo2 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo2Array, this);
}
}
}//package
Section 131
//PlayerAmmo3 (PlayerAmmo3)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo3 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo3(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo3Array, this);
}
}
}//package
Section 132
//PlayerAmmo4 (PlayerAmmo4)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo4 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo4(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo4Array, this);
}
}
}//package
Section 133
//PlayerAmmo5 (PlayerAmmo5)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo5 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo5(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo5Array, this);
}
}
}//package
Section 134
//PlayerAmmo6 (PlayerAmmo6)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo6 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo6(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo6Array, this);
}
}
}//package
Section 135
//PlayerAmmo7 (PlayerAmmo7)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo7 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo7(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo7Array, this);
}
}
}//package
Section 136
//PlayerAmmo8 (PlayerAmmo8)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo8 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo8(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 25;
grvty = 0;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((((this.x < -200)) || ((this.x > 1000)))) || ((this.y < 0)))) || ((this.y > 400)))){
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo8Array, this);
}
}
}//package
Section 137
//PlayerAmmo9 (PlayerAmmo9)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerAmmo9 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo9(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
spd = 18;
grvty = 1.5;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y > 372){
main.heavyWeapons(main.enemyArray, "granade");
destruct("");
} else {
ySpd = (ySpd + grvty);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = (this.rotation - 20);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerAmmo9Array, this);
}
}
}//package
Section 138
//PromptAward (PromptAward)
package {
import flash.display.*;
import caurina.transitions.*;
import flash.text.*;
public dynamic class PromptAward extends MovieClip {
public var _name_txt:TextField;
public var icon_mc:MovieClip;
public function PromptAward(){
addFrameScript(0, frame1);
}
public function _disappear(){
MovieClip(parent).removeChild(this);
}
function frame1(){
stop();
trace("cred award");
Tweener.addTween(this, {x:532, time:0.4, onComplete:_goUp, transition:"easeOutBack"});
}
public function _goUp(){
Tweener.addTween(this, {y:(this.y - 10), time:1, onComplete:_goRight, transition:"easeOutBack"});
}
public function _goRight(){
Tweener.addTween(this, {x:742, time:0.5, onComplete:_disappear, transition:"easeInBack"});
}
}
}//package
Section 139
//Smoke (Smoke)
package {
import flash.display.*;
public dynamic class Smoke extends MovieClip {
public function Smoke(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package
Section 140
//SndAssaultRiffle (SndAssaultRiffle)
package {
import flash.media.*;
public dynamic class SndAssaultRiffle extends Sound {
}
}//package
Section 141
//SndBuyAmmo (SndBuyAmmo)
package {
import flash.media.*;
public dynamic class SndBuyAmmo extends Sound {
}
}//package
Section 142
//SndBuyWeapons (SndBuyWeapons)
package {
import flash.media.*;
public dynamic class SndBuyWeapons extends Sound {
}
}//package
Section 143
//SndExplode (SndExplode)
package {
import flash.media.*;
public dynamic class SndExplode extends Sound {
}
}//package
Section 144
//SndFlame (SndFlame)
package {
import flash.media.*;
public dynamic class SndFlame extends Sound {
}
}//package
Section 145
//SndGameScreen (SndGameScreen)
package {
import flash.media.*;
public dynamic class SndGameScreen extends Sound {
}
}//package
Section 146
//SndGrown1 (SndGrown1)
package {
import flash.media.*;
public dynamic class SndGrown1 extends Sound {
}
}//package
Section 147
//SndGrown2 (SndGrown2)
package {
import flash.media.*;
public dynamic class SndGrown2 extends Sound {
}
}//package
Section 148
//SndGrown3 (SndGrown3)
package {
import flash.media.*;
public dynamic class SndGrown3 extends Sound {
}
}//package
Section 149
//SndGrown4 (SndGrown4)
package {
import flash.media.*;
public dynamic class SndGrown4 extends Sound {
}
}//package
Section 150
//SndGrown5 (SndGrown5)
package {
import flash.media.*;
public dynamic class SndGrown5 extends Sound {
}
}//package
Section 151
//SndGrown6 (SndGrown6)
package {
import flash.media.*;
public dynamic class SndGrown6 extends Sound {
}
}//package
Section 152
//SndHit1 (SndHit1)
package {
import flash.media.*;
public dynamic class SndHit1 extends Sound {
}
}//package
Section 153
//SndHit2 (SndHit2)
package {
import flash.media.*;
public dynamic class SndHit2 extends Sound {
}
}//package
Section 154
//SndHit3 (SndHit3)
package {
import flash.media.*;
public dynamic class SndHit3 extends Sound {
}
}//package
Section 155
//SndIncomingRocket (SndIncomingRocket)
package {
import flash.media.*;
public dynamic class SndIncomingRocket extends Sound {
}
}//package
Section 156
//SndLaser (SndLaser)
package {
import flash.media.*;
public dynamic class SndLaser extends Sound {
}
}//package
Section 157
//SndMac (SndMac)
package {
import flash.media.*;
public dynamic class SndMac extends Sound {
}
}//package
Section 158
//SndMiniGun (SndMiniGun)
package {
import flash.media.*;
public dynamic class SndMiniGun extends Sound {
}
}//package
Section 159
//SndNewGameScreen (SndNewGameScreen)
package {
import flash.media.*;
public dynamic class SndNewGameScreen extends Sound {
}
}//package
Section 160
//SndPistol (SndPistol)
package {
import flash.media.*;
public dynamic class SndPistol extends Sound {
}
}//package
Section 161
//SndRepair (SndRepair)
package {
import flash.media.*;
public dynamic class SndRepair extends Sound {
}
}//package
Section 162
//SndShotgun (SndShotgun)
package {
import flash.media.*;
public dynamic class SndShotgun extends Sound {
}
}//package
Section 163
//SndSniperRiffle (SndSniperRiffle)
package {
import flash.media.*;
public dynamic class SndSniperRiffle extends Sound {
}
}//package
Section 164
//SndTitle (SndTitle)
package {
import flash.media.*;
public dynamic class SndTitle extends Sound {
}
}//package
Section 165
//TreeFall (TreeFall)
package {
import flash.display.*;
import caurina.transitions.*;
public dynamic class TreeFall extends MovieClip {
public var spinTime:Number;
public function TreeFall(){
addFrameScript(0, frame1, 59, frame60);
}
public function _playBlink(){
gotoAndPlay(2);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
function frame1(){
stop();
spinTime = randomGenerator(1, 4);
if (this.x < 350){
Tweener.addTween(this, {rotation:90, time:spinTime, transition:"easeOutBounce", onComplete:_playBlink});
};
if (this.x > 350){
Tweener.addTween(this, {rotation:-90, time:spinTime, transition:"easeOutBounce", onComplete:_playBlink});
};
}
function frame60(){
stop();
MovieClip(parent).removeChild(this);
}
}
}//package