Section 1
//myMath (armegalo.myMath)
package armegalo {
import flash.geom.*;
public class myMath {
public function getRotatedPos(_arg1:Number, _arg2:Number):Point{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Point;
_local5 = ((_arg1 - 90) / (180 / Math.PI));
_local3 = Math.sin(_local5);
_local4 = Math.cos(_local5);
_local3 = (_local3 + (_local3 * _arg2));
_local4 = (_local4 + (_local4 * _arg2));
_local6 = new Point(_local3, _local4);
return (_local6);
}
}
}//package armegalo
Section 2
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function isInArray(_arg1:String, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg2.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg2[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
}
}//package caurina.transitions
Section 3
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5, _arg6));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5, _arg6));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
}
}//package caurina.transitions
Section 4
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var valueComplete:Number;
public var modifierFunction:Function;
public var hasModifier:Boolean;
public var valueStart:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Function, _arg4:Array){
valueStart = _arg1;
valueComplete = _arg2;
hasModifier = Boolean(_arg3);
modifierFunction = _arg3;
modifierParameters = _arg4;
}
public function toString():String{
var _local1:String;
_local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 5
//SpecialPropertiesDefault (caurina.transitions.SpecialPropertiesDefault)
package caurina.transitions {
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
public class SpecialPropertiesDefault {
public function SpecialPropertiesDefault(){
trace("SpecialProperties is a static class and should not be instantiated.");
}
public static function _sound_volume_get(_arg1:Object):Number{
return (_arg1.soundTransform.volume);
}
public static function _color_splitter(_arg1, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if (_arg1 == null){
_local3.push({name:"_color_ra", value:1});
_local3.push({name:"_color_rb", value:0});
_local3.push({name:"_color_ga", value:1});
_local3.push({name:"_color_gb", value:0});
_local3.push({name:"_color_ba", value:1});
_local3.push({name:"_color_bb", value:0});
} else {
_local3.push({name:"_color_ra", value:0});
_local3.push({name:"_color_rb", value:AuxFunctions.numberToR(_arg1)});
_local3.push({name:"_color_ga", value:0});
_local3.push({name:"_color_gb", value:AuxFunctions.numberToG(_arg1)});
_local3.push({name:"_color_ba", value:0});
_local3.push({name:"_color_bb", value:AuxFunctions.numberToB(_arg1)});
};
return (_local3);
}
public static function frame_get(_arg1:Object):Number{
return (_arg1.currentFrame);
}
public static function _sound_pan_get(_arg1:Object):Number{
return (_arg1.soundTransform.pan);
}
public static function _color_property_get(_arg1:Object, _arg2:Array):Number{
return (_arg1.transform.colorTransform[_arg2[0]]);
}
public static function _sound_volume_set(_arg1:Object, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.volume = _arg2;
_arg1.soundTransform = _local3;
}
public static function _autoAlpha_get(_arg1:Object):Number{
return (_arg1.alpha);
}
public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if ((_arg1 is BlurFilter)){
_local3.push({name:"_blur_blurX", value:BlurFilter(_arg1).blurX});
_local3.push({name:"_blur_blurY", value:BlurFilter(_arg1).blurY});
_local3.push({name:"_blur_quality", value:BlurFilter(_arg1).quality});
} else {
trace("??");
};
return (_local3);
}
public static function init():void{
Tweener.registerSpecialProperty("_frame", frame_get, frame_set);
Tweener.registerSpecialProperty("_sound_volume", _sound_volume_get, _sound_volume_set);
Tweener.registerSpecialProperty("_sound_pan", _sound_pan_get, _sound_pan_set);
Tweener.registerSpecialProperty("_color_ra", _color_property_get, _color_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_ga", _color_property_get, _color_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_ba", _color_property_get, _color_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_aa", _color_property_get, _color_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialProperty("_autoAlpha", _autoAlpha_get, _autoAlpha_set);
Tweener.registerSpecialPropertySplitter("_color", _color_splitter);
Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter);
Tweener.registerSpecialPropertySplitter("_scale", _scale_splitter);
Tweener.registerSpecialProperty("_blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
Tweener.registerSpecialProperty("_blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
Tweener.registerSpecialProperty("_blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
Tweener.registerSpecialPropertyModifier("_bezier", _bezier_modifier, _bezier_get);
}
public static function _sound_pan_set(_arg1:Object, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.pan = _arg2;
_arg1.soundTransform = _local3;
}
public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{
var _local4:ColorTransform;
_local4 = _arg1.transform.colorTransform;
_local4[_arg3[0]] = _arg2;
_arg1.transform.colorTransform = _local4;
}
public static function _filter_property_get(_arg1:Object, _arg2:Array):Number{
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:String;
var _local7:Object;
_local3 = _arg1.filters;
_local5 = _arg2[0];
_local6 = _arg2[1];
_local4 = 0;
while (_local4 < _local3.length) {
if ((((_local3[_local4] is BlurFilter)) && ((_local5 == BlurFilter)))){
return (_local3[_local4][_local6]);
};
_local4++;
};
switch (_local5){
case BlurFilter:
_local7 = {blurX:0, blurY:0, quality:NaN};
break;
};
return (_local7[_local6]);
}
public static function _bezier_get(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{
var _local5:uint;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg4.length == 1){
return ((_arg1 + (_arg3 * (((2 * (1 - _arg3)) * (_arg4[0] - _arg1)) + (_arg3 * (_arg2 - _arg1))))));
};
_local5 = Math.floor((_arg3 * _arg4.length));
_local6 = ((_arg3 - (_local5 * (1 / _arg4.length))) * _arg4.length);
if (_local5 == 0){
_local7 = _arg1;
_local8 = ((_arg4[0] + _arg4[1]) / 2);
} else {
if (_local5 == (_arg4.length - 1)){
_local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2);
_local8 = _arg2;
} else {
_local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2);
_local8 = ((_arg4[_local5] + _arg4[(_local5 + 1)]) / 2);
};
};
return ((_local7 + (_local6 * (((2 * (1 - _local6)) * (_arg4[_local5] - _local7)) + (_local6 * (_local8 - _local7))))));
}
public static function frame_set(_arg1:Object, _arg2:Number):void{
_arg1.gotoAndStop(Math.round(_arg2));
}
public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{
var _local4:Array;
var _local5:uint;
var _local6:Object;
var _local7:String;
var _local8:BitmapFilter;
_local4 = _arg1.filters;
_local6 = _arg3[0];
_local7 = _arg3[1];
_local5 = 0;
while (_local5 < _local4.length) {
if ((((_local4[_local5] is BlurFilter)) && ((_local6 == BlurFilter)))){
_local4[_local5][_local7] = _arg2;
_arg1.filters = _local4;
return;
};
_local5++;
};
if (_local4 == null){
_local4 = new Array();
};
switch (_local6){
case BlurFilter:
_local8 = new BlurFilter(0, 0);
break;
};
_local8[_local7] = _arg2;
_local4.push(_local8);
_arg1.filters = _local4;
}
public static function _autoAlpha_set(_arg1:Object, _arg2:Number):void{
_arg1.alpha = _arg2;
_arg1.visible = (_arg2 > 0);
}
public static function _scale_splitter(_arg1:Number, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
_local3.push({name:"scaleX", value:_arg1});
_local3.push({name:"scaleY", value:_arg1});
return (_local3);
}
public static function _colorTransform_splitter(_arg1, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if (_arg1 == null){
_local3.push({name:"_color_ra", value:1});
_local3.push({name:"_color_rb", value:0});
_local3.push({name:"_color_ga", value:1});
_local3.push({name:"_color_gb", value:0});
_local3.push({name:"_color_ba", value:1});
_local3.push({name:"_color_bb", value:0});
} else {
if (_arg1.ra != undefined){
_local3.push({name:"_color_ra", value:_arg1.ra});
};
if (_arg1.rb != undefined){
_local3.push({name:"_color_rb", value:_arg1.rb});
};
if (_arg1.ga != undefined){
_local3.push({name:"_color_ba", value:_arg1.ba});
};
if (_arg1.gb != undefined){
_local3.push({name:"_color_bb", value:_arg1.bb});
};
if (_arg1.ba != undefined){
_local3.push({name:"_color_ga", value:_arg1.ga});
};
if (_arg1.bb != undefined){
_local3.push({name:"_color_gb", value:_arg1.gb});
};
if (_arg1.aa != undefined){
_local3.push({name:"_color_aa", value:_arg1.aa});
};
if (_arg1.ab != undefined){
_local3.push({name:"_color_ab", value:_arg1.ab});
};
};
return (_local3);
}
public static function _bezier_modifier(_arg1):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:String;
var _local6:Object;
_local2 = [];
if ((_arg1 is Array)){
_local3 = _arg1;
} else {
_local3 = [_arg1];
};
_local6 = {};
_local4 = 0;
while (_local4 < _local3.length) {
for (_local5 in _local3[_local4]) {
if (_local6[_local5] == undefined){
_local6[_local5] = [];
};
_local6[_local5].push(_local3[_local4][_local5]);
};
_local4++;
};
for (_local5 in _local6) {
_local2.push({name:_local5, parameters:_local6[_local5]});
};
return (_local2);
}
}
}//package caurina.transitions
Section 6
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var setValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//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 8
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 9
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _specialPropertySplitterList:Object;
private static var _engineExists:Boolean = false;
private static var _specialPropertyModifierList:Object;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null):void{
var _local5:SpecialProperty;
if (!_inited){
init();
};
_local5 = new SpecialProperty(_arg2, _arg3, _arg4);
_specialPropertyList[_arg1] = _local5;
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Function;
var _local11:TweenListObj;
var _local12:Number;
var _local13:String;
if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){
return (false);
};
_local4 = new Array();
if ((arguments[0] is Array)){
_local5 = 0;
while (_local5 < arguments[0].length) {
_local4.push(arguments[0][_local5]);
_local5++;
};
} else {
_local5 = 0;
while (_local5 < (arguments.length - 1)) {
_local4.push(arguments[_local5]);
_local5++;
};
};
_local7 = arguments[(arguments.length - 1)];
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
if (typeof(_local7.transition) == "string"){
_local13 = _local7.transition.toLowerCase();
_local10 = _transitionList[_local13];
} else {
_local10 = _local7.transition;
};
if (!Boolean(_local10)){
_local10 = _transitionList["easeoutexpo"];
};
_local5 = 0;
while (_local5 < _local4.length) {
_local11 = new TweenListObj(_local4[_local5], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), (_local7.useFrames == true), _local10);
_local11.properties = null;
_local11.onStart = _local7.onStart;
_local11.onUpdate = _local7.onUpdate;
_local11.onComplete = _local7.onComplete;
_local11.onOverwrite = _local7.onOverwrite;
_local11.onStartParams = _local7.onStartParams;
_local11.onUpdateParams = _local7.onUpdateParams;
_local11.onCompleteParams = _local7.onCompleteParams;
_local11.onOverwriteParams = _local7.onOverwriteParams;
_local11.isCaller = true;
_local11.count = _local7.count;
_local11.waitFrames = _local7.waitFrames;
_tweenList.push(_local11);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local12 = (_tweenList.length - 1);
updateTweenByIndex(_local12);
removeTweenByIndex(_local12);
};
_local5++;
};
return (true);
}
public static function init(_arg1=null):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
SpecialPropertiesDefault.init();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local2.timeStart = (_local2.timeStart + (_currentTime - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_currentTime - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function debug_getList():String{
var _local1:String;
var _local2:uint;
var _local3:uint;
_local1 = "";
_local2 = 0;
while (_local2 < _tweenList.length) {
_local1 = (_local1 + (("[" + _local2) + "] ::\n"));
_local3 = 0;
while (_local3 < _tweenList[_local2].properties.length) {
_local1 = (_local1 + ((((" " + _tweenList[_local2].properties[_local3].name) + " -> ") + _tweenList[_local2].properties[_local3].valueComplete) + "\n"));
_local3++;
};
_local2++;
};
return (_local1);
}
public static function getVersion():String{
return ("AS3 1.26.62");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var tScope:Object;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
if (_currentTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(_currentTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (_currentTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
try {
tTweening.onStart.apply(tScope, tTweening.onStartParams);
} catch(e:Error) {
handleError(tTweening, e, "onStart");
};
};
for (pName in tTweening.properties) {
pv = getPropertyValue(tScope, pName);
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (_currentTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (_currentTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
setPropertyValue(tScope, pName, nv);
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
try {
tTweening.onUpdate.apply(tScope, tTweening.onUpdateParams);
} catch(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
try {
tTweening.onComplete.apply(tScope, tTweening.onCompleteParams);
} catch(e:Error) {
handleError(tTweening, e, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_tweenList[_local2].timeStart = (_currentTime - (((_currentTime - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_currentTime - (((_currentTime - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_currentTime - (((_currentTime - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
try {
pTweening.onError.apply(pTweening.scope, [pTweening.scope, pError]);
} catch(metaError:Error) {
trace("## [Tweener] Error:", pTweening.scope, "raised an error while executing the 'onError' handler. Original error:\n", pError.getStackTrace(), "\nonError error:", metaError.getStackTrace());
};
} else {
if (!Boolean(pTweening.onError)){
trace("## [Tweener] Error: :", pTweening.scope, (("raised an error while executing the'" + pCallBackName) + "'handler. \n"), pError.getStackTrace());
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, _slot1.onEnterFrame);
updateTime();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:Object;
var _local10:Number;
var _local11:Number;
var _local12:Array;
var _local13:Object;
var _local14:Object;
var _local15:Function;
var _local16:Object;
var _local17:TweenListObj;
var _local18:Number;
var _local19:Array;
var _local20:Array;
var _local21:String;
if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){
return (false);
};
_local4 = new Array();
if ((arguments[0] is Array)){
_local5 = 0;
while (_local5 < arguments[0].length) {
_local4.push(arguments[0][_local5]);
_local5++;
};
} else {
_local5 = 0;
while (_local5 < (arguments.length - 1)) {
_local4.push(arguments[_local5]);
_local5++;
};
};
_local9 = TweenListObj.makePropertiesChain(arguments[(arguments.length - 1)]);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local10 = (isNaN(_local9.time)) ? 0 : _local9.time;
_local11 = (isNaN(_local9.delay)) ? 0 : _local9.delay;
_local12 = new Array();
_local13 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true};
_local14 = new Object();
for (_local7 in _local9) {
if (!_local13[_local7]){
if (_specialPropertySplitterList[_local7]){
_local19 = _specialPropertySplitterList[_local7].splitValues(_local9[_local7], _specialPropertySplitterList[_local7].parameters);
_local5 = 0;
while (_local5 < _local19.length) {
_local12[_local19[_local5].name] = {valueStart:undefined, valueComplete:_local19[_local5].value};
_local5++;
};
} else {
if (_specialPropertyModifierList[_local7] != undefined){
_local20 = _specialPropertyModifierList[_local7].modifyValues(_local9[_local7]);
_local5 = 0;
while (_local5 < _local20.length) {
_local14[_local20[_local5].name] = {modifierParameters:_local20[_local5].parameters, modifierFunction:_specialPropertyModifierList[_local7].getValue};
_local5++;
};
} else {
_local12[_local7] = {valueStart:undefined, valueComplete:_local9[_local7]};
};
};
};
};
for (_local7 in _local14) {
if (_local12[_local7] != undefined){
_local12[_local7].modifierParameters = _local14[_local7].modifierParameters;
_local12[_local7].modifierFunction = _local14[_local7].modifierFunction;
};
};
if (typeof(_local9.transition) == "string"){
_local21 = _local9.transition.toLowerCase();
_local15 = _transitionList[_local21];
} else {
_local15 = _local9.transition;
};
if (!Boolean(_local15)){
_local15 = _transitionList["easeoutexpo"];
};
_local5 = 0;
while (_local5 < _local4.length) {
_local16 = new Object();
for (_local7 in _local12) {
_local16[_local7] = new PropertyInfoObj(_local12[_local7].valueStart, _local12[_local7].valueComplete, _local12[_local7].modifierFunction, _local12[_local7].modifierParameters);
};
_local17 = new TweenListObj(_local4[_local5], (_currentTime + ((_local11 * 1000) / _timeScale)), (_currentTime + (((_local11 * 1000) + (_local10 * 1000)) / _timeScale)), (_local9.useFrames == true), _local15);
_local17.properties = _local16;
_local17.onStart = _local9.onStart;
_local17.onUpdate = _local9.onUpdate;
_local17.onComplete = _local9.onComplete;
_local17.onOverwrite = _local9.onOverwrite;
_local17.onError = _local9.onError;
_local17.onStartParams = _local9.onStartParams;
_local17.onUpdateParams = _local9.onUpdateParams;
_local17.onCompleteParams = _local9.onCompleteParams;
_local17.onOverwriteParams = _local9.onOverwriteParams;
_local17.rounded = _local9.rounded;
_local17.skipUpdates = _local9.skipUpdates;
removeTweensByTime(_local17.scope, _local17.properties, _local17.timeStart, _local17.timeComplete);
_tweenList.push(_local17);
if ((((_local10 == 0)) && ((_local11 == 0)))){
_local18 = (_tweenList.length - 1);
updateTweenByIndex(_local18);
removeTweenByIndex(_local18);
};
_local5++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
private static function setPropertyValue(_arg1:Object, _arg2:String, _arg3:Number):void{
if (_specialPropertyList[_arg2] != undefined){
if (Boolean(_specialPropertyList[_arg2].parameters)){
_specialPropertyList[_arg2].setValue(_arg1, _arg3, _specialPropertyList[_arg2].parameters);
} else {
_specialPropertyList[_arg2].setValue(_arg1, _arg3);
};
} else {
_arg1[_arg2] = _arg3;
};
}
private static function getPropertyValue(_arg1:Object, _arg2:String):Number{
if (_specialPropertyList[_arg2] != undefined){
if (Boolean(_specialPropertyList[_arg2].parameters)){
return (_specialPropertyList[_arg2].getValue(_arg1, _specialPropertyList[_arg2].parameters));
};
return (_specialPropertyList[_arg2].getValue(_arg1));
} else {
};
return (!NULL!);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
return (true);
};
_local2++;
};
return (false);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, _slot1.onEnterFrame);
__tweener_controller__ = null;
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = _currentTime;
_local2.isPaused = true;
return (true);
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
try {
_tweenList[i].onOverwrite.apply(_tweenList[i].scope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 10
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var auxProperties:Object;
public var timeComplete:Number;
public var onStartParams:Array;
public var rounded:Boolean;
public var properties:Object;
public var onUpdateParams:Array;
public var onComplete:Function;
public var updatesSkipped:Number;
public var onStart:Function;
public var skipUpdates:Number;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
auxProperties = new Object();
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local2:TweenListObj;
var _local3:String;
_local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local1:String;
var _local2:uint;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = 0;
while (_local2 < properties.length) {
if (_local2 > 0){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local2].name));
_local1 = (_local1 + (",valueStart:" + properties[_local2].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local2].valueComplete));
_local1 = (_local1 + "]");
_local2++;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 11
//SoundManager (com.hydrotik.utils.SoundManager)
package com.hydrotik.utils {
import flash.events.*;
import caurina.transitions.*;
import flash.media.*;
import flash.utils.*;
public class SoundManager {
private var _currPos:int;
private var _itemArray:Array;
private var _seqIsManual:Boolean;
private var _seqArray:Array;
private var _isMuted:Boolean;// = false
private var _currSequenceItem:String;// = ""
private var _nextSequenceItem:String;// = ""
private var _xFadeNext:Boolean;
public static const AUTHOR:String = "Donovan Adams - donovan[(at)]hydrotik.com - http://blog.hydrotik.com";
public static const VERSION:String = "SoundManager 0.0.2";
private static var _oSoundManager:SoundManager;
private static var _sndArray:Dictionary;
private static var _channelArray:Dictionary;
private static var _soundTransform:SoundTransform;
public function SoundManager(_arg1:SingletonEnforcer):void{
_seqArray = new Array();
_currSequenceItem = "";
_nextSequenceItem = "";
_itemArray = new Array();
_isMuted = false;
super();
if (_arg1 == null){
trace("SoundManager: Instantiation failed - Use SoundManager.getInstance() instead of new.");
} else {
_sndArray = new Dictionary(true);
_channelArray = new Dictionary(true);
};
}
public function stop(_arg1:String):void{
var snd = _arg1;
try {
_channelArray[snd].stop();
} catch(e:Error) {
trace(e);
};
}
public function getItem(_arg1:String){
return (_sndArray[_arg1]);
}
private function soundCompleteHandler(_arg1:Event):void{
}
public function addItem(_arg1):void{
_sndArray[getQualifiedClassName(_arg1)] = (_arg1 as Sound);
_itemArray.push(getQualifiedClassName(_arg1));
}
public function startSequencer(_arg1):void{
if ((_arg1 is Array)){
_seqArray = _arg1;
_seqIsManual = false;
} else {
_seqIsManual = true;
_currSequenceItem = _arg1;
};
enableAll();
advanceSequencer();
}
private function stopAllComplete(_arg1:String):void{
stop(_arg1);
}
public function pan(_arg1:String, _arg2:Number, _arg3:Number=0.5, _arg4:String="linear"):void{
var snd = _arg1;
var pan = _arg2;
var t = _arg3;
var ease = _arg4;
try {
Tweener.addTween(_channelArray[snd], {_sound_pan:pan, time:t, transition:ease});
} catch(e:Error) {
trace(e);
trace((("SoundManager: " + snd) + " has not been loaded into the SoundManager."));
};
}
public function enableAll():void{
_isMuted = false;
}
public function dispose():void{
var _local1:int;
_nextSequenceItem = null;
_xFadeNext = false;
_local1 = 0;
while (_local1 < _itemArray.length) {
_channelArray[_itemArray[_local1]] = null;
_sndArray[_itemArray[_local1]] = null;
_local1++;
};
_isMuted = false;
}
public function get muted():Boolean{
return (_isMuted);
}
private function advanceSequencer(_arg1:Event=null):void{
if (_seqIsManual){
if (_nextSequenceItem != ""){
play(_nextSequenceItem, 0, (_xFadeNext) ? 0 : 0.8, true);
if (_xFadeNext){
play(_currSequenceItem, 0, 0.8, false);
fade(_currSequenceItem, 0, (_sndArray[_currSequenceItem].length * 0.001), "easeinquad");
fade(_nextSequenceItem, 0.8, (_sndArray[_nextSequenceItem].length * 0.001), "easeoutquad");
};
_currSequenceItem = _nextSequenceItem;
_nextSequenceItem = "";
_xFadeNext = false;
} else {
play(_currSequenceItem, 0, 0.8, true);
};
} else {
_currPos++;
play(_seqArray[(_currPos - 1)], 0, 0.8, ((_currPos)==_seqArray.length) ? false : true);
if (_seqArray[_currPos] != _seqArray[(_currPos - 1)]){
play(_seqArray[_currPos], 0, 0, false);
fade(_seqArray[(_currPos - 1)], 0, (_sndArray[_seqArray[(_currPos - 1)]].length * 0.001), "easeinquad");
fade(_seqArray[_currPos], 0.8, (_sndArray[_seqArray[_currPos]].length * 0.001), "easeoutquad");
};
};
}
public function play(_arg1:String, _arg2:int=0, _arg3:Number=1, _arg4:Boolean=false):void{
var snd = _arg1;
var l = _arg2;
var vol = _arg3;
var isSeq = _arg4;
if (!_isMuted){
try {
_channelArray[snd] = _sndArray[snd].play(0, l);
if (vol != -1){
_soundTransform = _channelArray[snd].soundTransform;
_soundTransform.volume = vol;
_channelArray[snd].soundTransform = _soundTransform;
};
if (isSeq){
_channelArray[snd].addEventListener(Event.SOUND_COMPLETE, advanceSequencer, false, 0, true);
} else {
_channelArray[snd].addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler, false, 0, true);
};
_soundTransform = null;
} catch(e:Error) {
trace(e);
};
};
}
public function addSequenceItem(_arg1:String, _arg2:Boolean=false):void{
_nextSequenceItem = _arg1;
_xFadeNext = _arg2;
}
public function removeItem(_arg1:String):void{
_channelArray[_arg1] = null;
_sndArray[_arg1] = null;
_itemArray.splice(_itemArray.indexOf(_arg1), 1);
}
public function fadeNComplete(_arg1:String, _arg2:Number, _arg3:Function, _arg4:Number=0.5, _arg5:String="linear"):void{
var snd = _arg1;
var vol = _arg2;
var oc = _arg3;
var t = _arg4;
var ease = _arg5;
try {
Tweener.addTween(_channelArray[snd], {_sound_volume:vol, time:t, transition:ease, onComplete:oc});
} catch(e:Error) {
trace(e);
trace((("SoundManager: " + snd) + " has not been loaded into the SoundManager."));
};
}
public function fade(_arg1:String, _arg2:Number, _arg3:Number=0.5, _arg4:String="linear"):void{
var snd = _arg1;
var vol = _arg2;
var t = _arg3;
var ease = _arg4;
try {
Tweener.addTween(_channelArray[snd], {_sound_volume:vol, time:t, transition:ease});
} catch(e:Error) {
trace(e);
trace((("SoundManager: " + snd) + " has not been loaded into the SoundManager."));
};
}
public function stopAll(_arg1:Number=0):void{
var _local2:int;
_channelArray[_currSequenceItem].removeEventListener(Event.SOUND_COMPLETE, advanceSequencer);
_nextSequenceItem = "";
_xFadeNext = false;
_local2 = 0;
while (_local2 < _itemArray.length) {
Tweener.addTween(_channelArray[_itemArray[_local2]], {_sound_volume:0, time:_arg1, transition:"linear", onComplete:stopAllComplete});
_local2++;
};
_isMuted = true;
}
public static function getInstance():SoundManager{
if (_oSoundManager == null){
_oSoundManager = new SoundManager(new SingletonEnforcer());
};
return (_oSoundManager);
}
}
}//package com.hydrotik.utils
class SingletonEnforcer {
private function SingletonEnforcer(){
}
}
Section 12
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.events.*;
import flash.display.*;
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 13
//PM_PRNG (de.polygonal.math.PM_PRNG)
package de.polygonal.math {
public class PM_PRNG {
public var seed:uint;
public function PM_PRNG(){
seed = 1;
}
public function nextIntRange(_arg1:Number, _arg2:Number):uint{
_arg1 = (_arg1 - 0.4999);
_arg2 = (_arg2 + 0.4999);
return (Math.round((_arg1 + ((_arg2 - _arg1) * nextDouble()))));
}
public function nextDouble():Number{
return ((gen() / 2147483647));
}
public function nextDoubleRange(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + ((_arg2 - _arg1) * nextDouble())));
}
public function nextInt():uint{
return (gen());
}
private function gen():uint{
return ((seed = ((seed * 16807) % 2147483647)));
}
}
}//package de.polygonal.math
Section 14
//Key (delta.ui.Key)
package delta.ui {
import flash.events.*;
public class Key {
private var keys:Array;
public function Key(_arg1:Object):void{
keys = new Array(222);
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, downhandle, false, 0, true);
_arg1.addEventListener(KeyboardEvent.KEY_UP, uphandle, false, 0, true);
}
private function uphandle(_arg1:KeyboardEvent):void{
keys[_arg1.keyCode] = false;
}
public function isUp(_arg1:uint, ... _args):Boolean{
var _local3:uint;
if (_args.length == 0){
return (!(keys[_arg1]));
};
if (keys[_arg1]){
return (false);
};
_local3 = 0;
while (_local3 < _args.length) {
if (keys[_args[_local3]]){
return (false);
};
_local3++;
};
return (true);
}
private function downhandle(_arg1:KeyboardEvent):void{
keys[_arg1.keyCode] = true;
}
public function isDown(_arg1:uint, ... _args):Boolean{
var _local3:uint;
if (_args.length == 0){
return (keys[_arg1]);
};
if (!keys[_arg1]){
return (false);
};
_local3 = 0;
while (_local3 < _args.length) {
if (!keys[_args[_local3]]){
return (false);
};
_local3++;
};
return (true);
}
public function resetKey(_arg1):void{
keys[_arg1] = false;
}
public function pressKey(_arg1):void{
keys[_arg1] = true;
}
}
}//package delta.ui
Section 15
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (_slot1.boardID != null){
options.boardID = _slot1.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
_slot1.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 16
//MochiServices (mochi.MochiServices)
package mochi {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local3:Array;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:MovieClip;
var _local8:LocalConnection;
var _local9:String;
var _local10:ByteArray;
var _local11:ByteArray;
var _local12:uint;
var _local13:uint;
var _local14:Loader;
_local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
_local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
_local6 = [0, 64, 0, 0, 0];
_local7 = new MovieClip();
_local8 = new LocalConnection();
_local9 = ((("_click_" + getTimer()) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
_local10 = new ByteArray();
_local11 = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
_local12 = ((_local3.length + _local11.length) + 4);
_local13 = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, _slot1.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:DisplayObjectContainer, _arg3:Function=null):void{
var _local4:Object;
var _local5:String;
var _local6:Number;
var _local7:String;
var _local8:DisplayObject;
_local4 = new Object();
_local4["mav"] = getVersion();
_local4["swfv"] = "9";
_local4["swfurl"] = _arg2.loaderInfo.loaderURL;
_local4["fv"] = Capabilities.version;
_local4["os"] = Capabilities.os;
_local4["lang"] = Capabilities.language;
_local4["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
_local5 = "?";
_local6 = 0;
for (_local7 in _local4) {
if (_local6 != 0){
_local5 = (_local5 + "&");
};
_local6++;
_local5 = (((_local5 + _local7) + "=") + escape(_local4[_local7]));
};
_local8 = clickMovie((_arg1 + _local5), _arg3);
_arg2.addChild(_local8);
_local8.scaleX = (0.01 * _arg2.width);
_local8.scaleY = (0.01 * _arg2.height);
}
public static function getVersion():String{
return ("1.35");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, _slot1.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, _slot1.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_rcvChannel.addEventListener(StatusEvent.STATUS, _slot1.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
_slot1.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
_slot1.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var id = _arg1;
var clip = _arg2;
trace("LC1");
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!_slot1.isNetworkAvailable()){
return (null);
};
_slot1.allowDomains(_gatewayURL);
trace("LC1.1");
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
trace("LC1.1.1");
_loader = new Loader();
trace("LC1.1.2");
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
trace("LC1.1.3");
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
_slot1.disconnect();
_slot1.onError("IOError");
};
trace("LC1.2");
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
trace("LC1.3");
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
trace("LC2");
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (_slot1.clip != null){
if (_slot1.childClip != null){
try {
if (_slot1.clip.numChildren > 1){
_slot1.clip.setChildIndex(_slot1.childClip, (_slot1.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, _slot1.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
_slot1.onError = onError;
} else {
if (_slot1.onError == null){
_slot1.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
_slot1.disconnect();
_slot1.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 17
//Armegalogo1_484 (Random_Stuff_Too_fla.Armegalogo1_484)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Armegalogo1_484 extends MovieClip {
public var squigler:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 18
//Armegalogo3_482 (Random_Stuff_Too_fla.Armegalogo3_482)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Armegalogo3_482 extends MovieClip {
public var armegaButton:SimpleButton;
public var a2:MovieClip;
public var a3:MovieClip;
public var a1:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 19
//introFlash_479 (Random_Stuff_Too_fla.introFlash_479)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class introFlash_479 extends MovieClip {
public function introFlash_479(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 20
//Loaeder_6 (Random_Stuff_Too_fla.Loaeder_6)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Loaeder_6 extends MovieClip {
public var lpc:TextField;
public var gob:MovieClip;
public var gob3:MovieClip;
public var gob2:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 21
//MineTower_219 (Random_Stuff_Too_fla.MineTower_219)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class MineTower_219 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public function MineTower_219(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 22
//Missile1_296 (Random_Stuff_Too_fla.Missile1_296)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Missile1_296 extends MovieClip {
public function Missile1_296(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 23
//mute_452 (Random_Stuff_Too_fla.mute_452)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class mute_452 extends MovieClip {
public var thisOff:SimpleButton;
}
}//package Random_Stuff_Too_fla
Section 24
//mute_453 (Random_Stuff_Too_fla.mute_453)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class mute_453 extends MovieClip {
public var on_mc:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 25
//mute_457 (Random_Stuff_Too_fla.mute_457)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class mute_457 extends MovieClip {
public var thisOff:SimpleButton;
}
}//package Random_Stuff_Too_fla
Section 26
//NG_AD_OBJECT_20 (Random_Stuff_Too_fla.NG_AD_OBJECT_20)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class NG_AD_OBJECT_20 extends MovieClip {
public var ng_ad:MovieClip;
public var NG_Button:SimpleButton;
public function NG_AD_OBJECT_20(){
addFrameScript(0, frame1);
}
public function loadNGSite(_arg1:Event){
NewgroundsAPI.loadNewgrounds();
}
public function startAd(_arg1){
var _local2:URLLoader;
_local2 = new URLLoader(new URLRequest(_arg1));
_local2.addEventListener(Event.COMPLETE, ad_Loaded);
}
function frame1(){
Security.allowDomain("70.87.128.99");
Security.allowInsecureDomain("70.87.128.99");
Security.allowDomain("ads.shizmoo.com");
Security.allowInsecureDomain("ads.shizmoo.com");
Security.allowDomain("www.cpmstar.com");
Security.allowInsecureDomain("www.cpmstar.com");
Security.allowDomain("server.cpmstar.com");
Security.allowInsecureDomain("server.cpmstar.com");
if (NewgroundsAPI.getAdURL()){
startAd(NewgroundsAPI.getAdURL());
};
NewgroundsAPI.addEventListener(NewgroundsAPI.ADS_APPROVED, startAd);
NG_Button.addEventListener(MouseEvent.CLICK, loadNGSite);
stop();
}
public function ad_Loaded(_arg1:Event){
var _local2:*;
var _local3:Loader;
_local2 = String(_arg1.target.data);
_local3 = new Loader();
_local3.load(new URLRequest(_local2));
ng_ad.addChild(_local3);
}
}
}//package Random_Stuff_Too_fla
Section 27
//NG_TANK_22 (Random_Stuff_Too_fla.NG_TANK_22)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class NG_TANK_22 extends MovieClip {
public var NG_Logo:SimpleButton;
public function NG_TANK_22(){
addFrameScript(0, frame1);
}
public function loadNGSite(_arg1:Event){
NewgroundsAPI.loadNewgrounds();
}
function frame1(){
NG_Logo.addEventListener(MouseEvent.CLICK, loadNGSite);
}
}
}//package Random_Stuff_Too_fla
Section 28
//notDoppler_intro_477 (Random_Stuff_Too_fla.notDoppler_intro_477)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class notDoppler_intro_477 extends MovieClip {
public var stingState:String;
public var notDopplerBut:SimpleButton;
public function notDoppler_intro_477(){
addFrameScript(0, frame1, 154, frame155);
}
function frame155(){
stingState = "finished";
}
function frame1(){
stingState = "playing";
}
}
}//package Random_Stuff_Too_fla
Section 29
//sssdfgf_488 (Random_Stuff_Too_fla.sssdfgf_488)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class sssdfgf_488 extends MovieClip {
public var stingState:String;
public function sssdfgf_488(){
addFrameScript(0, frame1);
}
function frame1(){
stingState = "finished";
}
}
}//package Random_Stuff_Too_fla
Section 30
//Symbol1_122 (Random_Stuff_Too_fla.Symbol1_122)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol1_122 extends MovieClip {
public var thing:MovieClip;
public function Symbol1_122(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
thing.play();
}
}
}//package Random_Stuff_Too_fla
Section 31
//Symbol101_245 (Random_Stuff_Too_fla.Symbol101_245)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol101_245 extends MovieClip {
public function Symbol101_245(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 32
//Symbol102_249 (Random_Stuff_Too_fla.Symbol102_249)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol102_249 extends MovieClip {
public function Symbol102_249(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 33
//Symbol103_250 (Random_Stuff_Too_fla.Symbol103_250)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol103_250 extends MovieClip {
public function Symbol103_250(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 34
//Symbol104_251 (Random_Stuff_Too_fla.Symbol104_251)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol104_251 extends MovieClip {
public function Symbol104_251(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 35
//Symbol105_252 (Random_Stuff_Too_fla.Symbol105_252)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol105_252 extends MovieClip {
public function Symbol105_252(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 36
//Symbol106_253 (Random_Stuff_Too_fla.Symbol106_253)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol106_253 extends MovieClip {
public function Symbol106_253(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 37
//Symbol107_254 (Random_Stuff_Too_fla.Symbol107_254)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol107_254 extends MovieClip {
public function Symbol107_254(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 38
//Symbol108_255 (Random_Stuff_Too_fla.Symbol108_255)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol108_255 extends MovieClip {
public function Symbol108_255(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 39
//Symbol109_256 (Random_Stuff_Too_fla.Symbol109_256)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol109_256 extends MovieClip {
public function Symbol109_256(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 40
//Symbol11_203 (Random_Stuff_Too_fla.Symbol11_203)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol11_203 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var emptymc:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 41
//Symbol110_257 (Random_Stuff_Too_fla.Symbol110_257)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol110_257 extends MovieClip {
public function Symbol110_257(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 42
//Symbol111_258 (Random_Stuff_Too_fla.Symbol111_258)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol111_258 extends MovieClip {
public function Symbol111_258(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 43
//Symbol122_448 (Random_Stuff_Too_fla.Symbol122_448)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol122_448 extends MovieClip {
public function Symbol122_448(){
addFrameScript(0, frame1);
}
function frame1(){
play();
}
}
}//package Random_Stuff_Too_fla
Section 44
//Symbol130_545 (Random_Stuff_Too_fla.Symbol130_545)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol130_545 extends MovieClip {
public var message:TextField;
}
}//package Random_Stuff_Too_fla
Section 45
//Symbol138_506 (Random_Stuff_Too_fla.Symbol138_506)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol138_506 extends MovieClip {
public function Symbol138_506(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 46
//Symbol139_286 (Random_Stuff_Too_fla.Symbol139_286)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol139_286 extends MovieClip {
public var holder:MovieClip;
public function Symbol139_286(){
addFrameScript(0, frame1, 100, frame101);
}
function frame1(){
holder.mouseEnabled = false;
stop();
}
function frame101(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 47
//Symbol139copy_284 (Random_Stuff_Too_fla.Symbol139copy_284)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol139copy_284 extends MovieClip {
public var holder:MovieClip;
public function Symbol139copy_284(){
addFrameScript(0, frame1, 100, frame101);
}
function frame1(){
holder.mouseEnabled = false;
stop();
}
function frame101(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 48
//Symbol2_68 (Random_Stuff_Too_fla.Symbol2_68)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol2_68 extends MovieClip {
public function Symbol2_68(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 49
//Symbol20_187 (Random_Stuff_Too_fla.Symbol20_187)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol20_187 extends MovieClip {
public function Symbol20_187(){
addFrameScript(0, frame1);
}
function frame1(){
this.rotation = (Math.random() * 360);
}
}
}//package Random_Stuff_Too_fla
Section 50
//Symbol201_287 (Random_Stuff_Too_fla.Symbol201_287)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol201_287 extends MovieClip {
public var ErrorMessage:TextField;
public function Symbol201_287(){
addFrameScript(0, frame1);
}
function frame1(){
ErrorMessage.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 51
//Symbol201copy_285 (Random_Stuff_Too_fla.Symbol201copy_285)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol201copy_285 extends MovieClip {
public var ErrorMessage:TextField;
public function Symbol201copy_285(){
addFrameScript(0, frame1);
}
function frame1(){
ErrorMessage.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 52
//Symbol212_550 (Random_Stuff_Too_fla.Symbol212_550)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol212_550 extends MovieClip {
public function Symbol212_550(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 53
//Symbol217dfgdfgdddf_487 (Random_Stuff_Too_fla.Symbol217dfgdfgdddf_487)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol217dfgdfgdddf_487 extends MovieClip {
public var stingState:String;
public function Symbol217dfgdfgdddf_487(){
addFrameScript(0, frame1);
}
function frame1(){
stingState = "finished";
}
}
}//package Random_Stuff_Too_fla
Section 54
//Symbol234_143 (Random_Stuff_Too_fla.Symbol234_143)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol234_143 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 55
//Symbol235copy_192 (Random_Stuff_Too_fla.Symbol235copy_192)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol235copy_192 extends MovieClip {
public function Symbol235copy_192(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 56
//Symbol237_190 (Random_Stuff_Too_fla.Symbol237_190)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol237_190 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 57
//Symbol24_144 (Random_Stuff_Too_fla.Symbol24_144)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol24_144 extends MovieClip {
public function Symbol24_144(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 58
//Symbol270_372 (Random_Stuff_Too_fla.Symbol270_372)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol270_372 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 59
//Symbol271_374 (Random_Stuff_Too_fla.Symbol271_374)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol271_374 extends MovieClip {
public function Symbol271_374(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 60
//Symbol275_106 (Random_Stuff_Too_fla.Symbol275_106)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol275_106 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 61
//Symbol279_107 (Random_Stuff_Too_fla.Symbol279_107)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol279_107 extends MovieClip {
public function Symbol279_107(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 62
//Symbol28_12 (Random_Stuff_Too_fla.Symbol28_12)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol28_12 extends MovieClip {
public function Symbol28_12(){
addFrameScript(6, frame7);
}
function frame7(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 63
//Symbol293_117 (Random_Stuff_Too_fla.Symbol293_117)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol293_117 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 64
//Symbol295_66 (Random_Stuff_Too_fla.Symbol295_66)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol295_66 extends MovieClip {
public var depleted:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 65
//Symbol296_120 (Random_Stuff_Too_fla.Symbol296_120)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol296_120 extends MovieClip {
public var depleted:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 66
//Symbol297_164 (Random_Stuff_Too_fla.Symbol297_164)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol297_164 extends MovieClip {
public var depleted:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 67
//Symbol298_205 (Random_Stuff_Too_fla.Symbol298_205)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol298_205 extends MovieClip {
public var base:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 68
//Symbol3_166 (Random_Stuff_Too_fla.Symbol3_166)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol3_166 extends MovieClip {
public function Symbol3_166(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 69
//Symbol3_298 (Random_Stuff_Too_fla.Symbol3_298)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol3_298 extends MovieClip {
public function Symbol3_298(){
addFrameScript(0, frame1, 20, frame21);
}
function frame1(){
this.mouseEnabled = false;
}
function frame21(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 70
//Symbol300_32 (Random_Stuff_Too_fla.Symbol300_32)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol300_32 extends MovieClip {
public var txt:TextField;
}
}//package Random_Stuff_Too_fla
Section 71
//Symbol301_34 (Random_Stuff_Too_fla.Symbol301_34)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol301_34 extends MovieClip {
public var txt:TextField;
}
}//package Random_Stuff_Too_fla
Section 72
//Symbol302_28 (Random_Stuff_Too_fla.Symbol302_28)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol302_28 extends MovieClip {
public var txt:TextField;
}
}//package Random_Stuff_Too_fla
Section 73
//Symbol304_77 (Random_Stuff_Too_fla.Symbol304_77)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol304_77 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 74
//Symbol307_80 (Random_Stuff_Too_fla.Symbol307_80)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol307_80 extends MovieClip {
public function Symbol307_80(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 75
//Symbol315_301 (Random_Stuff_Too_fla.Symbol315_301)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol315_301 extends MovieClip {
public function Symbol315_301(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 76
//Symbol316_300 (Random_Stuff_Too_fla.Symbol316_300)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol316_300 extends MovieClip {
public function Symbol316_300(){
addFrameScript(0, frame1, 24, frame25);
}
function frame1(){
this.mouseEnabled = false;
}
function frame25(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 77
//Symbol327_127 (Random_Stuff_Too_fla.Symbol327_127)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol327_127 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 78
//Symbol333_302 (Random_Stuff_Too_fla.Symbol333_302)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol333_302 extends MovieClip {
public function Symbol333_302(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
this.mouseEnabled = false;
}
function frame20(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 79
//Symbol335_194 (Random_Stuff_Too_fla.Symbol335_194)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol335_194 extends MovieClip {
public var TowerWepNR:MovieClip;
public var weap:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 80
//Symbol337_195 (Random_Stuff_Too_fla.Symbol337_195)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol337_195 extends MovieClip {
public function Symbol337_195(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 81
//Symbol364_55 (Random_Stuff_Too_fla.Symbol364_55)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol364_55 extends MovieClip {
public var towername:TextField;
public var costs:MovieClip;
public var Info:TextField;
}
}//package Random_Stuff_Too_fla
Section 82
//Symbol368_155 (Random_Stuff_Too_fla.Symbol368_155)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol368_155 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 83
//Symbol371_163 (Random_Stuff_Too_fla.Symbol371_163)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol371_163 extends MovieClip {
public function Symbol371_163(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 11, frame12);
}
function frame12(){
gotoAndPlay((int((Math.random() * totalFrames)) + 1));
}
function frame3(){
gotoAndPlay((int((Math.random() * totalFrames)) + 1));
}
function frame1(){
gotoAndPlay((int((Math.random() * totalFrames)) + 1));
}
function frame4(){
gotoAndPlay((int((Math.random() * totalFrames)) + 1));
}
function frame2(){
gotoAndPlay((int((Math.random() * totalFrames)) + 1));
}
}
}//package Random_Stuff_Too_fla
Section 84
//Symbol394_30 (Random_Stuff_Too_fla.Symbol394_30)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol394_30 extends MovieClip {
public var txt:TextField;
}
}//package Random_Stuff_Too_fla
Section 85
//Symbol399_27 (Random_Stuff_Too_fla.Symbol399_27)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol399_27 extends MovieClip {
public var b:MovieClip;
public var g:MovieClip;
public var w:MovieClip;
public var r:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 86
//Symbol4_118 (Random_Stuff_Too_fla.Symbol4_118)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol4_118 extends MovieClip {
public function Symbol4_118(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 87
//Symbol4_299 (Random_Stuff_Too_fla.Symbol4_299)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol4_299 extends MovieClip {
public function Symbol4_299(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 88
//Symbol400_352 (Random_Stuff_Too_fla.Symbol400_352)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol400_352 extends MovieClip {
public var upgradetechtype:TextField;
public var upgradetechreq:TextField;
public var ores:MovieClip;
public var upgradecost:TextField;
}
}//package Random_Stuff_Too_fla
Section 89
//Symbol401_226 (Random_Stuff_Too_fla.Symbol401_226)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol401_226 extends MovieClip {
public var depleted:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 90
//Symbol403_377 (Random_Stuff_Too_fla.Symbol403_377)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol403_377 extends MovieClip {
public function Symbol403_377(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
nextFrame();
play();
}
function frame6(){
nextFrame();
play();
}
function frame1(){
nextFrame();
play();
}
function frame4(){
nextFrame();
play();
}
function frame5(){
nextFrame();
play();
}
function frame2(){
nextFrame();
play();
}
}
}//package Random_Stuff_Too_fla
Section 91
//Symbol417_231 (Random_Stuff_Too_fla.Symbol417_231)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol417_231 extends MovieClip {
public function Symbol417_231(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 92
//Symbol454_234 (Random_Stuff_Too_fla.Symbol454_234)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol454_234 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public function Symbol454_234(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 93
//Symbol455_235 (Random_Stuff_Too_fla.Symbol455_235)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol455_235 extends MovieClip {
public function Symbol455_235(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 94
//Symbol461_147 (Random_Stuff_Too_fla.Symbol461_147)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol461_147 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 95
//Symbol463_148 (Random_Stuff_Too_fla.Symbol463_148)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol463_148 extends MovieClip {
public function Symbol463_148(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 96
//Symbol468_199 (Random_Stuff_Too_fla.Symbol468_199)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol468_199 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 97
//Symbol474_159 (Random_Stuff_Too_fla.Symbol474_159)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol474_159 extends MovieClip {
public var weap:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 98
//Symbol478_259 (Random_Stuff_Too_fla.Symbol478_259)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol478_259 extends MovieClip {
public function Symbol478_259(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 99
//Symbol479_260 (Random_Stuff_Too_fla.Symbol479_260)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol479_260 extends MovieClip {
public function Symbol479_260(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 100
//Symbol480_261 (Random_Stuff_Too_fla.Symbol480_261)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol480_261 extends MovieClip {
public function Symbol480_261(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 101
//Symbol481_273 (Random_Stuff_Too_fla.Symbol481_273)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol481_273 extends MovieClip {
public function Symbol481_273(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 102
//Symbol482_272 (Random_Stuff_Too_fla.Symbol482_272)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol482_272 extends MovieClip {
public function Symbol482_272(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 103
//Symbol483_271 (Random_Stuff_Too_fla.Symbol483_271)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol483_271 extends MovieClip {
public function Symbol483_271(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 104
//Symbol484_270 (Random_Stuff_Too_fla.Symbol484_270)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol484_270 extends MovieClip {
public function Symbol484_270(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 105
//Symbol485_269 (Random_Stuff_Too_fla.Symbol485_269)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol485_269 extends MovieClip {
public function Symbol485_269(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 106
//Symbol486_268 (Random_Stuff_Too_fla.Symbol486_268)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol486_268 extends MovieClip {
public function Symbol486_268(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 107
//Symbol487_267 (Random_Stuff_Too_fla.Symbol487_267)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol487_267 extends MovieClip {
public function Symbol487_267(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 108
//Symbol488_266 (Random_Stuff_Too_fla.Symbol488_266)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol488_266 extends MovieClip {
public function Symbol488_266(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 109
//Symbol489_265 (Random_Stuff_Too_fla.Symbol489_265)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol489_265 extends MovieClip {
public function Symbol489_265(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 110
//Symbol490_264 (Random_Stuff_Too_fla.Symbol490_264)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol490_264 extends MovieClip {
public function Symbol490_264(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 111
//Symbol491_263 (Random_Stuff_Too_fla.Symbol491_263)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol491_263 extends MovieClip {
public function Symbol491_263(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 112
//Symbol492_262 (Random_Stuff_Too_fla.Symbol492_262)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol492_262 extends MovieClip {
public function Symbol492_262(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 113
//Symbol5_181 (Random_Stuff_Too_fla.Symbol5_181)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol5_181 extends MovieClip {
public function Symbol5_181(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 114
//Symbol5_289 (Random_Stuff_Too_fla.Symbol5_289)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol5_289 extends MovieClip {
public var fin:Boolean;
public function Symbol5_289(){
addFrameScript(0, frame1, 5, frame6, 12, frame13);
}
function frame6(){
fin = true;
}
function frame1(){
this.mouseEnabled = false;
}
function frame13(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 115
//Symbol507_241 (Random_Stuff_Too_fla.Symbol507_241)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol507_241 extends MovieClip {
public var mess:TextField;
}
}//package Random_Stuff_Too_fla
Section 116
//Symbol525_400 (Random_Stuff_Too_fla.Symbol525_400)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol525_400 extends MovieClip {
public var top:MovieClip;
public function Symbol525_400(){
addFrameScript(28, frame29);
}
function frame29(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 117
//Symbol526_399 (Random_Stuff_Too_fla.Symbol526_399)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol526_399 extends MovieClip {
public var panel:MovieClip;
public var closeBut:SimpleButton;
public var noHints:SimpleButton;
public function Symbol526_399(){
addFrameScript(0, frame1);
}
function frame1(){
panel.mouseEnabled = false;
panel.mouseChildren = false;
}
}
}//package Random_Stuff_Too_fla
Section 118
//Symbol530_357 (Random_Stuff_Too_fla.Symbol530_357)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol530_357 extends MovieClip {
public var gauge:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 119
//Symbol559_56 (Random_Stuff_Too_fla.Symbol559_56)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Symbol559_56 extends MovieClip {
public var upgradetechtype:TextField;
public var upgradepowerreq:TextField;
public var upgradetechreq:TextField;
public var ores:MovieClip;
public var upgradecost:TextField;
}
}//package Random_Stuff_Too_fla
Section 120
//Symbol576_291 (Random_Stuff_Too_fla.Symbol576_291)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol576_291 extends MovieClip {
public var fin:Boolean;
public function Symbol576_291(){
addFrameScript(0, frame1, 5, frame6, 12, frame13);
}
function frame6(){
fin = true;
}
function frame1(){
this.mouseEnabled = false;
}
function frame13(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 121
//Symbol6_227 (Random_Stuff_Too_fla.Symbol6_227)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol6_227 extends MovieClip {
public function Symbol6_227(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 122
//Symbol6_290 (Random_Stuff_Too_fla.Symbol6_290)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol6_290 extends MovieClip {
public function Symbol6_290(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package Random_Stuff_Too_fla
Section 123
//Symbol6_98 (Random_Stuff_Too_fla.Symbol6_98)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol6_98 extends MovieClip {
public function Symbol6_98(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 124
//Symbol637_554 (Random_Stuff_Too_fla.Symbol637_554)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol637_554 extends MovieClip {
public var prevBut:SimpleButton;
public var nextBut:SimpleButton;
public function Symbol637_554(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame1(){
nextBut.addEventListener(MouseEvent.CLICK, nextf);
prevBut.addEventListener(MouseEvent.CLICK, prevf);
stop();
prevBut.visible = false;
nextBut.visible = true;
}
function frame4(){
nextBut.visible = false;
prevBut.visible = true;
}
function frame2(){
prevBut.visible = true;
nextBut.visible = true;
}
public function prevf(_arg1:MouseEvent):void{
prevFrame();
}
public function nextf(_arg1:MouseEvent):void{
nextFrame();
}
}
}//package Random_Stuff_Too_fla
Section 125
//Symbol640_313 (Random_Stuff_Too_fla.Symbol640_313)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol640_313 extends MovieClip {
public function Symbol640_313(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
this.mouseChildren = false;
}
}
}//package Random_Stuff_Too_fla
Section 126
//Symbol643_330 (Random_Stuff_Too_fla.Symbol643_330)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol643_330 extends MovieClip {
public function Symbol643_330(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
this.mouseChildren = false;
}
}
}//package Random_Stuff_Too_fla
Section 127
//Symbol7_208 (Random_Stuff_Too_fla.Symbol7_208)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol7_208 extends MovieClip {
public function Symbol7_208(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 128
//Symbol7copy_185 (Random_Stuff_Too_fla.Symbol7copy_185)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol7copy_185 extends MovieClip {
public function Symbol7copy_185(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
this.mouseEnabled = false;
this.mouseChildren = false;
stop();
}
function frame2(){
this.mouseEnabled = false;
this.mouseChildren = false;
}
}
}//package Random_Stuff_Too_fla
Section 129
//Symbol8_126 (Random_Stuff_Too_fla.Symbol8_126)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Symbol8_126 extends MovieClip {
public function Symbol8_126(){
addFrameScript(0, frame1);
}
function frame1(){
play();
}
}
}//package Random_Stuff_Too_fla
Section 130
//Symbol85_508 (Random_Stuff_Too_fla.Symbol85_508)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class Symbol85_508 extends MovieClip {
public var detect:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 131
//sys_18 (Random_Stuff_Too_fla.sys_18)
package Random_Stuff_Too_fla {
import flash.display.*;
import flash.text.*;
public dynamic class sys_18 extends MovieClip {
public var systemMessage:TextField;
}
}//package Random_Stuff_Too_fla
Section 132
//Tower1_101 (Random_Stuff_Too_fla.Tower1_101)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower1_101 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
public function Tower1_101(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 133
//Tower1Weapon_103 (Random_Stuff_Too_fla.Tower1Weapon_103)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower1Weapon_103 extends MovieClip {
public function Tower1Weapon_103(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 134
//Tower2_141 (Random_Stuff_Too_fla.Tower2_141)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower2_141 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
public function Tower2_141(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 135
//Tower3_180 (Random_Stuff_Too_fla.Tower3_180)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower3_180 extends MovieClip {
public var TowerWepNR:MovieClip;
public var weap:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
public function Tower3_180(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 136
//Tower4_96 (Random_Stuff_Too_fla.Tower4_96)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower4_96 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
public function Tower4_96(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 137
//Tower5_137 (Random_Stuff_Too_fla.Tower5_137)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower5_137 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
public function Tower5_137(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 138
//Tower6_183 (Random_Stuff_Too_fla.Tower6_183)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Tower6_183 extends MovieClip {
public var TowerWepNR:MovieClip;
public var TowerWep:MovieClip;
public var base:MovieClip;
public function Tower6_183(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
this.mouseEnabled = false;
this.mouseChildren = false;
}
}
}//package Random_Stuff_Too_fla
Section 139
//TowersHolderforplacement_371 (Random_Stuff_Too_fla.TowersHolderforplacement_371)
package Random_Stuff_Too_fla {
import flash.display.*;
public dynamic class TowersHolderforplacement_371 extends MovieClip {
public var tow:MovieClip;
}
}//package Random_Stuff_Too_fla
Section 140
//Wep5Holder_138 (Random_Stuff_Too_fla.Wep5Holder_138)
package Random_Stuff_Too_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Wep5Holder_138 extends MovieClip {
public function Wep5Holder_138(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Random_Stuff_Too_fla
Section 141
//APRESEXPLO1 (APRESEXPLO1)
package {
import flash.media.*;
public dynamic class APRESEXPLO1 extends Sound {
}
}//package
Section 142
//AreYouSure (AreYouSure)
package {
import flash.display.*;
import flash.text.*;
public dynamic class AreYouSure extends MovieClip {
public var nobut:SimpleButton;
public var yesbut:SimpleButton;
public var additionalmess:TextField;
public var ores:MovieClip;
public var mess:TextField;
}
}//package
Section 143
//ArmegaloStingy (ArmegaloStingy)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class ArmegaloStingy extends sting_controller {
public var stingState:String;
public function ArmegaloStingy(){
addFrameScript(0, frame1, 124, frame125);
}
function frame1(){
stingState = "playing";
}
function frame125(){
stingState = "finished";
}
}
}//package
Section 144
//ascrollButton (ascrollButton)
package {
import flash.display.*;
public dynamic class ascrollButton extends SimpleButton {
}
}//package
Section 145
//Beam_controller (Beam_controller)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import armegalo.*;
public class Beam_controller extends MovieClip {
private var y1:Number;
private var math:myMath;
private var noOfBeams:Number;// = 1
private var filtersArray:Array;
private var sta;
private var myShape:Shape;
private var ox1:Number;
private var oy1:Number;
private var type:Number;
private var subtype:Number;
private var frameCount:Number;// = 0
public var glow:GlowFilter;
private var x1:Number;
private var x2:Number;
private var scratchPoint:Point;
private var BeamEnd:MovieClip;
private var BeamStart:MovieClip;
private var y2:Number;
public function Beam_controller(_arg1, _arg2, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){
math = new myMath();
myShape = new Shape();
frameCount = 0;
glow = new GlowFilter();
noOfBeams = 1;
filtersArray = new Array(glow);
super();
x1 = _arg3;
x2 = _arg5;
y1 = _arg4;
y2 = _arg6;
ox1 = x1;
oy1 = y1;
sta = _arg1;
type = _arg7;
subtype = _arg8;
noOfBeams = _arg9;
makeBeam(_arg2);
}
public function killme():void{
myShape.graphics.clear();
removeChild(BeamStart);
sta.unusedBeams.push(this);
}
public function recycle(_arg1, _arg2, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){
x1 = _arg3;
x2 = _arg5;
y1 = _arg4;
y2 = _arg6;
ox1 = x1;
oy1 = y1;
sta = _arg1;
type = _arg7;
subtype = _arg8;
noOfBeams = _arg9;
makeBeam(_arg2);
}
private function makeBeam(_arg1):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
addChild(myShape);
this.mouseEnabled = false;
myShape.graphics.clear();
if (type == 1){
myShape.graphics.moveTo(x1, y1);
glow.color = 39202;
glow.alpha = 1;
glow.blurX = 5;
glow.blurY = 5;
glow.quality = BitmapFilterQuality.MEDIUM;
myShape.graphics.lineStyle(subtype, 0xFFFFFF, 1);
myShape.graphics.lineTo(x2, y2);
BeamStart = new BeamStart1();
} else {
if (type == 2){
glow.color = 0xFF;
glow.alpha = 1;
glow.blurX = 5;
glow.blurY = 5;
glow.strength = 3;
glow.quality = BitmapFilterQuality.LOW;
myShape.graphics.lineStyle(subtype, 0xFFFFFF, 1);
BeamStart = new BeamStart2();
_local4 = 10;
_local5 = (_local4 / 2);
_local12 = 0;
while (_local12 < noOfBeams) {
scratchPoint = math.getRotatedPos((-(_arg1.Tower.tow.TowerWep.rotation) - 90), ((Math.random() * 36) - 18));
x1 = (ox1 + scratchPoint.x);
y1 = (oy1 + scratchPoint.y);
_local10 = x1;
_local11 = y1;
myShape.graphics.moveTo(x1, y1);
_local2 = (((Math.random() * 3) * 2) + 7);
_local3 = (_local2 / 2);
_local13 = 0;
while (_local13 < _local2) {
myShape.graphics.curveTo((((((x2 - x1) / _local2) * _local13) + ((Math.random() * _local4) - _local5)) + x1), (((((y2 - y1) / _local2) * _local13) + ((Math.random() * _local4) - _local5)) + y1), (((((x2 - x1) / _local2) * (_local13 + 1)) + ((Math.random() * _local4) - _local5)) + x1), (((((y2 - y1) / _local2) * (_local13 + 1)) + ((Math.random() * _local4) - _local5)) + y1));
_local13 = (_local13 + 2);
};
_local12++;
};
myShape.graphics.lineTo(x2, y2);
} else {
if (type == 3){
myShape.graphics.moveTo(x1, y1);
glow.color = 10035865;
glow.alpha = 1;
glow.blurX = 5;
glow.blurY = 5;
glow.quality = BitmapFilterQuality.MEDIUM;
myShape.graphics.lineStyle(subtype, 0xFFFFFF, 1);
myShape.graphics.lineTo(x2, y2);
BeamStart = new BeamStart1();
} else {
if (type == 4){
myShape.graphics.moveTo(x1, y1);
glow.color = 10066210;
glow.alpha = 1;
glow.blurX = 5;
glow.blurY = 5;
glow.quality = BitmapFilterQuality.MEDIUM;
myShape.graphics.lineStyle(subtype, 0xFFFFFF, 1);
myShape.graphics.lineTo(x2, y2);
BeamStart = new BeamStart1();
} else {
if (type == 5){
glow.color = 0xFF;
glow.alpha = 1;
glow.blurX = 5;
glow.blurY = 5;
glow.strength = 3;
glow.quality = BitmapFilterQuality.LOW;
myShape.graphics.lineStyle(subtype, 0xFFFFFF, 1);
BeamStart = new BeamStart2();
_local12 = 0;
while (_local12 < noOfBeams) {
scratchPoint = math.getRotatedPos((-(_arg1.Tower.tow.TowerWep.rotation) - 90), ((Math.random() * 5) - 2));
x1 = (ox1 + scratchPoint.x);
y1 = (oy1 + scratchPoint.y);
myShape.graphics.moveTo(x1, y1);
_local2 = (((Math.random() * 3) * 2) + 5);
_local4 = 10;
_local5 = (_local4 / 2);
_local13 = 0;
while (_local13 < _local2) {
myShape.graphics.curveTo((((((x2 - x1) / _local2) * _local13) + ((Math.random() * _local4) - _local5)) + x1), (((((y2 - y1) / _local2) * _local13) + ((Math.random() * _local4) - _local5)) + y1), (((((x2 - x1) / _local2) * (_local13 + 1)) + ((Math.random() * _local4) - _local5)) + x1), (((((y2 - y1) / _local2) * (_local13 + 1)) + ((Math.random() * _local4) - _local5)) + y1));
_local13 = (_local13 + 2);
};
_local12++;
};
};
};
};
};
};
addChild(BeamStart);
myShape.filters = filtersArray;
BeamStart.x = ox1;
BeamStart.y = oy1;
addEventListener(Event.ENTER_FRAME, runBeam);
}
public function runBeam(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, runBeam);
killme();
}
}
}//package
Section 146
//BeamStart1 (BeamStart1)
package {
import flash.display.*;
public dynamic class BeamStart1 extends MovieClip {
}
}//package
Section 147
//BeamStart2 (BeamStart2)
package {
import flash.display.*;
public dynamic class BeamStart2 extends MovieClip {
}
}//package
Section 148
//BIGGUN (BIGGUN)
package {
import flash.media.*;
public dynamic class BIGGUN extends Sound {
}
}//package
Section 149
//BOOM1 (BOOM1)
package {
import flash.media.*;
public dynamic class BOOM1 extends Sound {
}
}//package
Section 150
//BOOM2 (BOOM2)
package {
import flash.media.*;
public dynamic class BOOM2 extends Sound {
}
}//package
Section 151
//BOOM3 (BOOM3)
package {
import flash.media.*;
public dynamic class BOOM3 extends Sound {
}
}//package
Section 152
//BOOM4 (BOOM4)
package {
import flash.media.*;
public dynamic class BOOM4 extends Sound {
}
}//package
Section 153
//BOOM5 (BOOM5)
package {
import flash.media.*;
public dynamic class BOOM5 extends Sound {
}
}//package
Section 154
//BOOM6 (BOOM6)
package {
import flash.media.*;
public dynamic class BOOM6 extends Sound {
}
}//package
Section 155
//border (border)
package {
import flash.display.*;
public dynamic class border extends MovieClip {
}
}//package
Section 156
//borTile (borTile)
package {
import flash.display.*;
public dynamic class borTile extends MovieClip {
}
}//package
Section 157
//BottomPanel (BottomPanel)
package {
import flash.display.*;
public dynamic class BottomPanel extends MovieClip {
}
}//package
Section 158
//bubbles (bubbles)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class bubbles extends MovieClip {
public var prevBut:SimpleButton;
public var tow:MovieClip;
public var skipBut:SimpleButton;
public var nextBut:SimpleButton;
public var detect:MovieClip;
public function bubbles(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18);
}
function frame10(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame14(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame18(){
nextBut.visible = false;
prevBut.visible = true;
}
function frame3(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame6(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame7(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame1(){
nextBut.addEventListener(MouseEvent.CLICK, nextf);
prevBut.addEventListener(MouseEvent.CLICK, prevf);
stop();
prevBut.visible = false;
nextBut.visible = true;
}
function frame12(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame13(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame17(){
nextBut.visible = true;
prevBut.visible = true;
}
function frame4(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame5(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame9(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame8(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame2(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame15(){
prevBut.visible = true;
nextBut.visible = true;
}
function frame16(){
prevBut.visible = true;
nextBut.visible = true;
}
public function prevf(_arg1:MouseEvent):void{
prevFrame();
}
function frame11(){
prevBut.visible = true;
nextBut.visible = true;
}
public function nextf(_arg1:MouseEvent):void{
nextFrame();
}
}
}//package
Section 159
//bubblishus (bubblishus)
package {
import flash.events.*;
import flash.display.*;
public class bubblishus extends MovieClip {
private var ox:Number;// = 0
public var a6:MovieClip;
public var a4:MovieClip;
public var a9:MovieClip;
private var oy:Number;// = 0
public var a5:MovieClip;
public var a8:MovieClip;
public var a11:MovieClip;
private var maxxs:Number;// = 2.5
public var a10:MovieClip;
private var maxys:Number;// = 2.5
public var a2:MovieClip;
public var a3:MovieClip;
public var a7:MovieClip;
public var a1:MovieClip;
public function bubblishus(){
maxxs = 2.5;
maxys = 2.5;
ox = 0;
oy = 0;
super();
ox = this.x;
oy = this.y;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(_arg1:Event){
this.x = ((ox + ((Math.random() * maxxs) * 2)) - maxxs);
this.y = ((oy + ((Math.random() * maxys) * 2)) - maxys);
}
}
}//package
Section 160
//BUILDFIN (BUILDFIN)
package {
import flash.media.*;
public dynamic class BUILDFIN extends Sound {
}
}//package
Section 161
//BUILDINGDOWNTHUMP (BUILDINGDOWNTHUMP)
package {
import flash.media.*;
public dynamic class BUILDINGDOWNTHUMP extends Sound {
}
}//package
Section 162
//BUILDINGUP (BUILDINGUP)
package {
import flash.media.*;
public dynamic class BUILDINGUP extends Sound {
}
}//package
Section 163
//capacitout (capacitout)
package {
import flash.media.*;
public dynamic class capacitout extends Sound {
}
}//package
Section 164
//CashReadout (CashReadout)
package {
import flash.display.*;
import flash.text.*;
public dynamic class CashReadout extends MovieClip {
public var Message2:TextField;
public var Message3:TextField;
public var interest:TextField;
public var ores:MovieClip;
public var Message:TextField;
}
}//package
Section 165
//CLICK (CLICK)
package {
import flash.media.*;
public dynamic class CLICK extends Sound {
}
}//package
Section 166
//ClockTimer (ClockTimer)
package {
import flash.display.*;
public dynamic class ClockTimer extends MovieClip {
}
}//package
Section 167
//ControlScreenControl (ControlScreenControl)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class ControlScreenControl extends MovieClip {
public var load1:SimpleButton;
public var load2:SimpleButton;
public var load3:SimpleButton;
public var t2:MovieClip;
public var t3:MovieClip;
public var t7:MovieClip;
public var t1:MovieClip;
public var t9:MovieClip;
public var t5:MovieClip;
public var t6:MovieClip;
public var save2:SimpleButton;
public var t4:MovieClip;
public var save1:SimpleButton;
public var save3:SimpleButton;
public var t8:MovieClip;
public var Towerb13:SimpleButton;
public var Towerb17:SimpleButton;
public var Towerb14:SimpleButton;
public var Towerb15:SimpleButton;
public var Towerb10:SimpleButton;
public var Screen:MovieClip;
public var Towerb16:SimpleButton;
public var Towerb20:SimpleButton;
public var Towerb21:SimpleButton;
public var Towerb22:SimpleButton;
public var Towerb11:SimpleButton;
public var Towerb26:SimpleButton;
public var Towerb23:SimpleButton;
public var Towerb25:SimpleButton;
public var Towerb18:SimpleButton;
public var Towerb19:SimpleButton;
public var Towerb24:SimpleButton;
public var myRoot;
public var Towerb31:SimpleButton;
public var Towerb1:SimpleButton;
public var Towerb33:SimpleButton;
public var Towerb3:SimpleButton;
public var Towerb4:SimpleButton;
public var Towerb30:SimpleButton;
public var Towerb7:SimpleButton;
public var Towerb32:SimpleButton;
public var Towerb5:SimpleButton;
public var Towerb6:SimpleButton;
public var Towerb8:SimpleButton;
public var Towerb9:SimpleButton;
public var Towerb12:SimpleButton;
public var Towerb2:SimpleButton;
public var tab1:SimpleButton;
public var tab3:SimpleButton;
public var tab2:SimpleButton;
public var tab5:SimpleButton;
public var tab6:SimpleButton;
public var tab4:SimpleButton;
public var t14:MovieClip;
public var t15:MovieClip;
public var t16:MovieClip;
public var t17:MovieClip;
public var t18:MovieClip;
public var t19:MovieClip;
public var t13:MovieClip;
public var t11:MovieClip;
public var t20:MovieClip;
public var t21:MovieClip;
public var t22:MovieClip;
public var t23:MovieClip;
public var t24:MovieClip;
public var t25:MovieClip;
public var t10:MovieClip;
public var currentInfo:MovieClip;
public var t26:MovieClip;
public var t30:MovieClip;
public var t31:MovieClip;
public var t32:MovieClip;
public var t33:MovieClip;
public function ControlScreenControl(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame4(){
myRoot.showPurchasesAllowed();
}
function frame5(){
myRoot.showPurchasesAllowed();
}
function frame1(){
stop();
}
function frame3(){
myRoot.showPurchasesAllowed();
}
function frame2(){
myRoot.showPurchasesAllowed();
}
}
}//package
Section 168
//Creep_controller (Creep_controller)
package {
import flash.display.*;
import flash.text.*;
public class Creep_controller extends Sprite {
public var xx:Number;
public var CurrentNode:Number;
public var yo:Number;// = 0
public var yy:Number;
public var NodeRange:Number;// = 6
public var CurrentHP:Number;
public var MaxHP:Number;
public var TXpos:Number;
public var SlowResist:Number;
public var Worth:Number;
public var projectileMod:Number;// = 1
public var CurrentSP:Number;
public var Armour:Number;
public var Seed:Number;// = 1
public var MaxSP:Number;
public var RecoverSP:Number;
public var electricMod:Number;// = 1
public var TYpos:Number;
public var PreviousNode:Number;// = -200
public var explosiveMod:Number;// = 1
public var Creep:CreepControl;
public var Message:TextField;
public var xo:Number;// = 0
public function Creep_controller(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:Number, _arg16:Number, _arg17:Number, _arg18:Number){
NodeRange = 6;
Message = new TextField();
Creep = new CreepControl();
xo = 0;
yo = 0;
projectileMod = 1;
explosiveMod = 1;
electricMod = 1;
PreviousNode = -200;
Seed = 1;
super();
addChild(Creep);
this.x = _arg1;
this.y = _arg2;
xx = _arg1;
yy = _arg2;
Creep.gotoAndStop(_arg5);
Seed = _arg18;
CurrentHP = _arg6;
MaxHP = _arg7;
CurrentSP = _arg8;
MaxSP = _arg9;
RecoverSP = _arg10;
SlowResist = _arg11;
Armour = _arg15;
Worth = _arg16;
TXpos = _arg3;
TYpos = _arg4;
projectileMod = _arg12;
explosiveMod = _arg13;
electricMod = _arg14;
CurrentNode = _arg17;
this.mouseEnabled = false;
this.mouseChildren = false;
Creep.mouseEnabled = false;
Creep.mouseChildren = false;
}
public function recycle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:Number, _arg16:Number, _arg17:Number, _arg18:Number):void{
this.visible = true;
this.x = _arg1;
this.y = _arg2;
xx = _arg1;
yy = _arg2;
Creep.gotoAndStop(_arg5);
Seed = _arg18;
CurrentHP = _arg6;
MaxHP = _arg7;
CurrentSP = _arg8;
MaxSP = _arg9;
RecoverSP = _arg10;
SlowResist = _arg11;
Armour = _arg15;
Worth = _arg16;
TXpos = _arg3;
TYpos = _arg4;
projectileMod = _arg12;
explosiveMod = _arg13;
electricMod = _arg14;
CurrentNode = _arg17;
this.mouseEnabled = false;
this.mouseChildren = false;
Creep.mouseEnabled = false;
Creep.mouseChildren = false;
}
public function killme():void{
this.parent.removeChild(this);
}
}
}//package
Section 169
//CreepControl (CreepControl)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class CreepControl extends MovieClip {
public var hpb:HitPointsBar;
public var detect:MovieClip;
public var dude:MovieClip;
public function CreepControl(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
this.mouseChildren = false;
}
}
}//package
Section 170
//CreepReadout (CreepReadout)
package {
import flash.display.*;
import flash.text.*;
public dynamic class CreepReadout extends MovieClip {
public var CreepMessage3:TextField;
public var CreepMessage4:TextField;
public var CreepMessage2:TextField;
public var CreepMessage:TextField;
}
}//package
Section 171
//DefenderToo (DefenderToo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import delta.ui.*;
import armegalo.*;
import de.polygonal.math.*;
import mochi.*;
import flash.text.*;
import CPMStar.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
public dynamic class DefenderToo extends MovieClip {
private var LevelFinishedOutputting:Boolean;// = true
private var ControlScreen:MovieClip;
public var load1:SimpleButton;
public var load2:SimpleButton;
public var load3:SimpleButton;
public var subBut:SimpleButton;
public var adBorders:MovieClip;
private var powerDifference:Number;// = 0
private var Missiles:Array;
private var oUGHy:Number;// = 0
private var oUGHx:Number;// = 0
private var sRTimer:Timer;
private var Border:MovieClip;
private var topBT:MovieClip;
public var o:MovieClip;
private var p:Array;
public var goBut:SimpleButton;
private var MineMenu:MovieClip;
private var myHints:MovieClip;
public var endGameFlag:int;// = -1
private var waveDispatchTimer:Timer;
public var messageHolder:MovieClip;
public var sysbut:SimpleButton;
private var oreArray:Array;
private var gotCashResearch:Boolean;// = false
private var BGH:MovieClip;
private var maBoardTimer:Number;// = 10
public var newBut:SimpleButton;
private var screenWidth:uint;// = 550
private var PauseBut:SimpleButton;
private var selectionFlashCountLimit:Number;// = 12
public var slider:MovieClip;
private var GH:MovieClip;
private var unusedCreeps:Array;
private var gotBombResearch:Boolean;// = false
public var pgBut:SimpleButton;
private var tunePlaying;// = "None"
private var zoomToggle:Boolean;// = false
private var FridgeMenu:MovieClip;
public var namerror:MovieClip;
private var keyui:Key;
private var Err:MovieClip;
private var sbUp:SimpleButton;
private var gameDifficulty:Number;// = 6
private var GunTechLevel:Number;// = -1
private var Smoke:Array;
private var GAMEON:Boolean;// = false
public var siteButton:SimpleButton;
private var saveAtEOWFlag:Number;// = -1
private var storedUGHx:Number;// = 0
private var gotSlowResearch:Boolean;// = false
private var gameBorders:MovieClip;
private var prevPowerDifference:Number;// = 0
private var scrollSpeed:Number;// = 10
private var storedUGHy:Number;// = 0
private var towersKilledThisFrame:Array;
private var PathData:path_definitions;
private var levVarNeg:Array;
private var inactiveMissiles:Array;
private var towersGot:Array;
public var sbBut:SimpleButton;
private var ldr_startPoint:Number;// = 5
private var ResearchMenu:MovieClip;
private var _root;
private var Crr:MovieClip;
public var currentInfo:MovieClip;
private var gotMineResearch:Boolean;// = false
private var toBeLoaded:Number;// = -1
private var MissileData:missile_definitions;
private var bmap:BitmapData;
private var oldKP:String;// = ""
private var PathSel:MovieClip;
private var ldr_starCount:uint;// = 200
private var OldCash:Number;
private var creepcounter:Number;// = 0
private var DBGH:MovieClip;
public var sting:MovieClip;
private var kongregate;
private var ldr_bottomEdge:int;
private var MGH:MovieClip;
public var PathHighlight:MovieClip;
private var BombTechLevel:Number;// = -1
private var ldr_rightEdge:int;
private var wavetimerstop:Number;// = 100
private var newgroundsMode:Boolean;// = false
private var hintContainers:Array;
public var ldr:MovieClip;
private var errorTimer:Timer;
private var kongregateMode:Boolean;// = false
private var MaxLives:uint;// = 20
public var versionText:TextField;
private var levVarPos:Array;
private var hintsDimmed:Boolean;// = false
public var details:TextField;
private var keyProfile:String;// = "Normal"
private var ldr_universalAccel;// = 1.1
public var credBut:SimpleButton;
private var mineFuseLength:uint;// = 10
public var sting2:ArmegaloStingy;
public var sting3:MovieClip;
public var sting4:MovieClip;
public var unusedBeams:Array;
private var Beams:Array;
public var mgBut:SimpleButton;
private var leftBT:MovieClip;
public var adBox:MovieClip;
public var versionText2:TextField;
private var ldr_starXS:Number;
private var toBeDisced:Number;// = 0
private var nameStarts:Array;
private var ldr_starYS:Number;
private var StartBut:SimpleButton;
private var sbLeft:SimpleButton;
private var maxLevelGraphics:Number;// = 33
private var hintShowing:Number;// = -1
private var Interest:Number;// = 0
private var rightBT:MovieClip;
private var gameSpeed:Number;// = 1
private var alertCounters:Array;
private var UUGH:MovieClip;
private var pauseIndi:MovieClip;
private var nextLevelData:Object;
private var scatterLimit:Number;// = 5
private var techLevels:Array;
private var Creeps:Array;
private var myEater:Bitmap;
public var ngAd:MovieClip;
private var bottomBT:MovieClip;
private var QuitGameBut:SimpleButton;
private var gamePaused:Boolean;// = false
private var possiblyUnstable:Boolean;// = false
private var itemPreTitles:Array;
private var miningRecords:Array;
private var itemTitles2:Array;
private var EGH:MovieClip;
private var errorQueue:Array;
private var TowerMenu:MovieClip;
public var b0:SimpleButton;
public var b1:SimpleButton;
public var b3:SimpleButton;
public var b5:SimpleButton;
public var b7:SimpleButton;
public var b8:SimpleButton;
public var b2:SimpleButton;
public var b4:SimpleButton;
public var backBut:SimpleButton;
public var b6:SimpleButton;
private var Explosions:Array;
public var playNowBut:SimpleButton;
private var smokinCounter:Number;// = 0
private var nameEnds:Array;
private var rand:PM_PRNG;
public var b9:SimpleButton;
private var endGameCondition:String;
private var TGH:MovieClip;
private var EndGameClip:MovieClip;
private var sellModifier:Number;// = 0.7
private var boardMinX:uint;// = 0
private var boardMinY:uint;// = 0
private var PathOverlay:MovieClip;
private var nameMids:Array;
public var continueBut:SimpleButton;
private var creepsAlive:Number;// = 0
private var creepcounterstop:Number;// = -1
private var CashTechLevel:Number;// = -1
private var endGameAt:int;// = 100
private var gameVersion:String;// = "Random Defence 2 v 1.01.01"
public var ndbut2:SimpleButton;
public var beamsAlive:Number;// = 0
private var ldr_centreX:Number;// = 275
private var ldr_centreY:Number;// = 200
private var ldr_SGH:MovieClip;
private var RGH:MovieClip;
private var screenHeight:uint;// = 400
private var mouseMoveRange;// = 50
private var errorTypeQueue:Array;
private var errTimer:Number;// = 0
private var Lives:int;
private var creeptimerstop:Number;// = 0
private var userName:String;// = "Default"
public var updateBut:SimpleButton;
private var sbRight:SimpleButton;
private var GamePanel:MovieClip;
private var SelectedTower:Number;// = -1
private var ScoreSubmit:MovieClip;
public var armegaButton:SimpleButton;
private var ore_arrays:Array;
private var BaseInterest:Number;// = 0.02
private var TPC:MovieClip;
private var playerFrameCounter:Number;// = 0
private var SlowTechLevel:Number;// = -1
private var DTGH:MovieClip;
private var ldr_startScale:Number;
private var ResourcerMenu:MovieClip;
private var myErrorCose:String;// = "None"
private var selectionFlashCount:Number;// = 0
private var boardToBeOpened:String;// = ""
private var ldr_minSpeed;
public var p0:SimpleButton;
public var p1:SimpleButton;
public var p2:SimpleButton;
public var p3:SimpleButton;
public var p4:SimpleButton;
public var p5:SimpleButton;
public var p7:SimpleButton;
public var p8:SimpleButton;
public var p9:SimpleButton;
private var itemNameConst:Array;
public var p6:SimpleButton;
private var mee:Number;// = 0
private var permission:Boolean;// = true
private var pathTransToScore:Array;
private var ldr_stars:Array;
private var towerToBePlaced:Number;// = -1
private var skipIntros:Boolean;// = false
private var ldr_frameCounter:uint;// = 0
public var b10:SimpleButton;
public var b11:SimpleButton;
public var b12:SimpleButton;
public var b13:SimpleButton;
public var b14:SimpleButton;
public var b15:SimpleButton;
public var b16:SimpleButton;
public var b17:SimpleButton;
public var b18:SimpleButton;
public var b19:SimpleButton;
private var eater:oreeater;
private var itemTitles:Array;
private var nameBits:Array;
private var TowerData:tower_definitions;
public var slots:MovieClip;
private var sR:MovieClip;
private var old_ore_arrays:Array;
private var so:SharedObject;
private var WaveData:wave_definitions;
private var laidMoreThanOneTower:Boolean;// = false
private var maxGameSpeed:Number;// = 4
private var towerToDie:Number;// = -1
public var theName:TextField;
private var scoreboardIDs:Array;
private var explosionsToDie:Array;
private var zoomCounter:Number;// = 0
private var Towers:Array;
private var UDLWait:Number;// = 0
private var selectionStore:Number;// = -1
private var finalScore:Number;// = 0
private var inactiveExplosions:Array;
public var sys:MovieClip;
private var gotGunResearch:Boolean;// = false
private var mmm:Number;// = 0
private var hintCount:Number;// = 0
private var endGameFlag2:String;// = "Bad"
private var ore:Bitmap;
private var creeptimer:Number;// = 0
public var mybg:MovieClip;
private var math:myMath;
private var ldr_leftEdge:int;
private var yn:MovieClip;
private var startButPos:Point;
private var CrrTimer:Timer;
public var Cash:Number;// = 0
private var desiredVersions:Array;
private var GamePath:Number;// = 0
private var MineTechLevel:Number;// = -1
private var ldr_topEdge:int;
public var hintsDisplayed:Array;
private var boardMaxX:uint;// = 550
private var boardMaxY:uint;// = 400
private var soundMod;
private var mss:Number;// = 0
private var sbDown:SimpleButton;
private var CashDisp:TextField;
private var systemFrameCounter:Number;// = 0
private var WaveTimer;// = 300
private var myHints2:MovieClip;
private var Car:MovieClip;
public var loadBut:SimpleButton;
private var itemNameVow:Array;
private var inactiveSmoke:Array;
private var currentLevelData:Object;
private var boardsOff:Boolean;
private var PowerMenu:MovieClip;
private var total_towers:Number;// = 0
private var MochiHolder:MovieClip;
private var CurrentWave:Number;// = -1
private var wavetimer:Number;// = 0
private var rangeCirc:Sprite;
private var itemNames:Array;
private var UGH:MovieClip;
public function DefenderToo(){
var CPMStarContentSpotID:String;
var ad:DisplayObject;
mmm = 0;
mss = 0;
mee = 0;
math = new myMath();
keyui = new Key(stage);
gameBorders = new MovieClip();
MochiHolder = new MovieClip();
errTimer = 0;
errorQueue = [];
errorTypeQueue = [];
total_towers = 0;
_root = this;
SelectedTower = -1;
selectionStore = -1;
inactiveMissiles = [];
inactiveExplosions = [];
Smoke = [];
inactiveSmoke = [];
TowerData = new tower_definitions();
PathData = new path_definitions();
WaveData = new wave_definitions();
MissileData = new missile_definitions();
Cash = 0;
OldCash = Cash;
MaxLives = 20;
Lives = MaxLives;
BaseInterest = 0.02;
CashDisp = new TextField();
GamePath = 0;
CurrentWave = -1;
wavetimer = 0;
wavetimerstop = 100;
creeptimer = 0;
creeptimerstop = 0;
creepcounter = 0;
creepcounterstop = -1;
GAMEON = false;
WaveTimer = 300;
rangeCirc = new Sprite();
waveDispatchTimer = new Timer(WaveData.myXml.WaveTimer, WaveData.myXml.WaveCount);
errorTimer = new Timer(4000);
CrrTimer = new Timer(20000);
sRTimer = new Timer(1000);
GunTechLevel = -1;
BombTechLevel = -1;
SlowTechLevel = -1;
MineTechLevel = -1;
CashTechLevel = -1;
gotGunResearch = false;
gotBombResearch = false;
gotSlowResearch = false;
gotMineResearch = false;
gotCashResearch = false;
towerToDie = -1;
towersKilledThisFrame = new Array();
LevelFinishedOutputting = true;
boardMinX = 0;
boardMaxX = 550;
boardMinY = 0;
boardMaxY = 400;
screenWidth = 550;
screenHeight = 400;
endGameFlag = -1;
endGameFlag2 = "Bad";
endGameAt = 100;
mineFuseLength = 10;
p = [];
ldr_starCount = 200;
ldr_stars = [];
ldr_startPoint = 5;
ldr_starXS = (0.25 * ldr_startPoint);
ldr_starYS = (0.25 * ldr_startPoint);
ldr_minSpeed = (0.01 * ldr_startPoint);
ldr_startScale = (0.005 * ldr_startPoint);
ldr_SGH = new MovieClip();
ldr_centreX = (550 / 2);
ldr_centreY = (400 / 2);
ldr_universalAccel = 1.1;
ldr_leftEdge = -((ldr_centreX * 1.5));
ldr_rightEdge = (ldr_centreX * 1.5);
ldr_topEdge = -((ldr_centreY * 1.5));
ldr_bottomEdge = (ldr_centreY * 1.5);
ldr_frameCounter = 0;
permission = true;
userName = "Default";
finalScore = 0;
gamePaused = false;
tunePlaying = "None";
scrollSpeed = 10;
mouseMoveRange = 50;
laidMoreThanOneTower = false;
keyProfile = "Normal";
sellModifier = 0.7;
gameSpeed = 1;
scatterLimit = 5;
maxLevelGraphics = 33;
nameBits = ["oi", "er", "gn", "ed", "lu", "ar", "qu", "ee", "ae", "nu", "sh", "uu", "ei", "vo", "t", "ch", "dr", "as", "a", "e", "i", "o", "u", "bum", "tit", "suk", "lol", "mao", ":)", ":D", "it", "vum", "pol", "w", "k", "m", "n", "guh", "ert", "bo", "mu", "chow", "bog", "ful", "threp", "ju", "kil", "mu", "ph", "nut", "lib", "lik", "pol", "ek", "le", "fuh", "co", "mac", "ing", "pof", "rug", "un", "qua", "dek", "arm", "zoo", "mol", "ly"];
itemNames = [["teacup", "mug", "caffien", "drip", "brown", "coff", "gloop"], ["lip", "pout", "kiss", "lick"], ["cloud", "wisp", "God", "Thor", "munger"], ["afro", "brother", "coolski"], ["smith", "agent", "rix", "matr", "suit"], ["evil", "doom", "nasty", "bad"], ["evil", "doom", "nasty", "bad"], ["evil", "doom", "nasty", "bad"], ["kitty", "cat", "meow", "purr"], ["pumkin", "hallo", "ween", "scary", "doom"], ["cake", "sweet", "yum", "yummy", "scrummy", "pie"], ["jugg", "ball", "toss", "catch", "ling"], ["sax", "jazz", "jazzman", "scat", "maphone"], ["hack", "sack", "zigs", "stall", "meister"], ["frog", "Kermit", "croak", "jump", "ribbit"], ["jeep", "tony", "brum", "chuff"], ["button", "gold", "admiral", "jacket"], ["cool", "shade", "dark", "spec"], ["puff", "ball", "fur"], ["roll", "dice", "game", "chance"], ["manta", "ray", "swimz", "greeno"], ["cool", "shade", "dark", "spec", "pink"], ["monsta", "gibb", "nast", "grrr"], ["palette", "paint", "col"], ["crystal", "stone", "shiny", "bless", "hippy"], ["crystal", "stone", "shiny", "bless", "hippy"], ["blue", "quack", "swim", "bird", "bath", "tub", "toy"], ["yello", "mascot", "quack", "swim", "bird", "bath", "tub", "toy"], ["light", "bulb", "bright", "idea", "shine", "shiney"], ["soldier", "guard", "army", "shooty", "green", "man"], ["nemo", "fishy", "clown", "fish", "pretty"], ["battery", "dura", "gold-top", "power", "lectric", "batt"], ["mega", "phone", "shouty", "loud", "vocal"]];
itemPreTitles = ["epic", "swedish", "the", "the", "dire", "family of", "plastic", "milken", "pained", "wall of", "horde of", "group of", "gaggle of", "army of", "militia of", "tribe of", "crowd of", "why"];
itemTitles = ["crash", "minister", "ambassador", "president", "secretary", "captain", "major", "furer", "heir", "govener", "generalissimo", "Slave Driver", "pilot", "deamon", "bishop", "mountaineer", "director", "executive", "Power Manager", "Makeshift Leader", "mr", "mrs", "sir", "commodore", "commander", "master", "lord", "dude", "senoir", "don", "queen", "king", "prince", "duke", "chief", "private", "sergant", "colonel", "brigadeer", "general", "sire", "doctor", "professor", "nurse", "soldier", "collector", "assasin"];
itemTitles2 = ["vital", "psycotropic", "stretchy", "shameless", "shapeless", "harmless", "sucky", "Largely Positive", "Honourable", "stupified", "petrified", "pickled", "awesome", "dashing", "incredible", "great", "invisble", "sultry", "untimely", "ultimate", "unstoppable", "imaginary", "neverending", "invincible", "shiny", "likeable", "offensive", "dirty", "final", "nutty", "experienced", "nightly", "enthusiastic", "terminal", "tree-hugging", "binge-eating", "drunk", "lion-taming", "sunny", "automatic", "huge", "tiny", "cloudy", "scottish", "heroic", "hunky", "sexy", "dippy", "sneezy", "dopey", "grumpy", "loveable", "evil"];
itemNameConst = ["mod", "bub", "kin", "biff", "Mac", "lim", "ch", "bl", "f", "m", "r", "p", "th", "b", "c", "d", "f", "g", "h", "j", "k", "l", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"];
itemNameVow = ["ou", "ee", "a", "e", "i", "o", "u", "aa", "a", "e", "i", "o", "u", "ae", "ea", "oo", "y"];
nameStarts = ["flag", "tri", "boin", "fud", "chum", "nush", "zoom", "plu", "toss", "chud", "dwin", "wind", "wisp", "dis", "clut", "chiv", "piffle", "thwak", "pull", "po", "bag", "glop", "poun", "gerb", "bad", "gunt", "per", "shy", "bert", "gur", "tou", "trea", "hung", "term", "fidd", "bung"];
nameMids = ["laf", "toss", "flib", "bucks", "nor", "aw", "pow", "mith", "chum", "bil", "piddle", "jetty", "man", "tank", "far", "lon", "sna", "buff", "sip", "mump", "munch", "term", "chun", "cor", "blub", "ul", "um", "bo", "thag", "chul", "muc", "lu", "ra", "til", "churb", "ock", "mun", "row"];
nameEnds = ["bumkin", "mer", "pumper", "gug", "vich", "piper", "over", "under", "seat", "nox", "wiper", "dle", "ickle", "er", "nos", "glab", "thung", "drible", "worthy", "ly", "niss", "targ", "iser", "il", "us", "ok", "ee", "run", "lus", "puss", "wop", "ip", "oz", "id", "uff", "tock", "jub", "kul", "phry"];
Beams = [];
oreArray = [orepath1, orepath2, orepath3, orepath4, orepath5, orepath6, orepath7, orepath8, orepath9, orepath10];
ore_arrays = [0, 0, 0, 0];
old_ore_arrays = [0, 0, 0, 0];
eater = new oreeater(50, 50);
myEater = new Bitmap(eater);
so = SharedObject.getLocal("rd2savegames8");
miningRecords = [];
systemFrameCounter = 0;
playerFrameCounter = 0;
powerDifference = 0;
oUGHx = 0;
oUGHy = 0;
storedUGHx = 0;
storedUGHy = 0;
zoomCounter = 0;
alertCounters = new Array();
zoomToggle = false;
towerToBePlaced = -1;
saveAtEOWFlag = -1;
skipIntros = false;
startButPos = new Point(477, 430);
levVarPos = [];
levVarNeg = [];
possiblyUnstable = false;
UDLWait = 0;
hintCount = 0;
hintsDisplayed = [];
selectionFlashCount = 0;
selectionFlashCountLimit = 12;
toBeLoaded = -1;
gameDifficulty = 6;
hintShowing = -1;
prevPowerDifference = 0;
hintContainers = [];
oldKP = "";
explosionsToDie = [];
hintsDimmed = false;
smokinCounter = 0;
toBeDisced = 0;
desiredVersions = [9, 0, 115, 0];
rand = new PM_PRNG();
Interest = 0;
unusedBeams = [];
unusedCreeps = [];
creepsAlive = 0;
beamsAlive = 0;
myErrorCose = "None";
maxGameSpeed = 4;
scoreboardIDs = ["e79ec17187528523", "0b502a723c982fd0", "819b8cf7084f89b6", "8d10a402ea7e5378", "edff23401dc7d18d", "a88bea84558486ce", "9fd8a2a229d38004", "e4e27e489232a007", "84e1b6ef9185bbfc", "8ac47f409ef3f7be", "186902d5a57b9127", "2a784749984224b0", "306eb44c4cc8e412", "1f7d4983f38720b9", "27a3f9f4472727e2", "6ec82fc9a5d3d5a4", "bda7773fa4197382", "3f6687b616fe3af5", "a2f3350d6c3f1dbc", "24521dbc25eced89"];
maBoardTimer = 10;
boardToBeOpened = "";
pathTransToScore = [1, 0, 7, 3, 2, 9, 5, 4, 8, 6];
kongregateMode = false;
gameVersion = "Random Defence 2 v 1.01.01";
newgroundsMode = false;
super();
addFrameScript(0, frame1, 2, frame3, 6, frame7, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 14, frame15, 15, frame16, 19, frame20, 20, frame21);
try {
sys.systemMessage.text = gameVersion;
sysbut.y = -60;
} catch(e:Error) {
};
try {
Security.allowDomain("http://www.ngads.com");
Security.allowInsecureDomain("http://www.ngads.com");
Security.allowDomain("http://www.newgrounds.com");
Security.allowInsecureDomain("http://www.newgrounds.com");
} catch(e:Error) {
};
try {
setupContextMenu();
} catch(e:Error) {
};
_root.stop();
ldr_init();
try {
fscommand("allowscale", "true");
fscommand("fullscreen", "true");
} catch(e:Error) {
};
try {
MochiServices.connect("06441f137d775457", root, MochiInitError);
} catch(e:Error) {
gameVersion = (gameVersion + "-mie");
};
try {
if (newgroundsMode){
adBorders.visible = false;
gameVersion = (gameVersion + "ng");
NewgroundsAPI.linkAPI(this);
NewgroundsAPI.connectMovie(3704);
} else {
if (kongregateMode){
adBox.visible = false;
gameVersion = (gameVersion + "k");
setupKongregate();
} else {
CPMStarContentSpotID = "113QBAC28AFE";
ad = new AdLoader(CPMStarContentSpotID);
adBox.addChild(ad);
};
};
} catch(e:Error) {
gameVersion = (gameVersion + "-aie");
};
if (!newgroundsMode){
ngAd.visible = false;
};
try {
sys.systemMessage.text = gameVersion;
sysbut.y = -60;
} catch(e:Error) {
};
}
private function getOreReport(_arg1:String, _arg2:Number):String{
var _local3:String;
_local3 = "";
if (_arg2 == 0){
_local3 = ((Number(_arg1.substr(1, (_arg1.length - 1))) + " Bananarite ") + Number(_arg1.substr(1, (_arg1.length - 1))));
} else {
if (_arg2 == 1){
_local3 = ((Number(_arg1.substr(1, (_arg1.length - 1))) + " Blattaxide ") + Number(_arg1.substr(1, (_arg1.length - 1))));
} else {
if (_arg2 == 2){
_local3 = ((Number(_arg1.substr(1, (_arg1.length - 1))) + " Pavlovium ") + Number(_arg1.substr(1, (_arg1.length - 1))));
} else {
if (_arg2 == 3){
_local3 = ((Number(_arg1.substr(1, (_arg1.length - 1))) + " Xuquintum ") + Number(_arg1.substr(1, (_arg1.length - 1))));
} else {
if (_arg2 == 4){
_local3 = "No Ore Present";
} else {
_local3 = "No Ore Present";
};
};
};
};
};
return (_local3);
}
private function loadSlot(_arg1:MouseEvent):void{
var _local2:Number;
keyProfile = "ConfirmLoad";
_local2 = _arg1.currentTarget.name.slice(4, _arg1.currentTarget.name.length);
toBeDisced = _local2;
initYesNo(("Load from Slot " + _local2), "Are you sure?");
yn.yesbut.addEventListener(MouseEvent.CLICK, loadSlot2, false, 0, true);
yn.nobut.addEventListener(MouseEvent.CLICK, dontDiscGame, false, 0, true);
}
private function ResearchMenuClick(_arg1:MouseEvent){
upgradeTower(ResearchMenu);
}
private function pauseUnPause(_arg1:KeyboardEvent){
if (_arg1.keyCode == 32){
if (GAMEON == false){
startGame2();
} else {
if (gamePaused == false){
pauseGame2();
} else {
reStartGame2();
};
};
};
}
private function nextControlScreen(_arg1:MouseEvent):void{
CloseTowerMenu2();
CloseResearchMenu2();
CloseMineMenu2();
if (endGameFlag < 0){
if (ControlScreen.currentFrame != ControlScreen.totalFrames){
ControlScreen.nextFrame();
} else {
ControlScreen.gotoAndStop(1);
};
};
}
private function towerWait(_arg1:uint, _arg2:uint){
Towers[_arg1].WaitingFrom = _arg2;
Towers[_arg1].WaitingTimer = _arg2;
Towers[_arg1].Tower.addChild(Towers[_arg1].CT);
Towers[_arg1].Tower.setChildIndex(Towers[_arg1].CT, 1);
if (Towers[_arg1].Size < 35){
Towers[_arg1].CT.scaleX = 0.63;
Towers[_arg1].CT.scaleY = 0.63;
} else {
if (Towers[_arg1].Size < 45){
Towers[_arg1].CT.scaleX = 0.9;
Towers[_arg1].CT.scaleY = 0.9;
};
};
Towers[_arg1].CT.stop();
}
public function ldr_init():void{
var _local1:Array;
var _local2:String;
var _local3:Number;
playNowBut.visible = false;
addChild(ldr_SGH);
setChildIndex(ldr_SGH, 0);
setChildIndex(mybg, 0);
ldr_SGH.x = ldr_centreX;
ldr_SGH.y = ldr_centreY;
addEventListener(Event.ENTER_FRAME, ldr_onEnterFrame);
addEventListener(Event.ENTER_FRAME, ldr_checkLoad);
armegaButton.addEventListener(MouseEvent.CLICK, callArmegalo);
siteButton.addEventListener(MouseEvent.CLICK, callFunnylishus);
ndbut2.addEventListener(MouseEvent.CLICK, callFunnylishus);
_local1 = [];
_local1.push("http://www.notdoppler.com");
_local1.push("http://notdoppler.com");
_local1.push("http://www.armegalo.com");
_local1.push("http://armegalo.com");
_local1.push("http://www.funnylishus.com");
_local1.push("http://funnylishus.com");
_local1.push("http://www.flashgamelicense.com");
_local1.push("file:///D|/MAIN/Flash/");
_local1.push("D:/MAIN/Flash/D%2DFence/D%2DFence3.swf");
_local1.push("file:///E|/DDrive/MAIN/Flash/");
_local1.push("E:/DDrive/MAIN/Flash/");
_local2 = this.loaderInfo.url;
_local3 = 0;
while (_local3 < _local1.length) {
if (_local2.substr(0, _local1[_local3].length) == _local1[_local3]){
permission = true;
};
_local3++;
};
if ((((_local2.substr(0, "http://www.kongregate.com") == "http://www.kongregate.com")) || ((_local2.substr(0, "http://kongregate.com") == "http://kongregate.com")))){
kongregateMode = true;
trace("Kongregate Mode==True");
};
if ((((_local2.substr(0, "http://uploads.ungrounded.net") == "http://www.newgrounds.com")) || ((_local2.substr(0, "http://newgrounds.com") == "http://ungrounded.net")))){
newgroundsMode = true;
trace("Newgrounds Mode==True");
};
}
private function sellTower2(){
soundMod.soundBuildingUp();
towersGot[Towers[SelectedTower].TowerType] = (towersGot[Towers[SelectedTower].TowerType] - 1);
Cash = (Cash + int((Towers[SelectedTower].TowerWorth * sellModifier)));
ore_arrays[0] = (Number(ore_arrays[0]) + int(Number((Towers[SelectedTower].GWorth * sellModifier))));
ore_arrays[1] = (Number(ore_arrays[1]) + int(Number((Towers[SelectedTower].RWorth * sellModifier))));
ore_arrays[2] = (Number(ore_arrays[2]) + int(Number((Towers[SelectedTower].BWorth * sellModifier))));
ore_arrays[3] = (Number(ore_arrays[3]) + int(Number((Towers[SelectedTower].WWorth * sellModifier))));
killTower(SelectedTower);
removeYesNo();
CloseTowerMenu2();
CloseMineMenu2();
CloseFridgeMenu2();
keyProfile = "Normal";
SelectedTower = -1;
updateLocalTowers();
updateLocalTowersDelayed();
SelectedTower = -1;
}
private function setupKongregate():void{
var paramObj:Object;
var api_url:String;
var request:URLRequest;
var loader:Loader;
var loadComplete:*;
loadComplete = function (_arg1:Event):void{
kongregate = _arg1.target.content;
kongregate.services.connect();
trace(("\n" + kongregate.services));
trace(("\n" + kongregate.user));
trace(("\n" + kongregate.scores));
trace(("\n" + kongregate.stats));
};
paramObj = LoaderInfo(root.loaderInfo).parameters;
api_url = ((paramObj.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
trace(("API path: " + api_url));
request = new URLRequest(api_url);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.load(request);
this.addChild(loader);
}
private function killCreep(_arg1:Number){
var _local2:uint;
GH.removeChild(Creeps[_arg1]);
unusedCreeps.push(Creeps[_arg1]);
Creeps.splice(_arg1, 1);
_local2 = 0;
while (_local2 < Towers.length) {
if (Towers[_local2].Target == _arg1){
Towers[_local2].Target = -1;
if ((((Towers[_local2].BurstCount > 0)) && (!(Towers[_local2].ResetBurst)))){
resetTower(Towers[_local2]);
};
} else {
if (Towers[_local2].Target > _arg1){
Towers[_local2].Target = (Towers[_local2].Target - 1);
};
};
_local2++;
};
_local2 = 0;
while (_local2 < Missiles.length) {
if (Missiles[_local2].Target == _arg1){
if (!findMissileATarget(Missiles[_local2])){
Missiles[_local2].Target = -1;
};
} else {
if (Missiles[_local2].Target > _arg1){
if (Creeps.length < 1){
killMissile(_local2);
} else {
Missiles[_local2].Target = (Missiles[_local2].Target - 1);
};
};
};
_local2++;
};
}
public function addLevelSelectButtons():void{
var _local1:ColorTransform;
GamePath = 1;
p.push(p0);
p.push(p1);
p.push(p2);
p.push(p3);
p.push(p4);
p.push(p5);
p.push(p6);
p.push(p7);
p.push(p8);
p.push(p9);
_local1 = new ColorTransform(1, 1, 1, 1, 127, 127, 127, 0);
p[GamePath].transform.colorTransform = _local1;
p0.addEventListener(MouseEvent.CLICK, pathSelected);
p1.addEventListener(MouseEvent.CLICK, pathSelected);
p2.addEventListener(MouseEvent.CLICK, pathSelected);
p3.addEventListener(MouseEvent.CLICK, pathSelected);
p4.addEventListener(MouseEvent.CLICK, pathSelected);
p5.addEventListener(MouseEvent.CLICK, pathSelected);
p6.addEventListener(MouseEvent.CLICK, pathSelected);
p7.addEventListener(MouseEvent.CLICK, pathSelected);
p8.addEventListener(MouseEvent.CLICK, pathSelected);
p9.addEventListener(MouseEvent.CLICK, pathSelected);
p0.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p1.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p2.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p3.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p4.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p5.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p6.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p7.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p8.addEventListener(MouseEvent.ROLL_OVER, pathOver);
p9.addEventListener(MouseEvent.ROLL_OVER, pathOver);
PathHighlight.x = p[GamePath].x;
PathHighlight.y = p[GamePath].y;
displaySelectedPathName();
goBut.addEventListener(MouseEvent.CLICK, gameGo);
backBut.addEventListener(MouseEvent.CLICK, backToMenu3, false, 0, true);
slider.addEventListener(MouseEvent.MOUSE_DOWN, startSliding, false, 0, true);
slider.addEventListener(MouseEvent.MOUSE_UP, stopSliding, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, stopSliding, false, 0, true);
slider.buttonMode = true;
setSlider();
}
function frame16(){
initCredits();
}
function frame12(){
initFileMenu();
}
function frame15(){
initGrats();
}
private function changeResourcer(_arg1:Event):void{
var _local2:Number;
_local2 = _arg1.currentTarget.name.slice(1, _arg1.currentTarget.name.length);
Towers[SelectedTower].ResourceSelector = _local2;
updateResourceSelector(_local2);
}
private function processUpgradeButs():void{
if (((!((SelectedTower == -1))) && ((keyProfile == "TowerMenu")))){
dimUnDimUpgradeBut(TowerMenu);
};
if (((!((SelectedTower == -1))) && ((keyProfile == "FridgeMenu")))){
dimUnDimUpgradeBut(FridgeMenu);
};
if (((!((SelectedTower == -1))) && ((keyProfile == "PowerMenu")))){
dimUnDimUpgradeBut(PowerMenu);
};
if (((!((SelectedTower == -1))) && ((keyProfile == "ResearchMenu")))){
dimUnDimUpgradeBut(ResearchMenu);
};
if (((!((SelectedTower == -1))) && ((keyProfile == "MineMenu")))){
dimUnDimUpgradeBut(MineMenu);
};
if (((!((SelectedTower == -1))) && ((keyProfile == "ResourcerMenu")))){
dimUnDimUpgradeBut(ResourcerMenu);
};
}
function frame11(){
stop();
initMenuScreenDisplay();
}
private function versComp(_arg1:MouseEvent):void{
gotoAndStop("versionComplaint");
}
private function runKeyboardControls():void{
var n:Number;
if (keyui.isDown(72)){
so.data.configNoHints = false;
try {
so.flush();
DisplayError("Hints On", true);
} catch(e:Error) {
DisplayError("Unable to save to config");
};
displayHint(142);
hintsDisplayed[142] = false;
so.data.configHintsDisplayed = hintsDisplayed;
try {
so.flush();
} catch(e:Error) {
};
wannaResetHints();
keyui.resetKey(72);
};
if (keyui.isDown(84)){
so.data.configNoTutorial = false;
try {
so.flush();
} catch(e:Error) {
};
keyui.resetKey(84);
displayTutorial();
};
if (keyui.isDown(90)){
keyui.resetKey(Keyboard.LEFT);
keyui.resetKey(Keyboard.RIGHT);
keyui.resetKey(Keyboard.UP);
keyui.resetKey(Keyboard.DOWN);
if (PathData.myXml.Path[GamePath].ZoomEnabled){
displayHint(139);
if (zoomToggle){
zoomToggle = false;
storedUGHx = ((-(((mouseX - UGH.x) - UUGH.x)) / UUGH.scaleX) + (screenWidth / 2));
storedUGHy = ((-(((mouseY - UGH.y) - UUGH.y)) / UUGH.scaleY) + (screenHeight / 2));
} else {
zoomToggle = true;
};
keyui.resetKey(90);
};
};
if (!keyui.isDown(77)){
if (laidMoreThanOneTower == true){
if (stage.contains(TPC)){
removeChild(TPC);
towerToBePlaced = -1;
};
};
};
if (((keyui.isDown(67)) && ((gameDifficulty == 1)))){
Cash = (Cash + 100);
ore_arrays[0] = (Number(ore_arrays[0]) + 10);
ore_arrays[1] = (Number(ore_arrays[1]) + 10);
ore_arrays[2] = (Number(ore_arrays[2]) + 10);
ore_arrays[3] = (Number(ore_arrays[3]) + 10);
gotGunResearch = true;
gotBombResearch = true;
gotSlowResearch = true;
gotMineResearch = true;
gotCashResearch = true;
};
if (keyui.isDown(187)){
keyui.resetKey(187);
speedUp();
};
if (keyui.isDown(189)){
keyui.resetKey(189);
speedDown();
};
n = 49;
while (n < 55) {
if (keyui.isDown(n)){
keyui.resetKey(n);
switchControlTab2((n - 48));
};
n = (n + 1);
};
if (keyProfile == "Normal"){
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
keyProfile = "Normal";
ControlScreen.gotoAndStop(1);
};
};
if (keyProfile == "Placing Tower"){
if (keyui.isDown(27)){
cancelTower2();
keyui.resetKey(27);
};
};
if (keyProfile == "TowerMenu"){
if (keyui.isDown(79)){
if (Towers[SelectedTower].On == true){
towerSwitchOff2();
} else {
towerSwitchOn2();
};
keyui.resetKey(79);
};
if (keyui.isDown(85)){
upgradeTower(TowerMenu);
keyui.resetKey(85);
};
if (keyui.isDown(83)){
keyui.resetKey(83);
confirmSellTower2();
};
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
CloseTowerMenu2();
keyProfile = "Normal";
};
};
if (keyProfile == "FridgeMenu"){
if (keyui.isDown(79)){
if (Towers[SelectedTower].On == true){
fridgeSwitchOff2();
} else {
fridgeSwitchOn2();
};
keyui.resetKey(79);
};
if (keyui.isDown(85)){
upgradeTower(FridgeMenu);
keyui.resetKey(85);
};
if (keyui.isDown(83)){
keyui.resetKey(83);
confirmSellTower2();
};
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
CloseFridgeMenu2();
keyProfile = "Normal";
};
};
if (keyProfile == "MineMenu"){
if (keyui.isDown(79)){
if (Towers[SelectedTower].On == true){
mineSwitchOff2();
} else {
mineSwitchOn2();
};
keyui.resetKey(79);
};
if (keyui.isDown(85)){
upgradeTower(MineMenu);
keyui.resetKey(85);
};
if (keyui.isDown(83)){
keyui.resetKey(83);
confirmSellTower2();
};
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
CloseMineMenu2();
keyProfile = "Normal";
};
};
if (keyProfile == "ResourcerMenu"){
if (keyui.isDown(79)){
if (Towers[SelectedTower].On == true){
resourcerSwitchOff2();
} else {
resourcerSwitchOn2();
};
keyui.resetKey(79);
};
if (keyui.isDown(85)){
upgradeTower(ResourcerMenu);
keyui.resetKey(85);
};
if (keyui.isDown(83)){
keyui.resetKey(83);
confirmSellTower2();
};
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
CloseResourcerMenu2();
keyProfile = "Normal";
};
};
if (keyProfile == "PowerMenu"){
if (keyui.isDown(85)){
upgradeTower(PowerMenu);
keyui.resetKey(85);
};
if (keyui.isDown(83)){
keyui.resetKey(83);
confirmSellTower2();
};
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
ClosePowerMenu2();
keyProfile = "Normal";
};
};
if (keyProfile == "ResearchMenu"){
if (keyui.isDown(85)){
upgradeTower(ResearchMenu);
keyui.resetKey(85);
};
if (((keyui.isDown(27)) || (keyui.isDown(69)))){
keyui.resetKey(27);
keyui.resetKey(69);
CloseResearchMenu2();
keyProfile = "Normal";
};
};
if (keyProfile == "ConfirmSell"){
if (((keyui.isDown(27)) || (keyui.isDown(78)))){
keyui.resetKey(78);
keyui.resetKey(27);
removeYesNo();
keyProfile = "TowerMenu";
};
if (((keyui.isDown(89)) || (keyui.isDown(13)))){
keyui.resetKey(89);
keyui.resetKey(13);
removeYesNo();
sellTower2();
keyProfile = "Normal";
resetAllMenus("Sold");
};
};
if (keyProfile == "ConfirmLoad"){
if (((keyui.isDown(27)) || (keyui.isDown(78)))){
keyui.resetKey(78);
keyui.resetKey(27);
removeYesNo();
keyProfile = "Normal";
};
if (((keyui.isDown(89)) || (keyui.isDown(13)))){
keyui.resetKey(89);
keyui.resetKey(13);
removeYesNo();
keyProfile = "Normal";
loadSlot3();
};
};
if (keyProfile == "ConfirmSave"){
if (((keyui.isDown(27)) || (keyui.isDown(78)))){
keyui.resetKey(78);
keyui.resetKey(27);
removeYesNo();
keyProfile = "Normal";
};
if (((keyui.isDown(89)) || (keyui.isDown(13)))){
keyui.resetKey(89);
keyui.resetKey(13);
removeYesNo();
keyProfile = "Normal";
saveSlot3();
};
};
if (keyProfile == "ConfirmQuit"){
if (((keyui.isDown(27)) || (keyui.isDown(78)))){
keyui.resetKey(78);
keyui.resetKey(27);
removeYesNo();
keyProfile = "Normal";
};
if (((keyui.isDown(89)) || (keyui.isDown(13)))){
keyui.resetKey(89);
keyui.resetKey(13);
removeYesNo();
keyProfile = "Normal";
quitGame2();
};
};
if (keyProfile == "ConfirmResetHints"){
if (((keyui.isDown(27)) || (keyui.isDown(78)))){
keyui.resetKey(78);
keyui.resetKey(27);
removeYesNo();
keyProfile = "Normal";
};
if (((keyui.isDown(89)) || (keyui.isDown(13)))){
keyui.resetKey(89);
keyui.resetKey(13);
removeYesNo();
resetHints2();
keyProfile = "Normal";
};
};
}
private function getRandomNumber(_arg1, _arg2):Number{
return ((int(Math.abs((Math.tan(_arg1) * 1000))) % _arg2));
}
function frame20(){
initUpdateBadVersionButtons();
callAdobe();
}
function frame21(){
initVersionComplaint();
}
private function initMenuScreenDisplay():void{
newBut.addEventListener(MouseEvent.CLICK, newGame);
loadBut.addEventListener(MouseEvent.CLICK, loadGameMenu);
credBut.addEventListener(MouseEvent.CLICK, goCredits);
armegaButton.addEventListener(MouseEvent.CLICK, callArmegalo);
siteButton.addEventListener(MouseEvent.CLICK, callFunnylishus);
pgBut.addEventListener(MouseEvent.CLICK, callSequel);
mgBut.addEventListener(MouseEvent.CLICK, callMoreGames);
sbBut.addEventListener(MouseEvent.CLICK, callScoreboards);
if (((!(gotRightVersion())) && (!((so.data.configNoUpdateEver == true))))){
setupVersComp();
};
}
function frame13(){
addLevelSelectButtons();
}
function frame10(){
gotoAndStop("menu");
}
public function gameGo(_arg1:Event):void{
removeLevelSelectButtons();
init();
boardsOff = false;
gotoAndStop("game");
}
private function waitToOpenNewBoard(_arg1:Event):void{
maBoardTimer = (maBoardTimer - 1);
if (maBoardTimer < 0){
MochiScores.showLeaderboard({boardID:boardToBeOpened, showTableRank:true, numScores:20, hideDoneButton:true, onClose:onBoardClosed, onError:boardError});
removeEventListener(Event.ENTER_FRAME, waitToOpenNewBoard);
};
}
private function unclickedLeft(_arg1:MouseEvent){
keyui.resetKey(Keyboard.LEFT);
}
public function onBoardClosed():void{
trace("board closed");
}
private function initConfig():void{
var i:Number;
if (so.data.configWritten != "Yes"){
try {
so.data.configNoHints = false;
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE IC1";
};
try {
so.data.configNoTutorial = false;
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE IC2";
};
try {
so.data.configWritten = "Yes";
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE IC3";
};
try {
i = 0;
while (i < 0xFF) {
hintsDisplayed[i] = false;
i = (i + 1);
};
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE IC4";
};
try {
so.data.configHintsDisplayed = hintsDisplayed;
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE IC5";
};
try {
so.flush();
} catch(e:Error) {
sys.systemMessage.text = "UNABLE TO INITIALISE CONFIG";
};
};
}
private function loadSlot2(_arg1:MouseEvent):void{
keyProfile = "Normal";
removeYesNo();
loadSlot3();
}
private function loadSlot3():void{
var _local1:String;
_local1 = loadAll(toBeDisced);
boardsOff = true;
if (_local1 == "Loaded OK"){
DisplayError(_local1, true);
} else {
DisplayError(_local1);
};
DisplayError(PathData.myXml.Path[GamePath].Details, true);
}
private function calculateInterest():void{
Interest = (1 + BaseInterest);
if (CashTechLevel > 0){
Interest = (Interest + (BaseInterest * CashTechLevel));
};
}
private function prevFramer(_arg1:MouseEvent){
myHints.prevFrame();
hintCount = 200;
}
private function onEnterFrame(_arg1:Event):void{
var _local2:Number;
if (permission){
stage.focus = this;
calculatePower();
playerFrameCounter = (playerFrameCounter + 1);
_local2 = 0;
while (_local2 < gameSpeed) {
runWaves();
runTowers();
runCreeps();
runMissiles();
runSmokeNExplosions();
systemFrameCounter = (systemFrameCounter + 1);
if (systemFrameCounter > 2000){
displayHint(144);
};
_local2++;
};
UpdateDisplay();
runGame();
runView();
runKeyboardControls();
runZooming();
showSelectedTower();
};
soundMod.processSoundCounters();
}
private function checkMoveOn(_arg1:Event):void{
var event = _arg1;
try {
if (currentLabel == "Intro1"){
if (sting.stingState == "finished"){
gotoAndStop("Intro2");
};
} else {
if (currentLabel == "Intro2"){
if (sting2.stingState == "finished"){
gotoAndStop("Intro3");
};
} else {
if (currentLabel == "Intro3"){
if (sting3.stingState == "finished"){
gotoAndStop("Intro4");
};
} else {
if (currentLabel == "Intro4"){
if (sting4.stingState == "finished"){
gotoAndStop("firstRun");
removeEventListener(Event.ENTER_FRAME, checkMoveOn);
};
};
};
};
};
} catch(e:Error) {
};
}
private function clearMenuScreenDisplay():void{
newBut.removeEventListener(MouseEvent.CLICK, newGame);
armegaButton.removeEventListener(MouseEvent.CLICK, callArmegalo);
siteButton.removeEventListener(MouseEvent.CLICK, callFunnylishus);
pgBut.removeEventListener(MouseEvent.CLICK, callSequel);
mgBut.removeEventListener(MouseEvent.CLICK, callMoreGames);
sbBut.removeEventListener(MouseEvent.CLICK, callScoreboards);
}
private function runWaves():void{
var _local1:String;
if ((((GAMEON == true)) && ((endGameFlag < 0)))){
wavetimer = (wavetimer + 1);
if ((((Creeps.length == 0)) && ((LevelFinishedOutputting == true)))){
LevelFinishedOutputting = false;
if (((!((saveAtEOWFlag == -1))) && ((endGameFlag < 0)))){
trace("function runWaves calling saveAll");
_local1 = saveAll(saveAtEOWFlag);
if (_local1 == "Saved OK"){
DisplayError(_local1, true);
} else {
DisplayError(_local1);
};
saveAtEOWFlag = -1;
};
wavetimer = 0;
creepcounter = 0;
CurrentWave = (CurrentWave + 1);
if (kongregateMode){
if (gameDifficulty == 6){
kongregate.stats.submit("NormalLevel", CurrentWave);
};
if (gameDifficulty == 10){
kongregate.stats.submit("ExtremeLevel", CurrentWave);
};
};
updateLevelInfo(CurrentWave);
creeptimerstop = currentLevelData.Timing;
creepcounterstop = currentLevelData.Quantity;
creeptimer = (creeptimerstop + 1);
updateCreepMessage(CurrentWave);
calculateInterest();
Cash = int((Cash * Interest));
};
creeptimer = (creeptimer + 1);
if ((((creeptimer > creeptimerstop)) && ((creepcounter < creepcounterstop)))){
initcreep();
creepcounter = (creepcounter + 1);
creeptimer = 0;
};
if (creepcounter == creepcounterstop){
LevelFinishedOutputting = true;
};
};
}
private function clickedLeft(_arg1:MouseEvent){
keyui.pressKey(Keyboard.LEFT);
}
private function prepTower(_arg1:MouseEvent){
var _local2:Number;
var _local3:Boolean;
_local2 = _arg1.currentTarget.name.slice(6, _arg1.currentTarget.name.length);
_local3 = checkTowerAvailable(_local2, false);
if (_local3 == true){
laidMoreThanOneTower = false;
towerToBePlaced = _local2;
placeTower(_local2);
if (!hintsDisplayed[135]){
displayHint(135);
} else {
if (!hintsDisplayed[136]){
displayHint(136);
} else {
if (((!(hintsDisplayed[138])) && (zoomToggle))){
displayHint(138);
} else {
if ((((((_local2 > 29)) && ((_local2 < 34)))) && (!(hintsDisplayed[146])))){
displayHint(146);
} else {
displayHint((100 + _local2));
};
};
};
};
};
}
public function checkTowerAvailable(_arg1:Number, _arg2:Boolean):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:String;
var _local9:Number;
var _local10:String;
var _local11:String;
var _local12:String;
var _local13:String;
var _local14:Boolean;
_local3 = TowerData.myXml.Tower[(_arg1 - 1)].Cost;
_local4 = TowerData.myXml.Tower[(_arg1 - 1)].GCost;
_local5 = TowerData.myXml.Tower[(_arg1 - 1)].RCost;
_local6 = TowerData.myXml.Tower[(_arg1 - 1)].BCost;
_local7 = TowerData.myXml.Tower[(_arg1 - 1)].WCost;
_local8 = TowerData.myXml.Tower[(_arg1 - 1)].Func;
_local9 = TowerData.myXml.Tower[(_arg1 - 1)].NumAllowed;
_local10 = TowerData.myXml.Tower[(_arg1 - 1)].Name;
_local11 = TowerData.myXml.Tower[(_arg1 - 1)].TechType;
_local12 = TowerData.myXml.Tower[(_arg1 - 1)].UGTechType;
_local13 = TowerData.myXml.Tower[(_arg1 - 1)].Level[0].TechReq;
_local14 = true;
if (_local9 < (towersGot[_arg1] + 1)){
_local14 = false;
if (!_arg2){
DisplayError(((("We can only have " + _local9) + " ") + _local10));
};
} else {
_local14 = TowerSelectionOKorNot(_local12, _local13, _arg2);
};
if (_local14){
_local14 = lookInPurse(_local3, _local4, _local5, _local6, _local7, _arg2);
};
if (_local14){
_local14 = checkNotBadFirstTower(_local8, _arg2);
};
return (_local14);
}
private function seeSlot(_arg1:MouseEvent):void{
var slot:Number;
var report:String;
var event = _arg1;
slot = event.currentTarget.name.slice(4, event.currentTarget.name.length);
report = ((((getSlotInfo(slot) + "\r\r") + "LOAD game from Slot ") + slot) + "?");
try {
} catch(e:Error) {
};
try {
currentInfo.mess.text = report;
} catch(e:Error) {
ControlScreen.currentInfo.mess.text = report;
};
}
private function removeYesNo():void{
if (this.contains(yn)){
removeChild(yn);
};
yn.yesbut.removeEventListener(MouseEvent.CLICK, quitGame);
yn.nobut.removeEventListener(MouseEvent.CLICK, dontQuitGame);
yn.yesbut.removeEventListener(MouseEvent.CLICK, SellTower);
yn.nobut.removeEventListener(MouseEvent.CLICK, dontSellTower);
yn.yesbut.removeEventListener(MouseEvent.CLICK, saveSlot2);
yn.nobut.removeEventListener(MouseEvent.CLICK, dontDiscGame);
yn.yesbut.removeEventListener(MouseEvent.CLICK, resetHints);
yn.nobut.removeEventListener(MouseEvent.CLICK, dontResetHints);
yn.yesbut.removeEventListener(MouseEvent.CLICK, loadSlot2);
yn.nobut.removeEventListener(MouseEvent.CLICK, dontDiscGame);
}
private function updateBadVersion2(_arg1:MouseEvent):void{
callAdobe();
}
private function TowerClicked(_arg1:MouseEvent){
var _local2:Number;
var _local3:*;
removeYesNo();
if (endGameFlag < 0){
removeTowerFlash(SelectedTower);
SelectedTower = _arg1.currentTarget.parent.parent.Thisis;
selectionStore = SelectedTower;
if (Towers[SelectedTower].Func == "Weapon"){
_local2 = -1;
_local3 = Towers[SelectedTower].TowerType;
resetAllMenus("Weapon");
updateTargetSystemDisplay(Towers[SelectedTower].TargetSystem);
if (Towers[SelectedTower].LockTarget == true){
lockTargetSystem2();
} else {
unlockTargetSystem2();
};
if (Towers[SelectedTower].On == true){
towerSwitchOn2();
} else {
towerSwitchOff2();
};
showRange(_arg1.currentTarget.parent.parent, _arg1.currentTarget.parent.parent.Range);
addChild(TowerMenu);
addEventListener(Event.ENTER_FRAME, updateWeaponTemp);
keyProfile = "TowerMenu";
UpdateTowerMenu();
TowerMenu.closebut.addEventListener(MouseEvent.CLICK, CloseTowerMenu, false, 0, true);
TowerMenu.upgradebut.addEventListener(MouseEvent.CLICK, TowerMenuClick, false, 0, true);
TowerMenu.sellbut.addEventListener(MouseEvent.CLICK, confirmSellTower, false, 0, true);
TowerMenu.ts0.addEventListener(MouseEvent.CLICK, targetSystemChange, false, 0, true);
TowerMenu.ts1.addEventListener(MouseEvent.CLICK, targetSystemChange, false, 0, true);
TowerMenu.ts2.addEventListener(MouseEvent.CLICK, targetSystemChange, false, 0, true);
TowerMenu.ts3.addEventListener(MouseEvent.CLICK, targetSystemChange, false, 0, true);
TowerMenu.ts4.addEventListener(MouseEvent.CLICK, targetSystemChange, false, 0, true);
TowerMenu.ts5.addEventListener(MouseEvent.CLICK, targetSystemChange, false, 0, true);
TowerMenu.lockBut.addEventListener(MouseEvent.CLICK, lockTargetSystem, false, 0, true);
TowerMenu.unlockBut.addEventListener(MouseEvent.CLICK, unlockTargetSystem, false, 0, true);
TowerMenu.onBut.addEventListener(MouseEvent.CLICK, towerSwitchOn, false, 0, true);
TowerMenu.offBut.addEventListener(MouseEvent.CLICK, towerSwitchOff, false, 0, true);
} else {
if (Towers[SelectedTower].Func == "Research"){
rangeCirc.graphics.clear();
resetAllMenus("Research");
addChild(ResearchMenu);
keyProfile = "ResearchMenu";
UpdateResearchMenu();
ResearchMenu.closebut.addEventListener(MouseEvent.CLICK, CloseResearchMenu, false, 0, true);
ResearchMenu.upgradebut.addEventListener(MouseEvent.CLICK, ResearchMenuClick, false, 0, true);
} else {
if (Towers[SelectedTower].Func == "OreMine"){
rangeCirc.graphics.clear();
resetAllMenus("OreMine");
addChild(MineMenu);
if (Towers[SelectedTower].On == true){
mineSwitchOn2();
} else {
mineSwitchOff2();
};
keyProfile = "MineMenu";
UpdateMineMenu();
MineMenu.onBut.addEventListener(MouseEvent.CLICK, mineSwitchOn, false, 0, true);
MineMenu.offBut.addEventListener(MouseEvent.CLICK, mineSwitchOff, false, 0, true);
MineMenu.closebut.addEventListener(MouseEvent.CLICK, CloseMineMenu, false, 0, true);
MineMenu.upgradebut.addEventListener(MouseEvent.CLICK, MineMenuClick, false, 0, true);
MineMenu.sellbut.addEventListener(MouseEvent.CLICK, confirmSellTower, false, 0, true);
} else {
if (Towers[SelectedTower].Func == "Power"){
rangeCirc.graphics.clear();
resetAllMenus("Power");
addChild(PowerMenu);
keyProfile = "PowerMenu";
UpdatePowerMenu();
PowerMenu.closebut.addEventListener(MouseEvent.CLICK, ClosePowerMenu, false, 0, true);
PowerMenu.upgradebut.addEventListener(MouseEvent.CLICK, PowerMenuClick, false, 0, true);
PowerMenu.sellbut.addEventListener(MouseEvent.CLICK, confirmSellTower, false, 0, true);
} else {
if (Towers[SelectedTower].Func == "Fridge"){
addEventListener(Event.ENTER_FRAME, updateFridgeTemp);
showRange(_arg1.currentTarget.parent.parent, _arg1.currentTarget.parent.parent.Range);
resetAllMenus("Fridge");
addChild(FridgeMenu);
if (Towers[SelectedTower].On == true){
fridgeSwitchOn2();
} else {
fridgeSwitchOff2();
};
keyProfile = "FridgeMenu";
UpdateFridgeMenu();
FridgeMenu.onBut.addEventListener(MouseEvent.CLICK, fridgeSwitchOn, false, 0, true);
FridgeMenu.offBut.addEventListener(MouseEvent.CLICK, fridgeSwitchOff, false, 0, true);
FridgeMenu.closebut.addEventListener(MouseEvent.CLICK, CloseFridgeMenu, false, 0, true);
FridgeMenu.upgradebut.addEventListener(MouseEvent.CLICK, FridgeMenuClick, false, 0, true);
FridgeMenu.sellbut.addEventListener(MouseEvent.CLICK, confirmSellTower, false, 0, true);
} else {
if (Towers[SelectedTower].Func == "Resource"){
rangeCirc.graphics.clear();
resetAllMenus("Resource");
addChild(ResourcerMenu);
addEventListener(Event.ENTER_FRAME, updateResourcerCount);
if (Towers[SelectedTower].On == true){
resourcerSwitchOn2();
} else {
resourcerSwitchOff2();
};
keyProfile = "ResourcerMenu";
UpdateResourcerMenu();
ResourcerMenu.closebut.addEventListener(MouseEvent.CLICK, CloseResourcerMenu, false, 0, true);
ResourcerMenu.upgradebut.addEventListener(MouseEvent.CLICK, ResourcerMenuClick, false, 0, true);
ResourcerMenu.sellbut.addEventListener(MouseEvent.CLICK, confirmSellTower, false, 0, true);
ResourcerMenu.onBut.addEventListener(MouseEvent.CLICK, resourcerSwitchOn, false, 0, true);
ResourcerMenu.offBut.addEventListener(MouseEvent.CLICK, resourcerSwitchOff, false, 0, true);
ResourcerMenu.r0.addEventListener(MouseEvent.CLICK, changeResourcer, false, 0, true);
ResourcerMenu.r1.addEventListener(MouseEvent.CLICK, changeResourcer, false, 0, true);
ResourcerMenu.r2.addEventListener(MouseEvent.CLICK, changeResourcer, false, 0, true);
ResourcerMenu.r3.addEventListener(MouseEvent.CLICK, changeResourcer, false, 0, true);
ResourcerMenu.r4.addEventListener(MouseEvent.CLICK, changeResourcer, false, 0, true);
} else {
removeTowerFlash(SelectedTower);
SelectedTower = -1;
};
};
};
};
};
};
};
}
private function laserCreep(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number){
var _local5:Number;
var _local6:*;
var _local7:*;
var _local8:Point;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local5 = 1;
if (_arg1.BurstDecay == "FadeOut"){
_local5 = (_arg1.BurstCount / _arg1.Burst);
} else {
if (_arg1.BurstDecay == "FadeIn"){
_local5 = ((-(_arg1.BurstCount) + _arg1.Burst) / _arg1.Burst);
} else {
if (_arg1.BurstDecay == "InOut"){
_local6 = (_arg1.Burst / 2);
_local7 = (_arg1.BurstCount / 2);
if (_arg1.BurstCount > _local6){
_local5 = ((-(_local7) + _local6) / _local6);
} else {
_local5 = (_local7 / _local6);
};
} else {
if (_arg1.BurstDecay == "ChargeNZap"){
if (_arg1.BurstCount > 2){
_local5 = 0.2;
} else {
_local5 = 3;
};
};
};
};
};
if (_arg1.Name == "Capacitator Tower"){
initBeam(_arg1, _arg1.x, _arg1.y, _arg2.x, _arg2.y, _arg3, (_arg4 * _local5), 3);
} else {
if (_arg1.Name == "Laser MegaTower"){
_local8 = math.getRotatedPos(-(_arg1.Tower.tow.TowerWep.rotation), 26);
initBeam(_arg1, (_arg1.x + _local8.x), (_arg1.y + _local8.y), _arg2.x, _arg2.y, _arg3, (_arg4 * _local5), 1);
} else {
_local9 = (_arg2.x - _arg1.x);
_local10 = (_arg2.y - _arg1.y);
_local11 = rangeIs(_local9, _local10);
initBeam(_arg1, (_arg1.x + (((_local9 / _local11) * _arg1.Size) / 1.8)), (_arg1.y + (((_local10 / _local11) * _arg1.Size) / 1.8)), _arg2.x, _arg2.y, 5, (_arg4 * _local5), 1);
};
};
damageCreep(_arg1, _arg2);
if (_arg1.Name == "Laser MegaTower"){
soundMod.soundLaser();
} else {
if (_arg1.Name == "Zap Tower"){
soundMod.soundZap();
} else {
if (_arg1.Name == "Capacitator Tower"){
if (_arg1.BurstCount > 2){
soundMod.soundCapaLoop();
} else {
if (_arg1.BurstCount == 2){
soundMod.soundCapacOut();
};
};
};
};
};
}
private function showTowerOn():void{
var _local1:ColorTransform;
_local1 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
Towers[SelectedTower].Tower.transform.colorTransform = _local1;
}
private function CloseTowerMenu(_arg1:MouseEvent){
CloseTowerMenu2();
}
private function CloseFridgeMenu(_arg1:MouseEvent){
CloseFridgeMenu2();
}
private function resetHints2():void{
var i:Number;
hintsDisplayed.splice(0);
i = 0;
while (i < 0xFF) {
hintsDisplayed[i] = false;
i = (i + 1);
};
so.data.configHintsDisplayed = hintsDisplayed;
try {
so.flush();
} catch(e:Error) {
DisplayError("Unable to save to config");
};
}
private function updateResourceSelector(_arg1:Number):void{
ResourcerMenu.r0.visible = true;
ResourcerMenu.r1.visible = true;
ResourcerMenu.r2.visible = true;
ResourcerMenu.r3.visible = true;
ResourcerMenu.r4.visible = true;
if (_arg1 == 0){
ResourcerMenu.r0.visible = false;
} else {
if (_arg1 == 1){
ResourcerMenu.r1.visible = false;
} else {
if (_arg1 == 2){
ResourcerMenu.r2.visible = false;
} else {
if (_arg1 == 3){
ResourcerMenu.r3.visible = false;
} else {
if (_arg1 == 4){
ResourcerMenu.r4.visible = false;
};
};
};
};
};
}
private function saveSlot(_arg1:MouseEvent):void{
var _local2:Number;
keyProfile = "ConfirmSave";
_local2 = _arg1.currentTarget.name.slice(4, _arg1.currentTarget.name.length);
toBeDisced = _local2;
initYesNo(("Save to Slot " + _local2), "Are you sure?");
yn.yesbut.addEventListener(MouseEvent.CLICK, saveSlot2, false, 0, true);
yn.nobut.addEventListener(MouseEvent.CLICK, dontDiscGame, false, 0, true);
}
private function preStartManagement(_arg1:Event):void{
var _local2:Number;
var _local3:int;
stage.focus = this;
runView();
runKeyboardControls();
runZooming();
UpdateDisplay();
playerFrameCounter = (playerFrameCounter + 1);
_local2 = 0;
while (_local2 < gameSpeed) {
_local3 = 0;
while (_local3 < Towers.length) {
if (Towers[_local3].fuse > 0){
Towers[_local3].fuse = (Towers[_local3].fuse - 1);
if (Towers[_local3].fuse < 1){
towersKilledThisFrame.push(_local3);
blowObject(Towers[_local3]);
explodeObject(Towers[_local3]);
};
};
if (Towers[_local3].WaitingTimer > 0){
Towers[_local3].WaitingTimer = (Towers[_local3].WaitingTimer - 1);
Towers[_local3].CT.gotoAndStop(int(((Towers[_local3].WaitingTimer / Towers[_local3].WaitingFrom) * 500)));
if (Towers[_local3].WaitingTimer < 1){
towerOn(_local3);
};
};
_local3++;
};
_local2++;
};
checkToKillTowers();
calculatePower();
showPurchasesAllowed();
showSelectedTower();
}
private function CloseTowerMenu3(_arg1:MouseEvent){
CloseTowerMenu2();
}
private function fridgeSwitchOff(_arg1:Event):void{
fridgeSwitchOff2();
}
private function updateFridgeTemp(_arg1:Event):void{
var t:Number;
var event = _arg1;
try {
t = Towers[SelectedTower].Temperature;
if (t < 0.001){
t = 0.001;
};
if (t > 1){
t = 1;
};
FridgeMenu.temp.gauge.scaleY = t;
} catch(e:Error) {
};
}
private function UpdatePowerMenu():void{
var _local1:Number;
var _local2:*;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:String;
var _local12:String;
_local1 = getAdvantage(Towers[SelectedTower].UGTechType);
_local2 = Towers[SelectedTower].TowerType;
_local3 = Towers[SelectedTower].Level;
_local4 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Cost;
_local5 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].GCost;
_local6 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].RCost;
_local7 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].BCost;
_local8 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].WCost;
_local9 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].TechReq;
if (_local9 < 0){
_local9 = 0;
};
_local10 = 0;
PowerMenu.towertype = _local2;
_local11 = ("Level " + _local3.toString());
_local12 = Towers[SelectedTower].Name;
PowerMenu.towername.text = ((_local12 + " : ") + _local11);
if (_local3 > -1){
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Power;
_local10 = Number(_local10.toFixed(2));
PowerMenu.towerpower.text = _local10.toString();
} else {
PowerMenu.towerpower.text = "N/A";
};
if (_local4 != -1){
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Power;
_local10 = Number(_local10.toFixed(2));
PowerMenu.towerpoweru.text = _local10.toString();
PowerMenu.costs.upgradecost.text = _local4.toString();
PowerMenu.costs.upgradetechreq.text = _local9.toString();
PowerMenu.costs.ores.g.txt.text = _local5.toString();
PowerMenu.costs.ores.r.txt.text = _local6.toString();
PowerMenu.costs.ores.b.txt.text = _local7.toString();
PowerMenu.costs.ores.w.txt.text = _local8.toString();
} else {
PowerMenu.towerpoweru.text = "N/A";
PowerMenu.costs.upgradecost.text = "N/A";
PowerMenu.costs.upgradetechreq.text = "N/A";
PowerMenu.costs.ores.g.txt.text = "N/A";
PowerMenu.costs.ores.r.txt.text = "N/A";
PowerMenu.costs.ores.b.txt.text = "N/A";
PowerMenu.costs.ores.w.txt.text = "N/A";
};
}
private function clearGameScreen():void{
var n:uint;
if (boardMaxX > screenWidth){
try {
DBGH.removeChild(sbLeft);
} catch(e:Error) {
};
try {
DBGH.removeChild(sbRight);
} catch(e:Error) {
};
};
if (boardMaxY > screenHeight){
try {
DBGH.removeChild(sbUp);
} catch(e:Error) {
};
try {
DBGH.removeChild(sbDown);
} catch(e:Error) {
};
};
n = 0;
while (n < Missiles.length) {
Missiles[n].killme();
n = (n + 1);
};
Missiles.splice(0);
n = 0;
while (n < Creeps.length) {
Creeps[n].killme();
n = (n + 1);
};
Creeps.splice(0);
calculateFinalScore();
n = 0;
while (n < Towers.length) {
TGH.removeChild(Towers[n]);
n = (n + 1);
};
Towers.splice(0);
n = 0;
while (n < Explosions.length) {
EGH.addChild(Explosions[n]);
n = (n + 1);
};
Explosions.splice(0);
removeChild(ControlScreen);
UGH.removeChild(PathSel);
UGH.removeChild(PathOverlay);
try {
if (DTGH.contains(PauseBut)){
showPauseIndi();
DTGH.removeChild(PauseBut);
};
} catch(e:Error) {
};
try {
if (DTGH.contains(StartBut)){
DTGH.removeChild(StartBut);
};
} catch(e:Error) {
};
try {
DBGH.removeChild(GamePanel);
} catch(e:Error) {
};
try {
DBGH.removeChild(Crr);
} catch(e:Error) {
};
try {
DBGH.removeChild(Car);
} catch(e:Error) {
};
GAMEON = false;
try {
removeChild(EndGameClip);
} catch(e:Error) {
};
UGH.removeChild(gameBorders);
stage.removeEventListener(Event.ACTIVATE, appActivate);
stage.removeEventListener(Event.DEACTIVATE, appDeactivate);
}
private function CloseTowerMenu2(){
if (this.contains(TowerMenu)){
try {
removeEventListener(Event.ENTER_FRAME, updateWeaponTemp);
removeChild(TowerMenu);
} catch(e:Error) {
};
TowerMenu.closebut.removeEventListener(MouseEvent.CLICK, CloseTowerMenu);
TowerMenu.upgradebut.removeEventListener(MouseEvent.CLICK, TowerMenuClick);
TowerMenu.sellbut.removeEventListener(MouseEvent.CLICK, confirmSellTower);
TowerMenu.ts0.removeEventListener(MouseEvent.CLICK, targetSystemChange);
TowerMenu.ts1.removeEventListener(MouseEvent.CLICK, targetSystemChange);
TowerMenu.ts2.removeEventListener(MouseEvent.CLICK, targetSystemChange);
TowerMenu.ts3.removeEventListener(MouseEvent.CLICK, targetSystemChange);
TowerMenu.ts4.removeEventListener(MouseEvent.CLICK, targetSystemChange);
TowerMenu.ts5.removeEventListener(MouseEvent.CLICK, targetSystemChange);
TowerMenu.lockBut.removeEventListener(MouseEvent.CLICK, lockTargetSystem);
TowerMenu.unlockBut.removeEventListener(MouseEvent.CLICK, unlockTargetSystem);
TowerMenu.onBut.removeEventListener(MouseEvent.CLICK, towerSwitchOn);
TowerMenu.offBut.removeEventListener(MouseEvent.CLICK, towerSwitchOff);
rangeCirc.graphics.clear();
removeTowerFlash(SelectedTower);
SelectedTower = -1;
};
}
private function qwikCPDPS(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local3 = qwikDPS(_arg1, _arg2);
_local4 = Towers[_arg1].TowerType;
_local5 = TowerData.myXml.Tower[(_local4 - 1)].Cost;
if (_arg2 > 0){
_local7 = 1;
while (_local7 < (_arg2 + 1)) {
_local5 = (_local5 + Number(TowerData.myXml.Tower[(_local4 - 1)].Level[_local7].Cost));
_local7++;
};
};
_local6 = (_local5 / _local3);
return (_local6);
}
private function lastControlScreen(_arg1:MouseEvent):void{
CloseTowerMenu2();
CloseResearchMenu2();
CloseMineMenu2();
if (endGameFlag < 0){
if (ControlScreen.currentFrame != 1){
ControlScreen.prevFrame();
} else {
ControlScreen.gotoAndStop(ControlScreen.totalFrames);
};
};
}
private function UpdateResearchMenu(){
var _local1:*;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:String;
var _local9:String;
var _local10:Number;
_local1 = Towers[SelectedTower].TowerType;
_local2 = Towers[SelectedTower].Level;
_local3 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].Cost;
_local4 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].GCost;
_local5 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].RCost;
_local6 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].BCost;
_local7 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].WCost;
ResearchMenu.towertype = _local1;
_local8 = ("Level " + _local2.toString());
_local9 = Towers[SelectedTower].Name;
ResearchMenu.towername.text = ((_local9 + " : ") + _local8);
if (_local2 > -1){
_local10 = TowerData.myXml.Tower[(_local1 - 1)].Level[_local2].Power;
_local10 = Number(_local10.toFixed(2));
ResearchMenu.towerpower.text = _local10.toString();
} else {
ResearchMenu.towerpower.text = "N/A";
};
if (_local3 != -1){
ResearchMenu.costs.upgradecost.text = _local3.toString();
ResearchMenu.costs.upgradetechreq.text = "N/A";
ResearchMenu.costs.ores.g.txt.text = _local4.toString();
ResearchMenu.costs.ores.r.txt.text = _local5.toString();
ResearchMenu.costs.ores.b.txt.text = _local6.toString();
ResearchMenu.costs.ores.w.txt.text = _local7.toString();
ResearchMenu.costs.upgradetechtype.text = "N/A";
_local10 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].Power;
_local10 = Number(_local10.toFixed(2));
ResearchMenu.towerpoweru.text = _local10.toString();
} else {
ResearchMenu.costs.upgradecost.text = "N/A";
ResearchMenu.costs.upgradetechreq.text = "N/A";
ResearchMenu.costs.upgradetechtype.text = "N/A";
ResearchMenu.costs.ores.g.txt.text = "N/A";
ResearchMenu.costs.ores.r.txt.text = "N/A";
ResearchMenu.costs.ores.b.txt.text = "N/A";
ResearchMenu.costs.ores.w.txt.text = "N/A";
};
}
private function viewScrollLeft():void{
UGH.x = (UGH.x + scrollSpeed);
checkScreenBoundries();
}
private function slowZoomToTower(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = (-(Towers[SelectedTower].x) + (screenWidth / 1.5));
_local3 = (-(Towers[SelectedTower].y) + (screenHeight / 1.5));
if (_local2 > -(boardMinX)){
_local2 = -(boardMinX);
};
if (_local2 < -((boardMaxX - screenWidth))){
_local2 = -((boardMaxX - screenWidth));
};
if (_local3 < (-(boardMaxY) + screenHeight)){
_local3 = (-(boardMaxY) + screenHeight);
};
if (_local3 > -(boardMinY)){
_local3 = -(boardMinY);
};
_local4 = ((UGH.x - _local2) / 2);
_local5 = ((UGH.y - _local3) / 2);
UGH.x = (UGH.x - _local4);
UGH.y = (UGH.y - _local5);
if ((((int((UGH.x / 10)) == int((_local2 / 10)))) && ((int((UGH.y / 10)) == int((_local3 / 10)))))){
removeEventListener(Event.ENTER_FRAME, slowZoomToTower);
};
}
private function getSlotInfo(_arg1:Number):String{
var _local2:String;
var _local3:Array;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = "";
_local3 = [];
_local4 = 0;
if (_arg1 == 1){
if (so.data.slot1 == undefined){
_local2 = "Slot 1 Empty";
} else {
_local3 = so.data.slot1;
};
};
if (_arg1 == 2){
if (so.data.slot2 == undefined){
_local2 = "Slot 2 Empty";
} else {
_local3 = so.data.slot2;
};
};
if (_arg1 == 3){
if (so.data.slot3 == undefined){
_local2 = "Slot 3 Empty";
} else {
_local3 = so.data.slot3;
};
};
if (_local3.length != 0){
_local5 = _local3[0];
_local6 = _local3[1];
_local7 = _local3[2];
_local8 = (_local3[3] + 2);
_local2 = ((((((PathData.myXml.Path[_local5].Details + "\rWave:") + _local8) + " Lives:") + _local6) + " Cash:") + _local7);
};
return (_local2);
}
private function updateLocalTowers():void{
var _local1:Number;
var _local2:Number;
_local1 = 0;
while (_local1 < Towers.length) {
Towers[_local1].Thisis = _local1;
Towers[_local1].LocalFridges.splice(0);
_local2 = 0;
while (_local2 < Towers.length) {
if ((((Towers[_local2].Func == "Fridge")) && (!((_local1 == _local2))))){
if (rangeIs((Towers[_local1].x - Towers[_local2].x), (Towers[_local1].y - Towers[_local2].y)) < Towers[_local2].Range){
Towers[_local1].LocalFridges.push(_local2);
};
};
_local2++;
};
_local1++;
};
}
private function noHintsPlease(_arg1:MouseEvent){
var event = _arg1;
DBGH.removeChild(myHints);
removeEventListener(Event.ENTER_FRAME, countDownToRemoveHint);
displayHint(141);
so.data.configNoHints = true;
try {
so.flush();
DisplayError("Press H at any time to turn hints back on", true);
} catch(e:Error) {
DisplayError("Unable to save to config");
};
}
private function ldr_processStars():void{
var _local1:uint;
_local1 = 0;
while (_local1 < ldr_stars.length) {
ldr_stars[_local1].star.x = (ldr_stars[_local1].star.x + ldr_stars[_local1].xs);
ldr_stars[_local1].star.y = (ldr_stars[_local1].star.y + ldr_stars[_local1].ys);
ldr_stars[_local1].xs = (ldr_stars[_local1].xs * ldr_universalAccel);
ldr_stars[_local1].ys = (ldr_stars[_local1].ys * ldr_universalAccel);
ldr_stars[_local1].scal = (ldr_stars[_local1].scal * ldr_universalAccel);
ldr_stars[_local1].star.scaleX = ldr_stars[_local1].scal;
ldr_stars[_local1].star.scaleY = ldr_stars[_local1].scal;
ldr_stars[_local1].star.rotation = -(ldr_SGH.rotation);
if (((((((((ldr_stars[_local1].star.x + (ldr_stars[_local1].star.width / 2)) < ldr_leftEdge)) || (((ldr_stars[_local1].star.y + (ldr_stars[_local1].star.height / 2)) < ldr_topEdge)))) || (((ldr_stars[_local1].star.x - (ldr_stars[_local1].star.width / 2)) > ldr_rightEdge)))) || (((ldr_stars[_local1].star.y - (ldr_stars[_local1].star.height / 2)) > ldr_bottomEdge)))){
ldr_SGH.removeChild(ldr_stars[_local1].star);
ldr_stars.splice(_local1, 1);
_local1--;
};
_local1++;
};
}
private function fridgeSwitchOn(_arg1:Event):void{
fridgeSwitchOn2();
}
private function blankControlScreenTowerDisplay():void{
var _local1:String;
_local1 = TowerData.myXml.DefaultInfo;
ControlScreen.Screen.towername.text = "";
ControlScreen.Screen.costs.upgradecost.text = "";
ControlScreen.Screen.costs.upgradetechreq.text = "";
ControlScreen.Screen.costs.upgradepowerreq.text = "";
ControlScreen.Screen.costs.visible = false;
ControlScreen.Screen.Info.text = _local1;
}
private function removeSRDisplay(_arg1:TimerEvent):void{
sR.visible = false;
sRTimer.removeEventListener(TimerEvent.TIMER, removeSRDisplay);
}
private function cancelTower2():void{
var towerType:Number;
towerType = TPC.towersHolder.currentFrame;
try {
if (TowerData.myXml.Tower[(towerType - 1)].Func == "Weapon"){
if (TPC.contains(rangeCirc)){
TPC.removeChild(rangeCirc);
};
};
if (stage.contains(TPC)){
removeChild(TPC);
towerToBePlaced = -1;
};
} catch(e:Error) {
};
removeEventListener(Event.ENTER_FRAME, onEnterFrameTowerCheck);
keyProfile = "Normal";
}
public function callArmegalo(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var event = _arg1;
url = "http://www.armegalo.com";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
private function quitGame2():void{
removeYesNo();
endGameCondition = "Quit";
initEndGame();
}
private function nextFramer(_arg1:MouseEvent){
myHints.nextFrame();
hintCount = 200;
}
private function closeTutorial2():void{
DTGH.removeChild(myHints2);
so.data.configNoTutorial = true;
try {
so.flush();
} catch(e:Error) {
};
DisplayError("You can call the tutorial at any time by pressing T", true);
}
public function callFunnylishus(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var event = _arg1;
url = "http://www.notdoppler.com";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
private function getAdvantage(_arg1:String){
var _local2:Number;
_local2 = 0;
if (_arg1 == "Gun"){
_local2 = GunTechLevel;
};
if (_arg1 == "Bomb"){
_local2 = BombTechLevel;
};
if (_arg1 == "Slow"){
_local2 = SlowTechLevel;
};
if (_arg1 == "Mine"){
_local2 = (MineTechLevel * 10);
};
if (_arg1 == "Cash"){
_local2 = CashTechLevel;
};
if (_arg1 == "Multi"){
_local2 = ((GunTechLevel + BombTechLevel) + SlowTechLevel);
};
if (_local2 == -1){
_local2 = 0;
};
_local2 = (1 + (_local2 / 25));
return (_local2);
}
private function appDeactivate(_arg1:Event):void{
}
private function blowObject(_arg1:Object){
var _local2:Number;
var _local3:uint;
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:*;
var _local8:Number;
var _local9:Number;
var _local10:Number;
if (_arg1.Splash < 1){
_arg1.Splash = 1;
};
_local4 = 1;
if (_arg1.Burst != -1){
if (_arg1.BurstDecay == "FadeOut"){
_local4 = (_arg1.BurstCount / _arg1.Burst);
};
if (_arg1.BurstDecay == "FadeIn"){
_local4 = ((-(_arg1.BurstCount) + _arg1.Burst) / _arg1.Burst);
} else {
if (_arg1.BurstDecay == "InOut"){
_local6 = (_arg1.Burst / 2);
_local7 = (_arg1.BurstCount / 2);
if (_arg1.BurstCount > _local6){
_local4 = ((-(_local7) + _local6) / _local6);
} else {
_local4 = (_local7 / _local6);
};
} else {
if (_arg1.BurstDecay == "ChargeNZap"){
if (_arg1.BurstCount > 1){
_local4 = 0.01;
} else {
_local4 = 1;
};
};
};
};
};
_local3 = 0;
while (_local3 < Creeps.length) {
if (isOnBoard(Creeps[_local3])){
_local5 = getDamageMod(_arg1, Creeps[_local3]);
_local8 = (_arg1.Damage * _local5);
_local9 = (_arg1.Scatter * _local5);
_local10 = (_arg1.Slow + ((1 - _arg1.Slow) * (1 - _local5)));
_local2 = rangeIs((_arg1.x - Creeps[_local3].xx), (_arg1.y - Creeps[_local3].yy));
if (_local2 < _arg1.Splash){
Creeps[_local3].CurrentHP = (Creeps[_local3].CurrentHP - ((-((_local8 * (_local2 / _arg1.Splash))) + _local8) * _local4));
Creeps[_local3].xo = (Creeps[_local3].xo + (((Math.random() * _local9) - (_local9 / 2)) * _local4));
Creeps[_local3].yo = (Creeps[_local3].yo + (((Math.random() * _local9) - (_local9 / 2)) * _local4));
if (Creeps[_local3].xo > scatterLimit){
Creeps[_local3].xo = scatterLimit;
};
if (Creeps[_local3].yo > scatterLimit){
Creeps[_local3].yo = scatterLimit;
};
if (Creeps[_local3].xo < -(scatterLimit)){
Creeps[_local3].xo = -(scatterLimit);
};
if (Creeps[_local3].yo < -(scatterLimit)){
Creeps[_local3].yo = -(scatterLimit);
};
Creeps[_local3].CurrentSP = (Creeps[_local3].CurrentSP * _local10);
if (_arg1.TechType == "Gravity"){
gravitate(Creeps[_local3], _arg1, _local5);
};
};
};
_local3++;
};
}
private function initDisplay():void{
TPC = new TowerPlacementController();
DBGH = new GameHolder();
UGH = new GameHolder();
UUGH = new GameHolder();
TGH = new GameHolder();
BGH = new GameHolder();
GH = new GameHolder();
RGH = new GameHolder();
MGH = new GameHolder();
EGH = new GameHolder();
gameBorders = new MovieClip();
topBT = new borTile();
bottomBT = new borTile();
leftBT = new borTile();
rightBT = new borTile();
PathSel = new PathSelector();
PathOverlay = new PathSelOver();
ControlScreen = new ControlScreenControl();
ControlScreen.myRoot = this;
StartBut = new StartButton();
PauseBut = new PauseButton();
QuitGameBut = new QuitGameBotty();
Err = new ErrorReadout();
Crr = new CreepReadout();
Car = new CashReadout();
TowerMenu = new TowerInfo();
ResearchMenu = new ResearchInfo();
MineMenu = new MineInfo();
PowerMenu = new PowerInfo();
ResourcerMenu = new ResourcerInfo();
FridgeMenu = new FridgeInfo();
GamePanel = new BottomPanel();
yn = new AreYouSure();
Border = new border();
sbLeft = new ascrollButton();
sbRight = new ascrollButton();
sbUp = new ascrollButton();
sbDown = new ascrollButton();
myHints = new Hints();
myHints2 = new bubbles();
UGH.addChild(PathSel);
UGH.addChild(RGH);
UGH.addChild(TGH);
UGH.addChild(GH);
UGH.addChild(BGH);
UGH.addChild(EGH);
UGH.addChild(MGH);
UGH.addChild(PathOverlay);
GH.mouseEnabled = false;
BGH.mouseEnabled = false;
RGH.mouseEnabled = false;
EGH.mouseEnabled = false;
MGH.mouseEnabled = false;
GH.mouseChildren = false;
BGH.mouseChildren = false;
RGH.mouseChildren = false;
EGH.mouseChildren = false;
MGH.mouseChildren = false;
UUGH.addChild(UGH);
addChild(UUGH);
addChild(DBGH);
addChild(ControlScreen);
addChild(Border);
Border.x = -599.8;
Border.y = -417.8;
PathSel.visible = false;
PathOverlay.visible = false;
tops();
stage.addEventListener(Event.ACTIVATE, appActivate);
stage.addEventListener(Event.DEACTIVATE, appDeactivate);
}
private function dontQuitGame(_arg1:MouseEvent){
removeYesNo();
}
private function mineSwitchOn(_arg1:Event):void{
mineSwitchOn2();
}
private function dimUnDimUpgradeBut(_arg1):void{
var newTrans:ColorTransform;
var myMenu = _arg1;
if (!towerUpgradeable(true)){
try {
newTrans = new ColorTransform(0.3, 0.3, 0.3, 0.9, 0, 0, 0, 0);
myMenu.upgradebut.transform.colorTransform = newTrans;
} catch(e:Error) {
};
} else {
try {
newTrans = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
myMenu.upgradebut.transform.colorTransform = newTrans;
} catch(e:Error) {
};
};
}
private function wannaResetHints():void{
initYesNo("Do you want to", "reset hints?");
keyProfile = "ConfirmResetHints";
yn.yesbut.addEventListener(MouseEvent.CLICK, resetHints, false, 0, true);
yn.nobut.addEventListener(MouseEvent.CLICK, dontResetHints, false, 0, true);
}
private function newGame(_arg1:Event):void{
clearMenuScreenDisplay();
gotoAndStop("levelSelect");
}
private function tops():void{
setChildIndex(DTGH, (numChildren - 1));
setChildIndex(Border, (numChildren - 1));
}
private function ResourcerMenuClick(_arg1:MouseEvent){
upgradeTower(ResourcerMenu);
}
private function noTower(_arg1:MouseEvent){
blankControlScreenTowerDisplay();
}
private function ldr_startStar():void{
var _local1:ldr_StarContainer;
var _local2:Number;
var _local3:Number;
var _local4:Object;
_local1 = new ldr_StarContainer();
do {
_local2 = ((Math.random() * ldr_starXS) - (ldr_starXS / 2));
_local3 = ((Math.random() * ldr_starYS) - (ldr_starYS / 2));
} while ((((((((_local2 < ldr_minSpeed)) && ((_local2 > -(ldr_minSpeed))))) && ((_local3 < ldr_minSpeed)))) && ((_local3 > -(ldr_minSpeed)))));
_local4 = {xs:_local2, ys:_local3, star:_local1, typeOfStar:int((Math.random() * 2)), scal:ldr_startScale};
if ((Math.random() * 200) < 1){
_local4.typeOfStar = 2;
};
_local4.star.x = ((_local4.xs * ((Math.random() * 2000) / ldr_startPoint)) * ldr_universalAccel);
_local4.star.y = ((_local4.ys * ((Math.random() * 2000) / ldr_startPoint)) * ldr_universalAccel);
_local4.star.gotoAndStop((_local4.typeOfStar + 1));
ldr_SGH.addChild(_local4.star);
ldr_stars.push(_local4);
}
private function speedUpClick(_arg1:MouseEvent):void{
speedUp();
}
private function fridgeSwitchOff2():void{
Towers[SelectedTower].On = false;
FridgeMenu.onBut.visible = true;
showTowerOff();
}
private function rotateCreepAfterOneFrame(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, rotateCreepAfterOneFrame);
}
private function reStartGame2():void{
var n:uint;
n = 0;
while (n < Missiles.length) {
Missiles[n].Missile.mis.play();
n = (n + 1);
};
removeEventListener(Event.ENTER_FRAME, pauseManagement);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
GAMEON = true;
try {
DBGH.removeChild(StartBut);
} catch(e:Error) {
};
try {
removePauseIndi();
DBGH.addChild(PauseBut);
} catch(e:Error) {
};
PauseBut.x = startButPos.x;
PauseBut.y = startButPos.y;
PauseBut.addEventListener(MouseEvent.CLICK, pauseGame);
gamePaused = false;
}
private function startAll():void{
if (skipIntros){
gotoAndPlay("firstRun");
} else {
gotoAndStop("Intro1");
addEventListener(Event.ENTER_FRAME, checkMoveOn);
};
}
private function dontDiscGame(_arg1:MouseEvent):void{
removeYesNo();
keyProfile = "Normal";
}
private function fridgeSwitchOn2():void{
Towers[SelectedTower].On = true;
FridgeMenu.onBut.visible = false;
showTowerOn();
}
private function initMoveArrows():void{
var noLR:Boolean;
var noUD:Boolean;
noLR = false;
noUD = false;
if (boardMaxX > screenWidth){
DBGH.addChild(sbRight);
sbRight.y = (screenHeight / 2);
sbRight.x = (screenWidth - (sbRight.width / 2));
DBGH.addChild(sbLeft);
sbLeft.rotation = 180;
sbLeft.y = (screenHeight / 2);
sbLeft.x = (sbLeft.width / 2);
sbLeft.addEventListener(MouseEvent.MOUSE_DOWN, clickedLeft, false, 0, true);
sbRight.addEventListener(MouseEvent.MOUSE_DOWN, clickedRight, false, 0, true);
sbLeft.addEventListener(MouseEvent.MOUSE_UP, unclickedLeft, false, 0, true);
sbRight.addEventListener(MouseEvent.MOUSE_UP, unclickedRight, false, 0, true);
} else {
noLR = true;
};
if (boardMaxY > screenHeight){
DBGH.addChild(sbUp);
sbUp.rotation = -90;
sbUp.y = (sbUp.height / 2);
sbUp.x = (screenWidth / 2);
DBGH.addChild(sbDown);
sbDown.rotation = 90;
sbDown.y = (screenHeight - (sbDown.height / 2));
sbDown.x = (screenWidth / 2);
sbUp.addEventListener(MouseEvent.MOUSE_DOWN, clickedUp, false, 0, true);
sbDown.addEventListener(MouseEvent.MOUSE_DOWN, clickedDown, false, 0, true);
sbUp.addEventListener(MouseEvent.MOUSE_UP, unclickedUp, false, 0, true);
sbDown.addEventListener(MouseEvent.MOUSE_UP, unclickedDown, false, 0, true);
} else {
noUD = true;
};
if (noLR){
try {
DBGH.removeChild(sbLeft);
DBGH.removeChild(sbRight);
} catch(e:Error) {
};
};
if (noUD){
try {
DBGH.removeChild(sbUp);
DBGH.removeChild(sbDown);
} catch(e:Error) {
};
};
}
private function updateWeaponTemp(_arg1:Event):void{
var t:Number;
var event = _arg1;
try {
t = Towers[SelectedTower].Temperature;
if (t < 0.001){
t = 0.001;
};
if (t > 1){
t = 1;
};
TowerMenu.temp.gauge.scaleY = t;
} catch(e:Error) {
};
}
private function killExplosions():void{
var i:Number;
i = (Explosions.length - 1);
while (i > -1) {
try {
EGH.removeChild(Explosions[i]);
inactiveExplosions.push(Explosions[i]);
} catch(e:Error) {
};
i = (i - 1);
};
Explosions.splice(0);
}
private function runCreeps():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:*;
_local5 = 0;
while (_local5 < Creeps.length) {
_local4 = (Creeps[_local5].CurrentHP / Creeps[_local5].MaxHP);
if (_local4 < 0){
_local4 = 0;
};
if (_local4 < 1){
Creeps[_local5].Creep.hpb.visible = true;
Creeps[_local5].Creep.hpb.bar.scaleX = _local4;
};
_local1 = (Creeps[_local5].xx - Creeps[_local5].TXpos);
_local2 = (Creeps[_local5].yy - Creeps[_local5].TYpos);
_local3 = rangeIs(_local1, _local2);
Creeps[_local5].xx = (Creeps[_local5].xx - ((_local1 / _local3) * Creeps[_local5].CurrentSP));
Creeps[_local5].yy = (Creeps[_local5].yy - ((_local2 / _local3) * Creeps[_local5].CurrentSP));
Creeps[_local5].x = (Creeps[_local5].xx + Creeps[_local5].xo);
Creeps[_local5].y = (Creeps[_local5].yy + Creeps[_local5].yo);
if (Creeps[_local5].CurrentSP < (Creeps[_local5].MaxSP / 2)){
Creeps[_local5].CurrentSP = (Creeps[_local5].MaxSP / 2);
};
if (Creeps[_local5].CurrentSP < Creeps[_local5].MaxSP){
Creeps[_local5].CurrentSP = (Creeps[_local5].CurrentSP * Creeps[_local5].RecoverSP);
};
if (Creeps[_local5].CurrentSP > Creeps[_local5].MaxSP){
Creeps[_local5].CurrentSP = Creeps[_local5].MaxSP;
};
if (Creeps[_local5].CurrentHP <= 0){
Cash = (Cash + Creeps[_local5].Worth);
killCreep(_local5);
} else {
if ((((Creeps[_local5].TXpos == -1)) && ((Creeps[_local5].TYpos == -1)))){
Lives = (Lives - 1);
killCreep(_local5);
} else {
if (_local3 < Creeps[_local5].NodeRange){
_local6 = Creeps[_local5].CurrentNode;
Creeps[_local5].CurrentNode = getNewNode(_local6, Creeps[_local5].PreviousNode, Creeps[_local5].Seed);
Creeps[_local5].Seed = rand.seed;
Creeps[_local5].PreviousNode = _local6;
Creeps[_local5].TXpos = PathData.myXml.Path[GamePath].Node[Creeps[_local5].CurrentNode].Xpos;
Creeps[_local5].TYpos = PathData.myXml.Path[GamePath].Node[Creeps[_local5].CurrentNode].Ypos;
rotateCreep(Creeps[_local5], Creeps[_local5].TXpos, Creeps[_local5].TYpos);
};
};
};
_local5++;
};
}
private function setupVersComp():void{
sys.systemMessage.text = "We have detected that you may need to upgrade your flash player to play this game\rClick here to update!!!";
sysbut.addEventListener(MouseEvent.CLICK, versComp, false, 0, true);
sysbut.y = 8.8;
trace("new vers complaint");
}
private function getLevel(_arg1:int):Object{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:String;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:*;
var _local33:*;
var _local34:Number;
var _local35:Number;
var _local36:Object;
_local2 = GamePath;
if (_local2 == 0){
_local2 = 10;
};
_local3 = _arg1;
_arg1 = (_arg1 + Number(PathData.myXml.Path[GamePath].WaveOffSet));
_local4 = 35;
_local5 = 1;
_local6 = 0.04;
_local7 = 0;
while (_local7 < levVarNeg.length) {
if (_local3 > levVarNeg[_local7]){
_local6 = (_local6 - ((_local3 - levVarNeg[_local7]) / 2000));
};
_local7++;
};
_local7 = 0;
while (_local7 < levVarPos.length) {
if (_local3 > levVarPos[_local7]){
_local6 = (_local6 + ((_local3 - levVarPos[_local7]) / 2000));
};
_local7++;
};
if (_local6 < 4E-5){
_local6 = 4E-5;
};
_local8 = int(((_arg1 + (_arg1 * _arg1)) * _local6));
_local17 = 1;
_local18 = 1;
_local19 = 1;
_local20 = 7;
_local21 = 7;
_local22 = (_arg1 + (_local2 * 300));
_local23 = Math.abs(Math.tan(_local22));
_local24 = Math.abs(Math.tan((_local22 / 2)));
_local25 = Math.abs(Math.tan((_local22 / 3.1)));
_local26 = Math.abs(Math.tan((_local22 / 4)));
_local27 = Math.abs(Math.tan((_local22 / 5)));
_local28 = 0.7;
_local29 = 1;
_local30 = 0;
_local31 = 1;
_local32 = (-(_local8) + 100);
_local33 = 1;
_local10 = (int(((_arg1 * _local2) % maxLevelGraphics)) + 1);
_local28 = (_local28 - (_local8 / 250));
if (_local28 < 0.3){
_local28 = 0.3;
};
if (_arg1 > 20){
_local30 = ((_arg1 - 20) / 4);
};
_local27 = (_local27 * 100);
_local27 = int(_local27);
if (_local27 > int((_local8 / 2))){
_local27 = int((_local8 / 2));
};
if (_local27 < -(int((_local8 / 2)))){
_local27 = -(int((_local8 / 2)));
};
if (_local8 > 60){
_local31 = performHPMod(_local8, _local31);
};
if (_local26 > 3){
_local19 = 0.53;
_local31 = performHPMod(_local8, _local31);
_local5 = (_local5 * 1.32);
};
if (_local25 > 3){
_local18 = 0.53;
_local31 = performHPMod(_local8, _local31);
_local5 = (_local5 * 1.32);
};
if (_local24 > 3){
_local17 = 0.53;
_local31 = performHPMod(_local8, _local31);
_local5 = (_local5 * 1.32);
};
if (_local23 < 1){
_local15 = 20;
} else {
if (_local23 < 2){
_local15 = 10;
} else {
if (_local23 < 5){
_local15 = 40;
if ((_local3 % _local20) != (_local20 - 2)){
_local31 = (_local31 + 0.2);
};
} else {
_local15 = 5;
};
};
};
if ((_local3 % _local20) == (_local21 - 1)){
_local9 = getName(_arg1, _local2, "FAST", _local10);
_local11 = int(((((_local8 * _local8) * _local28) + 10) * _local29));
_local12 = 1;
_local13 = 4;
_local14 = ((19 + int((_arg1 / 18))) + _local27);
_local15 = (_local15 / 2);
_local16 = (int(((_arg1 / 3.1) - _local30)) + 1);
_local33 = 0.4545454545;
} else {
_local9 = getName(_arg1, _local2, "", _local10);
_local11 = int(((((_local8 * _local8) * _local28) + 10) * _local29));
_local12 = 1;
_local13 = 2;
_local14 = ((20 + int((_arg1 / 16))) + _local27);
_local16 = (int(((_arg1 / 3.1) - _local30)) + 1);
_local33 = 1;
};
if ((_local3 % _local20) == (_local20 - 2)){
_local9 = getName(_arg1, _local2, "BOSS", _local10);
_local13 = (_local13 / 2);
if (int((_arg1 / 2)) == (_arg1 / 2)){
_local16 = (_local16 * 30);
_local33 = 6;
_local14 = 3;
} else {
_local16 = (_local16 * 60);
_local33 = 12;
_local14 = 1;
};
} else {
if (_local16 < 1){
_local16 = 1;
};
};
_local11 = (int((_local11 * _local31)) + _arg1);
_local16 = int((_local16 * _local5));
if (_local14 > _local4){
_local14 = _local4;
};
_local34 = (1 + ((gameDifficulty - 6) / 30));
if (gameDifficulty == 1){
_local34 = 1.5;
};
_local11 = (_local11 * _local34);
_local35 = 0;
while (PathData.myXml.Path[GamePath].levOffset[_local35] != undefined) {
if (PathData.myXml.Path[GamePath].levOffset[_local35].Level == (_local3 + 1)){
if (PathData.myXml.Path[GamePath].levOffset[_local35].HP != undefined){
_local11 = (_local11 + Number(PathData.myXml.Path[GamePath].levOffset[_local35].HP));
};
if (PathData.myXml.Path[GamePath].levOffset[_local35].Timing != undefined){
_local15 = (_local15 + Number(PathData.myXml.Path[GamePath].levOffset[_local35].Timing));
};
if (PathData.myXml.Path[GamePath].levOffset[_local35].Speed != undefined){
_local13 = (_local13 + Number(PathData.myXml.Path[GamePath].levOffset[_local35].Speed));
};
if (PathData.myXml.Path[GamePath].levOffset[_local35].Quantity != undefined){
_local14 = (_local14 + Number(PathData.myXml.Path[GamePath].levOffset[_local35].Quantity));
};
};
_local35 = (_local35 + 1);
};
_local35 = 0;
while (PathData.myXml.Path[GamePath].slopeOffset[_local35] != undefined) {
if (PathData.myXml.Path[GamePath].slopeOffset[_local35].Level < (_local3 + 1)){
if (PathData.myXml.Path[GamePath].slopeOffset[_local35].OPL != undefined){
_local11 = (_local11 + (((_local3 + 1) - Number(PathData.myXml.Path[GamePath].slopeOffset[_local35].Level)) * Number(PathData.myXml.Path[GamePath].slopeOffset[_local35].OPL)));
};
};
_local35 = (_local35 + 1);
};
_local11 = (_local11 * _local33);
if (_local11 < 5){
_local11 = 5;
};
_local36 = {Name:_local9, Type:_local10, HP:_local11, SlowResist:_local12, projectileMod:_local19, explosiveMod:_local18, electricMod:_local17, Speed:_local13, Quantity:_local14, Timing:_local15, Worth:_local16};
return (_local36);
}
private function killHints(_arg1:MouseEvent){
DBGH.removeChild(myHints);
removeEventListener(Event.ENTER_FRAME, countDownToRemoveHint);
}
private function initFileMenu():void{
load1.addEventListener(MouseEvent.CLICK, loadSlotFromMenu, false, 0, true);
load2.addEventListener(MouseEvent.CLICK, loadSlotFromMenu, false, 0, true);
load3.addEventListener(MouseEvent.CLICK, loadSlotFromMenu, false, 0, true);
load1.addEventListener(MouseEvent.MOUSE_OVER, seeSlot, false, 0, true);
load2.addEventListener(MouseEvent.MOUSE_OVER, seeSlot, false, 0, true);
load3.addEventListener(MouseEvent.MOUSE_OVER, seeSlot, false, 0, true);
load1.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
load2.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
load3.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
backBut.addEventListener(MouseEvent.CLICK, backToMenu3, false, 0, true);
}
private function callAdobe():void{
var url:String;
var request:URLRequest;
url = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
private function runZooming():void{
var _local1:Number;
if (zoomToggle){
zoomOut();
} else {
if (UUGH.scaleX < 0.999){
zoomBackIn();
if (zoomCounter > 0){
zoomCounter = 0;
};
zoomCounter = (zoomCounter - 1);
if (zoomCounter == -1){
UGH.x = (UGH.x - (UGH.x - storedUGHx));
UGH.y = (UGH.y - (UGH.y - storedUGHy));
};
checkScreenBoundries();
UUGH.y = (UUGH.y - ((UUGH.y - 0) / 2));
UUGH.x = (UUGH.x - ((UUGH.x - 0) / 2));
checkScreenBoundries();
};
};
if (towerToBePlaced != -1){
_local1 = (TowerData.myXml.Tower[(towerToBePlaced - 1)].Level[0].Range * getAdvantage(TowerData.myXml.Tower[(towerToBePlaced - 1)].UGTechType));
if (TowerData.myXml.Tower[(towerToBePlaced - 1)].Func == "Weapon"){
showRange2(TPC, _local1);
};
TPC.scaleX = UUGH.scaleX;
TPC.scaleY = UUGH.scaleY;
};
}
private function appActivate(_arg1:Event):void{
}
private function clickedRight(_arg1:MouseEvent){
keyui.pressKey(Keyboard.RIGHT);
}
private function cantAfford(_arg1:String){
if (gameDifficulty == 1){
DisplayError("Press C for more resources (only in Sandbox Mode)");
} else {
DisplayError(("We don't have enough " + _arg1));
};
}
private function backToMenu(_arg1:MouseEvent){
backToMenu2();
}
private function dontSellTower(_arg1:MouseEvent):void{
removeYesNo();
keyProfile = "TowerMenu";
}
private function detectObstacle(_arg1, _arg2, _arg3, _arg4):Boolean{
var _local5:Boolean;
var _local6:Number;
_local5 = false;
_local6 = (_arg4 * 0.75);
if (_arg1.hitTestPoint(_arg2, _arg3, true)){
_local5 = true;
};
if (_arg1.hitTestPoint((_arg2 + _arg4), _arg3, true)){
_local5 = true;
};
if (_arg1.hitTestPoint((_arg2 - _arg4), _arg3, true)){
_local5 = true;
};
if (_arg1.hitTestPoint(_arg2, (_arg3 + _arg4), true)){
_local5 = true;
};
if (_arg1.hitTestPoint(_arg2, (_arg3 - _arg4), true)){
_local5 = true;
};
if (_arg1.hitTestPoint((_arg2 + _local6), (_arg3 + _local6), true)){
_local5 = true;
};
if (_arg1.hitTestPoint((_arg2 - _local6), (_arg3 - _local6), true)){
_local5 = true;
};
if (_arg1.hitTestPoint((_arg2 - _local6), (_arg3 + _local6), true)){
_local5 = true;
};
if (_arg1.hitTestPoint((_arg2 + _local6), (_arg3 - _local6), true)){
_local5 = true;
};
return (_local5);
}
private function getDamageMod(_arg1:Object, _arg2:Object):Number{
var _local3:Number;
_local3 = 1;
if (_arg1.UGTechType == "Gun"){
_local3 = _arg2.projectileMod;
} else {
if (_arg1.UGTechType == "Bomb"){
_local3 = _arg2.explosiveMod;
} else {
if (_arg1.UGTechType == "Slow"){
_local3 = _arg2.electricMod;
} else {
if (_arg1.UGTechType == "Multi"){
_local3 = (((_arg2.electricMod * _arg2.explosiveMod) * _arg2.projectileMod) * 1.6);
};
};
};
};
if (_local3 > 1){
_local3 = 1;
};
return (_local3);
}
private function displayHint(_arg1:Number):Boolean{
var myCheck:Boolean;
var ok:Boolean;
var num = _arg1;
ok = false;
if ((((so.data.configNoHints == true)) || ((endGameFlag > -1)))){
myCheck = false;
} else {
if (num == -1){
num = (100 + int((Math.random() * (myHints.totalFrames - 100))));
ok = true;
} else {
if (((((!(hintsDisplayed[num])) || ((num == 140)))) && ((hintContainers[num] == true)))){
ok = true;
};
};
if (ok){
hintsDisplayed[num] = true;
try {
so.data.configHintsDisplayed = hintsDisplayed;
so.flush();
} catch(e:Error) {
};
hintShowing = num;
myCheck = true;
DBGH.addChild(myHints);
DBGH.setChildIndex(myHints, 0);
myHints.y = 397;
myHints.gotoAndStop(num);
addEventListener(Event.ENTER_FRAME, countDownToRemoveHint);
hintCount = 1000;
myHints.toptions.panel.gotoAndPlay(1);
myHints.toptions.closeBut.addEventListener(MouseEvent.CLICK, killHints, false, 0, true);
myHints.toptions.noHints.addEventListener(MouseEvent.CLICK, noHintsPlease, false, 0, true);
};
};
return (myCheck);
}
private function placeTower(_arg1:Number):void{
var _local2:Number;
var _local3:String;
var _local4:Number;
addChild(TPC);
TPC.towersHolder.gotoAndStop(_arg1);
TPC.startDrag(true);
_local2 = TowerData.myXml.Tower[(_arg1 - 1)].Level[0].Range;
_local3 = TowerData.myXml.Tower[(_arg1 - 1)].UGTechType;
_local4 = getAdvantage(_local3);
_local2 = (_local2 * _local4);
if ((((TowerData.myXml.Tower[(_arg1 - 1)].Func == "Weapon")) || ((TowerData.myXml.Tower[(_arg1 - 1)].Func == "Fridge")))){
showRange2(TPC, _local2);
};
TPC.addEventListener(MouseEvent.CLICK, dropTower);
keyProfile = "Placing Tower";
addEventListener(Event.ENTER_FRAME, onEnterFrameTowerCheck);
}
private function onEnterFrameUDL(_arg1:Event):void{
UDLWait = (UDLWait - 1);
if (UDLWait < 0){
removeEventListener(Event.ENTER_FRAME, onEnterFrameUDL);
updateLocalTowers();
};
}
private function updateResourcerCount(_arg1:Event):void{
var level:Number;
var towerType:Number;
var temp:Number;
var temp2:Number;
var event = _arg1;
try {
level = Towers[SelectedTower].Level;
towerType = Towers[SelectedTower].TowerType;
temp = TowerData.myXml.Tower[(towerType - 1)].Level[level].FireSP;
temp = Number(temp.toFixed(2));
temp2 = Towers[SelectedTower].reloadCount;
temp2 = Number(temp2.toFixed(2));
ResourcerMenu.towerspeedcount.text = temp2.toString();
} catch(e:Error) {
removeEventListener(Event.ENTER_FRAME, updateResourcerCount);
};
}
private function saveSlot2(_arg1:MouseEvent):void{
keyProfile = "Normal";
removeYesNo();
saveSlot3();
}
private function saveSlot3():void{
saveAtEOWFlag = toBeDisced;
DisplayError("Game will be saved at the END of this wave!", true);
}
private function resourcerSwitchOn(_arg1:Event):void{
resourcerSwitchOn2();
}
private function qwikDPS(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = getAdvantage(Towers[_arg1].UGTechType);
_local4 = Towers[_arg1].TowerType;
_local5 = getDamagePerSecond(Towers[SelectedTower].Name, (TowerData.myXml.Tower[(_local4 - 1)].Level[_arg2].Splash * _local3), (TowerData.myXml.Tower[(_local4 - 1)].Level[_arg2].Damage * _local3), TowerData.myXml.Tower[(_local4 - 1)].Level[_arg2].FireSP, TowerData.myXml.Tower[(_local4 - 1)].Level[_arg2].Burst, TowerData.myXml.Tower[(_local4 - 1)].Level[_arg2].BurstDecay, _arg2);
return (_local5);
}
private function killLoadScreenButtons():void{
load1.removeEventListener(MouseEvent.CLICK, loadSlotFromMenu);
load2.removeEventListener(MouseEvent.CLICK, loadSlotFromMenu);
load3.removeEventListener(MouseEvent.CLICK, loadSlotFromMenu);
load1.removeEventListener(MouseEvent.MOUSE_OVER, seeSlot);
load2.removeEventListener(MouseEvent.MOUSE_OVER, seeSlot);
load3.removeEventListener(MouseEvent.MOUSE_OVER, seeSlot);
load1.removeEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout);
load2.removeEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout);
load3.removeEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout);
}
private function updateLocalTowersDelayed():void{
UDLWait = 50;
addEventListener(Event.ENTER_FRAME, onEnterFrameUDL);
}
private function rotateTower(_arg1:Object, _arg2:Object){
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
_local5 = Math.atan2(_local4, _local3);
_arg1.Tower.tow.TowerWep.rotation = ((_local5 * 180) / Math.PI);
}
private function mineSwitchOff(_arg1:Event):void{
mineSwitchOff2();
}
private function isInRange(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
_local4 = Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2)));
if (_local4 < _arg3){
return (true);
};
return (false);
}
private function TowerMenuClick(_arg1:MouseEvent){
upgradeTower(TowerMenu);
}
private function goCredits(_arg1:MouseEvent):void{
gotoAndStop("credits");
}
private function unclickedUp(_arg1:MouseEvent){
keyui.resetKey(Keyboard.UP);
}
public function pathOver(_arg1:Event):void{
var _local2:uint;
var _local3:String;
_local2 = _arg1.currentTarget.name.slice(1, _arg1.currentTarget.name.length);
_local3 = getBoardStatus();
details.text = ((((PathData.myXml.Path[_local2].Details + " Difficulty=") + gameDifficulty) + " ") + _local3);
_arg1.currentTarget.addEventListener(MouseEvent.ROLL_OUT, pathOut);
}
private function towerUpgradeable(_arg1:Boolean):Boolean{
var OK:Boolean;
var level:Number;
var towerType:*;
var Cost:Number;
var GCost:Number;
var RCost:Number;
var BCost:Number;
var WCost:Number;
var TechReq:Number;
var UGTechType:String;
var noError = _arg1;
OK = false;
try {
if (((!((SelectedTower == -1))) && ((Towers[SelectedTower].WaitingTimer < 1)))){
level = Towers[SelectedTower].Level;
towerType = Towers[SelectedTower].TowerType;
Cost = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(level + 1)].Cost;
GCost = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(level + 1)].GCost;
RCost = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(level + 1)].RCost;
BCost = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(level + 1)].BCost;
WCost = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(level + 1)].WCost;
TechReq = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(level + 1)].TechReq;
UGTechType = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].UGTechType;
OK = TowerSelectionOKorNot(UGTechType, TechReq, noError);
if (Cost == -1){
OK = false;
if (!noError){
DisplayError("There are no more upgrades for this tower");
};
};
if (OK){
OK = lookInPurse(Cost, GCost, RCost, BCost, WCost, noError);
};
};
} catch(e:Error) {
};
return (OK);
}
private function SellTower(_arg1:MouseEvent){
possiblyUnstable = true;
soundMod.soundBuildingUp();
towersGot[Towers[SelectedTower].TowerType] = (towersGot[Towers[SelectedTower].TowerType] - 1);
Cash = (Cash + int((Towers[SelectedTower].TowerWorth * sellModifier)));
ore_arrays[0] = (Number(ore_arrays[0]) + int(Number((Towers[SelectedTower].GWorth * sellModifier))));
ore_arrays[1] = (Number(ore_arrays[1]) + int(Number((Towers[SelectedTower].RWorth * sellModifier))));
ore_arrays[2] = (Number(ore_arrays[2]) + int(Number((Towers[SelectedTower].BWorth * sellModifier))));
ore_arrays[3] = (Number(ore_arrays[3]) + int(Number((Towers[SelectedTower].WWorth * sellModifier))));
killTower(SelectedTower);
removeYesNo();
CloseTowerMenu3(_arg1);
CloseMineMenu2();
CloseFridgeMenu2();
keyProfile = "Normal";
SelectedTower = -1;
updateLocalTowers();
updateLocalTowersDelayed();
SelectedTower = -1;
}
private function updateTowersAdvantages():void{
var _local1:uint;
var _local2:uint;
var _local3:int;
var _local4:String;
var _local5:*;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = 0;
while (_local1 < Towers.length) {
if ((((Towers[_local1].Func == "Weapon")) || ((Towers[_local1].Func == "Fridge")))){
_local2 = Towers[_local1].TowerType;
_local3 = Towers[_local1].Level;
if (_local3 > -1){
_local4 = TowerData.myXml.Tower[(_local2 - 1)].UGTechType;
_local5 = getAdvantage(_local4);
_local6 = (TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Range * _local5);
_local7 = (TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Damage * _local5);
_local8 = (TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Splash * _local5);
Towers[_local1].Range = _local6;
Towers[_local1].Damage = _local7;
Towers[_local1].Splash = _local8;
};
};
_local1++;
};
if (this.contains(TowerMenu)){
UpdateTowerMenu();
};
}
private function boardError(_arg1):void{
sys.systemMessage.text = "ScoreBoard Error!!!";
sysbut.y = -68.8;
}
private function FridgeMenuClick(_arg1:MouseEvent){
upgradeTower(FridgeMenu);
}
private function towerOn(_arg1:uint){
var TechType:*;
var Advantage:Number;
var scal:Number;
var i = _arg1;
try {
if (Towers[i].Tower.contains(Towers[i].CT)){
Towers[i].Tower.removeChild(Towers[i].CT);
};
} catch(e:Error) {
};
try {
if (((stage.contains(TowerMenu)) && ((SelectedTower == i)))){
TowerMenu.gotoAndStop(1);
};
} catch(e:Error) {
};
try {
if (((stage.contains(ResearchMenu)) && ((SelectedTower == i)))){
ResearchMenu.gotoAndStop(1);
};
} catch(e:Error) {
};
try {
if (((stage.contains(MineMenu)) && ((SelectedTower == i)))){
MineMenu.gotoAndStop(1);
};
} catch(e:Error) {
};
try {
if (((stage.contains(PowerMenu)) && ((SelectedTower == i)))){
PowerMenu.gotoAndStop(1);
};
} catch(e:Error) {
};
try {
if (((stage.contains(ResourcerMenu)) && ((SelectedTower == i)))){
ResourcerMenu.gotoAndStop(1);
};
} catch(e:Error) {
};
try {
if (((stage.contains(FridgeMenu)) && ((SelectedTower == i)))){
FridgeMenu.gotoAndStop(1);
};
} catch(e:Error) {
};
Towers[i].Tower.detect.buttonMode = true;
Towers[i].Tower.detect.addEventListener(MouseEvent.CLICK, TowerClicked);
TechType = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].TechType;
Advantage = getAdvantage(Towers[i].UGTechType);
if (Towers[i].Func == "Research"){
if (Towers[i].Level == -1){
Towers[i].Level = 1;
} else {
Towers[i].Level = (Towers[i].Level + 1);
};
if (TechType == "Gun"){
GunTechLevel = Towers[i].Level;
} else {
if (TechType == "Bomb"){
BombTechLevel = Towers[i].Level;
} else {
if (TechType == "Slow"){
SlowTechLevel = Towers[i].Level;
} else {
if (TechType == "Mine"){
MineTechLevel = Towers[i].Level;
} else {
if (TechType == "Cash"){
CashTechLevel = Towers[i].Level;
};
};
};
};
};
if (SelectedTower == i){
UpdateResearchMenu();
};
updateTowersAdvantages();
} else {
if (Towers[i].Func == "Weapon"){
Towers[i].Level = (Towers[i].Level + 1);
Towers[i].Range = (TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Range * Advantage);
Towers[i].Damage = (TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Damage * Advantage);
Towers[i].FireSP = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].FireSP;
Towers[i].Slow = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Slow;
Towers[i].Scatter = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Scatter;
Towers[i].Burst = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Burst;
Towers[i].BurstDecay = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].BurstDecay;
Towers[i].HeatUpRate = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].HeatUpRate;
Towers[i].CoolDownRate = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].CoolDownRate;
Towers[i].Gravity = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Gravity;
Towers[i].Power = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Power;
Towers[i].Splash = (TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Splash * Advantage);
if (Towers[i].Name == "Shock Tower"){
scal = (Towers[i].Range / 70);
Towers[i].Tower.tow.TowerWep.scaleX = scal;
Towers[i].Tower.tow.TowerWep.scaleY = scal;
};
if (SelectedTower == i){
UpdateTowerMenu();
};
} else {
if (Towers[i].Func == "OreMine"){
Towers[i].Level = (Towers[i].Level + 1);
if (SelectedTower == i){
UpdateMineMenu();
};
} else {
if (Towers[i].Func == "Power"){
Towers[i].Level = (Towers[i].Level + 1);
Towers[i].Power = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Power;
if (SelectedTower == i){
UpdatePowerMenu();
};
} else {
if (Towers[i].Func == "Resource"){
Towers[i].Level = (Towers[i].Level + 1);
Towers[i].FireSP = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].FireSP;
if (SelectedTower == i){
UpdateResourcerMenu();
};
} else {
if (Towers[i].Func == "Fridge"){
Towers[i].Level = (Towers[i].Level + 1);
Towers[i].Range = (TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Range * Advantage);
Towers[i].HeatUpRate = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].HeatUpRate;
Towers[i].CoolDownRate = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].CoolDownRate;
Towers[i].Power = TowerData.myXml.Tower[(Towers[i].TowerType - 1)].Level[Towers[i].Level].Power;
if (SelectedTower == i){
UpdateFridgeMenu();
};
};
};
};
};
};
};
updateLocalTowers();
}
private function damageCreep(_arg1:Object, _arg2:Object){
var _local3:Number;
var _local4:uint;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:*;
var _local11:*;
_local5 = getDamageMod(_arg1, _arg2);
if (_arg1.Splash < 1){
_arg1.Splash = 1;
};
_local6 = 1;
if (_arg1.Burst != -1){
if (_arg1.BurstDecay == "FadeOut"){
_local6 = (_arg1.BurstCount / _arg1.Burst);
} else {
if (_arg1.BurstDecay == "FadeIn"){
_local6 = ((-(_arg1.BurstCount) + _arg1.Burst) / _arg1.Burst);
} else {
if (_arg1.BurstDecay == "InOut"){
_local10 = (_arg1.Burst / 2);
_local11 = (_arg1.BurstCount / 2);
if (_arg1.BurstCount > _local10){
_local6 = ((-(_local11) + _local10) / _local10);
} else {
_local6 = (_local11 / _local10);
};
} else {
if (_arg1.BurstDecay == "ChargeNZap"){
if (_arg1.BurstCount > 1){
_local6 = 0.02;
} else {
_local6 = 3;
};
};
};
};
};
};
_local7 = (_arg1.Damage * _local5);
_local8 = (_arg1.Scatter * _local5);
_local9 = (_arg1.Slow + ((1 - _arg1.Slow) * (1 - _local5)));
_local4 = 0;
while (_local4 < Creeps.length) {
if (isOnBoard(Creeps[_local4])){
_local3 = rangeIs((_arg2.xx - Creeps[_local4].xx), (_arg2.yy - Creeps[_local4].yy));
if (_local3 < _arg1.Splash){
Creeps[_local4].CurrentHP = (Creeps[_local4].CurrentHP - ((-((_local7 * (_local3 / _arg1.Splash))) + _local7) * _local6));
Creeps[_local4].xo = (Creeps[_local4].xo + (((Math.random() * _local8) - (_local8 / 2)) * _local6));
Creeps[_local4].yo = (Creeps[_local4].yo + (((Math.random() * _local8) - (_local8 / 2)) * _local6));
if (Creeps[_local4].xo > scatterLimit){
Creeps[_local4].xo = scatterLimit;
};
if (Creeps[_local4].yo > scatterLimit){
Creeps[_local4].yo = scatterLimit;
};
if (Creeps[_local4].xo < -(scatterLimit)){
Creeps[_local4].xo = -(scatterLimit);
};
if (Creeps[_local4].yo < -(scatterLimit)){
Creeps[_local4].yo = -(scatterLimit);
};
Creeps[_local4].CurrentSP = (Creeps[_local4].CurrentSP * _local9);
};
};
_local4++;
};
}
public function loadAll(_arg1:Number):String{
var report:String;
var loadedData:Array;
var n:Number;
var f:Number;
var i:Number;
var towerType:Number;
var newFunc:String;
var TechType:String;
var UGTechType:String;
var newLevel:Number;
var newSize:Number;
var newTargetSystem:Number;
var newLockTarget:Boolean;
var newRange:Number;
var newDamage:Number;
var newFireSP:Number;
var newSlow:Number;
var newSplash:Number;
var newScatter:Number;
var newBurst:Number;
var newBurstDecay:String;
var newHeatUpRate:Number;
var newCoolDownRate:Number;
var newGravity:Number;
var newName:String;
var newResetBurst:Boolean;
var xx:Number;
var yy:Number;
var TowerWorth:Number;
var GWorth:Number;
var RWorth:Number;
var BWorth:Number;
var WWorth:Number;
var ThisMine:Number;
var Power:Number;
var On:Boolean;
var BurstLock:Boolean;
var ReloadCount:Number;
var ResourceSelector:Number;
var expType:Number;
var Tower:Tower_controller;
var slot = _arg1;
trace("function loadAll");
report = "Loaded OK";
loadedData = [];
n = 0;
if (slot == 1){
if (so.data.slot1 == undefined){
report = "Slot 1 Empty";
} else {
loadedData = so.data.slot1;
};
};
if (slot == 2){
if (so.data.slot2 == undefined){
report = "Slot 2 Empty";
} else {
loadedData = so.data.slot2;
};
};
if (slot == 3){
if (so.data.slot3 == undefined){
report = "Slot 3 Empty";
} else {
loadedData = so.data.slot3;
};
};
if (loadedData.length != 0){
GamePath = loadedData[0];
initOre();
Lives = loadedData[1];
Cash = loadedData[2];
CurrentWave = loadedData[3];
GAMEON = loadedData[5];
endGameFlag = loadedData[6];
UGH.x = loadedData[7];
UGH.y = loadedData[8];
GunTechLevel = loadedData[9];
BombTechLevel = loadedData[10];
SlowTechLevel = loadedData[11];
MineTechLevel = loadedData[12];
CashTechLevel = loadedData[13];
gotGunResearch = loadedData[14];
gotBombResearch = loadedData[15];
gotSlowResearch = loadedData[16];
gotMineResearch = loadedData[17];
gotCashResearch = loadedData[18];
rand.seed = loadedData[19];
ore_arrays = new Array();
ore_arrays[0] = loadedData[21];
ore_arrays[1] = loadedData[22];
ore_arrays[2] = loadedData[23];
ore_arrays[3] = loadedData[24];
gameDifficulty = loadedData[25];
if (gameDifficulty == 1){
maxGameSpeed = 16;
} else {
maxGameSpeed = 4;
};
miningRecords.splice(0);
n = 100;
while (n < loadedData.length) {
miningRecords[(n - 100)] = loadedData[n];
n = (n + 1);
};
n = 0;
while (n < miningRecords.length) {
f = 0;
while (f < miningRecords[n].bites) {
biteOre(miningRecords[n].xx, miningRecords[n].yy);
f = (f + 1);
};
n = (n + 1);
};
UpdateDisplay();
boardMinX = 0;
boardMaxX = PathData.myXml.Path[GamePath].BoardWidth;
boardMinY = 0;
boardMaxY = PathData.myXml.Path[GamePath].BoardHeight;
setBorders();
if (GamePath != -1){
PathSel.gotoAndStop((GamePath + 1));
PathOverlay.gotoAndStop((GamePath + 1));
};
n = 0;
while (n < Creeps.length) {
GH.removeChild(Creeps[n]);
n = (n + 1);
};
Creeps = [];
LevelFinishedOutputting = true;
n = 0;
while (n < Towers.length) {
Towers[n].Tower.detect.removeEventListener(MouseEvent.CLICK, TowerClicked);
TGH.removeChild(Towers[n]);
n = (n + 1);
};
Towers = [];
i = 0;
while (i < 0xFF) {
towersGot[i] = 0;
i = (i + 1);
};
n = 0;
while (n < Missiles.length) {
MGH.removeChild(Missiles[n]);
n = (n + 1);
};
Missiles = [];
n = 0;
while (n < loadedData[4].length) {
towerType = loadedData[4][n].TowerType;
newFunc = loadedData[4][n].Func;
TechType = loadedData[4][n].TechType;
UGTechType = loadedData[4][n].UGTechType;
towersGot[towerType] = (towersGot[towerType] + 1);
if (newFunc == "Research"){
if (TechType == "Gun"){
gotGunResearch = true;
};
if (TechType == "Bomb"){
gotBombResearch = true;
};
if (TechType == "Slow"){
gotSlowResearch = true;
};
if (TechType == "Mine"){
gotMineResearch = true;
};
if (TechType == "Cash"){
gotCashResearch = true;
};
};
newLevel = loadedData[4][n].Level;
newSize = loadedData[4][n].Size;
newTargetSystem = loadedData[4][n].TargetSystem;
newLockTarget = loadedData[4][n].LockTarget;
newRange = loadedData[4][n].Range;
newDamage = loadedData[4][n].Damage;
newFireSP = loadedData[4][n].FireSP;
newSlow = loadedData[4][n].Slow;
newSplash = loadedData[4][n].Splash;
newScatter = loadedData[4][n].Scatter;
newBurst = loadedData[4][n].Burst;
newBurstDecay = loadedData[4][n].BurstDecay;
newHeatUpRate = loadedData[4][n].HeatUpRate;
newCoolDownRate = loadedData[4][n].CoolDownRate;
newGravity = loadedData[4][n].Gravity;
newName = loadedData[4][n].Name;
newResetBurst = loadedData[4][n].ResetBurst;
xx = loadedData[4][n].xx;
yy = loadedData[4][n].yy;
TowerWorth = loadedData[4][n].TowerWorth;
GWorth = loadedData[4][n].GWorth;
RWorth = loadedData[4][n].RWorth;
BWorth = loadedData[4][n].BWorth;
WWorth = loadedData[4][n].WWorth;
ThisMine = loadedData[4][n].ThisMine;
Power = loadedData[4][n].Power;
On = loadedData[4][n].On;
BurstLock = loadedData[4][n].BurstLock;
ReloadCount = loadedData[4][n].ReloadCount;
ResourceSelector = loadedData[4][n].ResourceSelector;
expType = loadedData[4][n].ExplosionType;
Tower = new Tower_controller(xx, yy, towerType, newRange, newDamage, newFireSP, newSplash, newScatter, newTargetSystem, newLockTarget, newBurst, newBurstDecay, newHeatUpRate, newCoolDownRate, newGravity, newSlow, Towers.length, newSize, newFunc, TechType, UGTechType, newName, TowerWorth, GWorth, RWorth, BWorth, WWorth, newResetBurst, newLevel, ThisMine, Power, On, BurstLock, ReloadCount, ResourceSelector, expType);
TGH.addChild(Tower);
Tower.Tower.detect.buttonMode = true;
Tower.Tower.detect.addEventListener(MouseEvent.CLICK, TowerClicked);
Towers.push(Tower);
SelectedTower = (Towers.length - 1);
if (Towers[SelectedTower].On == true){
showTowerOn();
} else {
showTowerOff();
};
if (loadedData[4][n].WaitingTimer > 0){
towerWait((Towers.length - 1), loadedData[4][n].WaitingTimer);
};
n = (n + 1);
};
rearrangeTowers();
n = 0;
while (n < Missiles.length) {
killMissile(n);
n = (n + 1);
};
gamePaused = true;
ControlScreen.gotoAndStop(1);
try {
showPauseIndi();
DBGH.removeChild(PauseBut);
} catch(e:Error) {
};
DBGH.addChild(StartBut);
StartBut.x = startButPos.x;
StartBut.y = startButPos.y;
StartBut.addEventListener(MouseEvent.CLICK, reStartGame);
removeEventListener(Event.ENTER_FRAME, preStartManagement);
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(Event.ENTER_FRAME, pauseManagement);
saveAtEOWFlag = -1;
initLevVars();
updateLocalTowersDelayed();
initMoveArrows();
};
updateLevelInfo((CurrentWave + 1));
updateCreepMessage((CurrentWave + 1));
boardsOff = true;
SelectedTower = -1;
return (report);
}
private function UGConvert(_arg1:String):String{
if (_arg1 == "Bomb"){
_arg1 = "EXPL";
} else {
if (_arg1 == "Slow"){
_arg1 = "ELEC";
} else {
if (_arg1 == "Gun"){
_arg1 = "GUN";
} else {
if (_arg1 == "Multi"){
_arg1 = "MULTI";
} else {
_arg1 = "NONE";
};
};
};
};
return (_arg1);
}
public function saveAll(_arg1:Number):String{
var report:String;
var savedData:Array;
var n:Number;
var TowerData:Array;
var details:Object;
var slot = _arg1;
report = "Saved OK";
savedData = [];
n = 0;
savedData[0] = GamePath;
savedData[1] = Lives;
savedData[2] = Cash;
savedData[3] = CurrentWave;
savedData[5] = GAMEON;
savedData[6] = endGameFlag;
savedData[7] = UGH.x;
savedData[8] = UGH.y;
savedData[9] = GunTechLevel;
savedData[10] = BombTechLevel;
savedData[11] = SlowTechLevel;
savedData[12] = MineTechLevel;
savedData[13] = CashTechLevel;
savedData[14] = gotGunResearch;
savedData[15] = gotBombResearch;
savedData[16] = gotSlowResearch;
savedData[17] = gotMineResearch;
savedData[18] = gotCashResearch;
savedData[19] = rand.seed;
savedData[21] = ore_arrays[0];
savedData[22] = ore_arrays[1];
savedData[23] = ore_arrays[2];
savedData[24] = ore_arrays[3];
savedData[25] = gameDifficulty;
n = 0;
while (n < miningRecords.length) {
savedData[(100 + n)] = miningRecords[n];
n = (n + 1);
};
TowerData = [];
n = 0;
while (n < Towers.length) {
details = {WaitingTimer:Towers[n].WaitingTimer, xx:Towers[n].x, yy:Towers[n].y, TowerType:Towers[n].TowerType, ResetBurst:Towers[n].ResetBurst, Range:Towers[n].Range, Damage:Towers[n].Damage, FireSP:Towers[n].FireSP, Splash:Towers[n].Splash, Scatter:Towers[n].Scatter, Burst:Towers[n].Burst, BurstDecay:Towers[n].BurstDecay, HeatUpRate:Towers[n].HeatUpRate, CoolDownRate:Towers[n].CoolDownRate, Slow:Towers[n].Slow, Size:Towers[n].Size, Func:Towers[n].Func, TechType:Towers[n].TechType, UGTechType:Towers[n].UGTechType, Name:Towers[n].Name, TowerWorth:Towers[n].TowerWorth, GWorth:Towers[n].GWorth, RWorth:Towers[n].RWorth, BWorth:Towers[n].BWorth, WWorth:Towers[n].WWorth, Gravity:Towers[n].Gravity, TargetSystem:Towers[n].TargetSystem, LockTarget:Towers[n].LockTarget, Level:Towers[n].Level, ThisMine:Towers[n].ThisMine, Power:Towers[n].Power, On:Towers[n].On, BurstLock:Towers[n].BurstLock, ReloadCount:Towers[n].reloadCount, ResourceSelector:Towers[n].ResourceSelector, ExplosionType:Towers[n].ExplosionType};
TowerData[n] = details;
n = (n + 1);
};
savedData[4] = TowerData;
try {
if (slot == 1){
so.data.slot1 = savedData;
};
if (slot == 2){
so.data.slot2 = savedData;
};
if (slot == 3){
so.data.slot3 = savedData;
};
so.flush();
} catch(e:Error) {
report = "UNABLE TO SAVE";
};
return (report);
}
private function quitGame(_arg1:MouseEvent):void{
quitGame2();
}
public function showPurchasesAllowed():void{
var myType:*;
var towersToCheck:Array;
var towerNumsToCheck:Array;
var OK:Boolean;
var newTrans:ColorTransform;
var n:Number;
if ((playerFrameCounter % 10) == 1){
myType = ControlScreen.currentFrame;
towersToCheck = [];
towerNumsToCheck = [];
if (myType == 2){
towersToCheck.push(ControlScreen.t20);
towersToCheck.push(ControlScreen.t30);
towersToCheck.push(ControlScreen.t9);
towersToCheck.push(ControlScreen.t14);
towersToCheck.push(ControlScreen.t4);
towersToCheck.push(ControlScreen.t1);
towerNumsToCheck = [20, 30, 9, 14, 4, 1];
} else {
if (myType == 3){
towersToCheck.push(ControlScreen.t21);
towersToCheck.push(ControlScreen.t31);
towersToCheck.push(ControlScreen.t13);
towersToCheck.push(ControlScreen.t15);
towersToCheck.push(ControlScreen.t5);
towersToCheck.push(ControlScreen.t19);
towersToCheck.push(ControlScreen.t10);
towersToCheck.push(ControlScreen.t2);
towerNumsToCheck = [21, 31, 13, 15, 5, 19, 10, 2];
} else {
if (myType == 4){
towersToCheck.push(ControlScreen.t22);
towersToCheck.push(ControlScreen.t32);
towersToCheck.push(ControlScreen.t12);
towersToCheck.push(ControlScreen.t6);
towersToCheck.push(ControlScreen.t11);
towersToCheck.push(ControlScreen.t26);
towersToCheck.push(ControlScreen.t3);
towersToCheck.push(ControlScreen.t16);
towersToCheck.push(ControlScreen.t17);
towerNumsToCheck = [22, 32, 12, 6, 11, 26, 3, 16, 17];
} else {
if (myType == 5){
towersToCheck.push(ControlScreen.t24);
towersToCheck.push(ControlScreen.t23);
towersToCheck.push(ControlScreen.t8);
towersToCheck.push(ControlScreen.t33);
towersToCheck.push(ControlScreen.t7);
towersToCheck.push(ControlScreen.t25);
towersToCheck.push(ControlScreen.t18);
towerNumsToCheck = [24, 23, 8, 33, 7, 25, 18];
};
};
};
};
if ((((myType > 1)) && ((myType < 6)))){
n = 0;
while (n < towerNumsToCheck.length) {
OK = checkTowerAvailable(towerNumsToCheck[n], true);
if (!OK){
try {
newTrans = new ColorTransform(0.3, 0.3, 0.3, 0.9, 0, 0, 0, 0);
towersToCheck[n].transform.colorTransform = newTrans;
} catch(e:Error) {
};
} else {
try {
newTrans = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
towersToCheck[n].transform.colorTransform = newTrans;
} catch(e:Error) {
};
};
n = (n + 1);
};
};
processUpgradeButs();
};
}
private function lastFramer(_arg1:MouseEvent){
myHints.gotoAndStop(myHints.totalFrames);
hintCount = 200;
}
private function countDownToRemoveHint(_arg1:Event):void{
var event = _arg1;
hintCount = (hintCount - 1);
try {
if (stage.contains(TPC)){
if (((TPC.towersHolder.hitTestObject(myHints)) && ((mouseY < 400)))){
dimHint();
} else {
unDimHint();
};
} else {
unDimHint();
};
} catch(e:Error) {
};
if (hintCount < 1){
removeEventListener(Event.ENTER_FRAME, countDownToRemoveHint);
DBGH.removeChild(myHints);
if (myHints.currentFrame == 1){
};
};
}
private function rotateObject2(_arg1:Object, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local4 = (_arg1.x - _arg2);
_local5 = (_arg1.y - _arg3);
_local6 = Math.atan2(_local5, _local4);
_arg1.rotation = ((_local6 * 180) / Math.PI);
}
private function resetTower(_arg1):void{
_arg1.BurstCount = 0;
_arg1.reloadCount = _arg1.FireSP;
}
private function getName(_arg1, _arg2, _arg3, _arg4):String{
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:String;
var _local11:String;
var _local12:Number;
var _local13:Number;
var _local14:String;
var _local15:Number;
_local5 = [""];
_local6 = _arg2;
if (_local6 == 0){
_local6 = 10;
};
_local7 = (_arg1 + (_local6 * 300));
_local8 = 5;
_local9 = 1;
_local10 = "";
_local11 = "";
if (_arg3 == ""){
_local12 = getRandomNumber((_local7 * 4), 7);
if (_local12 == 1){
_local11 = itemPreTitles[getRandomNumber((_local7 * 3), itemPreTitles.length)];
_local5.push(_local11);
};
} else {
_local5.push(_arg3);
};
_local13 = getRandomNumber((_local7 * 56), 2);
if (_local13 == 0){
if (getRandomNumber((_local7 * 78), 2) == 0){
_local12 = getRandomNumber((_local7 * 9), 2);
if (_local12 == 1){
_local11 = itemTitles[getRandomNumber((_local7 * 11), itemTitles.length)];
_local5.push(_local11);
};
_local12 = getRandomNumber((_local7 * 5), 2);
if (_local12 == 1){
_local11 = itemTitles2[getRandomNumber((_local7 * 5623), itemTitles2.length)];
_local5.push(_local11);
};
} else {
_local12 = getRandomNumber((_local7 * 798), 2);
if (_local12 == 1){
_local11 = itemTitles2[getRandomNumber((_local7 * 378), itemTitles2.length)];
_local5.push(_local11);
};
_local12 = getRandomNumber((_local7 * 9), 2);
if (_local12 == 1){
_local11 = itemTitles[getRandomNumber((_local7 * 56), itemTitles.length)];
_local5.push(_local11);
};
};
_local5.push("");
_local5 = getWerds(_arg1, _local7, _local5, _arg4);
_local12 = getRandomNumber((_local7 * 20), 4);
if (_local12 == 1){
_local11 = itemTitles[getRandomNumber((_local7 * 21), itemTitles.length)];
_local5.push(_local11);
};
_local5.push("");
if (getRandomNumber((_local7 * 21), 2) == 1){
_local5 = getWerds(_arg1, (_local7 * 34), _local5, _arg4);
};
} else {
if (_local13 == 1){
_local5.push("");
do {
if (getRandomNumber((_local7 * 231), 5) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + nameStarts[getRandomNumber((_local7 * 201), nameStarts.length)]);
};
if ((((((getRandomNumber((_local7 * 9691), 10) == 1)) && (!((_local5[(_local5.length - 1)].length == 0))))) || ((_local5[(_local5.length - 1)].length > 10)))){
_local5.push("");
};
if (getRandomNumber((_local7 * 27819), 15) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + itemNames[(_arg4 - 1)][getRandomNumber((_local7 * 99), itemNames[(_arg4 - 1)].length)]);
};
if ((((((getRandomNumber((_local7 * 27382), 10) == 1)) && (!((_local5[(_local5.length - 1)].length == 0))))) || ((_local5[(_local5.length - 1)].length > 10)))){
_local5.push("");
};
if (getRandomNumber((_local7 * 18231), 5) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + nameMids[getRandomNumber((_local7 * 301), nameMids.length)]);
};
if ((((((getRandomNumber((_local7 * 2849), 10) == 1)) && (!((_local5[(_local5.length - 1)].length == 0))))) || ((_local5[(_local5.length - 1)].length > 10)))){
_local5.push("");
};
if (getRandomNumber((_local7 * 37285), 15) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + itemNames[(_arg4 - 1)][getRandomNumber((_local7 * 109), itemNames[(_arg4 - 1)].length)]);
};
if ((((((getRandomNumber((_local7 * 9691), 10) == 1)) && (!((_local5[(_local5.length - 1)].length == 0))))) || ((_local5[(_local5.length - 1)].length > 10)))){
_local5.push("");
};
if (getRandomNumber((_local7 * 1231), 5) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + nameMids[getRandomNumber((_local7 * 3201), nameMids.length)]);
};
if ((((((getRandomNumber((_local7 * 9691), 10) == 1)) && (!((_local5[(_local5.length - 1)].length == 0))))) || ((_local5[(_local5.length - 1)].length > 10)))){
_local5.push("");
};
if (getRandomNumber((_local7 * 67231), 15) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + itemNames[(_arg4 - 1)][getRandomNumber((_local7 * 5785), itemNames[(_arg4 - 1)].length)]);
};
if ((((((getRandomNumber((_local7 * 97691), 10) == 1)) && (!((_local5[(_local5.length - 1)].length == 0))))) || ((_local5[(_local5.length - 1)].length > 10)))){
_local5.push("");
};
if (getRandomNumber((_local7 * 2231), 5) == 1){
_local5[(_local5.length - 1)] = (_local5[(_local5.length - 1)] + nameEnds[getRandomNumber((_local7 * 401), nameEnds.length)]);
};
_local7 = (_local7 + 0.1);
} while (_local5.length < 4);
};
};
_local14 = "";
_local15 = 0;
while (_local15 < _local5.length) {
if (_local15 < _local8){
_local5[_local15] = capsWord(_local5[_local15]);
if (_local5[_local15] != ""){
_local14 = (_local14 + (_local5[_local15] + " "));
};
};
_local15++;
};
return (_local14);
}
private function setBorders():void{
var _local1:*;
_local1 = 500;
topBT.scaleY = _local1;
topBT.scaleX = (boardMaxX + (_local1 * 2));
topBT.x = (boardMinX - _local1);
topBT.y = (boardMinY - _local1);
bottomBT.scaleY = _local1;
bottomBT.scaleX = (boardMaxX + (_local1 * 2));
bottomBT.x = (boardMinX - _local1);
bottomBT.y = boardMaxY;
leftBT.scaleX = _local1;
leftBT.scaleY = (boardMaxY + (_local1 * 2));
leftBT.x = (boardMinX - _local1);
leftBT.y = (boardMinY - _local1);
rightBT.scaleX = _local1;
rightBT.scaleY = (boardMaxY + (_local1 * 2));
rightBT.x = boardMaxX;
rightBT.y = (boardMinY - _local1);
UGH.addChild(gameBorders);
gameBorders.addChild(topBT);
gameBorders.addChild(bottomBT);
gameBorders.addChild(leftBT);
gameBorders.addChild(rightBT);
}
private function pauseGame(_arg1:MouseEvent):void{
pauseGame2();
}
private function getDamagePerSecond(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:Number):Number{
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
_local8 = 0;
_local9 = 0;
if (_arg5 == -1){
_local8 = (_arg3 / _arg4);
} else {
if (_arg6 == "Flat"){
_arg4 = (_arg4 + _arg5);
_arg3 = (_arg3 * _arg5);
_local8 = (_arg3 / _arg4);
} else {
if (_arg6 == "FadeOut"){
_local10 = 0;
while (_local10 < _arg5) {
_local9 = (_local9 + (_arg3 * (_local10 / _arg5)));
_local10++;
};
_arg4 = (_arg4 + _arg5);
_local8 = (_local9 / _arg4);
} else {
if (_arg6 == "ChargeNZap"){
_local9 = ((0.2 * _arg3) * (_arg5 - 2));
_local9 = (_local9 + ((3 * _arg3) * 2));
_arg4 = (_arg4 + _arg5);
_local8 = (_local9 / _arg4);
} else {
if (_arg6 == "FadeIn"){
_local10 = 0;
while (_local10 < _arg5) {
_local9 = (_local9 + (_arg3 * (_local10 / _arg5)));
_local10++;
};
_arg4 = (_arg4 + _arg5);
_local8 = (_local9 / _arg4);
} else {
if (_arg6 == "InOut"){
_local8 = -1;
} else {
_local8 = -2;
};
};
};
};
};
};
if (_arg1 == "Fat Missile Tower"){
_local8 = (_local8 * 2);
};
if (_arg1 == "FlameThrower"){
_local8 = (_local8 * 3);
};
if (_arg1 == "Cluster Grenade Tower"){
_local11 = MissileData.myXml.Cluster.Level[_arg7].MaxGenerations;
_local12 = MissileData.myXml.Cluster.Level[_arg7].ClusterQuantity;
_local8 = (_local8 * (_local11 * _local12));
};
if (_arg1 == "Shock Tower"){
_local8 = (_local8 * 4);
};
_local8 = (_local8 * 25);
return (_local8);
}
private function confirmSellTower2():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
keyProfile = "ConfirmSell";
_local1 = int(Number((Towers[SelectedTower].GWorth * sellModifier)));
_local2 = int(Number((Towers[SelectedTower].RWorth * sellModifier)));
_local3 = int(Number((Towers[SelectedTower].BWorth * sellModifier)));
_local4 = int(Number((Towers[SelectedTower].WWorth * sellModifier)));
initYesNo("Sell Tower", (("for " + int((Towers[SelectedTower].TowerWorth * sellModifier))) + " cash, plus..."), _local1, _local2, _local3, _local4);
yn.yesbut.addEventListener(MouseEvent.CLICK, SellTower);
yn.nobut.addEventListener(MouseEvent.CLICK, dontSellTower);
}
private function removeCreepDisplay(_arg1:TimerEvent):void{
DBGH.removeChild(Crr);
CrrTimer.removeEventListener(TimerEvent.TIMER, removeCreepDisplay);
}
private function gravitate(_arg1:Object, _arg2:Object, _arg3){
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local4 = (_arg1.xx - _arg2.x);
_local5 = (_arg1.yy - _arg2.y);
_local6 = rangeIs(_local4, _local5);
_arg1.xx = (_arg1.xx - ((_local4 / _local6) * ((_arg2.Gravity * _arg3) * (-(_local6) + _arg2.Range))));
_arg1.yy = (_arg1.yy - ((_local5 / _local6) * ((_arg2.Gravity * _arg3) * (-(_local6) + _arg2.Range))));
}
private function updateCreepMessage(_arg1:Number):void{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:String;
var _local10:String;
var _local11:String;
_local2 = " IMMUNES=";
_local3 = " IMMUNES=";
if (currentLevelData.projectileMod < 1){
_local2 = (_local2 + "Gun ");
};
if (currentLevelData.explosiveMod < 1){
_local2 = (_local2 + "Expl ");
};
if (currentLevelData.electricMod < 1){
_local2 = (_local2 + "Elec ");
};
if (nextLevelData.projectileMod < 1){
_local3 = (_local3 + "Gun ");
};
if (nextLevelData.explosiveMod < 1){
_local3 = (_local3 + "Expl ");
};
if (nextLevelData.electricMod < 1){
_local3 = (_local3 + "Elec ");
};
if (_local2 == " IMMUNES="){
_local2 = "";
};
if (_local3 == " IMMUNES="){
_local3 = "";
};
_local4 = currentLevelData.Worth;
_local5 = nextLevelData.Worth;
_local6 = 0;
_local7 = "";
_local6 = currentLevelData.HP;
_local7 = _local6.toFixed(0);
_local8 = ((("NOW: " + (_arg1 + 1)) + " ") + currentLevelData.Name);
_local9 = ((((("HP=" + _local7) + " CASH=") + _local4) + "") + _local2);
if (currentLevelData.Speed > 2){
_local9 = (_local9 + " - FAST");
};
_local8 = (_local8 + String.fromCharCode(13));
_local6 = nextLevelData.HP;
_local7 = _local6.toFixed(0);
_local10 = ((("NEXT: " + (_arg1 + 2)) + " ") + nextLevelData.Name);
_local11 = ((((("HP=" + _local7) + " CASH=") + _local5) + "") + _local3);
if (nextLevelData.Speed > 2){
_local11 = (_local11 + " - FAST");
};
DisplayCrr(_local8, _local9, _local10, _local11);
}
private function dimHint():void{
var newTrans:ColorTransform;
if (!hintsDimmed){
try {
newTrans = new ColorTransform(1, 1, 1, 0.2, 0, 0, 0, 0);
myHints.transform.colorTransform = newTrans;
} catch(e:Error) {
};
hintsDimmed = true;
};
}
private function CloseMineMenu2(){
try {
removeChild(MineMenu);
} catch(e:Error) {
};
MineMenu.closebut.removeEventListener(MouseEvent.CLICK, CloseMineMenu);
MineMenu.upgradebut.removeEventListener(MouseEvent.CLICK, MineMenuClick);
MineMenu.sellbut.removeEventListener(MouseEvent.CLICK, confirmSellTower);
removeTowerFlash(SelectedTower);
SelectedTower = -1;
}
private function UpdateResourcerMenu():void{
var _local1:Number;
var _local2:*;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:String;
var _local12:String;
_local1 = getAdvantage(Towers[SelectedTower].UGTechType);
_local2 = Towers[SelectedTower].TowerType;
_local3 = Towers[SelectedTower].Level;
updateResourceSelector(Towers[SelectedTower].ResourceSelector);
_local4 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Cost;
_local5 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].GCost;
_local6 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].RCost;
_local7 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].BCost;
_local8 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].WCost;
_local9 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].TechReq;
if (_local9 < 0){
_local9 = 0;
};
_local10 = 0;
ResourcerMenu.towertype = _local2;
_local11 = ("Level " + _local3.toString());
_local12 = Towers[SelectedTower].Name;
ResourcerMenu.towername.text = ((_local12 + " : ") + _local11);
if (_local3 > -1){
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Power;
_local10 = Number(_local10.toFixed(2));
ResourcerMenu.towerpower.text = _local10.toString();
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].FireSP;
_local10 = Number(_local10.toFixed(2));
ResourcerMenu.towerspeed.text = _local10.toString();
} else {
ResourcerMenu.towerpower.text = "N/A";
ResourcerMenu.towerspeed.text = "N/A";
};
if (_local4 != -1){
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Power;
_local10 = Number(_local10.toFixed(2));
ResourcerMenu.towerpoweru.text = _local10.toString();
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].FireSP;
_local10 = Number(_local10.toFixed(2));
ResourcerMenu.towerspeedu.text = _local10.toString();
ResourcerMenu.costs.upgradecost.text = _local4.toString();
ResourcerMenu.costs.upgradetechreq.text = _local9.toString();
ResourcerMenu.costs.ores.g.txt.text = _local5.toString();
ResourcerMenu.costs.ores.r.txt.text = _local6.toString();
ResourcerMenu.costs.ores.b.txt.text = _local7.toString();
ResourcerMenu.costs.ores.w.txt.text = _local8.toString();
} else {
ResourcerMenu.towerpoweru.text = "N/A";
ResourcerMenu.towerspeedu.text = "N/A";
ResourcerMenu.costs.upgradecost.text = "N/A";
ResourcerMenu.costs.upgradetechreq.text = "N/A";
ResourcerMenu.costs.ores.g.txt.text = "N/A";
ResourcerMenu.costs.ores.r.txt.text = "N/A";
ResourcerMenu.costs.ores.b.txt.text = "N/A";
ResourcerMenu.costs.ores.w.txt.text = "N/A";
};
}
public function showNewBoard(_arg1:MouseEvent):void{
var _local2:uint;
_local2 = _arg1.currentTarget.name.slice(1, _arg1.currentTarget.name.length);
showNewBoard2(scoreboardIDs[_local2]);
}
private function startGame2():void{
StartBut.removeEventListener(MouseEvent.CLICK, startGame);
removeEventListener(Event.ENTER_FRAME, preStartManagement);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
GAMEON = true;
DBGH.removeChild(StartBut);
DBGH.addChild(PauseBut);
removePauseIndi();
PauseBut.x = startButPos.x;
PauseBut.y = startButPos.y;
PauseBut.addEventListener(MouseEvent.CLICK, pauseGame);
}
private function switchControlTab(_arg1:MouseEvent){
var _local2:Number;
_local2 = _arg1.currentTarget.name.slice(3, _arg1.currentTarget.name.length);
switchControlTab2(_local2);
}
private function unclickedRight(_arg1:MouseEvent){
keyui.resetKey(Keyboard.RIGHT);
}
private function globalInit():void{
var n:Number;
try {
initVars();
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE GI1";
};
try {
pauseIndi = new Pauseness();
DTGH = new GameHolder();
addChild(DTGH);
soundMod = new soundModule();
DTGH.addChild(soundMod);
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE GI2";
};
try {
sR = new speedReport();
DTGH.addChild(sR);
sR.x = 550;
sR.visible = false;
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE GI3";
};
try {
initConfig();
} catch(e:Error) {
};
try {
initHintContents();
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE GI5";
};
try {
n = 0;
while (n < 5) {
alertCounters[n] = 0;
n = (n + 1);
};
} catch(e:Error) {
sys.systemMessage.text = "SYSTEM ERROR - CODE GI6";
};
}
private function mineSwitchOn2():void{
Towers[SelectedTower].On = true;
MineMenu.onBut.visible = false;
showTowerOn();
}
private function findMissileATarget(_arg1:Object){
var _local2:Boolean;
var _local3:Number;
_local2 = false;
_local3 = 0;
while (_local3 < Creeps.length) {
if (isInRange((Creeps[_local3].xx - _arg1.x), (Creeps[_local3].yy - _arg1.y), _arg1.Range)){
_arg1.Target = _local3;
_local2 = true;
break;
};
_local3++;
};
return (_local2);
}
private function initClusterExplosion(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:Number;
var _local7:Number;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:String;
var _local24:Number;
var _local25:Missile_controller;
_local2 = MissileData.myXml.child(_arg1.TechType).Level[_arg1.Level].StartSpeed;
_local3 = MissileData.myXml.child(_arg1.TechType).Level[_arg1.Level].MaxLife;
_local4 = MissileData.myXml.child(_arg1.TechType).Level[_arg1.Level].ClusterRange;
_local5 = MissileData.myXml.child(_arg1.TechType).Level[_arg1.Level].ClusterQuantity;
_local6 = MissileData.myXml.child(_arg1.TechType).Level[_arg1.Level].MaxGenerations;
_local7 = MissileData.myXml.child(_arg1.TechType).Level[_arg1.Level].ExpType;
_local8 = _arg1.Accel;
_local9 = _arg1.Friction;
_local10 = _arg1.Graphic;
_local11 = _arg1.Type;
_local21 = _arg1.Level;
_local22 = (_arg1.Generation + 1);
if (_local22 > _local6){
_local23 = "Bomb";
} else {
_local23 = "Cluster";
};
_local24 = 0;
while (_local24 < _local5) {
_local12 = ((_arg1.x + ((Math.random() * _local4) * 2)) - _local4);
_local13 = ((_arg1.y + ((Math.random() * _local4) * 2)) - _local4);
_local14 = (_local12 - _arg1.x);
_local15 = (_local13 - _arg1.y);
_local20 = rangeIs(_local14, _local15);
_local16 = _arg1.x;
_local17 = _arg1.y;
_local18 = (-((_local14 / _local20)) * _local2);
_local19 = (-((_local15 / _local20)) * _local2);
if (inactiveMissiles.length > 0){
_local25 = inactiveMissiles.pop();
_local25.recycle(_local16, _local17, _local18, _local19, _local12, _local13, _local10, _arg1.Range, _arg1.Damage, _arg1.Splash, _arg1.Scatter, _arg1.Burst, _arg1.Slow, _local8, _local9, Missiles.length, _arg1.Target, _local11, _local23, _local21, _local22, _local3, _local7);
} else {
_local25 = new Missile_controller(_local16, _local17, _local18, _local19, _local12, _local13, _local10, _arg1.Range, _arg1.Damage, _arg1.Splash, _arg1.Scatter, _arg1.Burst, _arg1.Slow, _local8, _local9, Missiles.length, _arg1.Target, _local11, _local23, _local21, _local22, _local3, _local7);
};
MGH.addChild(_local25);
Missiles.push(_local25);
_local24++;
};
}
private function startSliding(_arg1:MouseEvent):void{
var _local2:Rectangle;
_local2 = new Rectangle(slots.x, slider.y, (slots.width - slider.width), 0);
_arg1.target.startDrag(false, _local2);
}
private function startGame(_arg1:MouseEvent){
startGame2();
}
private function UpdateDisplay():void{
var _local1:String;
Car.Message.text = Lives;
Car.Message2.text = Cash;
calculateInterest();
_local1 = (String(int(((Interest - 1) * 100))) + "%");
Car.interest.text = _local1;
Car.Message3.text = powerDifference;
Car.ores.g.txt.text = int(ore_arrays[0]);
Car.ores.r.txt.text = int(ore_arrays[1]);
Car.ores.b.txt.text = int(ore_arrays[2]);
Car.ores.w.txt.text = int(ore_arrays[3]);
if ((((((((((ore_arrays[0] < 20)) && ((PathData.myXml.Path[GamePath].BonusG > 19)))) || ((((ore_arrays[1] < 20)) && ((PathData.myXml.Path[GamePath].BonusR > 19)))))) || ((((ore_arrays[2] < 20)) && ((PathData.myXml.Path[GamePath].BonusB > 19)))))) || ((((ore_arrays[3] < 20)) && ((PathData.myXml.Path[GamePath].BonusW > 19)))))){
displayHint(145);
};
showPurchasesAllowed();
OldCash = Cash;
}
private function explodeObject(_arg1:Object){
var _local2:ExplosionsControl;
if (endGameFlag < 97){
if (inactiveExplosions.length > 0){
_local2 = inactiveExplosions.pop();
} else {
me();
_local2 = new ExplosionsControl();
};
EGH.addChild(_local2);
_local2.gotoAndStop(_arg1.ExplosionType);
_local2.mouseEnabled = false;
Explosions.push(_local2);
_local2.x = _arg1.x;
_local2.y = _arg1.y;
};
}
private function updateLevelInfo(_arg1:Number):void{
var _local2:Number;
currentLevelData = getLevel(_arg1);
_local2 = GamePath;
if (_local2 == 0){
_local2 = 10;
};
rand.seed = (_arg1 * (_local2 * 300));
nextLevelData = getLevel((_arg1 + 1));
}
public function callMoreGames(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var event = _arg1;
url = "http://www.notdoppler.com";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
public function showBoards():void{
sys.systemMessage.text = "";
backBut.addEventListener(MouseEvent.CLICK, backToMenu5, false, 0, true);
mgBut.addEventListener(MouseEvent.CLICK, callMoreGames, false, 0, true);
b0.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b1.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b2.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b3.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b4.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b5.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b6.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b7.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b8.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b9.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b10.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b11.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b12.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b13.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b14.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b15.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b16.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b17.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b18.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
b19.addEventListener(MouseEvent.CLICK, showNewBoard, false, 0, true);
}
private function checkTowerPos(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:String;
var _local7:*;
var _local8:Boolean;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local1 = TPC.towersHolder.currentFrame;
_local2 = TowerData.myXml.Tower[(_local1 - 1)].Size;
_local3 = (_local2 / 2);
_local4 = (_local3 * UUGH.scaleX);
_local5 = TowerData.myXml.Tower[(_local1 - 1)].Name;
_local6 = TowerData.myXml.Tower[(_local1 - 1)].PathOrNot;
_local7 = 0;
_local8 = true;
_local9 = (((mouseX - UGH.x) - UUGH.x) / UUGH.scaleX);
_local10 = (((mouseY - UGH.y) - UUGH.y) / UUGH.scaleY);
if ((((((((_local9 < (0 + _local3))) || ((_local9 > (boardMaxX - _local3))))) || ((_local10 < (0 + _local3))))) || ((_local10 > (boardMaxY - _local3))))){
_local8 = false;
};
_local11 = 0;
while (_local11 < Towers.length) {
_local7 = (_local3 + (Towers[_local11].Size / 2));
_local9 = ((((TPC.x - UGH.x) - UUGH.x) / UUGH.scaleX) - Towers[_local11].x);
_local10 = ((((TPC.y - UGH.y) - UUGH.y) / UUGH.scaleY) - Towers[_local11].y);
if (isInRange(_local9, _local10, _local7)){
_local8 = false;
};
_local11++;
};
if (_local6 == "Side"){
if (detectObstacle(PathSel.detect1, TPC.x, TPC.y, _local4)){
_local8 = false;
};
} else {
if (_local6 == "Path"){
if (!detectObstacle(PathSel.detect1, TPC.x, TPC.y, 1)){
_local8 = false;
};
};
};
if (detectObstacle(PathSel.detect2, TPC.x, TPC.y, _local4)){
_local8 = false;
};
if (mouseY > (400 - _local4)){
_local8 = false;
};
return (_local8);
}
private function playGameNow(_arg1:MouseEvent):void{
removeChild(adBox);
playNowBut.removeEventListener(MouseEvent.CLICK, playGameNow);
armegaButton.removeEventListener(MouseEvent.CLICK, callArmegalo);
siteButton.removeEventListener(MouseEvent.CLICK, callFunnylishus);
startAll();
}
private function isOnBoard(_arg1:Object){
if ((((((((_arg1.x > boardMinX)) && ((_arg1.x < boardMaxX)))) && ((_arg1.y > boardMinY)))) && ((_arg1.y < boardMaxY)))){
return (true);
};
return (false);
}
private function stopSliding(_arg1:MouseEvent):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
stopDrag();
_local2 = (slots.width / 10);
_local3 = slots.x;
slider.x = (slider.x - _local3);
_local4 = int((slider.x = (slider.x / _local2)));
gameDifficulty = (_local4 + 1);
slider.x = (((_local3 + (_local4 * _local2)) + (_local2 / 2)) - (slider.width / 2));
displaySelectedPathName();
trace(("difficulty=" + gameDifficulty));
}
private function runView():void{
if (((keyui.isDown(Keyboard.DOWN)) && ((zoomCounter < 1)))){
viewScrollDown();
keyui.resetKey(Keyboard.UP);
};
if (((keyui.isDown(Keyboard.UP)) && ((zoomCounter < 1)))){
viewScrollUp();
keyui.resetKey(Keyboard.DOWN);
};
if (((keyui.isDown(Keyboard.RIGHT)) && ((zoomCounter < 1)))){
viewScrollRight();
keyui.resetKey(Keyboard.LEFT);
};
if (((keyui.isDown(Keyboard.LEFT)) && ((zoomCounter < 1)))){
viewScrollLeft();
keyui.resetKey(Keyboard.DOWN);
};
}
private function resourcerSwitchOff(_arg1:Event):void{
resourcerSwitchOff2();
}
public function initVersionComplaint():void{
var _local1:Array;
_local1 = returnJustVersionNumber();
versionText.text = String(_local1);
versionText2.text = (String(desiredVersions) + " or higher");
continueBut.addEventListener(MouseEvent.CLICK, ignoreBadVersion, false, 0, true);
updateBut.addEventListener(MouseEvent.CLICK, updateBadVersion, false, 0, true);
}
private function initYesNo(_arg1:String, _arg2:String="", _arg3:Number=-1, _arg4:Number=-1, _arg5:Number=-1, _arg6:Number=-1):void{
removeYesNo();
soundMod.soundQuestion();
addChild(yn);
yn.mess.text = _arg1;
if (_arg2 == ""){
yn.additionalmess.visible = false;
} else {
yn.additionalmess.visible = true;
yn.additionalmess.text = _arg2;
};
if (_arg3 == -1){
yn.ores.visible = false;
} else {
yn.ores.visible = true;
yn.ores.g.txt.text = _arg3;
yn.ores.r.txt.text = _arg4;
yn.ores.b.txt.text = _arg5;
yn.ores.w.txt.text = _arg6;
};
yn.x = ((550 / 2) - (yn.width / 2));
yn.y = ((400 / 2) - (yn.height / 2));
}
private function showRange2(_arg1:Object, _arg2:Number){
_arg1.addChild(rangeCirc);
rangeCirc.mouseEnabled = false;
rangeCirc.x = 0;
rangeCirc.y = 0;
rangeCirc.graphics.clear();
rangeCirc.graphics.lineStyle(1, 0);
rangeCirc.graphics.beginFill(0xFFFFFF, 0.15);
rangeCirc.graphics.drawCircle(0, 0, _arg2);
}
private function confirmSellTower(_arg1:MouseEvent):void{
confirmSellTower2();
}
private function rotateBoredTower(_arg1:Object){
var T = _arg1;
if (!possiblyUnstable){
if ((Math.random() * 50) < 1){
T.rotDir = 0;
};
if ((Math.random() * 200) < 1){
T.rotDir = int(((Math.random() * 7) - 3));
};
try {
T.Tower.tow.TowerWep.rotation = (T.Tower.tow.TowerWep.rotation + T.rotDir);
} catch(e:Error) {
};
};
}
private function CloseResearchMenu(_arg1:MouseEvent){
CloseResearchMenu2();
}
private function PowerMenuClick(_arg1:MouseEvent):void{
upgradeTower(PowerMenu);
}
private function viewScrollUp():void{
UGH.y = (UGH.y + scrollSpeed);
checkScreenBoundries();
}
public function closemabitch(_arg1:MouseEvent):void{
MochiScores.closeLeaderboard();
}
private function MineMenuClick(_arg1:MouseEvent){
upgradeTower(MineMenu);
}
private function blankSlotReadout(_arg1:MouseEvent):void{
var report:String;
var event = _arg1;
report = "Mouse over a Slot to see contents";
try {
currentInfo.mess.text = report;
} catch(e:Error) {
ControlScreen.currentInfo.mess.text = report;
};
}
private function showRange(_arg1:Object, _arg2:Number){
RGH.addChild(rangeCirc);
rangeCirc.mouseEnabled = false;
rangeCirc.x = _arg1.x;
rangeCirc.y = _arg1.y;
rangeCirc.graphics.clear();
rangeCirc.graphics.lineStyle(1, 0);
rangeCirc.graphics.beginFill(0xFFFFFF, 0.15);
rangeCirc.graphics.drawCircle(0, 0, _arg2);
}
private function resetAllMenus(_arg1:String):void{
removeTowerFlash(SelectedTower);
ControlScreen.gotoAndStop(1);
if (_arg1 != "Weapon"){
removeEventListener(Event.ENTER_FRAME, updateWeaponTemp);
CloseTowerMenu2();
};
if (_arg1 != "Research"){
CloseResearchMenu2();
};
if (_arg1 != "OreMine"){
CloseMineMenu2();
};
if (_arg1 != "Power"){
ClosePowerMenu2();
};
if (_arg1 != "Fridge"){
CloseFridgeMenu2();
};
if (_arg1 != "Resource"){
CloseResourcerMenu2();
};
if (_arg1 != "Sold"){
SelectedTower = selectionStore;
};
}
private function initEndGame():void{
endGameFlag = 0;
endGameFlag2 = endGameCondition;
removeEventListener(Event.ENTER_FRAME, updateResourcerCount);
removeEventListener(Event.ENTER_FRAME, countDownToRemoveHint);
try {
DBGH.removeChild(myHints);
} catch(e:Error) {
trace("Could not remove hint");
trace(e);
};
try {
closeTutorial2();
} catch(e:Error) {
trace("Could not remove tutorial");
trace(e);
};
try {
cancelTower2();
} catch(e:Error) {
trace("Could not cancel tower");
trace(e);
};
try {
soundMod.stopMusic();
} catch(e:Error) {
trace("Could not stop music");
trace(e);
};
try {
soundMod.muteLoops();
} catch(e:Error) {
trace("Could not mute loops");
trace(e);
};
try {
soundMod.musicScene = "Silent";
} catch(e:Error) {
trace("Could not change music scene");
trace(e);
};
try {
pauseGameForEnd();
} catch(e:Error) {
trace("Could not pause game for end");
trace(e);
};
try {
CloseResearchMenu2();
} catch(e:Error) {
trace("Could not close research menu");
trace(e);
};
try {
CloseTowerMenu2();
} catch(e:Error) {
trace("Could not close Tower Menu");
trace(e);
};
try {
CloseMineMenu2();
} catch(e:Error) {
trace("Could not Mine menu");
trace(e);
};
try {
if ((((endGameCondition == "Bad")) || ((endGameCondition == "Quit")))){
EndGameClip = new EndGame();
soundMod.soundEndGameBad();
} else {
EndGameClip = new EndGameGood();
soundMod.soundEndGameGood();
};
} catch(e:Error) {
trace("Could not endgamebad or endgame quit");
trace(e);
};
try {
addChild(EndGameClip);
EndGameClip.gotoAndPlay(2);
EndGameClip.x = 275;
EndGameClip.y = 200;
} catch(e:Error) {
trace("Could not add endgameclip");
trace(e);
};
}
private function removeErrorDisplay(_arg1:Event):void{
errTimer = (errTimer - 1);
if (errTimer <= 0){
removeEventListener(Event.ENTER_FRAME, removeErrorDisplay);
DTGH.removeChild(Err);
if (errorQueue.length > 0){
DisplayError(errorQueue.pop(), errorTypeQueue.pop());
};
};
}
private function unlockTargetSystem2():void{
Towers[SelectedTower].LockTarget = false;
TowerMenu.lockBut.visible = true;
}
private function loadSlotFromMenu(_arg1:MouseEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = _arg1.currentTarget.name.slice(4, _arg1.currentTarget.name.length);
_local3 = _local2;
toBeLoaded = _local2;
GamePath = 1;
if (_local3 == 1){
if (so.data.slot1 == undefined){
} else {
killLoadScreenButtons();
initLoad();
gotoAndStop("game");
};
};
if (_local3 == 2){
if (so.data.slot2 == undefined){
} else {
killLoadScreenButtons();
initLoad();
gotoAndStop("game");
};
};
if (_local3 == 3){
if (so.data.slot3 == undefined){
} else {
killLoadScreenButtons();
initLoad();
gotoAndStop("game");
};
};
}
function frame1(){
stop();
}
private function ldr_processRot():void{
ldr_SGH.rotation = (ldr_SGH.rotation + Math.sin((ldr_frameCounter / 200)));
}
function frame9(){
showBoards();
stop();
}
private function rotateCreep(_arg1:Object, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local4 = (_arg1.x - _arg2);
_local5 = (_arg1.y - _arg3);
_local6 = Math.atan2(_local5, _local4);
_arg1.Creep.dude.rotation = ((_local6 * 180) / Math.PI);
}
function frame7(){
removeEventListener(Event.ENTER_FRAME, checkMoveOn);
globalInit();
gotoAndStop("menu");
}
private function lookInPurse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Boolean{
var _local7:Boolean;
_local7 = true;
if (Cash < _arg1){
_local7 = false;
if (!_arg6){
cantAfford("Cash");
};
};
if (ore_arrays[0] < _arg2){
_local7 = false;
if (!_arg6){
cantAfford("Bananerite (Green)");
};
};
if (ore_arrays[1] < _arg3){
_local7 = false;
if (!_arg6){
cantAfford("Blattexide (Red)");
};
};
if (ore_arrays[2] < _arg4){
_local7 = false;
if (!_arg6){
cantAfford("Pavlovium (Blue)");
};
};
if (ore_arrays[3] < _arg5){
_local7 = false;
if (!_arg6){
cantAfford("Xuquinatum (Purple)");
};
};
return (_local7);
}
function frame3(){
sting.notDopplerBut.addEventListener(MouseEvent.CLICK, callFunnylishus);
}
private function UpdateMineMenu(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:String;
var _local11:String;
var _local12:Number;
var _local13:Number;
var _local14:String;
var _local15:String;
var _local16:Array;
var _local17:ColorTransform;
var _local18:Number;
_local1 = Towers[SelectedTower].TowerType;
_local2 = Towers[SelectedTower].Level;
_local3 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].Cost;
_local4 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].GCost;
_local5 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].RCost;
_local6 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].BCost;
_local7 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].WCost;
_local8 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].TechReq;
if (_local8 < 0){
_local8 = 0;
};
MineMenu.towertype = _local1;
_local10 = ("Level " + _local2.toString());
_local11 = Towers[SelectedTower].Name;
MineMenu.towername.text = ((_local11 + " : ") + _local10);
if (_local2 > -1){
_local9 = TowerData.myXml.Tower[(_local1 - 1)].Level[_local2].Power;
_local9 = Number(_local9.toFixed(2));
MineMenu.towerpower.text = _local9.toString();
} else {
MineMenu.towerpower.text = "N/A";
};
if (_local3 != -1){
MineMenu.costs.upgradecost.text = _local3.toString();
MineMenu.costs.upgradetechreq.text = _local8.toString();
MineMenu.costs.ores.g.txt.text = _local4.toString();
MineMenu.costs.ores.r.txt.text = _local5.toString();
MineMenu.costs.ores.b.txt.text = _local6.toString();
MineMenu.costs.ores.w.txt.text = _local7.toString();
_local9 = TowerData.myXml.Tower[(_local1 - 1)].Level[(_local2 + 1)].Power;
_local9 = Number(_local9.toFixed(2));
MineMenu.towerpoweru.text = _local9.toString();
} else {
MineMenu.costs.upgradecost.text = "N/A";
MineMenu.costs.upgradetechreq.text = "N/A";
MineMenu.costs.ores.g.txt.text = "N/A";
MineMenu.costs.ores.r.txt.text = "N/A";
MineMenu.costs.ores.b.txt.text = "N/A";
MineMenu.costs.ores.w.txt.text = "N/A";
MineMenu.towerpoweru.text = "N/A";
};
_local12 = Towers[SelectedTower].x;
_local13 = Towers[SelectedTower].y;
_local14 = checkForOre(_local12, _local13);
_local15 = convertColsToOre(_local14);
_local16 = convertColsToArray(_local14);
_local18 = Number(_local15.substring(0, 1));
if (_local18 < 4){
_local17 = new ColorTransform(0, 0, 0, 1, _local16[0], _local16[1], _local16[2], 0);
} else {
_local17 = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
};
MineMenu.ore_detect.transform.colorTransform = _local17;
MineMenu.ore_report.text = getOreReport(_local15, _local18);
}
private function checkForOre(_arg1:Number, _arg2:Number):String{
var _local3:String;
_local3 = bmap.getPixel(_arg1, _arg2).toString(16);
do {
if (_local3.length < 6){
_local3 = ("0" + _local3);
};
} while (_local3.length < 6);
return (_local3);
}
private function ignoreBadVersion(_arg1:MouseEvent):void{
startAll();
}
private function pauseGameForEnd():void{
var n:uint;
try {
PauseBut.removeEventListener(MouseEvent.CLICK, pauseGame);
} catch(e:Error) {
trace("Could not remove remove pausebut");
trace(e);
};
removeEventListener(KeyboardEvent.KEY_DOWN, pauseUnPause);
try {
n = 0;
while (n < Missiles.length) {
Missiles[n].Missile.mis.stop();
n = (n + 1);
};
} catch(e:Error) {
trace("Could not stop Missiles");
trace(e);
};
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(Event.ENTER_FRAME, pauseManagement);
}
private function unlockTargetSystem(_arg1:Event):void{
unlockTargetSystem2();
}
public function loadFirstTowers():void{
var _local1:Number;
_local1 = 0;
if (PathData.myXml.Path[GamePath].StartTowers.Tower[_local1] != undefined){
do {
dropTower2(PathData.myXml.Path[GamePath].StartTowers.Tower[_local1].Type, PathData.myXml.Path[GamePath].StartTowers.Tower[_local1].XX, PathData.myXml.Path[GamePath].StartTowers.Tower[_local1].YY, PathData.myXml.Path[GamePath].StartTowers.Tower[_local1].Level);
_local1++;
} while (PathData.myXml.Path[GamePath].StartTowers.Tower[_local1] != undefined);
};
}
private function rotateObject(_arg1:Object, _arg2:Object){
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
_local5 = Math.atan2(_local4, _local3);
_arg1.rotation = ((_local5 * 180) / Math.PI);
}
private function towerSwitchOff(_arg1:Event):void{
towerSwitchOff2();
}
private function resourcerSwitchOn2():void{
Towers[SelectedTower].On = true;
ResourcerMenu.onBut.visible = false;
showTowerOn();
}
private function ClosePowerMenu2(){
if (this.contains(PowerMenu)){
try {
removeChild(PowerMenu);
} catch(e:Error) {
};
PowerMenu.closebut.removeEventListener(MouseEvent.CLICK, ClosePowerMenu);
PowerMenu.upgradebut.removeEventListener(MouseEvent.CLICK, PowerMenuClick);
PowerMenu.sellbut.removeEventListener(MouseEvent.CLICK, confirmSellTower);
removeTowerFlash(SelectedTower);
SelectedTower = -1;
};
}
private function initBeam(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{
var _local9:Beam_controller;
if (unusedBeams.length < 1){
_local9 = new Beam_controller(this, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
beamsAlive = (beamsAlive + 1);
} else {
_local9 = unusedBeams.pop();
_local9.recycle(this, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
};
_local9.mouseEnabled = false;
BGH.addChild(_local9);
}
public function pathOut(_arg1:Event):void{
_arg1.currentTarget.removeEventListener(MouseEvent.ROLL_OUT, pathOut);
displaySelectedPathName();
}
private function setupContextMenu():void{
var _local1:ContextMenu;
_local1 = new ContextMenu();
_local1.addEventListener(ContextMenuEvent.MENU_SELECT, onContextMenuHandler);
_local1.hideBuiltInItems();
_local1.builtInItems.quality = true;
_local1.builtInItems.zoom = true;
this.contextMenu = _local1;
}
public function displaySelectedPathName():void{
var _local1:String;
_local1 = getBoardStatus();
details.text = ((((PathData.myXml.Path[GamePath].Details + " Difficulty=") + gameDifficulty) + " ") + _local1);
}
private function displayGameStatus():void{
var _local1:String;
_local1 = getBoardStatus();
DisplayError(((((PathData.myXml.Path[GamePath].Details + " Difficulty=") + gameDifficulty) + " ") + _local1), true);
}
private function runTowers():void{
var j:Number;
var minMax:Number;
var minMaxId:Number;
var xd:Number;
var yd:Number;
var xx:Number;
var yy:Number;
var xs:Number;
var ys:Number;
var xt:Number;
var yt:Number;
var newAccel:Number;
var newFriction:Number;
var newGraphic:uint;
var newSpeed:Number;
var distance:Number;
var newType:String;
var i:Number;
var woteva:Boolean;
var scale:Number;
var range:Number;
var newLevel:Number;
var newGeneration:Number;
var newStartSpeed:Number;
var newMaxLife:Number;
var choice:Number;
var newTarget:Number;
var creepsInRange:Array;
var scratchPoint:Point;
var w:Number;
var tempHeat:Number;
var tempFridgeCount:Number;
var displayCoolHint:*;
var newExpType:Number;
var Missile:Missile_controller;
var cols:String;
var oreContent:String;
var colIdent:Number;
var oreQuantity:Number;
var oreNum:Number;
try {
myErrorCode = "RT0";
j = 0;
minMax = -1;
minMaxId = -1;
creepsInRange = new Array();
tempHeat = 0;
tempFridgeCount = 0;
displayCoolHint = false;
newExpType = 1;
myErrorCode = "RT1";
i = 0;
while (i < Towers.length) {
if (Towers[i].fuse > 0){
Towers[i].fuse = (Towers[i].fuse - 1);
if (Towers[i].fuse < 1){
towersKilledThisFrame.push(i);
blowObject(Towers[i]);
explodeObject(Towers[i]);
};
};
myErrorCode = "RT2";
if (Towers[i].WaitingTimer < 1){
if (Towers[i].Temperature > 0){
Towers[i].Temperature = (Towers[i].Temperature - Towers[i].CoolDownRate);
};
if (Towers[i].Temperature > 1){
if (Towers[i].Func != "Fridge"){
displayCoolHint = true;
};
Towers[i].reloadCount = Towers[i].FireSP;
Towers[i].BurstCount = 0;
};
myErrorCode = "RT3";
if (Towers[i].On){
if ((((((powerDifference > -1)) || (((Math.random() * -(powerDifference)) < 1)))) || ((Towers[i].Power < 1)))){
if (Towers[i].Func == "Weapon"){
creepsInRange.splice(0);
j = 0;
while (j < Creeps.length) {
if (isInRange2(Creeps[j], Towers[i], Towers[i].Range)){
creepsInRange.push(j);
};
j = (j + 1);
};
Towers[i].reloadCount = (Towers[i].reloadCount - 1);
myErrorCode = "RT4";
if (Towers[i].BurstCount > -1){
Towers[i].BurstCount = (Towers[i].BurstCount - 1);
if ((((Towers[i].Target == -1)) && (Towers[i].ResetBurst))){
Towers[i].reloadCount = Towers[i].FireSP;
Towers[i].BurstCount = -1;
};
};
myErrorCode = "RT5";
if ((((((Towers[i].Target == -1)) && (((((((systemFrameCounter % 4) == (i % 4))) || ((Towers[i].BurstCount > 0)))) || ((Towers[i].reloadCount == 0)))))) || (((((!(Towers[i].LockTarget)) && (((systemFrameCounter % 4) == (i % 4))))) && (!(Towers[i].BurstLock)))))){
myErrorCode = "RT6";
if (creepsInRange.length > 0){
if (Towers[i].TargetSystem == 0){
Towers[i].Target = creepsInRange[0];
} else {
if (Towers[i].TargetSystem == 1){
Towers[i].Target = creepsInRange[(creepsInRange.length - 1)];
} else {
if (Towers[i].TargetSystem == 2){
minMax = 1000000000;
j = (creepsInRange.length - 1);
while (j > -1) {
if (isOnBoard(Creeps[creepsInRange[j]])){
if (Creeps[creepsInRange[j]].CurrentHP < minMax){
minMax = Creeps[creepsInRange[j]].CurrentHP;
minMaxId = creepsInRange[j];
};
};
j = (j - 1);
};
Towers[i].Target = minMaxId;
} else {
if (Towers[i].TargetSystem == 3){
minMax = 0;
j = (creepsInRange.length - 1);
while (j > -1) {
if (isOnBoard(Creeps[creepsInRange[j]])){
if (Creeps[creepsInRange[j]].CurrentHP > minMax){
minMax = Creeps[creepsInRange[j]].CurrentHP;
minMaxId = creepsInRange[j];
};
};
j = (j - 1);
};
Towers[i].Target = minMaxId;
} else {
if (Towers[i].TargetSystem == 4){
minMax = 1000000000;
j = (creepsInRange.length - 1);
while (j > -1) {
range = isRange((Creeps[creepsInRange[j]].xx - Towers[i].x), (Creeps[creepsInRange[j]].yy - Towers[i].y));
if (isOnBoard(Creeps[creepsInRange[j]])){
if (range < minMax){
minMax = range;
minMaxId = creepsInRange[j];
};
};
j = (j - 1);
};
Towers[i].Target = minMaxId;
} else {
if (Towers[i].TargetSystem == 5){
minMax = 0;
j = (creepsInRange.length - 1);
while (j > -1) {
range = isRange((Creeps[creepsInRange[j]].xx - Towers[i].x), (Creeps[creepsInRange[j]].yy - Towers[i].y));
if (isOnBoard(Creeps[creepsInRange[j]])){
if (range > minMax){
minMax = range;
minMaxId = creepsInRange[j];
};
};
j = (j - 1);
};
Towers[i].Target = minMaxId;
};
};
};
};
};
};
};
myErrorCode = "RT7";
};
if (Towers[i].Target != -1){
myErrorCode = "RT8";
if (Towers[i].TechType != "Shock"){
rotateTower(Towers[i], Creeps[Towers[i].Target]);
};
myErrorCode = "RT9";
if (Towers[i].TechType == "Mine"){
if (Towers[i].fuse == 0){
Towers[i].fuse = mineFuseLength;
Towers[i].Tower.tow.play();
};
} else {
if ((((Towers[i].Burst > 0)) && ((Towers[i].BurstCount > 0)))){
Towers[i].reloadCount = -1;
};
if ((((Towers[i].reloadCount < 1)) && ((Towers[i].Temperature < 1)))){
myErrorCode = "RT10";
if ((((Towers[i].LocalFridges.length > 0)) && (!(possiblyUnstable)))){
tempFridgeCount = 0;
w = 0;
while (w < Towers[i].LocalFridges.length) {
try {
if (((Towers[Towers[i].LocalFridges[w]].On) && ((Towers[Towers[i].LocalFridges[w]].Temperature < 1)))){
tempFridgeCount = (tempFridgeCount + 1);
};
} catch(e:Error) {
};
w = (w + 1);
};
if (tempFridgeCount > 0){
tempHeat = (Towers[i].HeatUpRate / tempFridgeCount);
w = 0;
while (w < Towers[i].LocalFridges.length) {
try {
if (((Towers[Towers[i].LocalFridges[w]].On) && ((Towers[Towers[i].LocalFridges[w]].Temperature < 1)))){
Towers[Towers[i].LocalFridges[w]].Temperature = (Towers[Towers[i].LocalFridges[w]].Temperature + tempHeat);
};
} catch(e:Error) {
};
w = (w + 1);
};
} else {
Towers[i].Temperature = (Towers[i].Temperature + Towers[i].HeatUpRate);
};
myErrorCode = "RT11";
} else {
Towers[i].Temperature = (Towers[i].Temperature + Towers[i].HeatUpRate);
};
myErrorCode = "RT12";
if (Towers[i].BurstCount < 1){
Towers[i].BurstCount = Towers[i].Burst;
};
myErrorCode = "RT13";
if ((((((((((((Towers[i].TechType == "Bomb")) || ((Towers[i].TechType == "FatMissile")))) || ((Towers[i].TechType == "Missile")))) || ((Towers[i].TechType == "Cluster")))) || ((Towers[i].TechType == "Napalm")))) || ((Towers[i].TechType == "RandomDoom")))){
myErrorCode = "RT13.1";
newStartSpeed = MissileData.myXml.child(Towers[i].TechType).Level[Towers[i].Level].StartSpeed;
newMaxLife = MissileData.myXml.child(Towers[i].TechType).Level[Towers[i].Level].MaxLife;
newAccel = MissileData.myXml.child(Towers[i].TechType).Level[Towers[i].Level].Accel;
newFriction = MissileData.myXml.child(Towers[i].TechType).Level[Towers[i].Level].Friction;
newGraphic = MissileData.myXml.child(Towers[i].TechType).Level[Towers[i].Level].Graphic;
newType = MissileData.myXml.child(Towers[i].TechType).Type;
newExpType = MissileData.myXml.child(Towers[i].TechType).Level[Towers[i].Level].ExpType;
myErrorCode = "RT13.2";
if (Towers[i].TechType == "RandomDoom"){
myErrorCode = "RT13.3";
newTarget = int((Math.random() * creepsInRange.length));
newSpeed = newStartSpeed;
do {
xt = ((Towers[i].x + (Math.random() * Towers[i].Range)) - (Towers[i].Range / 2));
yt = ((Towers[i].y + (Math.random() * Towers[i].Range)) - (Towers[i].Range / 2));
} while (rangeIs((xt - Towers[i].x), (yt - Towers[i].y)) < Towers[i].Size);
xd = (xt - Towers[i].x);
yd = (yt - Towers[i].y);
distance = rangeIs(xd, yd);
xx = (Towers[i].x + (((xd / distance) * Towers[i].Size) / 3));
yy = (Towers[i].y + (((yd / distance) * Towers[i].Size) / 3));
xs = (-((xd / distance)) * newSpeed);
ys = (-((yd / distance)) * newSpeed);
newLevel = Towers[i].Level;
newGeneration = 1;
if (inactiveMissiles.length > 0){
Missile = inactiveMissiles.pop();
Missile.recycle(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
} else {
mm();
Missile = new Missile_controller(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
};
MGH.addChild(Missile);
Missile.mouseEnabled = false;
Missiles.push(Missile);
} else {
if (Towers[i].TechType == "FatMissile"){
myErrorCode = "RT13.4";
newTarget = Towers[i].Target;
newSpeed = newStartSpeed;
xt = Creeps[Towers[i].Target].xx;
yt = Creeps[Towers[i].Target].yy;
newLevel = Towers[i].Level;
newGeneration = 1;
scratchPoint = math.getRotatedPos((-(Towers[i].Tower.tow.TowerWep.rotation) - 55), 30);
xx = (Towers[i].x + scratchPoint.x);
yy = (Towers[i].y + scratchPoint.y);
scratchPoint = math.getRotatedPos((-(Towers[i].Tower.tow.TowerWep.rotation) - 55), 31);
xs = ((xx - (Towers[i].x + scratchPoint.x)) * newSpeed);
ys = ((yy - (Towers[i].y + scratchPoint.y)) * newSpeed);
if (inactiveMissiles.length > 0){
Missile = inactiveMissiles.pop();
Missile.recycle(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
} else {
mm();
Missile = new Missile_controller(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
};
MGH.addChild(Missile);
Missile.mouseEnabled = false;
Missiles.push(Missile);
scratchPoint = math.getRotatedPos((-(Towers[i].Tower.tow.TowerWep.rotation) + 55), 30);
xx = (Towers[i].x + scratchPoint.x);
yy = (Towers[i].y + scratchPoint.y);
scratchPoint = math.getRotatedPos((-(Towers[i].Tower.tow.TowerWep.rotation) + 55), 31);
xs = ((xx - (Towers[i].x + scratchPoint.x)) * newSpeed);
ys = ((yy - (Towers[i].y + scratchPoint.y)) * newSpeed);
if (inactiveMissiles.length > 0){
Missile = inactiveMissiles.pop();
Missile.recycle(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
} else {
mm();
Missile = new Missile_controller(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
};
MGH.addChild(Missile);
Missile.mouseEnabled = false;
Missiles.push(Missile);
} else {
myErrorCode = "RT13.5";
newTarget = Towers[i].Target;
newSpeed = newStartSpeed;
xt = Creeps[Towers[i].Target].xx;
yt = Creeps[Towers[i].Target].yy;
xd = (Creeps[Towers[i].Target].xx - Towers[i].x);
yd = (Creeps[Towers[i].Target].yy - Towers[i].y);
distance = rangeIs(xd, yd);
xs = (-((xd / distance)) * newSpeed);
ys = (-((yd / distance)) * newSpeed);
newLevel = Towers[i].Level;
newGeneration = 1;
xx = (Towers[i].x + (((xd / distance) * Towers[i].Size) / 3));
yy = (Towers[i].y + (((yd / distance) * Towers[i].Size) / 3));
if (inactiveMissiles.length > 0){
Missile = inactiveMissiles.pop();
Missile.recycle(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
} else {
mm();
Missile = new Missile_controller(xx, yy, xs, ys, xt, yt, newGraphic, Towers[i].Range, Towers[i].Damage, Towers[i].Splash, Towers[i].Scatter, Towers[i].Burst, Towers[i].Slow, newAccel, newFriction, Missiles.length, newTarget, newType, Towers[i].TechType, newLevel, newGeneration, newMaxLife, newExpType);
};
MGH.addChild(Missile);
Missile.mouseEnabled = false;
Missiles.push(Missile);
};
};
myErrorCode = "RT14";
if ((((Towers[i].TechType == "Missile")) || ((Towers[i].TechType == "FatMissile")))){
soundMod.soundMissile();
};
if (Towers[i].TechType == "RandomDoom"){
soundMod.soundRandomDoom();
};
if (Towers[i].Name == "FlameThrower"){
soundMod.soundFlameLoop();
};
myErrorCode = "RT15";
} else {
if ((((Towers[i].TechType == "Shock")) && ((creepsInRange.length > 0)))){
myErrorCode = "RT16";
soundMod.soundShock();
j = 0;
while (j < creepsInRange.length) {
damageCreep(Towers[i], Creeps[creepsInRange[j]]);
j = (j + 1);
};
} else {
if ((((Towers[i].TechType == "Quake")) && ((creepsInRange.length > 0)))){
myErrorCode = "RT17";
blowObject(Towers[i]);
soundMod.soundQuakeLoop();
} else {
if ((((Towers[i].TechType == "Gravity")) && ((creepsInRange.length > 0)))){
myErrorCode = "RT18";
blowObject(Towers[i]);
} else {
if (Towers[i].TechType == "GunShock"){
myErrorCode = "RT19";
laserCreep(Towers[i], Creeps[Towers[i].Target], 1, (Towers[i].Level + 5));
myErrorCode = "RT20";
} else {
if (Towers[i].TechType == "Lightning"){
myErrorCode = "RT21";
laserCreep(Towers[i], Creeps[Towers[i].Target], 2, (Towers[i].Level + 3));
myErrorCode = "RT22";
} else {
if (Towers[i].TechType == "Zap"){
myErrorCode = "RT23";
laserCreep(Towers[i], Creeps[Towers[i].Target], 2, ((Towers[i].Level * 0.5) + 0.5));
myErrorCode = "RT24";
} else {
if (Towers[i].TechType != "Mine"){
myErrorCode = "RT25";
damageCreep(Towers[i], Creeps[Towers[i].Target]);
myErrorCode = "RT26";
};
};
};
};
};
};
};
};
myErrorCode = "RT27";
Towers[i].Tower.tow.TowerWep.gotoAndPlay(2);
Towers[i].Tower.tow.TowerWepNR.gotoAndPlay(2);
myErrorCode = "RT27.1";
if (Towers[i].Name == "Gun Tower"){
soundMod.soundLittleGun();
} else {
if (Towers[i].Name == "Big Gun Tower"){
soundMod.soundBigGun();
} else {
if (Towers[i].Name == "AX4600 Huge Gun Tower"){
soundMod.soundHugeGun();
} else {
if (Towers[i].Name == "Gatling Tower"){
soundMod.soundGatlinLoop();
} else {
if (Towers[i].Name == "Slow Tower"){
soundMod.soundSlowDown();
};
};
};
};
};
Towers[i].reloadCount = Towers[i].FireSP;
myErrorCode = "RT28";
};
};
myErrorCode = "RT29";
newTarget = -1;
j = 0;
while (j < creepsInRange.length) {
if (Towers[i].Target == creepsInRange[j]){
newTarget = j;
};
j = (j + 1);
};
if (newTarget == -1){
Towers[i].Target = -1;
if ((((((Towers[i].BurstCount > 0)) && (Towers[i].ResetBurst))) && (!(Towers[i].BurstLock)))){
resetTower(Towers[i]);
};
};
if (!Towers[i].LockTarget){
if ((((Towers[i].BurstCount < 0)) || (!(Towers[i].BurstLock)))){
Towers[i].Target = -1;
};
};
myErrorCode = "RT30";
} else {
rotateBoredTower(Towers[i]);
};
} else {
if (Towers[i].Func == "OreMine"){
myErrorCode = "RT31";
cols = checkForOre(Towers[i].x, Towers[i].y);
oreContent = convertColsToOre(cols);
colIdent = Number(oreContent.substr(0, 1));
oreQuantity = Number(oreContent.substr(1, (oreContent.length - 1)));
if (oreQuantity < 1){
if (alertCounters[1] < 1){
alertCounters[1] = 600;
DisplayError("One of our Ore Mines has run dry.");
Towers[i].Tower.tow.depleted.gotoAndStop(2);
} else {
alertCounters[1] = (alertCounters[1] - 1);
};
} else {
oreNum = (Towers[i].TowerType - 30);
if (oreNum == colIdent){
ore_arrays[oreNum] = (Number(ore_arrays[oreNum]) + Number((0.0001 * oreQuantity)));
if (int(ore_arrays[oreNum]) != old_ore_arrays[oreNum]){
showPurchasesAllowed();
biteOre(Towers[i].x, Towers[i].y);
miningRecords[Towers[i].ThisMine].bites = (miningRecords[Towers[i].ThisMine].bites + 1);
if (i == SelectedTower){
UpdateMineMenu();
};
};
old_ore_arrays[oreNum] = int(ore_arrays[oreNum]);
};
};
myErrorCode = "RT32";
} else {
if (Towers[i].Func == "Resource"){
myErrorCode = "RT33";
if (powerDifference > -1){
Towers[i].reloadCount = (Towers[i].reloadCount - 1);
};
if (Towers[i].reloadCount < 1){
Towers[i].reloadCount = Towers[i].FireSP;
Towers[i].Tower.tow.play();
soundMod.soundResourcer();
if (Towers[i].ResourceSelector < 4){
ore_arrays[Towers[i].ResourceSelector] = (ore_arrays[Towers[i].ResourceSelector] + 100);
};
if (Towers[i].ResourceSelector == 4){
Lives = (Lives + 1);
if (Lives > 20){
DisplayError("20 Lives Maximum reached - Change Super Science settings!", false);
Lives = 20;
};
};
};
myErrorCode = "RT34";
};
};
};
};
};
} else {
myErrorCode = "RT35";
Towers[i].WaitingTimer = (Towers[i].WaitingTimer - 1);
Towers[i].CT.gotoAndStop(int(((Towers[i].WaitingTimer / Towers[i].WaitingFrom) * 500)));
if (Towers[i].WaitingTimer < 1){
towerOn(i);
};
myErrorCode = "RT36";
};
i = (i + 1);
};
myErrorCode = "RT37";
checkToKillTowers();
possiblyUnstable = false;
if (displayCoolHint){
displayHint(134);
};
} catch(e:Error) {
trace("****************");
trace(("System Error " + myErrorCode));
trace(e);
trace("****************");
};
}
private function updateGameSpeedReport():void{
sR.visible = true;
sR.gameSpeedReport.text = (String(gameSpeed) + "X");
sRTimer.addEventListener(TimerEvent.TIMER, removeSRDisplay);
sRTimer.reset();
sRTimer.start();
}
private function showPauseIndi():void{
if (endGameFlag < 0){
try {
DTGH.addChild(pauseIndi);
pauseIndi.play();
pauseIndi.x = 20;
pauseIndi.y = 20;
} catch(e:Error) {
};
};
}
private function init():void{
rand.seed = GamePath;
addEventListener(Event.ENTER_FRAME, preStartManagement);
Cash = (0 + Number(PathData.myXml.Path[GamePath].BonusCash));
boardMinX = 0;
boardMaxX = PathData.myXml.Path[GamePath].BoardWidth;
boardMinY = 0;
boardMaxY = PathData.myXml.Path[GamePath].BoardHeight;
ore_arrays = [PathData.myXml.Path[GamePath].BonusG, PathData.myXml.Path[GamePath].BonusR, PathData.myXml.Path[GamePath].BonusB, PathData.myXml.Path[GamePath].BonusW];
Lives = MaxLives;
endGameFlag = -1;
CurrentWave = -1;
gotGunResearch = false;
gotBombResearch = false;
gotSlowResearch = false;
gotMineResearch = false;
gotCashResearch = false;
calculateInterest();
GunTechLevel = -1;
BombTechLevel = -1;
SlowTechLevel = -1;
MineTechLevel = -1;
CashTechLevel = -1;
LevelFinishedOutputting = true;
initDisplay();
initMainGameDisplay();
tops();
soundMod.soundGameStart();
loadFirstTowers();
saveAtEOWFlag = -1;
initLevVars();
checkScreenBoundries();
setBorders();
displayTutorial();
if (gameDifficulty == 1){
Cash = 100000;
ore_arrays[0] = 999;
ore_arrays[1] = 999;
ore_arrays[2] = 999;
ore_arrays[3] = 999;
maxGameSpeed = 16;
} else {
maxGameSpeed = 4;
};
}
private function ClosePowerMenu(_arg1:MouseEvent){
ClosePowerMenu2();
}
private function runGame():void{
if (smokinCounter > 0){
smokinCounter = (smokinCounter - 1);
};
if (keyProfile != oldKP){
oldKP = keyProfile;
};
if ((((Lives < 1)) && ((endGameFlag == -1)))){
endGameCondition = "Bad";
initEndGame();
};
if (endGameFlag > -1){
endGameFlag = (endGameFlag + 1);
};
if (endGameFlag == 99){
clearGameScreen();
resetAllMenus("");
};
if (endGameFlag > endGameAt){
gameSpeed = 1;
killExplosions();
removeEventListener(Event.ENTER_FRAME, pauseManagement);
removeEventListener(Event.ENTER_FRAME, preStartManagement);
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
try {
DBGH.removeChild(StartBut);
} catch(e:Error) {
};
try {
showPauseIndi();
DBGH.removeChild(PauseBut);
} catch(e:Error) {
};
try {
DBGH.removeChild(QuitGameBut);
} catch(e:Error) {
};
endGameFlag = -1;
if (((((!((endGameCondition == "Quit"))) && ((((gameDifficulty == 6)) || ((gameDifficulty == 10)))))) && (!(boardsOff)))){
gotoAndStop("grats");
} else {
soundMod.startMusic();
gotoAndStop("menu");
};
};
}
private function UpdateTowerMenu(){
var _local1:Number;
var _local2:*;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:String;
var _local11:Number;
var _local12:Number;
var _local13:String;
var _local14:String;
var _local15:String;
var _local16:Number;
_local1 = getAdvantage(Towers[SelectedTower].UGTechType);
_local2 = Towers[SelectedTower].TowerType;
_local3 = Towers[SelectedTower].Level;
_local4 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Cost;
_local5 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].GCost;
_local6 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].RCost;
_local7 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].BCost;
_local8 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].WCost;
_local9 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].TechReq;
_local10 = TowerData.myXml.Tower[(_local2 - 1)].UGTechType;
_local10 = UGConvert(_local10);
if (_local9 < 0){
_local9 = 0;
};
TowerMenu.towertype = _local2;
_local14 = ("Level " + _local3.toString());
_local15 = Towers[SelectedTower].Name;
TowerMenu.towername.text = ((_local15 + " : ") + _local14);
if (_local3 > -1){
_local12 = Towers[SelectedTower].Range.toFixed(2);
TowerMenu.towerrange.text = _local12;
TowerMenu.towerspeed.text = Towers[SelectedTower].FireSP;
_local16 = Towers[SelectedTower].Slow;
_local16 = (100 - (_local16 * 100));
TowerMenu.towerslow.text = (String(_local16) + "%");
_local12 = Towers[SelectedTower].Splash.toFixed(2);
TowerMenu.towersplash.text = _local12;
_local12 = getDamagePerSecond(Towers[SelectedTower].Name, Towers[SelectedTower].Splash, Towers[SelectedTower].Damage, Towers[SelectedTower].FireSP, Towers[SelectedTower].Burst, Towers[SelectedTower].BurstDecay, Towers[SelectedTower].Level);
_local13 = Number(_local12).toFixed(2);
TowerMenu.towerdamage.text = _local13;
_local12 = TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Power;
_local12 = Number(_local12.toFixed(2));
TowerMenu.towerpower.text = _local12.toString();
} else {
TowerMenu.towerrange.text = "N/A";
TowerMenu.towerspeed.text = "N/A";
TowerMenu.towerslow.text = "N/A";
TowerMenu.towersplash.text = "N/A";
TowerMenu.towerdamage.text = "N/A";
TowerMenu.towerpower.text = "N/A";
};
if (_local4 != -1){
_local12 = (TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Range * _local1);
_local12 = Number(_local12.toFixed(2));
TowerMenu.towerrangeu.text = _local12.toString();
_local12 = getDamagePerSecond(Towers[SelectedTower].Name, (TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Splash * _local1), (TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Damage * _local1), TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].FireSP, TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Burst, TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].BurstDecay, (_local3 + 1));
_local13 = Number(_local12).toFixed(2);
TowerMenu.towerdamageu.text = _local13;
TowerMenu.towerspeedu.text = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].FireSP;
_local16 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Slow;
_local16 = (100 - (_local16 * 100));
TowerMenu.towerslowu.text = (String(_local16) + "%");
_local12 = (TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Splash * _local1);
_local12 = Number(_local12.toFixed(2));
TowerMenu.towersplashu.text = _local12.toString();
if (_local12 > 0){
displayHint(143);
};
_local12 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Power;
_local12 = Number(_local12.toFixed(2));
TowerMenu.towerpoweru.text = _local12.toString();
TowerMenu.costs.upgradecost.text = _local4.toString();
TowerMenu.costs.upgradetechreq.text = _local9.toString();
TowerMenu.costs.ores.g.txt.text = _local5.toString();
TowerMenu.costs.ores.r.txt.text = _local6.toString();
TowerMenu.costs.ores.b.txt.text = _local7.toString();
TowerMenu.costs.ores.w.txt.text = _local8.toString();
TowerMenu.costs.upgradetechtype.text = _local10.toString();
} else {
TowerMenu.towerrangeu.text = "N/A";
TowerMenu.towerdamageu.text = "N/A";
TowerMenu.towerspeedu.text = "N/A";
TowerMenu.towerslowu.text = "N/A";
TowerMenu.towersplashu.text = "N/A";
TowerMenu.towerpoweru.text = "N/A";
TowerMenu.costs.upgradecost.text = "N/A";
TowerMenu.costs.upgradetechreq.text = "N/A";
TowerMenu.costs.ores.g.txt.text = "N/A";
TowerMenu.costs.ores.r.txt.text = "N/A";
TowerMenu.costs.ores.b.txt.text = "N/A";
TowerMenu.costs.ores.w.txt.text = "N/A";
TowerMenu.costs.upgradetechtype.text = "N/A";
};
showRange(Towers[SelectedTower], Towers[SelectedTower].Range);
}
private function clickedUp(_arg1:MouseEvent){
keyui.pressKey(Keyboard.UP);
}
private function dontResetHints(_arg1:MouseEvent):void{
removeYesNo();
}
private function unclickedDown(_arg1:MouseEvent){
keyui.resetKey(Keyboard.DOWN);
}
private function showSelectedTower():void{
if (SelectedTower != -1){
selectionFlashCount = (selectionFlashCount + 1);
if (selectionFlashCount > selectionFlashCountLimit){
selectionFlashCount = 0;
};
if (selectionFlashCount > (selectionFlashCountLimit / 2)){
towerFlash(SelectedTower);
} else {
removeTowerFlash(SelectedTower);
};
};
}
function checkNotBadFirstTower(_arg1:String, _arg2:Boolean):Boolean{
var _local3:Boolean;
var _local4:Number;
var _local5:Number;
_local3 = true;
_local4 = 0;
_local5 = 0;
while (_local5 < Towers.length) {
if (Towers[_local5].Func == "Weapon"){
_local4 = (_local4 + 1);
};
_local5++;
};
if (_local4 == 0){
if (_arg1 == "Research"){
if (!_arg2){
DisplayError("Place at least one Weapon Tower before placing a Research Tower");
_local3 = false;
};
};
};
return (_local3);
}
private function getWerds(_arg1, _arg2, _arg3, _arg4):Array{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:String;
var _local9:Number;
var _local10:Number;
_local6 = ((int(Math.abs((Math.tan(_arg2) * 1000))) % 6) + 3);
_local7 = 0;
_local9 = (int(Math.abs((Math.tan(_arg2) * 1000))) % 3);
if (_local9 == 0){
_local8 = "const";
} else {
if (_local9 == 1){
_local8 = "vowel";
} else {
_local8 = "objectName";
};
};
_local10 = 0;
while (_local10 < _local6) {
_local7 = (Math.tan((_arg1 + (_local10 * _arg2))) * 1000);
if (_local8 == "const"){
_arg3[(_arg3.length - 1)] = (_arg3[(_arg3.length - 1)] + itemNameConst[getRandomNumber(_local7, itemNameConst.length)]);
_local8 = "vowel";
} else {
if (_local8 == "vowel"){
if (getRandomNumber((_arg2 * 6), 50) < 5){
_local8 = "objectName";
} else {
_local8 = "const";
};
_arg3[(_arg3.length - 1)] = (_arg3[(_arg3.length - 1)] + itemNameVow[getRandomNumber(_local7, itemNameVow.length)]);
} else {
_local8 = "vowel";
_local5 = getRandomNumber(_local7, itemNames[(_arg4 - 1)].length);
_arg3[(_arg3.length - 1)] = (_arg3[(_arg3.length - 1)] + itemNames[(_arg4 - 1)][_local5]);
};
};
if ((((((((((_local7 > 1000)) && ((_local6 > _local10)))) && ((_arg3[(_arg3.length - 1)].length > 2)))) && ((_local10 < _local6)))) || ((_arg3[(_arg3.length - 1)].length > 8)))){
_arg3.push("");
};
_local10++;
};
return (_arg3);
}
private function calculatePower():void{
var _local1:Number;
powerDifference = 0;
_local1 = 0;
while (_local1 < Towers.length) {
if (Towers[_local1].TechType != "Power"){
if (Towers[_local1].On){
powerDifference = (powerDifference - Towers[_local1].Power);
};
} else {
powerDifference = (powerDifference + Towers[_local1].Power);
};
_local1++;
};
if (powerDifference < 0){
if (alertCounters[0] < 0){
DisplayError("Power Shortage!!! Turn non-essential towers off!!!");
displayHint(140);
alertCounters[0] = 300;
} else {
alertCounters[0] = (alertCounters[0] - 1);
};
} else {
alertCounters[0] = 20;
};
if ((((prevPowerDifference > 5)) && ((powerDifference <= 5)))){
DisplayError("Power Low! Consider building/upgrading Power Stations!");
};
if ((((prevPowerDifference < 0)) && ((powerDifference >= 0)))){
if (hintShowing == 140){
hintCount = 0;
};
};
prevPowerDifference = powerDifference;
}
private function closeControlScreen2():void{
ControlScreen.gotoAndStop(1);
}
private function getBoardStatus():String{
var _local1:String;
if ((((gameDifficulty == 6)) || ((((gameDifficulty == 10)) && (!(boardsOff)))))){
_local1 = "Scoreboard Enabled";
} else {
_local1 = "No Scoreboard";
};
if (gameDifficulty == 1){
_local1 = (_local1 + " - SANDBOX!");
Cash = 100000;
ore_arrays[0] = 900;
ore_arrays[1] = 900;
ore_arrays[2] = 900;
ore_arrays[3] = 900;
};
return (_local1);
}
private function speedUp():void{
gameSpeed = (gameSpeed + 1);
if (gameSpeed > maxGameSpeed){
gameSpeed = maxGameSpeed;
};
updateGameSpeedReport();
}
private function showNewBoard2(_arg1:String):void{
sys.systemMessage.text = "";
MochiScores.closeLeaderboard();
boardToBeOpened = _arg1;
maBoardTimer = 10;
addEventListener(Event.ENTER_FRAME, waitToOpenNewBoard);
trace("TRIED!");
}
public function MochiInitError(_arg1:String):void{
trace("ARGHHHHHH!");
}
private function towerSwitchOn2():void{
Towers[SelectedTower].On = true;
TowerMenu.onBut.visible = false;
showTowerOn();
}
private function dropTower(_arg1:MouseEvent){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Boolean;
var _local6:String;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
_local2 = TPC.towersHolder.currentFrame;
_local3 = TowerData.myXml.Tower[(_local2 - 1)].Size;
_local4 = (_local3 / 2);
if (mouseY > 400){
cancelTower2();
} else {
_local5 = checkTowerPos();
if (_local5){
_local6 = TowerData.myXml.Tower[(_local2 - 1)].NumAllowed;
_local7 = (((TPC.x - UGH.x) - UUGH.x) / UUGH.scaleX);
_local8 = (((TPC.y - UGH.y) - UUGH.y) / UUGH.scaleY);
_local9 = TowerData.myXml.Tower[(_local2 - 1)].GCost;
_local10 = TowerData.myXml.Tower[(_local2 - 1)].RCost;
_local11 = TowerData.myXml.Tower[(_local2 - 1)].BCost;
_local12 = TowerData.myXml.Tower[(_local2 - 1)].WCost;
Cash = (Cash - TowerData.myXml.Tower[(_local2 - 1)].Cost);
ore_arrays[0] = (ore_arrays[0] - _local9);
ore_arrays[1] = (ore_arrays[1] - _local10);
ore_arrays[2] = (ore_arrays[2] - _local11);
ore_arrays[3] = (ore_arrays[3] - _local12);
dropTower2(_local2, _local7, _local8, 0);
soundMod.buildingThump();
if ((((((((((((((ore_arrays[0] < _local9)) || ((ore_arrays[1] < _local10)))) || ((ore_arrays[2] < _local11)))) || ((ore_arrays[3] < _local12)))) || (!(keyui.isDown(77))))) || ((_local6 < (towersGot[_local2] + 1))))) || ((Cash < TowerData.myXml.Tower[(_local2 - 1)].Cost)))){
removeChild(TPC);
removeEventListener(Event.ENTER_FRAME, onEnterFrameTowerCheck);
towerToBePlaced = -1;
keyProfile = "Normal";
};
possiblyUnstable = true;
} else {
DisplayError("Cannot build there!");
};
};
}
private function returnJustVersionNumber():Array{
var _local1:String;
var _local2:Array;
var _local3:Array;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = Capabilities.version;
_local2 = new Array();
_local3 = new Array();
_local4 = -1;
_local5 = 0;
_local4 = _local1.indexOf(" ");
_local6 = 0;
while (_local6 < 4) {
_local3[_local6] = _local4;
_local4 = _local1.indexOf(",", (_local3[_local6] + 1));
_local6++;
};
_local3[(_local6 + 1)] = _local2.length;
_local6 = 0;
while (_local6 < 3) {
_local2[_local6] = Number(_local1.substring((_local3[_local6] + 1), _local3[(_local6 + 1)]));
_local6++;
};
_local2[3] = _local1.substring((_local3[_local6] + 1), _local1.length);
return (_local2);
}
private function clickedDown(_arg1:MouseEvent){
keyui.pressKey(Keyboard.DOWN);
}
public function removeLevelSelectButtons():void{
p0.removeEventListener(MouseEvent.CLICK, pathSelected);
p1.removeEventListener(MouseEvent.CLICK, pathSelected);
p2.removeEventListener(MouseEvent.CLICK, pathSelected);
p3.removeEventListener(MouseEvent.CLICK, pathSelected);
p4.removeEventListener(MouseEvent.CLICK, pathSelected);
p5.removeEventListener(MouseEvent.CLICK, pathSelected);
p6.removeEventListener(MouseEvent.CLICK, pathSelected);
p7.removeEventListener(MouseEvent.CLICK, pathSelected);
p8.removeEventListener(MouseEvent.CLICK, pathSelected);
p9.removeEventListener(MouseEvent.CLICK, pathSelected);
p0.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p1.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p2.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p3.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p4.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p5.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p6.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p7.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p8.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
p9.removeEventListener(MouseEvent.ROLL_OVER, pathOver);
goBut.removeEventListener(MouseEvent.CLICK, gameGo);
p.splice(0);
slider.removeEventListener(MouseEvent.MOUSE_DOWN, startSliding);
slider.removeEventListener(MouseEvent.MOUSE_UP, stopSliding);
removeEventListener(MouseEvent.MOUSE_UP, stopSliding);
}
private function enterToSubmit(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 13){
submitScore2();
};
}
private function closeTutorial(_arg1:MouseEvent):void{
closeTutorial2();
}
private function initCredits():void{
backBut.addEventListener(MouseEvent.CLICK, backToMenu3, false, 0, true);
}
public function submitScore(_arg1:MouseEvent):void{
submitScore2();
}
private function speedDown():void{
gameSpeed = (gameSpeed - 1);
if (gameSpeed < 1){
gameSpeed = 1;
};
updateGameSpeedReport();
}
private function checkToKillTowers():void{
var _local1:Number;
var _local2:Number;
if (towersKilledThisFrame.length > 0){
towersKilledThisFrame.sort(Array.NUMERIC);
_local1 = -1;
_local2 = (towersKilledThisFrame.length - 1);
while (_local2 > -1) {
if (_local1 != towersKilledThisFrame[_local2]){
Towers[towersKilledThisFrame[_local2]].Tower.detect.removeEventListener(MouseEvent.CLICK, TowerClicked);
TGH.removeChild(Towers[towersKilledThisFrame[_local2]]);
Towers.splice(towersKilledThisFrame[_local2], 1);
if (SelectedTower > towersKilledThisFrame[_local2]){
SelectedTower = (SelectedTower - 1);
};
if (SelectedTower == towersKilledThisFrame[_local2]){
resetAllMenus("None");
};
};
_local1 = towersKilledThisFrame[_local2];
_local2--;
};
towersKilledThisFrame.splice(0);
updateLocalTowers();
};
}
private function speedDownClick(_arg1:MouseEvent):void{
speedDown();
}
private function me():void{
mee = (mee + 1);
}
private function viewScrollDown():void{
UGH.y = (UGH.y - scrollSpeed);
checkScreenBoundries();
}
private function mm():void{
mmm = (mmm + 1);
}
private function ms():void{
mss = (mss + 1);
}
private function lockTargetSystem2():void{
Towers[SelectedTower].LockTarget = true;
TowerMenu.lockBut.visible = false;
}
private function initMainGameDisplay():void{
initVars();
PathSel.visible = true;
PathOverlay.visible = true;
PathSel.gotoAndStop((GamePath + 1));
PathOverlay.gotoAndStop((GamePath + 1));
initOre();
if (PathSel.contains(ore)){
PathSel.removeChild(ore);
};
PathSel.addChild(ore);
PathSel.setChildIndex(ore, 0);
DBGH.addChild(GamePanel);
initMoveArrows();
GamePanel.y = 400;
DBGH.addChild(Crr);
Crr.x = 129;
Crr.y = 403;
updateLevelInfo((CurrentWave + 1));
updateCreepMessage((CurrentWave + 1));
ControlScreen.Towerb1.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb2.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb3.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb4.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb5.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb6.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb7.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb8.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb9.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb10.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb11.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb12.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb13.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb14.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb15.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb16.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb17.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb18.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb19.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb20.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb21.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb22.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb23.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb24.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb25.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb26.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb30.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb31.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb32.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb33.addEventListener(MouseEvent.CLICK, prepTower, false, 0, true);
ControlScreen.Towerb1.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb2.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb3.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb4.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb5.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb6.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb7.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb8.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb9.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb10.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb11.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb12.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb13.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb14.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb15.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb16.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb17.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb18.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb19.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb20.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb21.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb22.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb23.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb24.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb25.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb26.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb30.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb31.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb32.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb33.addEventListener(MouseEvent.MOUSE_OVER, seeTower, false, 0, true);
ControlScreen.Towerb1.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb2.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb3.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb4.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb5.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb6.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb7.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb8.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb9.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb10.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb11.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb12.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb13.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb14.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb15.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb16.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb17.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb18.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb19.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb20.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb21.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb22.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb23.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb24.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb25.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb26.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb30.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb31.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb32.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.Towerb33.addEventListener(MouseEvent.MOUSE_OUT, noTower, false, 0, true);
ControlScreen.load1.addEventListener(MouseEvent.CLICK, loadSlot, false, 0, true);
ControlScreen.load2.addEventListener(MouseEvent.CLICK, loadSlot, false, 0, true);
ControlScreen.load3.addEventListener(MouseEvent.CLICK, loadSlot, false, 0, true);
ControlScreen.load1.addEventListener(MouseEvent.MOUSE_OVER, seeSlot, false, 0, true);
ControlScreen.load2.addEventListener(MouseEvent.MOUSE_OVER, seeSlot, false, 0, true);
ControlScreen.load3.addEventListener(MouseEvent.MOUSE_OVER, seeSlot, false, 0, true);
ControlScreen.load1.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
ControlScreen.load2.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
ControlScreen.load3.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
ControlScreen.save1.addEventListener(MouseEvent.CLICK, saveSlot, false, 0, true);
ControlScreen.save2.addEventListener(MouseEvent.CLICK, saveSlot, false, 0, true);
ControlScreen.save3.addEventListener(MouseEvent.CLICK, saveSlot, false, 0, true);
ControlScreen.save1.addEventListener(MouseEvent.MOUSE_OVER, seeSaveSlot, false, 0, true);
ControlScreen.save2.addEventListener(MouseEvent.MOUSE_OVER, seeSaveSlot, false, 0, true);
ControlScreen.save3.addEventListener(MouseEvent.MOUSE_OVER, seeSaveSlot, false, 0, true);
ControlScreen.save1.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
ControlScreen.save2.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
ControlScreen.save3.addEventListener(MouseEvent.MOUSE_OUT, blankSlotReadout, false, 0, true);
ControlScreen.tab1.addEventListener(MouseEvent.CLICK, switchControlTab);
ControlScreen.tab2.addEventListener(MouseEvent.CLICK, switchControlTab);
ControlScreen.tab3.addEventListener(MouseEvent.CLICK, switchControlTab);
ControlScreen.tab4.addEventListener(MouseEvent.CLICK, switchControlTab);
ControlScreen.tab5.addEventListener(MouseEvent.CLICK, switchControlTab);
ControlScreen.tab6.addEventListener(MouseEvent.CLICK, switchControlTab);
blankControlScreenTowerDisplay();
updateGameSpeedReport();
DBGH.addChild(Car);
Car.y = 4;
Car.y = 404;
DBGH.addChild(StartBut);
DBGH.addChild(QuitGameBut);
QuitGameBut.x = startButPos.x;
QuitGameBut.y = (startButPos.y + 40);
StartBut.x = startButPos.x;
StartBut.y = startButPos.y;
StartBut.addEventListener(MouseEvent.CLICK, startGame);
QuitGameBut.addEventListener(MouseEvent.CLICK, confirmQuitGame, false, 0, true);
addEventListener(KeyboardEvent.KEY_DOWN, pauseUnPause);
}
private function confirmQuitGame(_arg1:MouseEvent):void{
initYesNo("Quit to Menu?", "And end this game?");
keyProfile = "ConfirmQuit";
yn.yesbut.addEventListener(MouseEvent.CLICK, quitGame);
yn.nobut.addEventListener(MouseEvent.CLICK, dontQuitGame);
}
private function capsWord(_arg1:String):String{
var _local2:String;
var _local3:String;
_local2 = _arg1.slice(0, 1);
_local3 = _arg1.slice(1, _arg1.length);
_arg1 = (_local2.toUpperCase() + _local3);
return (_arg1);
}
public function gotRightVersion():Boolean{
var _local1:Boolean;
var _local2:Array;
var _local3:Number;
_local1 = true;
_local2 = returnJustVersionNumber();
_local3 = 0;
while (_local3 < 4) {
if (desiredVersions[_local3] > _local2[_local3]){
_local1 = false;
};
_local3++;
};
return (_local1);
}
public function pathSelected(_arg1:Event):void{
var _local2:ColorTransform;
GamePath = _arg1.currentTarget.name.slice(1, _arg1.currentTarget.name.length);
_local2 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
p0.transform.colorTransform = _local2;
p1.transform.colorTransform = _local2;
p2.transform.colorTransform = _local2;
p3.transform.colorTransform = _local2;
p4.transform.colorTransform = _local2;
p5.transform.colorTransform = _local2;
p6.transform.colorTransform = _local2;
p7.transform.colorTransform = _local2;
p8.transform.colorTransform = _local2;
p9.transform.colorTransform = _local2;
_local2 = new ColorTransform(1, 1, 1, 1, 127, 127, 127, 0);
_arg1.currentTarget.transform.colorTransform = _local2;
PathHighlight.x = _arg1.currentTarget.x;
PathHighlight.y = _arg1.currentTarget.y;
}
private function DisplayCrr(_arg1:String, _arg2:String, _arg3:String, _arg4:String){
Crr.CreepMessage.text = _arg1;
Crr.CreepMessage2.text = _arg2;
Crr.CreepMessage3.text = _arg3;
Crr.CreepMessage4.text = _arg4;
}
private function towerSwitchOff2():void{
Towers[SelectedTower].On = false;
TowerMenu.onBut.visible = true;
showTowerOff();
}
private function initcreep():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Creep_controller;
_local1 = 0;
_local2 = currentLevelData.Type;
_local3 = GamePath;
if (_local3 == 0){
_local3 = 10;
};
_local4 = getFirstNode((((_local3 * CurrentWave) * 300) * (Creeps.length + 2)));
rand.seed = ((((_local3 * CurrentWave) * 300) + Creeps.length) + 2);
_local1 = rand.nextInt();
_local5 = getNewNode(_local4, -200, _local1);
_local6 = PathData.myXml.Path[GamePath].Node[_local4].Xpos;
_local7 = PathData.myXml.Path[GamePath].Node[_local4].Ypos;
_local8 = PathData.myXml.Path[GamePath].Node[_local5].Xpos;
_local9 = PathData.myXml.Path[GamePath].Node[_local5].Ypos;
_local10 = currentLevelData.HP;
_local11 = currentLevelData.Speed;
_local12 = currentLevelData.Worth;
_local13 = currentLevelData.SlowResist;
_local14 = currentLevelData.projectileMod;
_local15 = currentLevelData.explosiveMod;
_local16 = currentLevelData.electricMod;
_local17 = rand.nextInt();
if (unusedCreeps.length < 1){
_local18 = new Creep_controller(_local6, _local7, _local8, _local9, _local2, _local10, _local10, _local11, _local11, 1.01, _local13, _local14, _local15, _local16, 0, _local12, _local5, _local17);
creepsAlive = (creepsAlive + 1);
} else {
_local18 = unusedCreeps.pop();
_local18.recycle(_local6, _local7, _local8, _local9, _local2, _local10, _local10, _local11, _local11, 1.01, _local13, _local14, _local15, _local16, 0, _local12, _local5, _local17);
};
GH.addChild(_local18);
GH.setChildIndex(_local18, 0);
if (currentLevelData.Name.indexOf("BOSS") != -1){
_local18.scaleX = 2;
_local18.scaleY = 2;
} else {
_local18.scaleX = 1;
_local18.scaleY = 1;
};
_local18.Creep.hpb.visible = false;
addEventListener(Event.ENTER_FRAME, rotateCreepAfterOneFrame);
_local18.mouseEnabled = false;
_local18.mouseChildren = false;
Creeps.push(_local18);
}
private function initUpdateBadVersionButtons():void{
continueBut.addEventListener(MouseEvent.CLICK, ignoreBadVersion, false, 0, true);
updateBut.addEventListener(MouseEvent.CLICK, updateBadVersion2, false, 0, true);
}
private function updateTargetSystemDisplay(_arg1:Number):void{
TowerMenu.ts0.visible = true;
TowerMenu.ts1.visible = true;
TowerMenu.ts2.visible = true;
TowerMenu.ts3.visible = true;
TowerMenu.ts4.visible = true;
TowerMenu.ts5.visible = true;
if (_arg1 == 0){
TowerMenu.ts0.visible = false;
} else {
if (_arg1 == 1){
TowerMenu.ts1.visible = false;
} else {
if (_arg1 == 2){
TowerMenu.ts2.visible = false;
} else {
if (_arg1 == 3){
TowerMenu.ts3.visible = false;
} else {
if (_arg1 == 4){
TowerMenu.ts4.visible = false;
} else {
if (_arg1 == 5){
TowerMenu.ts5.visible = false;
};
};
};
};
};
};
}
private function zoomToTower(_arg1:Object):void{
UGH.x = (-(_arg1.x) + (screenWidth / 2));
UGH.y = (-(_arg1.y) + (screenHeight / 2));
checkScreenBoundries();
}
private function removeTowerFlash(_arg1:Number):void{
var newTrans:ColorTransform;
var tow = _arg1;
if (tow != -1){
try {
newTrans = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
Towers[tow].transform.colorTransform = newTrans;
} catch(e:Error) {
};
};
}
private function backToMenu2():void{
goBut.removeEventListener(MouseEvent.CLICK, backToMenu);
armegaButton.removeEventListener(MouseEvent.CLICK, callArmegalo);
siteButton.removeEventListener(MouseEvent.CLICK, callFunnylishus);
subBut.removeEventListener(MouseEvent.CLICK, submitScore);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterToSubmit);
soundMod.musicScene = "Normal";
soundMod.startMusic();
gotoAndStop("menu");
}
private function initLoad():void{
var _local1:String;
trace("function initLoad");
addEventListener(Event.ENTER_FRAME, preStartManagement);
initDisplay();
initMainGameDisplay();
tops();
soundMod.soundGameStart();
saveAtEOWFlag = -1;
initLevVars();
checkScreenBoundries();
_local1 = loadAll(toBeLoaded);
toBeLoaded = -1;
if (_local1 == "Loaded OK"){
DisplayError(_local1, true);
} else {
DisplayError(_local1);
};
}
private function dropTower2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:Number;
var _local9:Number;
var _local10:*;
var _local11:Number;
var _local12:Number;
var _local13:Boolean;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:String;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:String;
var _local26:Number;
var _local27:Boolean;
var _local28:Number;
var _local29:Number;
var _local30:Boolean;
var _local31:Boolean;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Tower_controller;
var _local36:Number;
var _local37:Object;
_local5 = TowerData.myXml.Tower[(_arg1 - 1)].Func;
_local6 = TowerData.myXml.Tower[(_arg1 - 1)].TechType;
_local7 = TowerData.myXml.Tower[(_arg1 - 1)].UGTechType;
_local8 = 0;
_local9 = -1;
towersGot[_arg1] = (towersGot[_arg1] + 1);
if (_local5 == "Weapon"){
_local8 = getAdvantage(_local7);
} else {
if (_local5 == "Research"){
if (_local6 == "Gun"){
gotGunResearch = true;
};
if (_local6 == "Bomb"){
gotBombResearch = true;
};
if (_local6 == "Slow"){
gotSlowResearch = true;
};
if (_local6 == "Mine"){
gotMineResearch = true;
};
if (_local6 == "Cash"){
gotCashResearch = true;
};
} else {
if (_local5 == "OreMine"){
_local37 = {xx:_arg2, yy:_arg3, bites:0};
_local9 = miningRecords.length;
miningRecords[_local9] = _local37;
};
};
};
_local10 = (_arg4 - 1);
_local11 = TowerData.myXml.Tower[(_arg1 - 1)].Size;
_local12 = TowerData.myXml.Tower[(_arg1 - 1)].TargetSystem;
_local13 = TowerData.myXml.Tower[(_arg1 - 1)].LockTarget;
_local14 = (TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Range * _local8);
_local15 = (TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Damage * _local8);
_local16 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].FireSP;
_local17 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Slow;
_local18 = (TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Splash * _local8);
_local19 = (TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Scatter * _local8);
_local20 = (TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Burst * _local8);
_local21 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].BurstDecay;
_local22 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].HeatUpRate;
_local23 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].CoolDownRate;
_local24 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Gravity;
_local25 = TowerData.myXml.Tower[(_arg1 - 1)].Name;
_local26 = TowerData.myXml.Tower[(_arg1 - 1)].ResetBurst;
if (_local26 == 0){
_local27 = false;
} else {
_local27 = true;
};
_local28 = _local10;
_local29 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].Power;
_local30 = true;
_local26 = TowerData.myXml.Tower[(_arg1 - 1)].BurstLock;
if (_local26 == 0){
_local31 = false;
} else {
_local31 = true;
};
_local32 = _local16;
_local33 = 4;
_local34 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].ExpType;
_local35 = new Tower_controller(_arg2, _arg3, _arg1, _local14, _local15, _local16, _local18, _local19, _local12, _local13, _local20, _local21, _local22, _local23, _local24, _local17, Towers.length, _local11, _local5, _local6, _local7, _local25, TowerData.myXml.Tower[(_arg1 - 1)].Cost, TowerData.myXml.Tower[(_arg1 - 1)].GCost, TowerData.myXml.Tower[(_arg1 - 1)].RCost, TowerData.myXml.Tower[(_arg1 - 1)].BCost, TowerData.myXml.Tower[(_arg1 - 1)].WCost, _local27, _local28, _local9, _local29, _local30, _local31, _local32, _local33, _local34);
TGH.addChild(_local35);
Towers.push(_local35);
Towers[(Towers.length - 1)].Tower.detect.buttonMode = true;
Towers[(Towers.length - 1)].Tower.detect.addEventListener(MouseEvent.CLICK, TowerClicked);
_local36 = TowerData.myXml.Tower[(_arg1 - 1)].Level[_arg4].UpgradeTime;
towerWait((Towers.length - 1), _local36);
rearrangeTowers();
laidMoreThanOneTower = true;
calculateInterest();
}
private function backToMenu5(_arg1:MouseEvent):void{
var event = _arg1;
try {
MochiScores.closeLeaderboard();
} catch(e:Error) {
};
gotoAndStop("menu");
}
private function getFirstNode(_arg1:Number):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
rand.seed = _arg1;
if (rand.seed == 0){
rand.seed = 1;
};
_local2 = 0;
_local3 = 0;
while (_local3 < 19) {
_local2 = rand.nextInt();
_local3++;
};
_local4 = 0;
_local5 = [];
_local5[0] = PathData.myXml.Path[GamePath].StartNode0;
_local5[1] = PathData.myXml.Path[GamePath].StartNode1;
_local5[2] = PathData.myXml.Path[GamePath].StartNode2;
_local5[3] = PathData.myXml.Path[GamePath].StartNode3;
_local6 = 0;
_local7 = 0;
while (_local7 < 4) {
if (Number(_local5[_local7]) == _local5[_local7]){
_local6 = (_local7 + 1);
};
_local7++;
};
if (_local6 != 0){
_local2 = rand.nextInt();
_local8 = int(((_local2 / 2147483646) * _local6));
_local4 = _local5[_local8];
};
return (_local4);
}
private function performHPMod(_arg1:Number, _arg2:Number):Number{
_arg2 = (_arg2 - 0.045);
if (_arg2 < 0.82){
_arg2 = 0.82;
};
return (_arg2);
}
private function backToMenu3(_arg1:MouseEvent):void{
gotoAndStop("menu");
}
private function rearrangeTowers():void{
var _local1:Number;
_local1 = 0;
while (_local1 < Towers.length) {
if (Towers[_local1].Name == "Gatling Tower"){
TGH.setChildIndex(Towers[_local1], (TGH.numChildren - 1));
};
_local1++;
};
_local1 = 0;
while (_local1 < Towers.length) {
if (Towers[_local1].Name == "Shock Tower"){
TGH.setChildIndex(Towers[_local1], (TGH.numChildren - 1));
};
_local1++;
};
}
private function zoomBackIn():void{
var _local1:Number;
_local1 = 1;
UUGH.scaleX = (UUGH.scaleX + ((_local1 - UUGH.scaleX) / 2));
UUGH.scaleY = (UUGH.scaleY + ((_local1 - UUGH.scaleY) / 2));
UUGH.y = (UUGH.y - ((UUGH.y - 0) / 2));
UUGH.x = (UUGH.x - ((UUGH.x - 0) / 2));
}
public function submitScore2():void{
if (theName.text != "Your Name"){
userName = theName.text;
try {
if (gameDifficulty == 6){
MochiScores.showLeaderboard({boardID:scoreboardIDs[pathTransToScore[GamePath]], hideDoneButton:true, score:finalScore, name:userName, showTableRank:true, numScores:20, onClose:onBoardClosed, onError:boardError});
} else {
if (gameDifficulty == 10){
MochiScores.showLeaderboard({boardID:scoreboardIDs[(pathTransToScore[GamePath] + 10)], hideDoneButton:true, score:finalScore, name:userName, showTableRank:true, numScores:20, onClose:onBoardClosed, onError:boardError});
};
};
} catch(e:Error) {
sys.systemMessage.text = e;
};
subBut.removeEventListener(MouseEvent.CLICK, submitScore);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterToSubmit);
soundMod.musicScene = "Normal";
soundMod.startMusic();
gotoAndStop("Scoreboards");
} else {
namerror.play();
};
}
public function callScoreboards(_arg1:MouseEvent):void{
var event = _arg1;
gotoAndStop("Scoreboards");
try {
showNewBoard2(scoreboardIDs[0]);
} catch(e:Error) {
sys.systemMessage.text = e;
};
}
public function ldr_checkLoad(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:uint;
if (!permission){
sys.systemMessage.text = "This version of Random Defence 2 is site-locked!!!";
};
_local2 = ((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 100);
ldr.lpc.text = (int(_local2) + "%");
_local3 = (_local2 * _local2);
_local3 = (_local3 / 100);
ldr.gob.rotation = (ldr.gob.rotation + _local3);
ldr.gob2.rotation = (ldr.gob.rotation - (_local3 * 0.15));
ldr.gob3.rotation = (ldr.gob.rotation - (_local3 * 0.3));
ldr.gob.gotoAndStop(int(_local2));
ldr.gob2.gotoAndStop(int(_local2));
ldr.gob3.gotoAndStop(int(_local2));
if ((((_local2 == 100)) && (permission))){
removeEventListener(Event.ENTER_FRAME, ldr_checkLoad);
removeEventListener(Event.ENTER_FRAME, ldr_onEnterFrame);
_local4 = 0;
while (_local4 < ldr_stars.length) {
ldr_SGH.removeChild(ldr_stars[_local4].star);
_local4++;
};
ldr_stars.splice(0);
removeChild(ldr_SGH);
ldr.visible = false;
playNowBut.visible = true;
playNowBut.addEventListener(MouseEvent.CLICK, playGameNow);
};
}
private function displayTutorial():void{
if (so.data.configNoTutorial == true){
DisplayError("You can call the tutorial at any time by pressing T", true);
} else {
DTGH.addChild(myHints2);
DTGH.setChildIndex(myHints2, 0);
myHints2.y = 397;
myHints2.gotoAndStop(1);
myHints2.skipBut.addEventListener(MouseEvent.CLICK, closeTutorial, false, 0, true);
};
}
private function pauseGame2():void{
var n:uint;
try {
PauseBut.removeEventListener(MouseEvent.CLICK, pauseGame);
} catch(e:Error) {
};
try {
n = 0;
while (n < Missiles.length) {
Missiles[n].Missile.mis.stop();
n = (n + 1);
};
} catch(e:Error) {
};
showPauseIndi();
try {
DBGH.removeChild(PauseBut);
} catch(e:Error) {
};
try {
DBGH.addChild(StartBut);
StartBut.x = startButPos.x;
StartBut.y = startButPos.y;
StartBut.addEventListener(MouseEvent.CLICK, reStartGame);
} catch(e:Error) {
};
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(Event.ENTER_FRAME, pauseManagement);
gamePaused = true;
}
private function CloseMineMenu(_arg1:MouseEvent){
CloseMineMenu2();
}
private function killTower(_arg1:Number):void{
Towers[_arg1].fuse = 1;
}
private function isRange(_arg1:Number, _arg2:Number){
return (Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2))));
}
private function unDimHint():void{
var newTrans:ColorTransform;
if (hintsDimmed){
try {
newTrans = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
myHints.transform.colorTransform = newTrans;
} catch(e:Error) {
};
hintsDimmed = false;
};
}
private function upgradeTower(_arg1):void{
var _local2:Boolean;
var _local3:Number;
var _local4:*;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:uint;
_local2 = true;
if (towerUpgradeable(false)){
_local3 = Towers[SelectedTower].Level;
_local4 = Towers[SelectedTower].TowerType;
_local5 = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(_local3 + 1)].Cost;
_local6 = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(_local3 + 1)].GCost;
_local7 = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(_local3 + 1)].RCost;
_local8 = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(_local3 + 1)].BCost;
_local9 = TowerData.myXml.Tower[(Towers[SelectedTower].TowerType - 1)].Level[(_local3 + 1)].WCost;
if (_local2 == true){
Cash = (Cash - _local5);
ore_arrays[0] = (ore_arrays[0] - _local6);
ore_arrays[1] = (ore_arrays[1] - _local7);
ore_arrays[2] = (ore_arrays[2] - _local8);
ore_arrays[3] = (ore_arrays[3] - _local9);
Towers[SelectedTower].TowerWorth = (Towers[SelectedTower].TowerWorth + _local5);
Towers[SelectedTower].GWorth = (Towers[SelectedTower].GWorth + _local6);
Towers[SelectedTower].RWorth = (Towers[SelectedTower].RWorth + _local7);
Towers[SelectedTower].BWorth = (Towers[SelectedTower].BWorth + _local8);
Towers[SelectedTower].WWorth = (Towers[SelectedTower].WWorth + _local9);
_local10 = TowerData.myXml.Tower[(_local4 - 1)].Level[(_local3 + 1)].UpgradeTime;
towerWait(SelectedTower, _local10);
processUpgradeButs();
};
};
}
private function switchControlTab2(_arg1:Number):void{
resetAllMenus("Tab");
if (SelectedTower != -1){
removeYesNo();
keyProfile = "Normal";
removeTowerFlash(SelectedTower);
SelectedTower = -1;
};
ControlScreen.gotoAndStop(_arg1);
}
private function towerFlash(_arg1:Number):void{
var newTrans:ColorTransform;
var tow = _arg1;
if (tow != -1){
try {
newTrans = new ColorTransform(1, 1, 1, 1, 50, 50, 50, 0);
Towers[tow].transform.colorTransform = newTrans;
} catch(e:Error) {
};
};
}
private function towerSwitchOn(_arg1:Event):void{
towerSwitchOn2();
}
private function checkScreenBoundries():void{
if (UGH.x >= -(boardMinX)){
UGH.x = -(boardMinX);
sbLeft.visible = false;
keyui.resetKey(Keyboard.LEFT);
} else {
sbLeft.visible = true;
};
if (UGH.x <= -((boardMaxX - screenWidth))){
UGH.x = -((boardMaxX - screenWidth));
sbRight.visible = false;
keyui.resetKey(Keyboard.RIGHT);
} else {
sbRight.visible = true;
};
if (UGH.y <= (-(boardMaxY) + screenHeight)){
UGH.y = (-(boardMaxY) + screenHeight);
sbDown.visible = false;
keyui.resetKey(Keyboard.DOWN);
} else {
sbDown.visible = true;
};
if (UGH.y >= -(boardMinY)){
UGH.y = -(boardMinY);
sbUp.visible = false;
keyui.resetKey(Keyboard.UP);
} else {
sbUp.visible = true;
};
}
private function seeTower(_arg1:MouseEvent){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:String;
var _local11:String;
var _local12:String;
_local2 = _arg1.currentTarget.name.slice(6, _arg1.currentTarget.name.length);
_local3 = TowerData.myXml.Tower[(_local2 - 1)].Cost;
_local4 = TowerData.myXml.Tower[(_local2 - 1)].GCost;
_local5 = TowerData.myXml.Tower[(_local2 - 1)].RCost;
_local6 = TowerData.myXml.Tower[(_local2 - 1)].BCost;
_local7 = TowerData.myXml.Tower[(_local2 - 1)].WCost;
_local8 = TowerData.myXml.Tower[(_local2 - 1)].Level[0].Power;
_local9 = TowerData.myXml.Tower[(_local2 - 1)].Level[0].TechReq;
_local10 = TowerData.myXml.Tower[(_local2 - 1)].UGTechType;
_local10 = UGConvert(_local10);
if (_local9 == -1){
_local9 = 0;
};
ControlScreen.Screen.costs.visible = true;
_local11 = TowerData.myXml.Tower[(_local2 - 1)].Name;
_local12 = TowerData.myXml.Tower[(_local2 - 1)].Info;
ControlScreen.Screen.towername.text = _local11;
ControlScreen.Screen.costs.upgradecost.text = _local3;
ControlScreen.Screen.costs.upgradetechreq.text = _local9;
ControlScreen.Screen.costs.upgradepowerreq.text = _local8.toString();
ControlScreen.Screen.costs.ores.g.txt.text = _local4.toString();
ControlScreen.Screen.costs.ores.r.txt.text = _local5.toString();
ControlScreen.Screen.costs.ores.b.txt.text = _local6.toString();
ControlScreen.Screen.costs.ores.w.txt.text = _local7.toString();
ControlScreen.Screen.costs.upgradetechtype.text = _local10.toString();
ControlScreen.Screen.Info.text = _local12;
}
private function convertColsToArray(_arg1):Array{
var _local2:Array;
_local2 = [];
_local2[0] = Number(("0x" + _arg1.substr(0, 2)));
_local2[1] = Number(("0x" + _arg1.substr(2, 2)));
_local2[2] = Number(("0x" + _arg1.substr(4, 2)));
if ((((_local2[0] == _local2[1])) && ((_local2[1] == _local2[2])))){
_local2[1] = 0;
};
return (_local2);
}
private function zoomOut():void{
var _local1:Number;
var _local2:Number;
sbLeft.visible = false;
sbRight.visible = false;
sbUp.visible = false;
sbDown.visible = false;
_local1 = (screenWidth / boardMaxX);
_local2 = (screenHeight / boardMaxY);
if (_local2 < _local1){
_local1 = _local2;
};
if ((((UUGH.scaleX < (_local1 - 0.001))) || ((UUGH.scaleX > (_local1 + 0.001))))){
UUGH.scaleX = (UUGH.scaleX + ((_local1 - UUGH.scaleX) / 2));
UUGH.scaleY = (UUGH.scaleY + ((_local1 - UUGH.scaleY) / 2));
if (zoomCounter < 0){
zoomCounter = 0;
};
zoomCounter = (zoomCounter + 1);
if (zoomCounter == 1){
storedUGHx = UGH.x;
storedUGHy = UGH.y;
};
UGH.x = (UGH.x + ((0 - UGH.x) / 2));
UGH.y = (UGH.y + ((0 - UGH.y) / 2));
UUGH.y = (UUGH.y - ((UUGH.y + (((boardMaxY * UUGH.scaleY) - screenHeight) / 2)) / 2));
UUGH.x = (UUGH.x - ((UUGH.x + (((boardMaxX * UUGH.scaleX) - screenWidth) / 2)) / 2));
};
}
private function reStartGame(_arg1:MouseEvent){
reStartGame2();
}
private function DisplayError(_arg1:String, _arg2:Boolean=false){
if (endGameFlag < 0){
DTGH.addChild(Err);
Err.x = 275;
Err.y = 0;
Err.mouseEnabled = false;
DTGH.mouseEnabled = false;
if (_arg2){
Err.mouseEnabled = false;
Err.mouseChildren = false;
Err.ert2.holder.ErrorMessage.text = _arg1;
Err.ert2.gotoAndPlay(2);
Err.ert.gotoAndStop(1);
} else {
Err.mouseEnabled = false;
Err.mouseChildren = false;
Err.ert.holder.ErrorMessage.text = _arg1;
soundMod.soundError();
Err.ert.gotoAndPlay(2);
Err.ert2.gotoAndStop(1);
};
errTimer = 100;
addEventListener(Event.ENTER_FRAME, removeErrorDisplay);
};
}
private function seeSaveSlot(_arg1:MouseEvent):void{
var slot:Number;
var report:String;
var report2:String;
var event = _arg1;
slot = event.currentTarget.name.slice(4, event.currentTarget.name.length);
report = getSlotInfo(slot);
report2 = ((((report + "\r\r") + "SAVE game to Slot ") + slot) + "?");
try {
} catch(e:Error) {
};
try {
currentInfo.mess.text = report2;
} catch(e:Error) {
ControlScreen.currentInfo.mess.text = report2;
};
}
public function initGrats():void{
goBut.addEventListener(MouseEvent.CLICK, backToMenu);
armegaButton.addEventListener(MouseEvent.CLICK, callArmegalo);
siteButton.addEventListener(MouseEvent.CLICK, callFunnylishus);
subBut.addEventListener(MouseEvent.CLICK, submitScore);
stage.addEventListener(KeyboardEvent.KEY_DOWN, enterToSubmit);
details.text = String(int(finalScore));
if (endGameFlag2 == "Bad"){
messageHolder.message.text = "GAME OVER";
} else {
messageHolder.message.text = "END GAME";
};
}
private function CloseResourcerMenu(_arg1:MouseEvent):void{
CloseResourcerMenu2();
}
private function initLevVars():void{
var _local1:Number;
_local1 = 0;
levVarNeg.splice(0);
while (PathData.myXml.Path[GamePath].levVarNeg[_local1] != undefined) {
levVarNeg[_local1] = PathData.myXml.Path[GamePath].levVarNeg[_local1];
_local1 = (_local1 + 1);
};
_local1 = 0;
levVarPos.splice(0);
while (PathData.myXml.Path[GamePath].levVarPos[_local1] != undefined) {
levVarPos[_local1] = PathData.myXml.Path[GamePath].levVarPos[_local1];
_local1 = (_local1 + 1);
};
}
private function resetHints(_arg1:MouseEvent):void{
removeYesNo();
resetHints2();
}
private function convertColsToOre(_arg1):String{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Number;
_local2 = Number(("0x" + _arg1.substr(0, 2)));
_local3 = Number(("0x" + _arg1.substr(2, 2)));
_local4 = Number(("0x" + _arg1.substr(4, 2)));
_local5 = "";
_local6 = 5;
if ((((((_local2 == _local3)) && ((_local2 == _local4)))) && (!((_local2 == 0))))){
_local5 = ("3" + _local2);
} else {
if ((((((_local2 > _local6)) && ((_local3 < _local6)))) && ((_local4 < _local6)))){
_local5 = ("1" + _local2);
} else {
if ((((((_local2 < _local6)) && ((_local3 > _local6)))) && ((_local4 < _local6)))){
_local5 = ("0" + _local3);
} else {
if ((((((_local2 < _local6)) && ((_local3 < _local6)))) && ((_local4 > _local6)))){
_local5 = ("2" + _local4);
} else {
if ((((((_local2 < _local6)) && ((_local3 < _local6)))) && ((_local4 < _local6)))){
_local5 = ("4" + 0);
} else {
_local5 = "5";
};
};
};
};
};
return (_local5);
}
private function mineSwitchOff2():void{
Towers[SelectedTower].On = false;
MineMenu.onBut.visible = true;
showTowerOff();
}
private function updateBadVersion(_arg1:MouseEvent):void{
gotoAndStop("updateNowReload");
}
private function CloseFridgeMenu2(){
try {
removeChild(FridgeMenu);
removeEventListener(Event.ENTER_FRAME, updateFridgeTemp);
} catch(e:Error) {
};
FridgeMenu.closebut.removeEventListener(MouseEvent.CLICK, CloseFridgeMenu);
FridgeMenu.upgradebut.removeEventListener(MouseEvent.CLICK, FridgeMenuClick);
FridgeMenu.sellbut.removeEventListener(MouseEvent.CLICK, confirmSellTower);
rangeCirc.graphics.clear();
removeTowerFlash(SelectedTower);
SelectedTower = -1;
}
private function biteOre(_arg1:Number, _arg2:Number){
var _local3:Matrix;
var _local4:ColorTransform;
_local3 = new Matrix();
_local3.translate((_arg1 - 25), (_arg2 - 25));
_local4 = new ColorTransform(0, 0, 0, 0.01, 0, 0, 0, 0);
bmap.draw(eater, _local3, _local4);
}
private function calculateFinalScore():void{
var _local1:Number;
finalScore = Cash;
_local1 = 0;
while (_local1 < Towers.length) {
finalScore = (finalScore + int((Towers[_local1].TowerWorth * sellModifier)));
_local1++;
};
if (Lives > 0){
finalScore = (finalScore + (Lives * 1000));
};
}
private function pauseManagement(_arg1:Event):void{
var _local2:int;
stage.focus = this;
UpdateDisplay();
runSmokeNExplosions();
runGame();
runView();
runKeyboardControls();
runZooming();
soundMod.processSoundCounters();
playerFrameCounter = (playerFrameCounter + 1);
_local2 = 0;
while (_local2 < Towers.length) {
if (Towers[_local2].fuse > 0){
Towers[_local2].fuse = (Towers[_local2].fuse - 1);
if (Towers[_local2].fuse < 1){
towersKilledThisFrame.push(_local2);
blowObject(Towers[_local2]);
explodeObject(Towers[_local2]);
};
};
_local2++;
};
checkToKillTowers();
calculatePower();
showPurchasesAllowed();
showSelectedTower();
}
private function UpdateFridgeMenu(){
var _local1:Number;
var _local2:*;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:String;
var _local12:String;
_local1 = getAdvantage(Towers[SelectedTower].UGTechType);
_local2 = Towers[SelectedTower].TowerType;
_local3 = Towers[SelectedTower].Level;
_local4 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Cost;
_local5 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].GCost;
_local6 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].RCost;
_local7 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].BCost;
_local8 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].WCost;
_local9 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].TechReq;
if (_local9 < 0){
_local9 = 0;
};
FridgeMenu.towertype = _local2;
_local11 = ("Level " + _local3.toString());
_local12 = Towers[SelectedTower].Name;
FridgeMenu.towername.text = ((_local12 + " : ") + _local11);
if (_local3 > -1){
_local10 = Towers[SelectedTower].Range.toFixed(2);
FridgeMenu.towerrange.text = _local10;
_local10 = Towers[SelectedTower].CoolDownRate;
_local10 = (_local10 * 100);
FridgeMenu.towercooldown.text = _local10;
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[_local3].Power;
_local10 = Number(_local10.toFixed(2));
FridgeMenu.towerpower.text = _local10.toString();
} else {
FridgeMenu.towerrange.text = "N/A";
FridgeMenu.towercooldown.text = "N/A";
FridgeMenu.towerpower.text = "N/A";
};
if (_local4 != -1){
_local10 = (TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Range * _local1);
_local10 = Number(_local10.toFixed(2));
FridgeMenu.towerrangeu.text = _local10.toString();
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].CoolDownRate;
_local10 = (_local10 * 100);
FridgeMenu.towercooldownu.text = _local10.toString();
_local10 = TowerData.myXml.Tower[(_local2 - 1)].Level[(_local3 + 1)].Power;
_local10 = Number(_local10.toFixed(2));
FridgeMenu.towerpoweru.text = _local10.toString();
FridgeMenu.costs.upgradecost.text = _local4.toString();
FridgeMenu.costs.upgradetechreq.text = _local9.toString();
FridgeMenu.costs.ores.g.txt.text = _local5.toString();
FridgeMenu.costs.ores.r.txt.text = _local6.toString();
FridgeMenu.costs.ores.b.txt.text = _local7.toString();
FridgeMenu.costs.ores.w.txt.text = _local8.toString();
} else {
FridgeMenu.towerrangeu.text = "N/A";
FridgeMenu.towerpoweru.text = "N/A";
FridgeMenu.costs.upgradecost.text = "N/A";
FridgeMenu.costs.upgradetechreq.text = "N/A";
FridgeMenu.costs.ores.g.txt.text = "N/A";
FridgeMenu.costs.ores.r.txt.text = "N/A";
FridgeMenu.costs.ores.b.txt.text = "N/A";
FridgeMenu.costs.ores.w.txt.text = "N/A";
};
showRange(Towers[SelectedTower], Towers[SelectedTower].Range);
}
private function CloseResearchMenu2(){
if (this.contains(ResearchMenu)){
try {
removeChild(ResearchMenu);
} catch(e:Error) {
};
ResearchMenu.closebut.removeEventListener(MouseEvent.CLICK, CloseResearchMenu);
ResearchMenu.upgradebut.removeEventListener(MouseEvent.CLICK, ResearchMenuClick);
removeTowerFlash(SelectedTower);
SelectedTower = -1;
};
}
private function ldr_onEnterFrame(_arg1:Event):void{
var _local2:uint;
_local2 = 0;
while (_local2 < 5) {
ldr_startStar();
_local2++;
};
ldr_processStars();
ldr_processRot();
ldr_frameCounter = (ldr_frameCounter + 1);
}
private function CloseResourcerMenu2():void{
try {
removeChild(ResourcerMenu);
removeEventListener(Event.ENTER_FRAME, updateResourcerCount);
ResourcerMenu.closebut.removeEventListener(MouseEvent.CLICK, CloseResourcerMenu);
ResourcerMenu.upgradebut.removeEventListener(MouseEvent.CLICK, ResourcerMenuClick);
ResourcerMenu.sellbut.removeEventListener(MouseEvent.CLICK, confirmSellTower);
ResourcerMenu.ts0.removeEventListener(MouseEvent.CLICK, changeResourcer);
ResourcerMenu.ts1.removeEventListener(MouseEvent.CLICK, changeResourcer);
ResourcerMenu.ts2.removeEventListener(MouseEvent.CLICK, changeResourcer);
ResourcerMenu.ts3.removeEventListener(MouseEvent.CLICK, changeResourcer);
ResourcerMenu.ts4.removeEventListener(MouseEvent.CLICK, changeResourcer);
ResourcerMenu.ts5.removeEventListener(MouseEvent.CLICK, changeResourcer);
ResourcerMenu.onBut.removeEventListener(MouseEvent.CLICK, towerSwitchOn);
ResourcerMenu.offBut.removeEventListener(MouseEvent.CLICK, towerSwitchOff);
removeTowerFlash(SelectedTower);
SelectedTower = -1;
} catch(e:Error) {
};
}
private function targetSystemChange(_arg1:Event):void{
var _local2:Number;
_local2 = _arg1.currentTarget.name.slice(2, _arg1.currentTarget.name.length);
Towers[SelectedTower].TargetSystem = _local2;
updateTargetSystemDisplay(_local2);
}
private function runSmokeNExplosions():void{
var ii:Number;
var iii:uint;
if (Explosions.length > 0){
ii = (Explosions.length - 1);
while (ii > 0) {
try {
if (Explosions[ii].boom.fin){
EGH.removeChild(Explosions[ii]);
inactiveExplosions.push(Explosions[ii]);
Explosions[ii].gotoAndStop(4);
Explosions.splice(ii, 1);
};
} catch(e:Error) {
};
ii = (ii - 1);
};
};
if (Smoke.length > 0){
iii = (Smoke.length - 1);
while (iii > 0) {
if (Smoke[iii].currentFrame == Smoke[iii].totalFrames){
MGH.removeChild(Smoke[iii]);
inactiveSmoke.push(Smoke[iii]);
Smoke.splice(iii, 1);
};
iii = (iii - 1);
};
};
}
public function callSequel(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var event = _arg1;
url = "http://www.funnylishus.com/index.php?custom=randomstuff&subcust=beginning";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
private function resourcerSwitchOff2():void{
Towers[SelectedTower].On = false;
ResourcerMenu.onBut.visible = true;
showTowerOff();
}
private function rangeIs(_arg1:Number, _arg2:Number){
return (Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2))));
}
private function onEnterFrameTowerCheck(_arg1:Event):void{
var _local2:ColorTransform;
var _local3:Boolean;
var _local4:String;
var _local5:String;
var _local6:Array;
var _local7:ColorTransform;
var _local8:Number;
_local3 = checkTowerPos();
if (_local3 == true){
_local2 = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
} else {
_local2 = new ColorTransform(1, 1, 1, 0.2, 0, 0, 0, 0);
};
TPC.towersHolder.transform.colorTransform = _local2;
_local4 = checkForOre((((mouseX - UGH.x) - UUGH.x) / UUGH.scaleX), (((mouseY - UGH.y) - UUGH.y) / UUGH.scaleY));
_local5 = convertColsToOre(_local4);
_local6 = convertColsToArray(_local4);
_local8 = Number(_local5.substring(0, 1));
if (_local8 < 4){
_local7 = new ColorTransform(0, 0, 0, 1, _local6[0], _local6[1], _local6[2], 0);
} else {
_local7 = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
};
TPC.ore_detect.transform.colorTransform = _local7;
TPC.oreReport.text = getOreReport(_local5, _local8);
TPC.oreReport2.text = getOreReport(_local5, _local8);
}
private function initVars():void{
var _local1:Number;
towersGot = new Array();
techLevels = new Array();
_local1 = 0;
while (_local1 < 0xFF) {
towersGot[_local1] = 0;
_local1++;
};
Towers = new Array();
Creeps = new Array();
Missiles = new Array();
Explosions = new Array();
towersKilledThisFrame = new Array();
if (so.data.configHintsDisplayed != undefined){
hintsDisplayed = so.data.configHintsDisplayed;
};
}
private function viewScrollRight():void{
UGH.x = (UGH.x - scrollSpeed);
checkScreenBoundries();
}
private function removePauseIndi():void{
try {
pauseIndi.stop();
DTGH.removeChild(pauseIndi);
} catch(e:Error) {
};
}
private function loadGameMenu(_arg1:MouseEvent):void{
gotoAndStop("fileMenu");
}
private function firstFramer(_arg1:MouseEvent){
myHints.gotoAndStop(1);
hintCount = 200;
}
private function isInRange2(_arg1, _arg2, _arg3:Number){
var _local4:*;
var _local5:*;
var _local6:Number;
_local4 = (_arg1.x - _arg2.x);
_local5 = (_arg1.y - _arg2.y);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
if (_local6 < _arg3){
return (true);
};
return (false);
}
private function getNewNode(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
var _local5:Number;
var _local6:Array;
var _local7:Number;
var _local8:Number;
var _local9:*;
_local4 = 0;
_local5 = 0;
_local6 = [];
_local6[0] = PathData.myXml.Path[GamePath].Node[_arg1].NextNode0;
_local6[1] = PathData.myXml.Path[GamePath].Node[_arg1].NextNode1;
_local6[2] = PathData.myXml.Path[GamePath].Node[_arg1].NextNode2;
_local6[3] = PathData.myXml.Path[GamePath].Node[_arg1].NextNode3;
_local7 = 0;
_local8 = 0;
while (_local8 < 4) {
if (Number(_local6[_local8]) == _local6[_local8]){
_local7 = (_local8 + 1);
};
_local8++;
};
if (_local7 == 0){
_arg1 = (_arg1 + 1);
} else {
if (_local7 > 1){
_local4 = 0;
_local4 = (_local4 + 1);
rand.seed = _arg3;
do {
if (rand.seed == 0){
rand.seed = 1;
};
_local5 = rand.nextInt();
_local9 = int(((_local5 / 2147483646) * _local7));
} while ((((_local4 < 150)) && ((_local6[_local9] == _arg2))));
} else {
_local9 = 0;
};
_arg1 = _local6[_local9];
};
return (_arg1);
}
private function TowerSelectionOKorNot(_arg1, _arg2, _arg3:Boolean):Boolean{
var _local4:Boolean;
_local4 = true;
if (_arg1 == "Gun"){
if (_arg2 > GunTechLevel){
_local4 = false;
if (GunTechLevel == -1){
if (!_arg3){
DisplayError("We need a Gun Research Centre");
};
} else {
if (!_arg3){
DisplayError("We need to upgrade our Gun Research Centre");
};
};
};
} else {
if (_arg1 == "Bomb"){
if (_arg2 > BombTechLevel){
_local4 = false;
if (BombTechLevel == -1){
if (!_arg3){
DisplayError("We need an Explosives Research Centre");
};
} else {
if (!_arg3){
DisplayError("We need to upgrade our Explosives Research Centre");
};
};
};
} else {
if (_arg1 == "Slow"){
if (_arg2 > SlowTechLevel){
_local4 = false;
if (SlowTechLevel == -1){
if (!_arg3){
DisplayError("We need an Electrics Research Centre");
};
} else {
if (!_arg3){
DisplayError("We need to upgrade our Electrics Research Centre");
};
};
};
} else {
if (_arg1 == "Multi"){
if ((((((_arg2 > SlowTechLevel)) || ((_arg2 > BombTechLevel)))) || ((_arg2 > GunTechLevel)))){
_local4 = false;
if (!_arg3){
DisplayError(("We need all Research Centres at Tech Level " + _arg2.toString()));
};
};
} else {
if (_arg1 == "Mine"){
if (_arg2 > MineTechLevel){
_local4 = false;
if (MineTechLevel == -1){
if (!_arg3){
DisplayError("We need a Mine Factory");
};
} else {
if (!_arg3){
DisplayError("We need to upgrade our Mine Factory");
};
};
};
};
};
};
};
};
return (_local4);
}
private function runMissiles():void{
var scratch:Number;
var scratchX:Number;
var scratchY:Number;
var xd:Number;
var yd:Number;
var distance:Number;
var woteva:Boolean;
var i:Number;
var cloud:Smokin;
i = 0;
while (i < Missiles.length) {
if (!Missiles[i].meDead){
if (Missiles[i].Type == "Guided"){
if ((((Math.random() < 0.2)) && (!((Missiles[i].Graphic == 60))))){
smokinCounter = (smokinCounter + 3);
if (inactiveSmoke.length != 0){
cloud = inactiveSmoke.pop();
MGH.addChild(cloud);
cloud.x = Missiles[i].x;
cloud.y = Missiles[i].y;
cloud.gotoAndPlay(1);
Smoke.push(cloud);
} else {
if (mss < 50){
ms();
cloud = new Smokin();
MGH.addChild(cloud);
cloud.x = Missiles[i].x;
cloud.y = Missiles[i].y;
cloud.gotoAndPlay(1);
Smoke.push(cloud);
};
};
};
if (Missiles[i].Target != -1){
try {
xd = (Creeps[Missiles[i].Target].x - Missiles[i].x);
yd = (Creeps[Missiles[i].Target].y - Missiles[i].y);
distance = rangeIs(xd, yd);
Missiles[i].xa = ((xd / distance) * Missiles[i].Accel);
Missiles[i].ya = ((yd / distance) * Missiles[i].Accel);
Missiles[i].xs = (Missiles[i].xs - Missiles[i].xa);
Missiles[i].ys = (Missiles[i].ys - Missiles[i].ya);
Missiles[i].xs = (Missiles[i].xs * Missiles[i].Friction);
Missiles[i].ys = (Missiles[i].ys * Missiles[i].Friction);
Missiles[i].x = (Missiles[i].x - Missiles[i].xs);
Missiles[i].y = (Missiles[i].y - Missiles[i].ys);
rotateObject2(Missiles[i], (Missiles[i].x + Missiles[i].xs), (Missiles[i].y + Missiles[i].ys));
if (Missiles[i].Missile.detect.hitTestObject(Creeps[Missiles[i].Target].Creep.detect)){
damageCreep(Missiles[i], Creeps[Missiles[i].Target]);
explodeObject(Missiles[i]);
killMissile(i);
soundMod.soundBoom();
i = (i - 1);
};
} catch(e:Error) {
Missiles[i].Target = -1;
};
} else {
if ((((Missiles[i].xa == 0)) && ((Missiles[i].ya == 0)))){
scratch = Math.random();
if (scratch < 0.25){
scratchX = (boardMinX - 100);
scratchY = (Math.random() * boardMaxY);
} else {
if (scratch < 0.5){
scratchX = (boardMaxX + 100);
scratchY = (Math.random() * boardMaxY);
} else {
if (scratch < 0.75){
scratchX = (Math.random() * boardMaxX);
scratchY = (boardMaxY + 100);
} else {
scratchX = (Math.random() * boardMaxX);
scratchY = (boardMinY - 100);
};
};
};
xd = (scratchX - Missiles[i].x);
yd = (scratchY - Missiles[i].y);
distance = rangeIs(xd, yd);
Missiles[i].xa = ((xd / distance) * Missiles[i].Accel);
Missiles[i].ya = ((yd / distance) * Missiles[i].Accel);
};
Missiles[i].xs = (Missiles[i].xs - Missiles[i].xa);
Missiles[i].ys = (Missiles[i].ys - Missiles[i].ya);
Missiles[i].xs = (Missiles[i].xs * Missiles[i].Friction);
Missiles[i].ys = (Missiles[i].ys * Missiles[i].Friction);
rotateObject2(Missiles[i], (Missiles[i].x - Missiles[i].xa), (Missiles[i].y - Missiles[i].ya));
Missiles[i].x = (Missiles[i].x - Missiles[i].xs);
Missiles[i].y = (Missiles[i].y - Missiles[i].ys);
woteva = findMissileATarget(Missiles[i]);
if ((((((((Missiles[i].x < boardMinX)) || ((Missiles[i].x > boardMaxX)))) || ((Missiles[i].y < boardMinY)))) || ((Missiles[i].y > boardMaxY)))){
killMissile(i);
};
};
} else {
if (Missiles[i].Type == "NoBoost"){
Missiles[i].rotation = (Missiles[i].rotation + Missiles[i].rs);
xd = (Missiles[i].xt - Missiles[i].x);
yd = (Missiles[i].yt - Missiles[i].y);
Missiles[i].xs = (xd * Missiles[i].Friction);
Missiles[i].ys = (yd * Missiles[i].Friction);
Missiles[i].x = (Missiles[i].x + Missiles[i].xs);
Missiles[i].y = (Missiles[i].y + Missiles[i].ys);
if ((((((((Missiles[i].xs < 0.4)) && ((Missiles[i].xs > -0.4)))) && ((Missiles[i].ys < 0.4)))) && ((Missiles[i].ys > -0.4)))){
if ((((Missiles[i].TechType == "Cluster")) || ((Missiles[i].TechType == "RandomDoom")))){
initClusterExplosion(Missiles[i]);
};
blowObject(Missiles[i]);
explodeObject(Missiles[i]);
killMissile(i);
soundMod.soundBoom();
};
} else {
if (Missiles[i].Type == "Flame"){
Missiles[i].x = (Missiles[i].x - Missiles[i].xs);
Missiles[i].y = (Missiles[i].y - Missiles[i].ys);
Missiles[i].xs = (Missiles[i].xs * Missiles[i].Friction);
Missiles[i].ys = (Missiles[i].ys * Missiles[i].Friction);
Missiles[i].frames = (Missiles[i].frames + 1);
blowObject(Missiles[i]);
if (Missiles[i].frames > Missiles[i].MaxLife){
blowObject(Missiles[i]);
killMissile(i);
};
};
};
};
};
i = (i + 1);
};
i = (Missiles.length - 1);
while (i > -1) {
if (Missiles[i].meDead == true){
MGH.removeChild(Missiles[i]);
inactiveMissiles.push(Missiles[i]);
Missiles.splice(i, 1);
};
i = (i - 1);
};
}
private function initOre():void{
var _local1:uint;
var _local2:uint;
_local1 = 550;
_local2 = 450;
bmap = new oreArray[GamePath](_local1, _local2);
ore = new Bitmap(bmap);
}
private function showTowerOff():void{
var _local1:ColorTransform;
_local1 = new ColorTransform(0.3, 0.3, 0.3, 1, 0, 0, 0, 0);
Towers[SelectedTower].Tower.transform.colorTransform = _local1;
}
private function setSlider():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = (slots.width / 10);
_local2 = slots.x;
_local3 = (gameDifficulty - 1);
slider.x = (((_local2 + (_local3 * _local1)) + (_local1 / 2)) - (slider.width / 2));
}
private function killMissile(_arg1:uint){
Missiles[_arg1].meDead = true;
}
private function initHintContents():void{
hintContainers[1] = true;
hintContainers[101] = true;
hintContainers[102] = true;
hintContainers[106] = true;
hintContainers[109] = true;
hintContainers[110] = true;
hintContainers[111] = true;
hintContainers[115] = true;
hintContainers[116] = true;
hintContainers[117] = true;
hintContainers[118] = true;
hintContainers[119] = true;
hintContainers[124] = true;
hintContainers[125] = true;
hintContainers[126] = true;
hintContainers[134] = true;
hintContainers[135] = true;
hintContainers[136] = true;
hintContainers[137] = true;
hintContainers[138] = true;
hintContainers[139] = true;
hintContainers[140] = true;
hintContainers[141] = true;
hintContainers[142] = true;
hintContainers[143] = true;
hintContainers[144] = true;
hintContainers[145] = true;
hintContainers[146] = true;
}
private function lockTargetSystem(_arg1:Event):void{
lockTargetSystem2();
}
function onContextMenuHandler(_arg1:ContextMenuEvent):void{
}
}
}//package
Section 172
//EndGame (EndGame)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class EndGame extends MovieClip {
public function EndGame(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 173
//EndGameGood (EndGameGood)
package {
import flash.display.*;
public dynamic class EndGameGood extends MovieClip {
}
}//package
Section 174
//ENDGAMESOUND (ENDGAMESOUND)
package {
import flash.media.*;
public dynamic class ENDGAMESOUND extends Sound {
}
}//package
Section 175
//ERROR (ERROR)
package {
import flash.media.*;
public dynamic class ERROR extends Sound {
}
}//package
Section 176
//ErrorReadout (ErrorReadout)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class ErrorReadout extends MovieClip {
public var ert:MovieClip;
public var ert2:MovieClip;
public function ErrorReadout(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
ert.mouseEnabled = false;
}
}
}//package
Section 177
//ExplosionsControl (ExplosionsControl)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class ExplosionsControl extends MovieClip {
public var fin:Boolean;
public var boom:MovieClip;
public function ExplosionsControl(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
boom.fin = false;
}
function frame1(){
this.mouseEnabled = false;
stop();
boom.fin = false;
}
function frame2(){
boom.fin = false;
}
}
}//package
Section 178
//flameout (flameout)
package {
import flash.media.*;
public dynamic class flameout extends Sound {
}
}//package
Section 179
//flamethr2 (flamethr2)
package {
import flash.media.*;
public dynamic class flamethr2 extends Sound {
}
}//package
Section 180
//FridgeInfo (FridgeInfo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class FridgeInfo extends MovieClip {
public var towername:TextField;
public var onBut:SimpleButton;
public var towerrangeu:TextField;
public var towerpoweru:TextField;
public var costs:MovieClip;
public var towercooldown:TextField;
public var towercooldownu:TextField;
public var closebut:SimpleButton;
public var offBut:SimpleButton;
public var towerpower:TextField;
public var towerrange:TextField;
public var temp:MovieClip;
public var upgradebut:SimpleButton;
public var sellbut:SimpleButton;
public function FridgeInfo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 181
//GameHolder (GameHolder)
package {
import flash.display.*;
public dynamic class GameHolder extends MovieClip {
}
}//package
Section 182
//GAMESTART (GAMESTART)
package {
import flash.media.*;
public dynamic class GAMESTART extends Sound {
}
}//package
Section 183
//gatlinloop2 (gatlinloop2)
package {
import flash.media.*;
public dynamic class gatlinloop2 extends Sound {
}
}//package
Section 184
//gatlinout2 (gatlinout2)
package {
import flash.media.*;
public dynamic class gatlinout2 extends Sound {
}
}//package
Section 185
//Hints (Hints)
package {
import flash.display.*;
public dynamic class Hints extends MovieClip {
public var tow:MovieClip;
public var toptions:MovieClip;
public var temp:MovieClip;
}
}//package
Section 186
//HitPointsBar (HitPointsBar)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class HitPointsBar extends MovieClip {
public var bar:MovieClip;
public function HitPointsBar(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package
Section 187
//HUGEbiggun (HUGEbiggun)
package {
import flash.media.*;
public dynamic class HUGEbiggun extends Sound {
}
}//package
Section 188
//LASERINIT (LASERINIT)
package {
import flash.media.*;
public dynamic class LASERINIT extends Sound {
}
}//package
Section 189
//LASERLONG (LASERLONG)
package {
import flash.media.*;
public dynamic class LASERLONG extends Sound {
}
}//package
Section 190
//ldr_StarContainer (ldr_StarContainer)
package {
import flash.display.*;
public dynamic class ldr_StarContainer extends MovieClip {
}
}//package
Section 191
//LECTRICSHOCK (LECTRICSHOCK)
package {
import flash.media.*;
public dynamic class LECTRICSHOCK extends Sound {
}
}//package
Section 192
//LITTLEGUN (LITTLEGUN)
package {
import flash.media.*;
public dynamic class LITTLEGUN extends Sound {
}
}//package
Section 193
//MineInfo (MineInfo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class MineInfo extends MovieClip {
public var towername:TextField;
public var onBut:SimpleButton;
public var ore_report:TextField;
public var towerpoweru:TextField;
public var costs:MovieClip;
public var closebut:SimpleButton;
public var offBut:SimpleButton;
public var ore_detect:MovieClip;
public var towerpower:TextField;
public var upgradebut:SimpleButton;
public var sellbut:SimpleButton;
public function MineInfo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
stop();
}
}
}//package
Section 194
//Missile_controller (Missile_controller)
package {
import flash.events.*;
import flash.display.*;
public class Missile_controller extends Sprite {
public var Burst:Number;
public var Missile:MissileHolderforControl;
public var ya:Number;// = 0
public var xt:Number;
public var xs:Number;// = 0
public var TechType:String;
public var Friction:Number;
public var yt:Number;
public var meDead:Boolean;// = false
public var ys:Number;// = 0
public var Range:Number;
public var Generation:Number;// = 1
public var Slow:Number;
public var rs:Number;
public var MissileType:Number;
public var Type:String;
public var Level:Number;// = 1
public var Thisis:Number;
public var Splash:Number;
public var Damage:Number;
public var MaxLife:Number;// = 0
public var BurstDecay:Boolean;
public var frames:Number;// = 0
public var UGTechType:String;// = "Bomb"
public var Scatter:Number;
public var Target:Number;// = -1
public var Accel:Number;
public var Graphic:Number;
public var ExplosionType:Number;// = 1
public var xa:Number;// = 0
public var BurstCount:Number;
public function Missile_controller(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:uint, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:Number, _arg16:Number, _arg17:Number, _arg18:String, _arg19:String, _arg20:Number, _arg21:Number, _arg22:Number, _arg23:Number){
xs = 0;
ys = 0;
xa = 0;
ya = 0;
rs = int(((Math.random() * 15) - 7));
Target = -1;
Missile = new MissileHolderforControl();
meDead = false;
UGTechType = "Bomb";
Level = 1;
Generation = 1;
frames = 0;
MaxLife = 0;
ExplosionType = 1;
super();
this.mouseEnabled = false;
this.mouseChildren = false;
ExplosionType = _arg23;
addChild(Missile);
Missile.mouseEnabled = false;
this.x = _arg1;
this.y = _arg2;
Graphic = _arg7;
MaxLife = _arg22;
Missile.gotoAndStop(_arg7);
Range = _arg8;
Damage = _arg9;
Splash = _arg10;
Scatter = _arg11;
Burst = _arg12;
BurstCount = -1;
BurstDecay = false;
Slow = _arg13;
xs = _arg3;
ys = _arg4;
Accel = _arg14;
Friction = _arg15;
Thisis = _arg16;
Target = _arg17;
Type = _arg18;
xt = _arg5;
yt = _arg6;
TechType = _arg19;
Level = _arg20;
Generation = _arg21;
}
private function playafteroneframe(_arg1:Event):void{
var e = _arg1;
removeEventListener(Event.ENTER_FRAME, playafteroneframe);
try {
Missile.mis.gotoAndPlay(1);
} catch(e:Error) {
};
}
public function killme():void{
this.parent.removeChild(this);
}
public function recycle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:uint, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:Number, _arg16:Number, _arg17:Number, _arg18:String, _arg19:String, _arg20:Number, _arg21:Number, _arg22:Number, _arg23:Number){
ExplosionType = _arg23;
Missile.mouseEnabled = false;
this.x = _arg1;
this.y = _arg2;
Graphic = _arg7;
MaxLife = _arg22;
Missile.gotoAndStop(_arg7);
addEventListener(Event.ENTER_FRAME, playafteroneframe);
Range = _arg8;
Damage = _arg9;
Splash = _arg10;
Scatter = _arg11;
Burst = _arg12;
BurstCount = -1;
BurstDecay = false;
Slow = _arg13;
xs = _arg3;
ys = _arg4;
Accel = _arg14;
Friction = _arg15;
Thisis = _arg16;
Target = _arg17;
Type = _arg18;
xt = _arg5;
yt = _arg6;
TechType = _arg19;
Level = _arg20;
Generation = _arg21;
meDead = false;
frames = 0;
}
}
}//package
Section 195
//missile_definitions (missile_definitions)
package {
import flash.display.*;
public class missile_definitions extends Sprite {
public var myXml:XML;
public function missile_definitions(){
myXml = <Miss>
<Bomb>
<Type>NoBoost</Type>
<Level id="0">
<Accel>1</Accel>
<StartSpeed>10</StartSpeed>
<Friction>.1</Friction>
<Graphic>20</Graphic><ExpType>1</ExpType>
</Level>
<Level id="1">
<Accel>1</Accel>
<StartSpeed>10</StartSpeed>
<Friction>.1</Friction>
<Graphic>20</Graphic><ExpType>1</ExpType>
</Level>
<Level id="2">
<Accel>1.1</Accel>
<StartSpeed>10</StartSpeed>
<Friction>.1</Friction>
<Graphic>20</Graphic><ExpType>1</ExpType>
</Level>
<Level id="3">
<Accel>1.2</Accel>
<StartSpeed>10</StartSpeed>
<Friction>.1</Friction>
<Graphic>20</Graphic><ExpType>1</ExpType>
</Level>
<Level id="4">
<Accel>1.2</Accel>
<StartSpeed>10</StartSpeed>
<Friction>.1</Friction>
<Graphic>20</Graphic><ExpType>1</ExpType>
</Level>
<Level id="5">
<Accel>1.2</Accel>
<StartSpeed>10</StartSpeed>
<Friction>.1</Friction>
<Graphic>20</Graphic><ExpType>1</ExpType>
</Level>
</Bomb>
<Missile>
<Type>Guided</Type>
<Level id="0">
<Accel>1</Accel>
<StartSpeed>3</StartSpeed>
<Friction>.95</Friction>
<Graphic>1</Graphic><ExpType>1</ExpType>
</Level>
<Level id="1">
<Accel>1</Accel>
<StartSpeed>3</StartSpeed>
<Friction>.96</Friction>
<Graphic>1</Graphic><ExpType>1</ExpType>
</Level>
<Level id="2">
<Accel>1.1</Accel>
<StartSpeed>3</StartSpeed>
<Friction>.97</Friction>
<Graphic>2</Graphic><ExpType>1</ExpType>
</Level>
<Level id="3">
<Accel>1.2</Accel>
<StartSpeed>3</StartSpeed>
<Friction>.98</Friction>
<Graphic>2</Graphic><ExpType>1</ExpType>
</Level>
<Level id="4">
<Accel>1.3</Accel>
<StartSpeed>3</StartSpeed>
<Friction>.98</Friction>
<Graphic>2</Graphic><ExpType>1</ExpType>
</Level>
<Level id="5">
<Accel>1.4</Accel>
<StartSpeed>3</StartSpeed>
<Friction>.98</Friction>
<Graphic>2</Graphic><ExpType>1</ExpType>
</Level>
</Missile>
<Cluster>
<Type>NoBoost</Type>
<Level id="0">
<Accel>1</Accel>
<StartSpeed>5</StartSpeed>
<Friction>.1</Friction>
<Graphic>30</Graphic><ExpType>1</ExpType>
<MaxGenerations>1</MaxGenerations>
<ClusterRange>50</ClusterRange>
<ClusterQuantity>3</ClusterQuantity>
</Level>
<Level id="1">
<Accel>1</Accel>
<StartSpeed>5</StartSpeed>
<Friction>.1</Friction>
<Graphic>30</Graphic><ExpType>1</ExpType>
<MaxGenerations>1</MaxGenerations>
<ClusterRange>50</ClusterRange>
<ClusterQuantity>3</ClusterQuantity>
</Level>
<Level id="2">
<Accel>1.1</Accel>
<StartSpeed>5</StartSpeed>
<Friction>.1</Friction>
<Graphic>30</Graphic><ExpType>1</ExpType>
<MaxGenerations>2</MaxGenerations>
<ClusterRange>50</ClusterRange>
<ClusterQuantity>2</ClusterQuantity>
</Level>
<Level id="3">
<Accel>1.2</Accel>
<StartSpeed>5</StartSpeed>
<Friction>.1</Friction>
<Graphic>30</Graphic><ExpType>1</ExpType>
<MaxGenerations>2</MaxGenerations>
<ClusterRange>50</ClusterRange>
<ClusterQuantity>2</ClusterQuantity>
</Level>
<Level id="4">
<Accel>1.2</Accel>
<StartSpeed>5</StartSpeed>
<Friction>.1</Friction>
<Graphic>30</Graphic><ExpType>1</ExpType>
<MaxGenerations>2</MaxGenerations>
<ClusterRange>50</ClusterRange>
<ClusterQuantity>2</ClusterQuantity>
</Level>
<Level id="5">
<Accel>1.2</Accel>
<StartSpeed>5</StartSpeed>
<Friction>.1</Friction>
<Graphic>30</Graphic><ExpType>1</ExpType>
<MaxGenerations>3</MaxGenerations>
<ClusterRange>50</ClusterRange>
<ClusterQuantity>2</ClusterQuantity>
</Level>
</Cluster>
<Napalm>
<Type>Flame</Type>
<Level id="0">
<Accel>1</Accel>
<StartSpeed>7</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
<Level id="1">
<Accel>1</Accel>
<StartSpeed>8</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
<Level id="2">
<Accel>1</Accel>
<StartSpeed>9</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
<Level id="3">
<Accel>1</Accel>
<StartSpeed>10</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
<Level id="4">
<Accel>1</Accel>
<StartSpeed>11</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
<Level id="5">
<Accel>1</Accel>
<StartSpeed>12</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
<Level id="6">
<Accel>1</Accel>
<StartSpeed>13</StartSpeed>
<MaxLife>13</MaxLife>
<Friction>.95</Friction>
<Graphic>40</Graphic><ExpType>1</ExpType>
</Level>
</Napalm>
<RandomDoom>
<Type>Guided</Type>
<Level id="0">
<Accel>4</Accel>
<StartSpeed>20</StartSpeed>
<Friction>.85</Friction>
<Graphic>60</Graphic><ExpType>3</ExpType>
</Level>
<Level id="1">
<Accel>4</Accel>
<StartSpeed>20</StartSpeed>
<Friction>.85</Friction>
<Graphic>60</Graphic><ExpType>3</ExpType>
</Level>
<Level id="2">
<Accel>4</Accel>
<StartSpeed>20</StartSpeed>
<Friction>.85</Friction>
<Graphic>60</Graphic><ExpType>3</ExpType>
</Level>
<Level id="3">
<Accel>4</Accel>
<StartSpeed>20</StartSpeed>
<Friction>.85</Friction>
<Graphic>60</Graphic><ExpType>3</ExpType>
</Level>
<Level id="4">
<Accel>4</Accel>
<StartSpeed>20</StartSpeed>
<Friction>.85</Friction>
<Graphic>60</Graphic><ExpType>3</ExpType>
</Level>
<Level id="5">
<Accel>4</Accel>
<StartSpeed>20</StartSpeed>
<Friction>.85</Friction>
<Graphic>60</Graphic><ExpType>3</ExpType>
</Level>
</RandomDoom>
<FatMissile>
<Type>Guided</Type>
<Level id="0">
<Accel>2</Accel>
<StartSpeed>6</StartSpeed>
<Friction>.95</Friction>
<Graphic>50</Graphic><ExpType>2</ExpType>
</Level>
<Level id="1">
<Accel>2.1</Accel>
<StartSpeed>6</StartSpeed>
<Friction>.96</Friction>
<Graphic>50</Graphic><ExpType>2</ExpType>
</Level>
<Level id="2">
<Accel>2.2</Accel>
<StartSpeed>6</StartSpeed>
<Friction>.97</Friction>
<Graphic>50</Graphic><ExpType>2</ExpType>
</Level>
<Level id="3">
<Accel>2.3</Accel>
<StartSpeed>6</StartSpeed>
<Friction>.98</Friction>
<Graphic>50</Graphic><ExpType>2</ExpType>
</Level>
<Level id="4">
<Accel>2.4</Accel>
<StartSpeed>6</StartSpeed>
<Friction>.98</Friction>
<Graphic>50</Graphic><ExpType>2</ExpType>
</Level>
<Level id="5">
<Accel>2.5</Accel>
<StartSpeed>6</StartSpeed>
<Friction>.98</Friction>
<Graphic>50</Graphic><ExpType>2</ExpType>
</Level>
</FatMissile>
</Miss>
;
super();
}
}
}//package
Section 196
//MISSILE1 (MISSILE1)
package {
import flash.media.*;
public dynamic class MISSILE1 extends Sound {
}
}//package
Section 197
//MISSILE2 (MISSILE2)
package {
import flash.media.*;
public dynamic class MISSILE2 extends Sound {
}
}//package
Section 198
//MISSILE3 (MISSILE3)
package {
import flash.media.*;
public dynamic class MISSILE3 extends Sound {
}
}//package
Section 199
//MissileHolderforControl (MissileHolderforControl)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class MissileHolderforControl extends MovieClip {
public var mis:MovieClip;
public var detect:MovieClip;
public function MissileHolderforControl(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package
Section 200
//MRSLOWDOWN (MRSLOWDOWN)
package {
import flash.media.*;
public dynamic class MRSLOWDOWN extends Sound {
}
}//package
Section 201
//multielecfaze (multielecfaze)
package {
import flash.media.*;
public dynamic class multielecfaze extends Sound {
}
}//package
Section 202
//Muteneer (Muteneer)
package {
import flash.display.*;
public dynamic class Muteneer extends MovieClip {
public var fx_mc:MovieClip;
public var music_but:SimpleButton;
public var fx_but:SimpleButton;
public var music_mc:MovieClip;
}
}//package
Section 203
//NewgroundsAPI (NewgroundsAPI)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
public class NewgroundsAPI {
public static const ADS_APPROVED:Number = 3;
public static const bridge:Sprite = new Sprite();
private static const STAT_NEW_VERSION:Number = 4;
private static const STAT_AUTHOR_SITE:Number = 2;
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway.php";
private static const NEWGROUNDS_URL:String = "http://www.newgrounds.com";
private static const STAT_CUSTOM_STATS:Number = 50;
private static const STAT_MOVIE_VIEWS:Number = 1;
private static const STAT_NEWGROUNDS:Number = 3;
public static const NEW_VERSION:Number = 2;
public static const DENY_HOST:Number = 1;
private static var tracker_id:Number;
private static var movie_options:Object = new Object();
private static var connected:Boolean;
private static var custom_events:Object = new Object();
private static var host:String;
private static var linked:Boolean;
private static var events:Object = new Object();
private static var debug:Boolean;
private static var version:String;
private static var custom_links:Object = new Object();
public static function getNewVersionURL(){
return (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + STAT_NEW_VERSION));
}
private static function ReadGatewayData(_arg1:Object){
var _local2:*;
var _local3:String;
var _local4:*;
var _local5:URLLoader;
for (_local2 in _arg1) {
_arg1[_local2] = unescape(_arg1[_local2]);
movie_options[_local2] = _arg1[_local2];
};
if (_arg1["settings_loaded"]){
SendMessage("You have successfully connected to the Newgrounds API gateway!");
SendMessage((("Movie Identified as '" + movie_options["movie_name"]) + "'"));
if (movie_options["message"]){
SendMessage(movie_options["message"]);
};
if (movie_options["ad_url"]){
SendMessage("Your movie has been approved to run Flash Ads");
if (events[ADS_APPROVED]){
var _local6 = events;
_local6[ADS_APPROVED](movie_options["ad_url"]);
} else {
onAdsApproved(movie_options["ad_url"]);
};
};
if (((movie_options["movie_version"]) && (!((String(movie_options["movie_version"]) == String(version)))))){
SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!");
if (events[NEW_VERSION]){
_local6 = events;
_local6[NEW_VERSION]({version:movie_options["movie_version"], real_url:getMovieURL(), redirect_url:getNewVersionURL()});
} else {
onNewVersionAvailable(movie_options["movie_version"], getMovieURL(), getNewVersionURL());
};
};
if (movie_options["deny_host"]){
SendMessage("You have blocked 'localHost' in your API settings.");
SendMessage("If you wish to test your movie you will need to remove this block.");
if (events[DENY_HOST]){
_local6 = events;
_local6[DENY_HOST]({host:host, real_url:getMovieURL(), redirect_url:getNewVersionURL()});
} else {
onDenyHost(host, getMovieURL(), getNewVersionURL());
};
};
if (movie_options["request_portal_url"]){
_local3 = bridge.root.loaderInfo.url;
_local4 = ((((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_local3));
_local5 = new URLLoader(new URLRequest(_local4));
};
if (events[69]){
_local6 = events;
_local6[69]();
};
} else {
if (!movie_options["settings_loaded"]){
SendError("Could not establish connection to the API gateway.");
};
};
}
public static function setMovieVersion(_arg1){
if (!_arg1){
SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)");
} else {
version = String(_arg1);
};
}
public static function loadCustomLink(_arg1:String){
if (!_arg1){
SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)");
} else {
if (!custom_links[_arg1]){
SendError(("Attempted to open undefined custom link: " + _arg1));
} else {
SendLink(custom_links[_arg1]);
};
};
}
public static function addCustomLink(_arg1:Number, _arg2:String){
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)");
} else {
if (!_arg2){
SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)");
} else {
custom_links[_arg2] = (STAT_CUSTOM_STATS + _arg1);
SendMessage(((("Created custom link " + _arg1) + ": ") + _arg2));
};
};
}
public static function getMovieURL(){
if (movie_options["movie_url"]){
return (movie_options["movie_url"]);
};
return ("Newgrounds.com");
}
public static function debugMode(){
debug = true;
}
public static function getAdURL(){
return (movie_options["ad_url"]);
}
private static function SendStat(_arg1:Number, _arg2:Boolean, _arg3=null){
var target_url:*;
var XML_Loaded:*;
var x:*;
var request:URLRequest;
var gateway_loader:URLLoader;
var stat_id = _arg1;
var open_in_browser = _arg2;
var extra = _arg3;
if (!tracker_id){
SendError("You must call NewgroundsAPI.connectMovie() with a valid movie id before using API features!");
} else {
XML_Loaded = function (_arg1:Event){
var _local2:XML;
var _local3:Object;
var _local4:XMLList;
var _local5:XML;
var _local6:*;
var _local7:*;
XML.ignoreWhitespace = true;
_local2 = XML(_arg1.target.data);
_local3 = new Object();
_local4 = _local2.children();
for each (_local5 in _local4) {
_local6 = _local5.localName();
_local7 = _local5.attribute("value");
if (_local7 == Number(_local7)){
_local7 = Number(_local7);
};
_local3[_local6] = _local7;
};
ReadGatewayData(_local3);
};
target_url = (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + stat_id) + addSeed());
if (extra){
for (x in extra) {
target_url = (target_url + ((("&" + escape(x)) + "=") + escape(extra[x])));
};
};
if (debug){
target_url = (target_url + "&debug=1");
};
if (open_in_browser){
request = new URLRequest((target_url + addSeed()));
navigateToURL(request, "_blank");
} else {
gateway_loader = new URLLoader(new URLRequest((target_url + addSeed())));
gateway_loader.addEventListener(Event.COMPLETE, XML_Loaded);
};
};
}
public static function onAdsApproved(_arg1:String){
}
public static function loadMySite(_arg1:Event=null){
SendLink(STAT_AUTHOR_SITE);
}
private static function SendMessage(_arg1:String){
trace(("[NEWGROUNDS API] :: " + _arg1));
}
public static function linkAPI(_arg1){
_arg1.addChild(bridge);
linked = true;
}
public static function loadNewgrounds(_arg1:Event=null, _arg2:String=null){
var _local3:URLRequest;
var _local4:*;
if (!tracker_id){
_local3 = new URLRequest(((NEWGROUNDS_URL + "/") + _arg2));
navigateToURL(_local3, "_blank");
} else {
_local4 = null;
if (_arg2){
_local4 = new Object();
_local4.page = _arg2;
};
SendLink(STAT_NEWGROUNDS, _local4);
};
}
private static function SendLink(_arg1, _arg2=null){
SendStat(_arg1, true, _arg2);
}
public static function logCustomEvent(_arg1:String){
if (!_arg1){
SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)");
} else {
if (!custom_events[_arg1]){
SendError(("Attempted to log undefined custom event: " + _arg1));
} else {
SendEvent(custom_events[_arg1]);
};
};
}
private static function SendError(_arg1:String){
trace(("[NEWGROUNDS API ERROR] :: " + _arg1));
}
public static function addCustomEvent(_arg1:Number, _arg2:String){
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)");
} else {
if (!_arg2){
SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)");
} else {
custom_events[_arg2] = (STAT_CUSTOM_STATS + _arg1);
SendMessage(("Created custom event: " + _arg2));
};
};
}
private static function addSeed(){
return (("&seed=" + Math.random()));
}
public static function addEventListener(_arg1:Number, _arg2:Function){
events[_arg1] = _arg2;
}
private static function SendEvent(_arg1){
SendStat(_arg1, false);
}
public static function onNewVersionAvailable(_arg1:String, _arg2:String, _arg3:String){
var sw:*;
var sh:*;
var tw:*;
var th:*;
var mg:*;
var _root:*;
var overlay:MovieClip;
var overlay_x:*;
var overlay_y:*;
var close_x:*;
var blankarea:TextField;
var header:TextField;
var header_format:TextFormat;
var msgtext:TextField;
var msgtext_format:TextFormat;
var msgtext_link:TextFormat;
var version = _arg1;
var movie_url = _arg2;
var redirect_url = _arg3;
sw = bridge.stage.stageWidth;
sh = bridge.stage.stageHeight;
tw = 350;
th = 160;
mg = 20;
_root = bridge.root;
overlay = new MovieClip();
overlay.graphics.beginFill(0, 0.6);
overlay.graphics.lineStyle(0, 0);
overlay.graphics.drawRect(0, 0, sw, sh);
overlay.graphics.endFill();
overlay_x = Math.round(((sw - tw) / 2));
overlay_y = Math.round(((sh - th) / 2));
overlay.graphics.beginFill(102);
overlay.graphics.lineStyle(10, 0);
overlay.graphics.drawRect((overlay_x - mg), (overlay_y - mg), (tw + mg), (th + mg));
overlay.graphics.endFill();
overlay.close = function (_arg1:Event){
_root.removeChild(overlay);
};
close_x = new MovieClip();
close_x.graphics.beginFill(0, 0.1);
close_x.graphics.lineStyle(3, 22015);
close_x.graphics.drawRect(0, 0, 16, 16);
close_x.graphics.endFill();
close_x.graphics.moveTo(4, 4);
close_x.graphics.lineTo(13, 13);
close_x.graphics.moveTo(13, 4);
close_x.graphics.lineTo(4, 13);
close_x.x = ((overlay_x + tw) - 26);
close_x.y = (overlay_y - 10);
close_x.addEventListener(MouseEvent.CLICK, overlay.close);
blankarea = new TextField();
blankarea.x = (overlay_x - mg);
blankarea.y = (overlay_y - mg);
blankarea.width = (tw + mg);
blankarea.height = (th + mg);
blankarea.selectable = false;
header = new TextField();
header.width = tw;
header.x = overlay_x;
header.y = overlay_y;
header.height = 100;
header.selectable = false;
header_format = new TextFormat();
header_format.font = "Arial Black";
header_format.color = 0xFFFFFF;
header_format.size = 20;
header.defaultTextFormat = header_format;
header.text = "New Version Available!";
msgtext = new TextField();
msgtext.x = overlay_x;
msgtext.y = (overlay_y + 70);
msgtext.width = tw;
msgtext.height = 60;
msgtext.selectable = false;
msgtext_format = new TextFormat();
msgtext_format.font = "Arial";
msgtext_format.color = 0xFFFFFF;
msgtext_format.size = 12;
msgtext_format.bold = true;
msgtext_link = new TextFormat();
msgtext_link.font = "Arial";
msgtext_link.color = 0xFFFF00;
msgtext_link.size = 12;
msgtext_link.bold = true;
msgtext_link.url = redirect_url;
msgtext_link.target = "_blank";
if (version){
version = ("Version " + version);
} else {
version = "A new version";
};
msgtext.defaultTextFormat = msgtext_format;
msgtext.appendText((version + " is now available"));
if (movie_url){
msgtext.appendText(" at:\n");
msgtext.defaultTextFormat = msgtext_link;
msgtext.appendText(movie_url);
} else {
msgtext.appendText("!");
};
_root.addChild(overlay);
overlay.addChild(blankarea);
overlay.addChild(header);
overlay.addChild(msgtext);
overlay.addChild(close_x);
}
public static function onDenyHost(_arg1:String, _arg2:String, _arg3:String){
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:MovieClip;
var _local10:TextField;
var _local11:TextField;
var _local12:TextFormat;
var _local13:TextField;
var _local14:TextFormat;
var _local15:TextFormat;
_local4 = bridge.stage.stageWidth;
_local5 = bridge.stage.stageHeight;
_local6 = 350;
_local7 = 160;
_local8 = bridge.root;
_local9 = new MovieClip();
_local9.graphics.beginFill(0x660000);
_local9.graphics.lineStyle(20, 0);
_local9.graphics.drawRect(0, 0, _local4, _local5);
_local9.graphics.endFill();
_local10 = new TextField();
_local10.x = 0;
_local10.y = 0;
_local10.width = _local4;
_local10.height = _local5;
_local10.selectable = false;
_local11 = new TextField();
_local11.x = Math.round(((_local4 - _local6) / 2));
_local11.y = Math.round(((_local5 - _local7) / 2.5));
_local11.width = _local6;
_local11.height = 100;
_local11.selectable = false;
_local12 = new TextFormat();
_local12.font = "Arial Black";
_local12.color = 0xFF0000;
_local12.size = 38;
_local11.defaultTextFormat = _local12;
_local11.text = "ERROR!";
_local13 = new TextField();
_local13.x = Math.round(((_local4 - _local6) / 2));
_local13.y = (Math.round(((_local5 - _local7) / 2.5)) + 80);
_local13.width = _local6;
_local13.height = 80;
_local13.selectable = false;
_local14 = new TextFormat();
_local14.font = "Arial";
_local14.color = 0xFFFFFF;
_local14.size = 12;
_local14.bold = true;
_local15 = new TextFormat();
_local15.font = "Arial";
_local15.color = 0xFFFF00;
_local15.size = 12;
_local15.bold = true;
_local15.url = _arg3;
_local15.target = "_blank";
_local13.defaultTextFormat = _local14;
_local13.appendText((("This movie has not been approved for use on " + _arg1) + "\n"));
_local13.appendText("For an approved copy, please visit:\n");
_local13.defaultTextFormat = _local15;
_local13.appendText(_arg2);
_local8.addChild(_local9);
_local9.addChild(_local10);
_local9.addChild(_local11);
_local9.addChild(_local13);
}
public static function connectMovie(_arg1:Number){
var _local2:String;
var _local3:*;
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)");
} else {
if (!linked){
SendError("Attempted to call MewgroundsAPI.connectMovie() without first calling NewgroundsAPI.linkAPI(this)");
} else {
if (!tracker_id){
SendMessage("Connecting to API gateway...");
tracker_id = _arg1;
_local2 = bridge.root.loaderInfo.url;
host = _local2.split("/")[2].toLowerCase();
if (host.length < 1){
host = "localhost";
};
_local3 = new Object();
SendEvent(STAT_MOVIE_VIEWS);
};
};
};
}
public static function isInstalled(){
return (true);
}
}
}//package
Section 204
//ore2 (ore2)
package {
import flash.display.*;
public dynamic class ore2 extends BitmapData {
public function ore2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 205
//oreeater (oreeater)
package {
import flash.display.*;
public dynamic class oreeater extends BitmapData {
public function oreeater(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 206
//orepath1 (orepath1)
package {
import flash.display.*;
public dynamic class orepath1 extends BitmapData {
public function orepath1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 207
//orepath10 (orepath10)
package {
import flash.display.*;
public dynamic class orepath10 extends BitmapData {
public function orepath10(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 208
//orepath2 (orepath2)
package {
import flash.display.*;
public dynamic class orepath2 extends BitmapData {
public function orepath2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 209
//orepath3 (orepath3)
package {
import flash.display.*;
public dynamic class orepath3 extends BitmapData {
public function orepath3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 210
//orepath4 (orepath4)
package {
import flash.display.*;
public dynamic class orepath4 extends BitmapData {
public function orepath4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 211
//orepath5 (orepath5)
package {
import flash.display.*;
public dynamic class orepath5 extends BitmapData {
public function orepath5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 212
//orepath6 (orepath6)
package {
import flash.display.*;
public dynamic class orepath6 extends BitmapData {
public function orepath6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 213
//orepath7 (orepath7)
package {
import flash.display.*;
public dynamic class orepath7 extends BitmapData {
public function orepath7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 214
//orepath8 (orepath8)
package {
import flash.display.*;
public dynamic class orepath8 extends BitmapData {
public function orepath8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 215
//orepath9 (orepath9)
package {
import flash.display.*;
public dynamic class orepath9 extends BitmapData {
public function orepath9(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 216
//path_definitions (path_definitions)
package {
import flash.display.*;
public class path_definitions extends Sprite {
public var myXml:XML;
public function path_definitions(){
myXml = <Paths>
<Path id="0">
<Details>Black Hole - Spiralishus</Details>
<BoardName>SPIRALISHUS</BoardName>
<BonusCash>600</BonusCash>
<BonusG>150</BonusG>
<BonusR>150</BonusR>
<BonusB>150</BonusB>
<BonusW>150</BonusW>
<BoardWidth>700</BoardWidth>
<BoardHeight>560</BoardHeight>
<StartNode0>0</StartNode0>
<StartNode1>14</StartNode1>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>6</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>21</levVarNeg>
<levVarPos>29</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>59</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>1</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>21</Level>
<OPL>+20</OPL>
</slopeOffset>
<slopeOffset>
<Level>21</Level>
<OPL>-20</OPL>
</slopeOffset>
<slopeOffset>
<Level>28</Level>
<OPL>30</OPL>
</slopeOffset>
<slopeOffset>
<Level>40</Level>
<OPL>-30</OPL>
</slopeOffset>
<slopeOffset>
<Level>60</Level>
<OPL>-100</OPL>
</slopeOffset>
<slopeOffset>
<Level>70</Level>
<OPL>-200</OPL>
</slopeOffset>
<levOffset>
<Level>18</Level>
<Timing>2</Timing>
<HP>-50</HP>
</levOffset>
<levOffset>
<Level>39</Level>
<Timing>1</Timing>
<HP>-50</HP>
</levOffset>
<levOffset>
<Level>56</Level>
<Timing>2</Timing>
<HP>-100</HP>
</levOffset>
<levOffset>
<Level>57</Level>
<Timing>2</Timing>
<HP>-100</HP>
</levOffset>
<levOffset>
<Level>58</Level>
<Timing>2</Timing>
<HP>-100</HP>
</levOffset>
<Node id="0">
<Xpos>34</Xpos>
<Ypos>106</Ypos>
</Node>
<Node id="1">
<Xpos>108</Xpos>
<Ypos>60</Ypos>
</Node>
<Node id="2">
<Xpos>270</Xpos>
<Ypos>39</Ypos>
</Node>
<Node id="3">
<Xpos>426</Xpos>
<Ypos>65</Ypos>
</Node>
<Node id="4">
<Xpos>546</Xpos>
<Ypos>158</Ypos>
</Node>
<Node id="5">
<Xpos>604</Xpos>
<Ypos>253</Ypos>
</Node>
<Node id="6">
<Xpos>604</Xpos>
<Ypos>367</Ypos>
</Node>
<Node id="7">
<Xpos>485</Xpos>
<Ypos>450</Ypos>
</Node>
<Node id="8">
<Xpos>345</Xpos>
<Ypos>424</Ypos>
</Node>
<Node id="9">
<Xpos>345</Xpos>
<Ypos>424</Ypos>
</Node>
<Node id="9">
<Xpos>345</Xpos>
<Ypos>424</Ypos>
</Node>
<Node id="10">
<Xpos>310</Xpos>
<Ypos>370</Ypos>
</Node>
<Node id="11">
<Xpos>365</Xpos>
<Ypos>327</Ypos>
</Node>
<Node id="12">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="13">
<Xpos>265</Xpos>
<Ypos>537</Ypos>
</Node>
<Node id="14">
<Xpos>249</Xpos>
<Ypos>530</Ypos>
</Node>
<Node id="15">
<Xpos>146</Xpos>
<Ypos>442</Ypos>
</Node>
<Node id="16">
<Xpos>100</Xpos>
<Ypos>313</Ypos>
</Node>
<Node id="17">
<Xpos>153</Xpos>
<Ypos>218</Ypos>
</Node>
<Node id="18">
<Xpos>249</Xpos>
<Ypos>165</Ypos>
</Node>
<Node id="19">
<Xpos>405</Xpos>
<Ypos>168</Ypos>
</Node>
<Node id="20">
<Xpos>462</Xpos>
<Ypos>213</Ypos>
</Node>
<Node id="21">
<Xpos>473</Xpos>
<Ypos>278</Ypos>
</Node>
<Node id="22">
<Xpos>439</Xpos>
<Ypos>321</Ypos>
<NextNode0>12</NextNode0>
</Node>
</Path>
<Path id="1">
<Details>Congo - The Beginning</Details>
<BoardName>BEGINNING</BoardName>
<BonusCash>120</BonusCash>
<BonusG>100</BonusG>
<BonusR>100</BonusR>
<BonusB>100</BonusB>
<BonusW>0</BonusW>
<BoardWidth>550</BoardWidth>
<BoardHeight>400</BoardHeight>
<ZoomEnabled>false</ZoomEnabled>
<levVarNeg>10</levVarNeg>
<levVarNeg>19</levVarNeg>
<levVarNeg>65</levVarNeg>
<levVarPos>2</levVarPos>
<levVarPos>45</levVarPos>
<levVarPos>55</levVarPos>
<StartTowers>
<Tower>
<Type>17</Type>
<XX>30</XX>
<YY>168</YY>
<Level>2</Level>
</Tower>
</StartTowers>
<levOffset>
<Level>1</Level>
<Timing>15</Timing>
<HP>-2</HP>
</levOffset>
<levOffset>
<Level>20</Level>
<HP>-20</HP>
</levOffset>
<levOffset>
<Level>23</Level>
<Timing>3</Timing>
<HP>-20</HP>
</levOffset>
<levOffset>
<Level>4</Level>
<Timing>15</Timing>
</levOffset>
<levOffset>
<Level>124</Level>
<HP>-4000</HP>
</levOffset>
<levOffset>
<Level>125</Level>
<HP>-4000</HP>
</levOffset>
<levOffset>
<Level>4</Level>
<Timing>15</Timing>
</levOffset>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>3</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>19</Level>
<OPL>-10</OPL>
</slopeOffset>
<slopeOffset>
<Level>27</Level>
<OPL>-16</OPL>
</slopeOffset>
<slopeOffset>
<Level>60</Level>
<OPL>-300</OPL>
</slopeOffset>
<slopeOffset>
<Level>90</Level>
<OPL>-600</OPL>
</slopeOffset>
<slopeOffset>
<Level>118</Level>
<OPL>-2000</OPL>
</slopeOffset>
<slopeOffset>
<Level>125</Level>
<OPL>850</OPL>
</slopeOffset>
<Node id="0">
<Xpos>591</Xpos>
<Ypos>-48</Ypos>
</Node>
<Node id="1">
<Xpos>450</Xpos>
<Ypos>97</Ypos>
</Node>
<Node id="2">
<Xpos>363</Xpos>
<Ypos>97</Ypos>
</Node>
<Node id="3">
<Xpos>322</Xpos>
<Ypos>173</Ypos>
</Node>
<Node id="4">
<Xpos>382</Xpos>
<Ypos>271</Ypos>
</Node>
<Node>
<Xpos>443</Xpos>
<Ypos>272</Ypos>
</Node>
<Node>
<Xpos>443</Xpos>
<Ypos>371</Ypos>
</Node>
<Node>
<Xpos>57</Xpos>
<Ypos>371</Ypos>
</Node>
<Node>
<Xpos>58</Xpos>
<Ypos>272</Ypos>
</Node>
<Node>
<Xpos>140</Xpos>
<Ypos>183</Ypos>
</Node>
<Node>
<Xpos>79</Xpos>
<Ypos>101</Ypos>
</Node>
<Node>
<Xpos>79</Xpos>
<Ypos>-52</Ypos>
</Node>
<Node>
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
</Path>
<Path id="2">
<Details>The Pond : Ducks</Details>
<BoardName>DUCKS</BoardName>
<BonusCash>700</BonusCash>
<BonusG>100</BonusG>
<BonusR>100</BonusR>
<BonusB>100</BonusB>
<BonusW>100</BonusW>
<BoardWidth>857</BoardWidth>
<BoardHeight>825</BoardHeight>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>11</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>23</levVarNeg>
<levVarPos>29</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>59</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<StartTowers>
<Tower>
<Type>17</Type>
<XX>110</XX>
<YY>204</YY>
<Level>0</Level>
</Tower>
</StartTowers>
<levOffset>
<Level>86</Level>
<HP>-1500</HP>
</levOffset>
<levOffset>
<Level>87</Level>
<HP>-3500</HP>
</levOffset>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>1</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>5</Level>
<OPL>-4</OPL>
</slopeOffset>
<slopeOffset>
<Level>23</Level>
<OPL>20</OPL>
</slopeOffset>
<slopeOffset>
<Level>26</Level>
<OPL>20</OPL>
</slopeOffset>
<slopeOffset>
<Level>32</Level>
<OPL>30</OPL>
</slopeOffset>
<slopeOffset>
<Level>40</Level>
<OPL>30</OPL>
</slopeOffset>
<slopeOffset>
<Level>65</Level>
<OPL>-500</OPL>
</slopeOffset>
<slopeOffset>
<Level>78</Level>
<OPL>750</OPL>
</slopeOffset>
<slopeOffset>
<Level>85</Level>
<OPL>-200</OPL>
</slopeOffset>
<slopeOffset>
<Level>75</Level>
<OPL>300</OPL>
</slopeOffset>
<Node id="0">
<Xpos>571</Xpos>
<Ypos>875</Ypos>
</Node>
<Node id="1">
<Xpos>571</Xpos>
<Ypos>556</Ypos>
</Node>
<Node id="2">
<Xpos>363</Xpos>
<Ypos>556</Ypos>
</Node>
<Node id="3">
<Xpos>363</Xpos>
<Ypos>439</Ypos>
</Node>
<Node id="4">
<Xpos>716</Xpos>
<Ypos>439</Ypos>
</Node>
<Node id="5">
<Xpos>716</Xpos>
<Ypos>165</Ypos>
</Node>
<Node id="6">
<Xpos>343</Xpos>
<Ypos>165</Ypos>
</Node>
<Node id="7">
<Xpos>343</Xpos>
<Ypos>323</Ypos>
</Node>
<Node id="8">
<Xpos>121</Xpos>
<Ypos>323</Ypos>
</Node>
<Node id="9">
<Xpos>121</Xpos>
<Ypos>875</Ypos>
</Node>
<Node id="10">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
</Path>
<Path id="3">
<Details>The Pond : Crossroads</Details>
<BoardName>CROSSROADS</BoardName>
<BonusCash>170</BonusCash>
<BonusG>130</BonusG>
<BonusR>130</BonusR>
<BonusB>130</BonusB>
<BonusW>10</BonusW>
<BoardWidth>700</BoardWidth>
<BoardHeight>650</BoardHeight>
<StartNode0>0</StartNode0>
<StartNode1>8</StartNode1>
<ZoomEnabled>true</ZoomEnabled>
<levOffset>
<Level>20</Level>
<HP>-40</HP>
</levOffset>
<levOffset>
<Level>21</Level>
<HP>-40</HP>
</levOffset>
<levOffset>
<Level>22</Level>
<HP>-40</HP>
</levOffset>
<levOffset>
<Level>60</Level>
<HP>-300</HP>
</levOffset>
<levOffset>
<Level>70</Level>
<HP>-600</HP>
<Timing>2</Timing>
</levOffset>
<slopeOffset>
<Level>10</Level>
<OPL>2</OPL>
</slopeOffset>
<slopeOffset>
<Level>16</Level>
<OPL>-25</OPL>
</slopeOffset>
<slopeOffset>
<Level>27</Level>
<OPL>-35</OPL>
</slopeOffset>
<slopeOffset>
<Level>32</Level>
<OPL>-30</OPL>
</slopeOffset>
<slopeOffset>
<Level>55</Level>
<OPL>-250</OPL>
</slopeOffset>
<slopeOffset>
<Level>72</Level>
<OPL>-350</OPL>
</slopeOffset>
<StartTowers>
<Tower>
<Type>17</Type>
<XX>433</XX>
<YY>548</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>106</XX>
<YY>543</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>210</XX>
<YY>204</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>581</XX>
<YY>234</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>1</Type>
<XX>336</XX>
<YY>373</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>2</Type>
<XX>441</XX>
<YY>357</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>1</Type>
<XX>381</XX>
<YY>317</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>2</Type>
<XX>400</XX>
<YY>410</YY>
<Level>0</Level>
</Tower>
</StartTowers>
<Node id="0">
<Xpos>293</Xpos>
<Ypos>-51</Ypos>
</Node>
<Node id="1">
<Xpos>261</Xpos>
<Ypos>93</Ypos>
</Node>
<Node id="2">
<Xpos>382</Xpos>
<Ypos>152</Ypos>
</Node>
<Node id="3">
<Xpos>430</Xpos>
<Ypos>294</Ypos>
</Node>
<Node id="4">
<Xpos>395</Xpos>
<Ypos>370</Ypos>
</Node>
<Node id="5">
<Xpos>245</Xpos>
<Ypos>511</Ypos>
</Node>
<Node id="6">
<Xpos>200</Xpos>
<Ypos>693</Ypos>
</Node>
<Node id="7">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="8">
<Xpos>734</Xpos>
<Ypos>414</Ypos>
</Node>
<Node id="9">
<Xpos>629</Xpos>
<Ypos>373</Ypos>
</Node>
<Node id="10">
<Xpos>486</Xpos>
<Ypos>429</Ypos>
</Node>
<Node id="11">
<Xpos>394</Xpos>
<Ypos>369</Ypos>
</Node>
<Node id="12">
<Xpos>287</Xpos>
<Ypos>307</Ypos>
</Node>
<Node id="13">
<Xpos>198</Xpos>
<Ypos>359</Ypos>
</Node>
<Node id="14">
<Xpos>99</Xpos>
<Ypos>364</Ypos>
</Node>
<Node id="15">
<Xpos>-43</Xpos>
<Ypos>479</Ypos>
</Node>
<Node id="16">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
</Path>
<Path id="4">
<Details>Conga : Islands</Details>
<BoardName>ISLANDS</BoardName>
<BonusCash>750</BonusCash>
<BonusG>150</BonusG>
<BonusR>150</BonusR>
<BonusB>150</BonusB>
<BonusW>0</BonusW>
<BoardWidth>920</BoardWidth>
<BoardHeight>476</BoardHeight>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>12</WaveOffSet>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>2</Level>
<OPL>-7</OPL>
</slopeOffset>
<slopeOffset>
<Level>8</Level>
<OPL>-20</OPL>
</slopeOffset>
<slopeOffset>
<Level>10</Level>
<OPL>-20</OPL>
</slopeOffset>
<slopeOffset>
<Level>14</Level>
<OPL>10</OPL>
</slopeOffset>
<slopeOffset>
<Level>17</Level>
<OPL>-30</OPL>
</slopeOffset>
<slopeOffset>
<Level>25</Level>
<OPL>-30</OPL>
</slopeOffset>
<slopeOffset>
<Level>28</Level>
<OPL>15</OPL>
</slopeOffset>
<levOffset>
<Level>22</Level>
<Timing>3</Timing>
</levOffset>
<slopeOffset>
<Level>38</Level>
<OPL>-70</OPL>
</slopeOffset>
<slopeOffset>
<Level>46</Level>
<OPL>-120</OPL>
</slopeOffset>
<slopeOffset>
<Level>50</Level>
<OPL>-220</OPL>
</slopeOffset>
<slopeOffset>
<Level>60</Level>
<OPL>-420</OPL>
</slopeOffset>
<levOffset>
<Level>44</Level>
<Timing>10</Timing>
</levOffset>
<levOffset>
<Level>53</Level>
<Timing>10</Timing>
</levOffset>
<levOffset>
<Level>51</Level>
<Timing>20</Timing>
</levOffset>
<Node id="0">
<Xpos>-50</Xpos>
<Ypos>100</Ypos>
</Node>
<Node id="1">
<Xpos>128</Xpos>
<Ypos>133</Ypos>
<NextNode0>2</NextNode0>
<NextNode1>10</NextNode1>
</Node>
<Node id="2">
<Xpos>271</Xpos>
<Ypos>50</Ypos>
</Node>
<Node id="3">
<Xpos>438</Xpos>
<Ypos>43</Ypos>
</Node>
<Node id="4">
<Xpos>529</Xpos>
<Ypos>110</Ypos>
<NextNode0>5</NextNode0>
<NextNode1>16</NextNode1>
</Node>
<Node id="5">
<Xpos>664</Xpos>
<Ypos>80</Ypos>
</Node>
<Node id="6">
<Xpos>843</Xpos>
<Ypos>174</Ypos>
</Node>
<Node id="7">
<Xpos>867</Xpos>
<Ypos>315</Ypos>
</Node>
<Node id="8">
<Xpos>960</Xpos>
<Ypos>367</Ypos>
</Node>
<Node id="9">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="10">
<Xpos>170</Xpos>
<Ypos>215</Ypos>
</Node>
<Node id="11">
<Xpos>291</Xpos>
<Ypos>296</Ypos>
</Node>
<Node id="12">
<Xpos>390</Xpos>
<Ypos>310</Ypos>
</Node>
<Node id="13">
<Xpos>498</Xpos>
<Ypos>409</Ypos>
</Node>
<Node id="14">
<Xpos>653</Xpos>
<Ypos>429</Ypos>
</Node>
<Node id="15">
<Xpos>773</Xpos>
<Ypos>346</Ypos>
<NextNode0>7</NextNode0>
</Node>
<Node id="16">
<Xpos>550</Xpos>
<Ypos>227</Ypos>
</Node>
<Node id="17">
<Xpos>628</Xpos>
<Ypos>308</Ypos>
<NextNode0>15</NextNode0>
</Node>
</Path>
<Path id="5">
<Details>Orangyuo</Details>
<BoardName>ORANGYUO</BoardName>
<BonusCash>350</BonusCash>
<BonusG>150</BonusG>
<BonusR>150</BonusR>
<BonusB>150</BonusB>
<BonusW>150</BonusW>
<BoardWidth>550</BoardWidth>
<BoardHeight>939</BoardHeight>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>6</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>23</levVarNeg>
<levVarPos>29</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>59</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<levOffset>
<Level>11</Level>
<Timing>3</Timing>
</levOffset>
<levOffset>
<Level>17</Level>
<HP>-15</HP>
</levOffset>
<levOffset>
<Level>23</Level>
<Timing>-5</Timing>
</levOffset>
<levOffset>
<Level>30</Level>
<Timing>-5</Timing>
<HP>20</HP>
<Speed>1</Speed>
</levOffset>
<levOffset>
<Level>45</Level>
<Timing>-5</Timing>
</levOffset>
<levOffset>
<Level>52</Level>
<HP>40</HP>
</levOffset>
<levOffset>
<Level>54</Level>
<HP>-120</HP>
</levOffset>
<levOffset>
<Level>39</Level>
<HP>-10</HP>
</levOffset>
<levOffset>
<Level>43</Level>
<HP>+30</HP>
</levOffset>
<levOffset>
<Level>58</Level>
<HP>-450</HP>
<Timing>3</Timing>
<Quantity>-15</Quantity>
</levOffset>
<levOffset>
<Level>61</Level>
<HP>-20</HP>
<Timing>1</Timing>
<Quantity>-5</Quantity>
</levOffset>
<levOffset>
<Level>70</Level>
<HP>-200</HP>
</levOffset>
<levOffset>
<Level>87</Level>
<Quantity>-4</Quantity>
<HP>-50</HP>
</levOffset>
<levOffset>
<Level>96</Level>
<Timing>-2</Timing>
<HP>150</HP>
</levOffset>
<levOffset>
<Level>96</Level>
<Timing>-2</Timing>
<HP>150</HP>
</levOffset>
<levOffset>
<Level>126</Level>
<Quantity>-5</Quantity>
<Timing>15</Timing>
<HP>-5150</HP>
</levOffset>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>1</Level>
<OPL>-2</OPL>
</slopeOffset>
<slopeOffset>
<Level>40</Level>
<OPL>25</OPL>
</slopeOffset>
<slopeOffset>
<Level>53</Level>
<OPL>-30</OPL>
</slopeOffset>
<slopeOffset>
<Level>58</Level>
<OPL>-35</OPL>
</slopeOffset>
<slopeOffset>
<Level>60</Level>
<OPL>-70</OPL>
</slopeOffset>
<slopeOffset>
<Level>65</Level>
<OPL>-70</OPL>
</slopeOffset>
<slopeOffset>
<Level>70</Level>
<OPL>-60</OPL>
</slopeOffset>
<slopeOffset>
<Level>80</Level>
<OPL>-50</OPL>
</slopeOffset>
<slopeOffset>
<Level>90</Level>
<OPL>40</OPL>
</slopeOffset>
<slopeOffset>
<Level>100</Level>
<OPL>350</OPL>
</slopeOffset>
<slopeOffset>
<Level>110</Level>
<OPL>550</OPL>
</slopeOffset>
<slopeOffset>
<Level>120</Level>
<OPL>650</OPL>
</slopeOffset>
<slopeOffset>
<Level>130</Level>
<OPL>900</OPL>
</slopeOffset>
<slopeOffset>
<Level>140</Level>
<OPL>1600</OPL>
</slopeOffset>
<slopeOffset>
<Level>150</Level>
<OPL>2600</OPL>
</slopeOffset>
<slopeOffset>
<Level>160</Level>
<OPL>4000</OPL>
</slopeOffset>
<slopeOffset>
<Level>170</Level>
<OPL>8000</OPL>
</slopeOffset>
<slopeOffset>
<Level>180</Level>
<OPL>16000</OPL>
</slopeOffset>
<slopeOffset>
<Level>190</Level>
<OPL>32000</OPL>
</slopeOffset>
<slopeOffset>
<Level>200</Level>
<OPL>100000</OPL>
</slopeOffset>
<Node id="0">
<Xpos>142</Xpos>
<Ypos>-50</Ypos>
</Node>
<Node id="1">
<Xpos>142</Xpos>
<Ypos>116</Ypos>
</Node>
<Node id="2">
<Xpos>380</Xpos>
<Ypos>302</Ypos>
</Node>
<Node id="3">
<Xpos>312</Xpos>
<Ypos>446</Ypos>
</Node>
<Node id="4">
<Xpos>417</Xpos>
<Ypos>623</Ypos>
</Node>
<Node id="5">
<Xpos>396</Xpos>
<Ypos>758</Ypos>
</Node>
<Node id="6">
<Xpos>272</Xpos>
<Ypos>838</Ypos>
</Node>
<Node id="7">
<Xpos>272</Xpos>
<Ypos>990</Ypos>
</Node>
<Node id="8">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
</Path>
<Path id="6">
<Details>Black Hole - Binary Suckers</Details>
<BoardName>BINARY</BoardName>
<BonusCash>300</BonusCash>
<BonusG>100</BonusG>
<BonusR>100</BonusR>
<BonusB>100</BonusB>
<BonusW>100</BonusW>
<BoardWidth>850</BoardWidth>
<BoardHeight>680</BoardHeight>
<StartNode0>0</StartNode0>
<StartNode1>13</StartNode1>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>6</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>23</levVarNeg>
<levVarPos>28</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>57</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>21</Level>
<OPL>-20</OPL>
</slopeOffset>
<slopeOffset>
<Level>28</Level>
<OPL>30</OPL>
</slopeOffset>
<slopeOffset>
<Level>76</Level>
<OPL>-200</OPL>
</slopeOffset>
<levOffset>
<Level>22</Level>
<Timing>2</Timing>
<HP>-20</HP>
</levOffset>
<levOffset>
<Level>98</Level>
<Timing>4</Timing>
<HP>-1000</HP>
</levOffset>
<levOffset>
<Level>99</Level>
<Timing>5</Timing>
<HP>-1000</HP>
</levOffset>
<StartTowers>
<Tower>
<Type>17</Type>
<XX>471</XX>
<YY>502</YY>
<Level>1</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>469</XX>
<YY>442</YY>
<Level>1</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>463</XX>
<YY>473</YY>
<Level>1</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>315</XX>
<YY>295</YY>
<Level>1</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>341</XX>
<YY>281</YY>
<Level>1</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>286</XX>
<YY>300</YY>
<Level>1</Level>
</Tower>
</StartTowers>
<Node id="0">
<Xpos>483</Xpos>
<Ypos>102</Ypos>
</Node>
<Node id="1">
<Xpos>499</Xpos>
<Ypos>130</Ypos>
</Node>
<Node id="2">
<Xpos>495</Xpos>
<Ypos>239</Ypos>
</Node>
<Node id="3">
<Xpos>431</Xpos>
<Ypos>335</Ypos>
<NextNode0>4</NextNode0>
<NextNode1>16</NextNode1>
</Node>
<Node id="4">
<Xpos>305</Xpos>
<Ypos>375</Ypos>
</Node>
<Node id="5">
<Xpos>158</Xpos>
<Ypos>329</Ypos>
</Node>
<Node id="6">
<Xpos>116</Xpos>
<Ypos>197</Ypos>
</Node>
<Node id="7">
<Xpos>163</Xpos>
<Ypos>132</Ypos>
</Node>
<Node id="8">
<Xpos>241</Xpos>
<Ypos>84</Ypos>
</Node>
<Node id="9">
<Xpos>327</Xpos>
<Ypos>128</Ypos>
</Node>
<Node id="10">
<Xpos>337</Xpos>
<Ypos>181</Ypos>
</Node>
<Node id="11">
<Xpos>283</Xpos>
<Ypos>207</Ypos>
</Node>
<Node id="12">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="13">
<Xpos>745</Xpos>
<Ypos>311</Ypos>
</Node>
<Node id="14">
<Xpos>729</Xpos>
<Ypos>301</Ypos>
</Node>
<Node id="15">
<Xpos>559</Xpos>
<Ypos>301</Ypos>
<NextNode0>4</NextNode0>
</Node>
<Node id="16">
<Xpos>365</Xpos>
<Ypos>423</Ypos>
</Node>
<Node id="17">
<Xpos>365</Xpos>
<Ypos>519</Ypos>
</Node>
<Node id="18">
<Xpos>409</Xpos>
<Ypos>625</Ypos>
</Node>
<Node id="19">
<Xpos>523</Xpos>
<Ypos>679</Ypos>
</Node>
<Node id="20">
<Xpos>639</Xpos>
<Ypos>659</Ypos>
</Node>
<Node id="21">
<Xpos>705</Xpos>
<Ypos>543</Ypos>
</Node>
<Node id="22">
<Xpos>667</Xpos>
<Ypos>467</Ypos>
</Node>
<Node id="23">
<Xpos>661</Xpos>
<Ypos>441</Ypos>
</Node>
<Node id="24">
<Xpos>557</Xpos>
<Ypos>475</Ypos>
</Node>
<Node id="25">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
</Path>
<Path id="7">
<Details>GTA : Creep City</Details>
<BoardName>CREEPCITY</BoardName>
<BonusCash>650</BonusCash>
<BonusG>500</BonusG>
<BonusR>500</BonusR>
<BonusB>500</BonusB>
<BonusW>500</BonusW>
<BoardWidth>700</BoardWidth>
<BoardHeight>700</BoardHeight>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>11</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>23</levVarNeg>
<levVarPos>29</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>59</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<levOffset>
<Level>69</Level>
<Speed>1</Speed>
<HP>1150</HP>
</levOffset>
<levOffset>
<Level>82</Level>
<Speed>-.5</Speed>
<HP>-450</HP>
</levOffset>
<levOffset>
<Level>86</Level>
<Speed>-.5</Speed>
<HP>-1650</HP>
</levOffset>
<slopeOffset>
<Level>0</Level>
<OPL>-2</OPL>
</slopeOffset>
<slopeOffset>
<Level>1</Level>
<OPL>-2</OPL>
</slopeOffset>
<slopeOffset>
<Level>40</Level>
<OPL>100</OPL>
</slopeOffset>
<slopeOffset>
<Level>50</Level>
<OPL>-200</OPL>
</slopeOffset>
<slopeOffset>
<Level>77</Level>
<OPL>-200</OPL>
</slopeOffset>
<Node id="0">
<Xpos>750</Xpos>
<Ypos>467</Ypos>
</Node>
<Node id="1">
<Xpos>650</Xpos>
<Ypos>467</Ypos>
<NextNode0>2</NextNode0>
<NextNode1>10</NextNode1>
<NextNode2>17</NextNode2>
</Node>
<Node id="2">
<Xpos>453</Xpos>
<Ypos>467</Ypos>
<NextNode0>1</NextNode0>
<NextNode1>3</NextNode1>
<NextNode2>8</NextNode2>
</Node>
<Node id="3">
<Xpos>453</Xpos>
<Ypos>239</Ypos>
<NextNode0>2</NextNode0>
<NextNode1>4</NextNode1>
<NextNode2>15</NextNode2>
<NextNode3>17</NextNode3>
</Node>
<Node id="4">
<Xpos>252</Xpos>
<Ypos>239</Ypos>
<NextNode0>3</NextNode0>
<NextNode1>4</NextNode1>
<NextNode2>14</NextNode2>
</Node>
<Node id="5">
<Xpos>53</Xpos>
<Ypos>239</Ypos>
<NextNode0>6</NextNode0>
<NextNode1>13</NextNode1>
<NextNode2>11</NextNode2>
</Node>
<Node id="6">
<Xpos>-50</Xpos>
<Ypos>239</Ypos>
</Node>
<Node id="7">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="8">
<Xpos>453</Xpos>
<Ypos>526</Ypos>
<NextNode0>2</NextNode0>
<NextNode1>9</NextNode1>
<NextNode2>11</NextNode2>
</Node>
<Node id="9">
<Xpos>453</Xpos>
<Ypos>646</Ypos>
<NextNode0>8</NextNode0>
<NextNode1>10</NextNode1>
</Node>
<Node id="10">
<Xpos>650</Xpos>
<Ypos>646</Ypos>
<NextNode0>9</NextNode0>
<NextNode1>1</NextNode1>
</Node>
<Node id="11">
<Xpos>53</Xpos>
<Ypos>526</Ypos>
<NextNode0>8</NextNode0>
<NextNode1>12</NextNode1>
<NextNode2>5</NextNode2>
</Node>
<Node id="12">
<Xpos>53</Xpos>
<Ypos>646</Ypos>
<NextNode0>11</NextNode0>
</Node>
<Node id="13">
<Xpos>53</Xpos>
<Ypos>59</Ypos>
<NextNode0>5</NextNode0>
<NextNode1>14</NextNode1>
</Node>
<Node id="14">
<Xpos>252</Xpos>
<Ypos>59</Ypos>
<NextNode0>4</NextNode0>
<NextNode1>13</NextNode1>
<NextNode2>15</NextNode2>
</Node>
<Node id="15">
<Xpos>453</Xpos>
<Ypos>59</Ypos>
<NextNode0>3</NextNode0>
<NextNode1>14</NextNode1>
<NextNode2>16</NextNode2>
</Node>
<Node id="16">
<Xpos>650</Xpos>
<Ypos>59</Ypos>
<NextNode0>15</NextNode0>
<NextNode1>17</NextNode1>
</Node>
<Node id="17">
<Xpos>650</Xpos>
<Ypos>239</Ypos>
<NextNode0>1</NextNode0>
<NextNode1>3</NextNode1>
<NextNode2>16</NextNode2>
</Node>
</Path>
<Path id="8">
<Details>GTA : Creep City 2</Details>
<BoardName>CREEPCITY2</BoardName>
<BonusCash>300</BonusCash>
<BonusG>300</BonusG>
<BonusR>300</BonusR>
<BonusB>300</BonusB>
<BonusW>300</BonusW>
<BoardWidth>1000</BoardWidth>
<BoardHeight>700</BoardHeight>
<StartNode0>0</StartNode0>
<StartNode1>9</StartNode1>
<ZoomEnabled>true</ZoomEnabled>
<WaveOffSet>10</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>23</levVarNeg>
<levVarPos>26</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>59</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<levOffset>
<Level>93</Level>
<Speed>-0.5</Speed>
<Timing>2</Timing>
<HP>-1000</HP>
</levOffset>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>1</Level>
<OPL>-4</OPL>
</slopeOffset>
<slopeOffset>
<Level>30</Level>
<OPL>30</OPL>
</slopeOffset>
<slopeOffset>
<Level>20</Level>
<OPL>-30</OPL>
</slopeOffset>
<slopeOffset>
<Level>70</Level>
<OPL>-600</OPL>
</slopeOffset>
<slopeOffset>
<Level>78</Level>
<OPL>400</OPL>
</slopeOffset>
<StartTowers>
<Tower>
<Type>5</Type>
<XX>451</XX>
<YY>350</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>4</Type>
<XX>196</XX>
<YY>109</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>4</Type>
<XX>887</XX>
<YY>588</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>2</Type>
<XX>806</XX>
<YY>446</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>2</Type>
<XX>694</XX>
<YY>446</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>750</XX>
<YY>499</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>724</XX>
<YY>499</YY>
<Level>0</Level>
</Tower>
<Tower>
<Type>17</Type>
<XX>776</XX>
<YY>499</YY>
<Level>0</Level>
</Tower>
</StartTowers>
<Node id="0">
<Xpos>550</Xpos>
<Ypos>-50</Ypos>
</Node>
<Node id="1">
<Xpos>550</Xpos>
<Ypos>54</Ypos>
<NextNode0>2</NextNode0>
<NextNode1>19</NextNode1>
<NextNode2>16</NextNode2>
</Node>
<Node id="2">
<Xpos>550</Xpos>
<Ypos>241</Ypos>
<NextNode0>1</NextNode0>
<NextNode1>20</NextNode1>
<NextNode2>3</NextNode2>
</Node>
<Node id="3">
<Xpos>550</Xpos>
<Ypos>334</Ypos>
<NextNode0>2</NextNode0>
<NextNode1>17</NextNode1>
<NextNode2>26</NextNode2>
</Node>
<Node id="4">
<Xpos>550</Xpos>
<Ypos>647</Ypos>
<NextNode0>5</NextNode0>
<NextNode1>26</NextNode1>
<NextNode2>12</NextNode2>
</Node>
<Node id="5">
<Xpos>468</Xpos>
<Ypos>647</Ypos>
<NextNode0>11</NextNode0>
<NextNode1>4</NextNode1>
<NextNode2>6</NextNode2>
</Node>
<Node id="6">
<Xpos>468</Xpos>
<Ypos>750</Ypos>
</Node>
<Node id="7">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="8">
<Xpos>55</Xpos>
<Ypos>456</Ypos>
<NextNode0>10</NextNode0>
<NextNode1>23</NextNode1>
</Node>
<Node id="9">
<Xpos>-50</Xpos>
<Ypos>456</Ypos>
<NextNode0>8</NextNode0>
</Node>
<Node id="10">
<Xpos>55</Xpos>
<Ypos>647</Ypos>
<NextNode0>11</NextNode0>
<NextNode1>8</NextNode1>
</Node>
<Node id="11">
<Xpos>348</Xpos>
<Ypos>647</Ypos>
<NextNode0>10</NextNode0>
<NextNode1>25</NextNode1>
<NextNode2>5</NextNode2>
</Node>
<Node id="12">
<Xpos>947</Xpos>
<Ypos>647</Ypos>
<NextNode0>4</NextNode0>
<NextNode1>13</NextNode1>
</Node>
<Node id="13">
<Xpos>947</Xpos>
<Ypos>334</Ypos>
<NextNode0>17</NextNode0>
<NextNode1>14</NextNode1>
<NextNode2>16</NextNode2>
<NextNode3>12</NextNode3>
</Node>
<Node id="14">
<Xpos>1050</Xpos>
<Ypos>337</Ypos>
</Node>
<Node id="15">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
<Node id="16">
<Xpos>947</Xpos>
<Ypos>54</Ypos>
<NextNode0>13</NextNode0>
<NextNode1>1</NextNode1>
</Node>
<Node id="17">
<Xpos>749</Xpos>
<Ypos>334</Ypos>
<NextNode0>3</NextNode0>
<NextNode1>13</NextNode1>
<NextNode2>18</NextNode2>
</Node>
<Node id="18">
<Xpos>749</Xpos>
<Ypos>438</Ypos>
<NextNode0>17</NextNode0>
</Node>
<Node id="19">
<Xpos>463</Xpos>
<Ypos>54</Ypos>
<NextNode0>1</NextNode0>
<NextNode1>22</NextNode1>
<NextNode2>20</NextNode2>
</Node>
<Node id="20">
<Xpos>463</Xpos>
<Ypos>241</Ypos>
<NextNode0>19</NextNode0>
<NextNode1>24</NextNode1>
<NextNode2>2</NextNode2>
</Node>
<Node id="21">
<Xpos>258</Xpos>
<Ypos>241</Ypos>
<NextNode0>24</NextNode0>
<NextNode1>22</NextNode1>
</Node>
<Node id="22">
<Xpos>258</Xpos>
<Ypos>54</Ypos>
<NextNode0>23</NextNode0>
<NextNode1>19</NextNode1>
<NextNode2>21</NextNode2>
</Node>
<Node id="23">
<Xpos>55</Xpos>
<Ypos>54</Ypos>
<NextNode0>22</NextNode0>
<NextNode1>8</NextNode1>
</Node>
<Node id="24">
<Xpos>348</Xpos>
<Ypos>241</Ypos>
<NextNode0>20</NextNode0>
<NextNode1>21</NextNode1>
<NextNode2>25</NextNode2>
</Node>
<Node id="25">
<Xpos>348</Xpos>
<Ypos>464</Ypos>
<NextNode0>24</NextNode0>
<NextNode1>26</NextNode1>
<NextNode2>11</NextNode2>
</Node>
<Node id="26">
<Xpos>550</Xpos>
<Ypos>464</Ypos>
<NextNode0>3</NextNode0>
<NextNode1>25</NextNode1>
<NextNode2>4</NextNode2>
</Node>
</Path>
<Path id="9">
<Details>MoonWalk</Details>
<BoardName>MOONWALK</BoardName>
<BonusCash>500</BonusCash>
<BonusG>200</BonusG>
<BonusR>200</BonusR>
<BonusB>200</BonusB>
<BonusW>200</BonusW>
<BoardWidth>922</BoardWidth>
<BoardHeight>596</BoardHeight>
<ZoomEnabled>false</ZoomEnabled>
<WaveOffSet>11</WaveOffSet>
<levVarNeg>10</levVarNeg>
<levVarNeg>10</levVarNeg>
<levVarPos>20</levVarPos>
<levVarNeg>23</levVarNeg>
<levVarPos>29</levVarPos>
<levVarNeg>42</levVarNeg>
<levVarPos>43</levVarPos>
<levVarPos>43</levVarPos>
<levVarNeg>48</levVarNeg>
<levVarPos>51</levVarPos>
<levVarPos>51</levVarPos>
<levVarNeg>59</levVarNeg>
<levVarPos>63</levVarPos>
<levVarNeg>75</levVarNeg>
<levVarNeg>80</levVarNeg>
<levVarPos>82</levVarPos>
<levOffset>
<Level>1</Level>
<HP>5</HP>
</levOffset>
<levOffset>
<Level>2</Level>
<HP>10</HP>
</levOffset>
<levOffset>
<Level>3</Level>
<HP>13</HP>
</levOffset>
<levOffset>
<Level>4</Level>
<HP>17</HP>
</levOffset>
<levOffset>
<Level>5</Level>
<HP>19</HP>
</levOffset>
<levOffset>
<Level>6</Level>
<HP>21</HP>
</levOffset>
<levOffset>
<Level>7</Level>
<HP>22</HP>
</levOffset>
<levOffset>
<Level>8</Level>
<HP>23</HP>
</levOffset>
<levOffset>
<Level>9</Level>
<HP>24</HP>
</levOffset>
<levOffset>
<Level>10</Level>
<HP>24</HP>
</levOffset>
<levOffset>
<Level>11</Level>
<Timing>3</Timing>
</levOffset>
<levOffset>
<Level>12</Level>
<HP>40</HP>
</levOffset>
<levOffset>
<Level>14</Level>
<HP>10</HP>
</levOffset>
<levOffset>
<Level>17</Level>
<HP>-15</HP>
</levOffset>
<levOffset>
<Level>23</Level>
<Timing>-5</Timing>
</levOffset>
<levOffset>
<Level>30</Level>
<Timing>-5</Timing>
<HP>20</HP>
<Speed>1</Speed>
</levOffset>
<levOffset>
<Level>37</Level>
<Timing>1</Timing>
<HP>-40</HP>
</levOffset>
<levOffset>
<Level>39</Level>
<HP>-40</HP>
</levOffset>
<levOffset>
<Level>43</Level>
<HP>-300</HP>
</levOffset>
<levOffset>
<Level>45</Level>
<Timing>-5</Timing>
</levOffset>
<levOffset>
<Level>45</Level>
<Timing>2</Timing>
<HP>-50</HP>
</levOffset>
<levOffset>
<Level>50</Level>
<HP>-280</HP>
<Quantity>-5</Quantity>
</levOffset>
<levOffset>
<Level>51</Level>
<HP>-280</HP>
<Quantity>-10</Quantity>
</levOffset>
<levOffset>
<Level>58</Level>
<HP>-450</HP>
<Timing>3</Timing>
<Quantity>-15</Quantity>
</levOffset>
<levOffset>
<Level>61</Level>
<HP>-20</HP>
<Timing>1</Timing>
<Quantity>-5</Quantity>
</levOffset>
<levOffset>
<Level>70</Level>
<HP>-200</HP>
</levOffset>
<levOffset>
<Level>77</Level>
<HP>-300</HP>
</levOffset>
<levOffset>
<Level>87</Level>
<Quantity>-4</Quantity>
<HP>-50</HP>
</levOffset>
<levOffset>
<Level>96</Level>
<Timing>-4</Timing>
<HP>300</HP>
</levOffset>
<slopeOffset>
<Level>0</Level>
<OPL>-1</OPL>
</slopeOffset>
<slopeOffset>
<Level>1</Level>
<OPL>-8</OPL>
</slopeOffset>
<slopeOffset>
<Level>10</Level>
<OPL>-5</OPL>
</slopeOffset>
<slopeOffset>
<Level>20</Level>
<OPL>50</OPL>
</slopeOffset>
<slopeOffset>
<Level>34</Level>
<OPL>80</OPL>
</slopeOffset>
<slopeOffset>
<Level>40</Level>
<OPL>-55</OPL>
</slopeOffset>
<slopeOffset>
<Level>47</Level>
<OPL>-100</OPL>
</slopeOffset>
<slopeOffset>
<Level>57</Level>
<OPL>85</OPL>
</slopeOffset>
<slopeOffset>
<Level>60</Level>
<OPL>-70</OPL>
</slopeOffset>
<slopeOffset>
<Level>65</Level>
<OPL>-70</OPL>
</slopeOffset>
<slopeOffset>
<Level>70</Level>
<OPL>-120</OPL>
</slopeOffset>
<slopeOffset>
<Level>75</Level>
<OPL>-120</OPL>
</slopeOffset>
<slopeOffset>
<Level>80</Level>
<OPL>-50</OPL>
</slopeOffset>
<slopeOffset>
<Level>90</Level>
<OPL>100</OPL>
</slopeOffset>
<slopeOffset>
<Level>100</Level>
<OPL>100</OPL>
</slopeOffset>
<slopeOffset>
<Level>110</Level>
<OPL>200</OPL>
</slopeOffset>
<slopeOffset>
<Level>120</Level>
<OPL>400</OPL>
</slopeOffset>
<slopeOffset>
<Level>130</Level>
<OPL>800</OPL>
</slopeOffset>
<slopeOffset>
<Level>140</Level>
<OPL>1600</OPL>
</slopeOffset>
<Node id="0">
<Xpos>-50</Xpos>
<Ypos>165</Ypos>
</Node>
<Node id="1">
<Xpos>218</Xpos>
<Ypos>100</Ypos>
</Node>
<Node id="2">
<Xpos>328</Xpos>
<Ypos>246</Ypos>
</Node>
<Node id="3">
<Xpos>500</Xpos>
<Ypos>200</Ypos>
</Node>
<Node id="4">
<Xpos>620</Xpos>
<Ypos>74</Ypos>
</Node>
<Node id="5">
<Xpos>810</Xpos>
<Ypos>170</Ypos>
</Node>
<Node id="6">
<Xpos>852</Xpos>
<Ypos>384</Ypos>
</Node>
<Node id="7">
<Xpos>607</Xpos>
<Ypos>495</Ypos>
</Node>
<Node id="8">
<Xpos>461</Xpos>
<Ypos>388</Ypos>
</Node>
<Node id="9">
<Xpos>293</Xpos>
<Ypos>425</Ypos>
</Node>
<Node id="10">
<Xpos>130</Xpos>
<Ypos>650</Ypos>
</Node>
<Node id="11">
<Xpos>-1</Xpos>
<Ypos>-1</Ypos>
</Node>
</Path>
</Paths>
;
super();
}
}
}//package
Section 217
//PathButton (PathButton)
package {
import flash.display.*;
public dynamic class PathButton extends SimpleButton {
}
}//package
Section 218
//PathSelector (PathSelector)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class PathSelector extends MovieClip {
public var detect1:MovieClip;
public var detect2:MovieClip;
public function PathSelector(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
this.mouseEnabled = false;
this.mouseChildren = false;
stop();
}
function frame2(){
stop();
}
}
}//package
Section 219
//PathSelOver (PathSelOver)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class PathSelOver extends MovieClip {
public function PathSelOver(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
this.mouseEnabled = false;
this.mouseChildren = false;
stop();
}
function frame2(){
stop();
}
}
}//package
Section 220
//PauseButton (PauseButton)
package {
import flash.display.*;
public dynamic class PauseButton extends SimpleButton {
}
}//package
Section 221
//Pauseness (Pauseness)
package {
import flash.display.*;
public dynamic class Pauseness extends MovieClip {
}
}//package
Section 222
//PowerInfo (PowerInfo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class PowerInfo extends MovieClip {
public var towername:TextField;
public var towerpoweru:TextField;
public var costs:MovieClip;
public var closebut:SimpleButton;
public var towerpower:TextField;
public var upgradebut:SimpleButton;
public var sellbut:SimpleButton;
public function PowerInfo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 223
//quakeloop2 (quakeloop2)
package {
import flash.media.*;
public dynamic class quakeloop2 extends Sound {
}
}//package
Section 224
//quakeout2 (quakeout2)
package {
import flash.media.*;
public dynamic class quakeout2 extends Sound {
}
}//package
Section 225
//QUESTION (QUESTION)
package {
import flash.media.*;
public dynamic class QUESTION extends Sound {
}
}//package
Section 226
//QuitGameBotty (QuitGameBotty)
package {
import flash.display.*;
public dynamic class QuitGameBotty extends SimpleButton {
}
}//package
Section 227
//randomdoom (randomdoom)
package {
import flash.media.*;
public dynamic class randomdoom extends Sound {
}
}//package
Section 228
//reallynicelarf (reallynicelarf)
package {
import flash.media.*;
public dynamic class reallynicelarf extends Sound {
}
}//package
Section 229
//ResearchInfo (ResearchInfo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class ResearchInfo extends MovieClip {
public var towername:TextField;
public var towerpoweru:TextField;
public var costs:MovieClip;
public var closebut:SimpleButton;
public var towerpower:TextField;
public var upgradebut:SimpleButton;
public function ResearchInfo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 230
//resourcer (resourcer)
package {
import flash.media.*;
public dynamic class resourcer extends Sound {
}
}//package
Section 231
//ResourcerInfo (ResourcerInfo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class ResourcerInfo extends MovieClip {
public var r2:SimpleButton;
public var r3:SimpleButton;
public var r0:SimpleButton;
public var r4:SimpleButton;
public var towername:TextField;
public var onBut:SimpleButton;
public var towerspeedu:TextField;
public var towerpoweru:TextField;
public var costs:MovieClip;
public var closebut:SimpleButton;
public var offBut:SimpleButton;
public var towerpower:TextField;
public var towerspeed:TextField;
public var upgradebut:SimpleButton;
public var sellbut:SimpleButton;
public var towerspeedcount:TextField;
public var r1:SimpleButton;
public function ResourcerInfo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 232
//Smokin (Smokin)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class Smokin extends MovieClip {
public function Smokin(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package
Section 233
//soundModule (soundModule)
package {
import flash.events.*;
import flash.display.*;
import com.hydrotik.utils.*;
import flash.net.*;
public class soundModule extends MovieClip {
private var medFxVol:Number;// = 0.5
private var topFxVol:Number;// = 1
public var so:SharedObject;
private var zapCount:Number;// = -2
private var slowDownCount:Number;// = 0
private var fxVol:Number;
private var capaLoopCount:Number;// = 0
private var littleGunCount:Number;// = 0
private var bigGunCount:Number;// = 0
private var flameLoopCount:Number;// = -2
private var boomCount:Number;// = 0
public var fxState:String;
private var genericCounters:Array;
private var laserCount:Number;// = -2
private var gatlinLoopCount:Number;// = -2
public var muteButtons:Muteneer;
private var laserInitCount:Number;// = 0
public var musicScene:String;// = "Normal"
public var musicState:String;
private var missileCount:Number;// = 0
private var shockCount:Number;// = 0
private var quakeLoopCount:Number;// = -2
public function soundModule():void{
muteButtons = new Muteneer();
so = SharedObject.getLocal("rdmutesettings");
missileCount = 0;
littleGunCount = 0;
bigGunCount = 0;
boomCount = 0;
slowDownCount = 0;
shockCount = 0;
laserCount = -2;
laserInitCount = 0;
genericCounters = [0, 0, 0, 0, 0, 0, 0, 0, 0];
capaLoopCount = 0;
gatlinLoopCount = -2;
zapCount = -2;
topFxVol = 1;
medFxVol = 0.5;
fxVol = topFxVol;
flameLoopCount = -2;
quakeLoopCount = -2;
musicScene = "Normal";
super();
initSounds();
if (so.data.fxState == undefined){
so.data.fxState = "HALFON";
so.data.fxVol = topFxVol;
};
if (so.data.musicState == undefined){
so.data.musicState = "TUNE1";
};
fxState = so.data.fxState;
musicState = so.data.musicState;
fxVol = so.data.fxVol;
addChild(muteButtons);
muteButtons.x = 548;
muteButtons.y = 0;
muteButtons.fx_mc.gotoAndStop(fxState);
muteButtons.music_mc.gotoAndStop(musicState);
muteButtons.fx_but.addEventListener(MouseEvent.CLICK, switchFx);
muteButtons.music_but.addEventListener(MouseEvent.CLICK, switchMusic);
startMusic();
}
public function soundBigGun():void{
if (bigGunCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("BIGGUN", 1, fxVol);
};
bigGunCount = 1;
};
}
public function soundLittleGun():void{
if (littleGunCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("LITTLEGUN", 1, fxVol);
};
littleGunCount = 1;
};
}
public function soundQuestion():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("QUESTION", 1, fxVol);
};
}
public function soundLaserInit():void{
if (laserInitCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("LASERINIT", 1, fxVol);
};
laserInitCount = 1;
};
}
public function soundFlameLoop():void{
if (flameLoopCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
if (flameLoopCount < -1){
SoundManager.getInstance().play("flamethr2", 9999, fxVol);
};
};
flameLoopCount = 1;
};
}
public function soundError():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("ERROR", 1, fxVol);
};
}
public function soundCapaLoop():void{
if (capaLoopCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
if (capaLoopCount < -1){
SoundManager.getInstance().play("multielecfaze", 9999, fxVol);
};
};
capaLoopCount = 1;
};
}
private function initSounds(){
SoundManager.getInstance().addItem(new BIGGUN());
SoundManager.getInstance().addItem(new BUILDINGDOWNTHUMP());
SoundManager.getInstance().addItem(new BOOM1());
SoundManager.getInstance().addItem(new BOOM2());
SoundManager.getInstance().addItem(new BOOM3());
SoundManager.getInstance().addItem(new BOOM4());
SoundManager.getInstance().addItem(new BOOM5());
SoundManager.getInstance().addItem(new BOOM6());
SoundManager.getInstance().addItem(new LITTLEGUN());
SoundManager.getInstance().addItem(new MISSILE1());
SoundManager.getInstance().addItem(new MISSILE2());
SoundManager.getInstance().addItem(new MISSILE3());
SoundManager.getInstance().addItem(new MRSLOWDOWN());
SoundManager.getInstance().addItem(new LECTRICSHOCK());
SoundManager.getInstance().addItem(new TUNE1());
SoundManager.getInstance().addItem(new TUNE2());
SoundManager.getInstance().addItem(new LASERINIT());
SoundManager.getInstance().addItem(new LASERLONG());
SoundManager.getInstance().addItem(new QUESTION());
SoundManager.getInstance().addItem(new BUILDINGUP());
SoundManager.getInstance().addItem(new CLICK());
SoundManager.getInstance().addItem(new ERROR());
SoundManager.getInstance().addItem(new ENDGAMESOUND());
SoundManager.getInstance().addItem(new APRESEXPLO1());
SoundManager.getInstance().addItem(new GAMESTART());
SoundManager.getInstance().addItem(new capacitout());
SoundManager.getInstance().addItem(new HUGEbiggun());
SoundManager.getInstance().addItem(new randomdoom());
SoundManager.getInstance().addItem(new zaptowerloop());
SoundManager.getInstance().addItem(new multielecfaze());
SoundManager.getInstance().addItem(new gatlinloop2());
SoundManager.getInstance().addItem(new gatlinout2());
SoundManager.getInstance().addItem(new quakeloop2());
SoundManager.getInstance().addItem(new quakeout2());
SoundManager.getInstance().addItem(new resourcer());
SoundManager.getInstance().addItem(new flameout());
SoundManager.getInstance().addItem(new flamethr2());
SoundManager.getInstance().play("LASERLONG", 1, 1);
SoundManager.getInstance().stop("LASERLONG");
SoundManager.getInstance().play("zaptowerloop", 1, 1);
SoundManager.getInstance().stop("zaptowerloop");
SoundManager.getInstance().play("multielecfaze", 1, 1);
SoundManager.getInstance().stop("multielecfaze");
SoundManager.getInstance().play("gatlinloop2", 1, 1);
SoundManager.getInstance().stop("gatlinloop2");
SoundManager.getInstance().play("flamethr2", 1, 1);
SoundManager.getInstance().stop("flamethr2");
SoundManager.getInstance().play("quakeloop2", 1, 1);
SoundManager.getInstance().stop("quakeloop2");
}
public function soundHugeGun():void{
if (genericCounters[0] < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("HUGEbiggun", 1, fxVol);
};
genericCounters[0] = 1;
};
}
public function soundSlowDown():void{
if (slowDownCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("MRSLOWDOWN", 1, fxVol);
};
slowDownCount = 1;
};
}
public function soundZap():void{
if (zapCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
if (zapCount < -1){
SoundManager.getInstance().play("zaptowerloop", 9999, fxVol);
};
};
zapCount = 1;
};
}
public function soundBoom():void{
var _local1:Number;
if (boomCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
_local1 = (int((Math.random() * 6)) + 1);
SoundManager.getInstance().play(("BOOM" + _local1), 1, fxVol);
};
boomCount = 1;
};
}
public function soundShock():void{
if (shockCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("LECTRICSHOCK", 1, fxVol);
};
shockCount = 1;
};
}
public function soundBuildingUp():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("BUILDINGUP", 1, fxVol);
};
}
public function startMusic():void{
if (musicState != "ALLOFF"){
SoundManager.getInstance().startSequencer(musicState);
};
}
public function soundLaser():void{
if (laserCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
if (laserCount < -1){
SoundManager.getInstance().play("LASERLONG", 9999, fxVol);
};
};
laserCount = 1;
};
}
public function soundQuake():void{
if (genericCounters[4] < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("quake", 1, fxVol);
};
genericCounters[4] = 1;
};
}
public function soundMissile():void{
var _local1:Number;
if (missileCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
_local1 = (int((Math.random() * 3)) + 1);
SoundManager.getInstance().play(("MISSILE" + _local1), 1, fxVol);
};
missileCount = 1;
};
}
public function switchFx(_arg1:Event){
var event = _arg1;
if (fxState == "ALLON"){
fxState = "HALFON";
fxVol = medFxVol;
} else {
if (fxState == "HALFON"){
fxState = "ALLOFF";
muteLoops();
} else {
if (fxState == "ALLOFF"){
fxVol = topFxVol;
fxState = "ALLON";
};
};
};
muteButtons.fx_mc.gotoAndStop(fxState);
so.data.fxState = fxState;
so.data.fxVol = fxVol;
try {
so.flush();
} catch(e:Error) {
};
}
public function soundGatlinLoop():void{
if (gatlinLoopCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
if (gatlinLoopCount < -1){
SoundManager.getInstance().play("gatlinloop2", 9999, fxVol);
};
};
gatlinLoopCount = 1;
};
}
public function soundEndGameGood():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
};
}
public function soundApresExplo():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("APRESEXPLO1", 1, fxVol);
};
}
public function stopMusic():void{
if (musicState != "ALLOFF"){
SoundManager.getInstance().stop(musicState);
};
}
public function soundGameStart():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("GAMESTART", 1, fxVol);
};
}
public function switchMusic(_arg1:Event){
var event = _arg1;
if (musicScene == "Normal"){
stopMusic();
};
if (musicState == "TUNE1"){
musicState = "TUNE2";
} else {
if (musicState == "TUNE2"){
musicState = "ALLOFF";
} else {
if (musicState == "ALLOFF"){
musicState = "TUNE1";
};
};
};
if (musicScene == "Normal"){
startMusic();
};
muteButtons.music_mc.gotoAndStop(musicState);
so.data.musicState = musicState;
try {
so.flush();
} catch(e:Error) {
};
}
public function soundCapacOut():void{
if (genericCounters[1] < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("capacitout", 1, fxVol);
};
genericCounters[1] = 1;
};
}
public function killme():void{
this.parent.removeChild(this);
}
public function soundRandomDoom():void{
if (genericCounters[2] < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("randomdoom", 1, fxVol);
};
genericCounters[2] = 1;
};
}
public function buildingThump():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("BUILDINGDOWNTHUMP", 1, fxVol);
};
}
public function muteLoops():void{
SoundManager.getInstance().stop("LASERLONG");
SoundManager.getInstance().stop("zaptowerloop");
SoundManager.getInstance().stop("multielecfaze");
SoundManager.getInstance().stop("gatlinloop2");
SoundManager.getInstance().stop("flamethr2");
SoundManager.getInstance().stop("quakeloop2");
}
public function soundClick():void{
}
public function soundQuakeLoop():void{
if (quakeLoopCount < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
if (quakeLoopCount < -1){
SoundManager.getInstance().play("quakeloop2", 9999, fxVol);
};
};
quakeLoopCount = 1;
};
}
public function soundEndGameBad():void{
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("ENDGAMESOUND", 1, fxVol);
};
}
public function soundResourcer():void{
if (genericCounters[5] < 0){
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("resourcer", 1, fxVol);
};
genericCounters[5] = 1;
};
}
public function processSoundCounters():void{
var _local1:Number;
if (littleGunCount > -1){
littleGunCount = (littleGunCount - 1);
};
if (bigGunCount > -1){
bigGunCount = (bigGunCount - 1);
};
if (missileCount > -1){
missileCount = (missileCount - 1);
};
if (slowDownCount > -1){
slowDownCount = (slowDownCount - 1);
};
if (shockCount > -1){
shockCount = (shockCount - 1);
};
if (boomCount > -4){
boomCount = (boomCount - 1);
} else {
if (boomCount == -4){
soundApresExplo();
boomCount = (boomCount - 1);
};
};
if (laserCount > -2){
laserCount = (laserCount - 1);
if (laserCount == -2){
SoundManager.getInstance().stop("LASERLONG");
};
};
if (gatlinLoopCount > -2){
gatlinLoopCount = (gatlinLoopCount - 1);
if (gatlinLoopCount == -2){
SoundManager.getInstance().stop("gatlinloop2");
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("gatlinout2", 1, fxVol);
};
};
};
if (flameLoopCount > -2){
flameLoopCount = (flameLoopCount - 1);
if (flameLoopCount == -2){
SoundManager.getInstance().stop("flamethr2");
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("flameout", 1, fxVol);
};
};
};
if (quakeLoopCount > -2){
quakeLoopCount = (quakeLoopCount - 1);
if (quakeLoopCount == -2){
SoundManager.getInstance().stop("quakeloop2");
if ((((fxState == "ALLON")) || ((fxState == "HALFON")))){
SoundManager.getInstance().play("quakeout2", 1, fxVol);
};
};
};
if (zapCount > -2){
zapCount = (zapCount - 1);
if (zapCount == -2){
SoundManager.getInstance().stop("zaptowerloop");
};
};
if (capaLoopCount > -2){
capaLoopCount = (capaLoopCount - 1);
if (capaLoopCount == -2){
SoundManager.getInstance().stop("multielecfaze");
};
};
if (laserInitCount > -1){
laserInitCount = (laserInitCount - 1);
};
_local1 = 0;
while (_local1 < genericCounters.length) {
if (genericCounters[_local1] > -1){
genericCounters[_local1] = (genericCounters[_local1] - 1);
};
_local1++;
};
}
public function stopQuake():void{
SoundManager.getInstance().stop("quakeloop2");
}
}
}//package
Section 234
//speedReport (speedReport)
package {
import flash.display.*;
import flash.text.*;
public dynamic class speedReport extends MovieClip {
public var gameSpeedReport:TextField;
}
}//package
Section 235
//StartButton (StartButton)
package {
import flash.display.*;
public dynamic class StartButton extends SimpleButton {
}
}//package
Section 236
//sting_controller (sting_controller)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class sting_controller extends MovieClip {
public var clip:MovieClip;
private var aas:Array;
private var thisMode:Array;
private var yys:Array;
private var mose:Number;// = 1
private var xxs:Array;
private var qwik:Number;// = 10
public function sting_controller(){
aas = new Array();
xxs = new Array();
yys = new Array();
mose = 1;
qwik = 10;
thisMode = new Array();
super();
addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true);
clip.armegaButton.addEventListener(MouseEvent.CLICK, callArmegalo, false, 0, true);
play();
aas.push(clip.a1);
aas.push(clip.a2);
aas.push(clip.a3);
aas.forEach(setEmUp);
}
public function callArmegalo(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var event = _arg1;
url = "http://www.armegalo.com";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
public function onEnterFrame(_arg1:Event):void{
if ((Math.random() * 5) < 1){
mose = 0;
qwik = 2;
} else {
mose = 1;
qwik = 10;
};
aas.forEach(doMaThang);
}
private function doMaThang(_arg1, _arg2:int, _arg3:Array):void{
if (thisMode[_arg2] == 0){
if ((Math.random() * 4) < 2){
thisMode[_arg2] = int((Math.random() * 4));
};
_arg1.x = ((xxs[_arg2] + (Math.random() * 12)) - 6);
_arg1.y = ((yys[_arg2] + (Math.random() * 12)) - 6);
if (mose == 1){
this.scaleY = ((Math.random() / 20) + 0.975);
this.scaleY = ((Math.random() / 20) + 0.975);
} else {
this.scaleX = ((Math.random() / 10) + 0.9);
this.scaleY = ((Math.random() / 10) + 0.9);
};
} else {
if (thisMode[_arg2] == 1){
this.scaleX = (this.scaleX - (this.scaleX / 100));
this.scaleY = (this.scaleY + (this.scaleY / 100));
} else {
if (thisMode[_arg2] == 2){
this.scaleX = (this.scaleX + (this.scaleX / 100));
this.scaleY = (this.scaleY + (this.scaleY / 100));
} else {
if (thisMode[_arg2] == 3){
this.scaleX = (this.scaleX + (this.scaleX / 100));
this.scaleY = (this.scaleY - (this.scaleY / 100));
};
};
};
if ((Math.random() * qwik) < 1.5){
thisMode[_arg2] = 0;
};
};
}
private function setEmUp(_arg1, _arg2:int, _arg3:Array):void{
xxs[_arg2] = _arg1.x;
yys[_arg2] = _arg1.y;
thisMode[_arg2] = 0;
}
}
}//package
Section 237
//Symbol136 (Symbol136)
package {
public dynamic class Symbol136 extends bubblishus {
}
}//package
Section 238
//Symbol137 (Symbol137)
package {
public dynamic class Symbol137 extends bubblishus {
}
}//package
Section 239
//Symbol138 (Symbol138)
package {
public dynamic class Symbol138 extends bubblishus {
}
}//package
Section 240
//Symbol139 (Symbol139)
package {
public dynamic class Symbol139 extends bubblishus {
}
}//package
Section 241
//Symbol140 (Symbol140)
package {
public dynamic class Symbol140 extends bubblishus {
}
}//package
Section 242
//Symbol141 (Symbol141)
package {
public dynamic class Symbol141 extends bubblishus {
}
}//package
Section 243
//Symbol142 (Symbol142)
package {
public dynamic class Symbol142 extends bubblishus {
}
}//package
Section 244
//Symbol143 (Symbol143)
package {
public dynamic class Symbol143 extends bubblishus {
}
}//package
Section 245
//Symbol144 (Symbol144)
package {
public dynamic class Symbol144 extends bubblishus {
}
}//package
Section 246
//Symbol145 (Symbol145)
package {
public dynamic class Symbol145 extends bubblishus {
}
}//package
Section 247
//Symbol146 (Symbol146)
package {
public dynamic class Symbol146 extends bubblishus {
}
}//package
Section 248
//Tower_controller (Tower_controller)
package {
import flash.display.*;
public class Tower_controller extends Sprite {
public var Slow:Number;
public var Size:Number;// = 0
public var ResourceSelector:Number;
public var Gravity:Number;
public var ThisMine:Number;
public var HeatUpRate:Number;
public var BurstLock:Boolean;
public var Thisis:Number;
public var CT:ClockTimer;
public var WWorth:Number;// = 0
public var Splash:Number;
public var BurstDecay:String;
public var GWorth:Number;// = 0
public var Scatter:Number;
public var Name:String;
public var LockTarget:Boolean;
public var oTarget:Number;// = -1
public var Power:Number;
public var Tower:TowersHolderforControl;
public var Func:String;
public var reloadCount:Number;// = 2
public var Burst:Number;
public var TechType:String;
public var TowerWorth:uint;// = 0
public var CoolDownRate:Number;
public var Range:Number;
public var WaitingTimer:uint;
public var ResetBurst:Boolean;
public var FireSP:Number;
public var rotDir:Number;
public var LocalFridges:Array;
public var TargetSystem:Number;// = 0
public var Temperature:Number;// = 0
public var myShape:Shape;
public var RWorth:Number;// = 0
public var Level:Number;
public var fuse:uint;// = 0
public var BWorth:Number;// = 0
public var WaitingFrom:uint;
public var Damage:Number;
public var UGTechType:String;
public var Target:Number;// = -1
public var framecount:uint;// = 0
public var TowerType:Number;
public var ExplosionType:Number;// = 1
public var BurstCount:Number;
public var On:Boolean;
public function Tower_controller(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Boolean, _arg11:Number, _arg12:String, _arg13:Number, _arg14:Number, _arg15:Number, _arg16:Number, _arg17:Number, _arg18:Number, _arg19:String, _arg20:String, _arg21:String, _arg22:String, _arg23:uint, _arg24:Number, _arg25:Number, _arg26:Number, _arg27:Number, _arg28:Boolean, _arg29:Number, _arg30:Number, _arg31:Number, _arg32:Boolean, _arg33:Boolean, _arg34:Number, _arg35:Number, _arg36:Number){
reloadCount = 2;
Size = 0;
Target = -1;
oTarget = -1;
Tower = new TowersHolderforControl();
CT = new ClockTimer();
myShape = new Shape();
TowerWorth = 0;
GWorth = 0;
RWorth = 0;
BWorth = 0;
WWorth = 0;
rotDir = int(((Math.random() * 7) - 3));
framecount = 0;
fuse = 0;
Temperature = 0;
TargetSystem = 0;
LocalFridges = [];
ExplosionType = 1;
super();
ExplosionType = _arg36;
addChild(Tower);
this.x = _arg1;
this.y = _arg2;
Tower.gotoAndStop(_arg3);
ResetBurst = _arg28;
TowerType = _arg3;
Range = _arg4;
Damage = _arg5;
FireSP = _arg6;
reloadCount = _arg34;
Splash = _arg7;
Scatter = _arg8;
Burst = _arg11;
BurstCount = -1;
BurstDecay = _arg12;
HeatUpRate = _arg13;
CoolDownRate = _arg14;
Temperature = 0;
Slow = _arg16;
Thisis = _arg17;
Size = _arg18;
Func = _arg19;
TechType = _arg20;
UGTechType = _arg21;
Name = _arg22;
TowerWorth = _arg23;
GWorth = _arg24;
RWorth = _arg25;
BWorth = _arg26;
WWorth = _arg27;
Gravity = _arg15;
TargetSystem = _arg9;
LockTarget = _arg10;
Level = _arg29;
ThisMine = _arg30;
Power = _arg31;
On = _arg32;
BurstLock = _arg33;
ResourceSelector = _arg35;
}
}
}//package
Section 249
//tower_definitions (tower_definitions)
package {
import flash.display.*;
public class tower_definitions extends Sprite {
public var myXml:XML;
public function tower_definitions(){
myXml = <Towers>
<DefaultInfo>Mouse over a tower to see info</DefaultInfo>
<Tower id="0">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>30</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Gun Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>25</Size>
<Func>Weapon</Func>
<TechType>Gun</TechType>
<UGTechType>Gun</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Basic Weapons Tower. Quick to react - good for picking off the stragglers.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>80</Range>
<Damage>1.5</Damage>
<FireSP>8</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>0</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>30</Cost>
<RCost>0</RCost>
<GCost>1</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>85</Range>
<Damage>3</Damage>
<FireSP>7</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>0</Power>
<UpgradeTime>60</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>40</Cost>
<RCost>0</RCost>
<GCost>1</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>5</Damage>
<FireSP>6</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>0</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="3">
<Cost>50</Cost>
<RCost>0</RCost>
<GCost>1</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>95</Range>
<Damage>7.5</Damage>
<FireSP>5</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="4">
<Cost>70</Cost>
<RCost>0</RCost>
<GCost>1</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>10</Damage>
<FireSP>4</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="5">
<Cost>100</Cost>
<RCost>0</RCost>
<GCost>1</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>105</Range>
<Damage>13</Damage>
<FireSP>3</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="1">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>60</Cost>
<RCost>4</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Grenade Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>25</Size>
<Func>Weapon</Func>
<TechType>Bomb</TechType>
<UGTechType>Bomb</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Throws Grenades. Not very good at predicting creep movement. Good splash radius though.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>4</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>80</Range>
<Damage>5</Damage>
<FireSP>15</FireSP>
<Splash>40</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>60</Cost>
<RCost>5</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>85</Range>
<Damage>10</Damage>
<FireSP>14</FireSP>
<Splash>45</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.99</Slow>
<Power>1</Power>
<UpgradeTime>120</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>100</Cost>
<RCost>6</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>18</Damage>
<FireSP>13</FireSP>
<Splash>50</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.99</Slow>
<Power>1</Power>
<UpgradeTime>140</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="3">
<Cost>150</Cost>
<RCost>7</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>95</Range>
<Damage>28.12</Damage>
<FireSP>12</FireSP>
<Splash>55</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.98</Slow>
<Power>1</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="4">
<Cost>210</Cost>
<RCost>8</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>40.6</Damage>
<FireSP>11</FireSP>
<Splash>60</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.98</Slow>
<Power>1</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="5">
<Cost>260</Cost>
<RCost>9</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>105</Range>
<Damage>54</Damage>
<FireSP>10</FireSP>
<Splash>65</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>1</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="2">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>150</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>3</BCost>
<WCost>0</WCost>
<Name>Slow Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>25</Size>
<Func>Weapon</Func>
<TechType>Slow</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Slows creeps for other towers. No Damage.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>70</Range>
<Damage>0</Damage>
<FireSP>20</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.80</Slow>
<Power>2</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>150</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>80</Range>
<Damage>0</Damage>
<FireSP>17</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.75</Slow>
<Power>2</Power>
<UpgradeTime>12</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>0</Damage>
<FireSP>15</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.70</Slow>
<Power>2</Power>
<UpgradeTime>14</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="3">
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>0</Damage>
<FireSP>12</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.65</Slow>
<Power>2</Power>
<UpgradeTime>16</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="3">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>150</Cost>
<RCost>0</RCost>
<GCost>5</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Big Gun Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>Weapon</Func>
<TechType>Gun</TechType>
<UGTechType>Gun</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Gun Research centre. High damage, good aim and fire rate.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>9.5</Damage>
<FireSP>8</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="1">
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>20</Damage>
<FireSP>7</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>60</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>110</Range>
<Damage>30</Damage>
<FireSP>6</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="3">
<Cost>300</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>120</Range>
<Damage>41</Damage>
<FireSP>5</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>80</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>350</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>130</Range>
<Damage>52</Damage>
<FireSP>4</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>90</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="5">
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>2</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>140</Range>
<Damage>64</Damage>
<FireSP>3</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>1</Power>
<UpgradeTime>90</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="5">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="4">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>250</Cost>
<RCost>40</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Missile Turret</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>Weapon</Func>
<TechType>Missile</TechType>
<UGTechType>Bomb</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Explosives Research. Fires heat seeking missiles. Huge range, good splash and some slow.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>40</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>150</Range>
<Damage>24.2</Damage>
<FireSP>17</FireSP>
<Splash>25</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.02</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>3</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="1">
<Cost>150</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>160</Range>
<Damage>33.44</Damage>
<FireSP>16</FireSP>
<Splash>29</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.03</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>4</Power>
<UpgradeTime>120</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>225</Cost>
<RCost>25</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>170</Range>
<Damage>52.25</Damage>
<FireSP>15</FireSP>
<Splash>38</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.04</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>5</Power>
<UpgradeTime>140</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="3">
<Cost>325</Cost>
<RCost>30</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>180</Range>
<Damage>72.105</Damage>
<FireSP>14</FireSP>
<Splash>47</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.05</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>6</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>450</Cost>
<RCost>35</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>190</Range>
<Damage>93</Damage>
<FireSP>13</FireSP>
<Splash>55</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.06</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.99</Slow>
<Power>7</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="5">
<Cost>600</Cost>
<RCost>40</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>200</Range>
<Damage>114.95</Damage>
<FireSP>12</FireSP>
<Splash>60</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.07</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.98</Slow>
<Power>8</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="5">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>10</BCost>
<WCost>0</WCost>
<Name>Shock Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>Weapon</Func>
<TechType>Shock</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Electrics Research. Hits ALL targets within range with one shot. Low fire rate, but good damage and some slow.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>10</BCost>
<WCost>0</WCost>
<Range>70</Range>
<Damage>20</Damage>
<FireSP>25</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.5</HeatUpRate>
<CoolDownRate>0.02</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.99</Slow>
<Power>10</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="1">
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>15</BCost>
<WCost>0</WCost>
<Range>75</Range>
<Damage>45</Damage>
<FireSP>23</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.5</HeatUpRate>
<CoolDownRate>0.03</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.98</Slow>
<Power>12</Power>
<UpgradeTime>60</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>475</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Range>80</Range>
<Damage>70</Damage>
<FireSP>20</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.5</HeatUpRate>
<CoolDownRate>0.04</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>14</Power>
<UpgradeTime>65</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="3">
<Cost>650</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>25</BCost>
<WCost>0</WCost>
<Range>85</Range>
<Damage>100</Damage>
<FireSP>17</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.5</HeatUpRate>
<CoolDownRate>0.05</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.96</Slow>
<Power>16</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="4">
<Cost>800</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>30</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>135</Damage>
<FireSP>14</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.5</HeatUpRate>
<CoolDownRate>0.06</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.95</Slow>
<Power>18</Power>
<UpgradeTime>75</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="5">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="6">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>2000</Cost>
<RCost>100</RCost>
<GCost>100</GCost>
<BCost>100</BCost>
<WCost>250</WCost>
<Name>Laser MegaTower</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>GunShock</TechType>
<UGTechType>Multi</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires all research centres at level 3. Constant fire, huge damage. Immunes are cumulative on Multi Tech towers.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>100</RCost>
<GCost>100</GCost>
<BCost>100</BCost>
<WCost>250</WCost>
<Range>90</Range>
<Damage>30</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.01</HeatUpRate>
<CoolDownRate>0.008</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>10</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="1">
<Cost>2000</Cost>
<RCost>100</RCost>
<GCost>100</GCost>
<BCost>100</BCost>
<WCost>250</WCost>
<Range>95</Range>
<Damage>75</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.01</HeatUpRate>
<CoolDownRate>0.008</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>15</Power>
<UpgradeTime>65</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="2">
<Cost>2000</Cost>
<RCost>100</RCost>
<GCost>100</GCost>
<BCost>100</BCost>
<WCost>250</WCost>
<Range>100</Range>
<Damage>120</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.01</HeatUpRate>
<CoolDownRate>0.008</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>20</Power>
<UpgradeTime>75</UpgradeTime>
<TechReq>5</TechReq>
</Level>
<Level id="3">
<Cost>2000</Cost>
<RCost>100</RCost>
<GCost>100</GCost>
<BCost>100</BCost>
<WCost>250</WCost>
<Range>105</Range>
<Damage>165</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.01</HeatUpRate>
<CoolDownRate>0.008</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>25</Power>
<UpgradeTime>85</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level id="4">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="7">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Path</PathOrNot>
<Cost>30</Cost>
<RCost>1</RCost>
<GCost>1</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Name>Land Mine</Name>
<NumAllowed>999999</NumAllowed>
<Size>30</Size>
<Func>Weapon</Func>
<TechType>Mine</TechType>
<UGTechType>Mine</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Mine Factory. Leave mines on paths for one-shot, large splash, huge damage and slow.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>100</Damage>
<FireSP>30</FireSP>
<Splash>50</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.65</Slow>
<Power>0</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="1">
<Cost>30</Cost>
<RCost>1</RCost>
<GCost>1</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>250</Damage>
<FireSP>30</FireSP>
<Splash>65</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.6</Slow>
<Power>0</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>50</Cost>
<RCost>1</RCost>
<GCost>1</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>500</Damage>
<FireSP>30</FireSP>
<Splash>85</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.55</Slow>
<Power>0</Power>
<UpgradeTime>25</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="3">
<Cost>80</Cost>
<RCost>1</RCost>
<GCost>1</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>1000</Damage>
<FireSP>30</FireSP>
<Splash>110</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.5</Slow>
<Power>0</Power>
<UpgradeTime>35</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="4">
<Cost>120</Cost>
<RCost>1</RCost>
<GCost>1</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>2000</Damage>
<FireSP>30</FireSP>
<Splash>140</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.5</Slow>
<Power>0</Power>
<UpgradeTime>45</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="5">
<Cost>170</Cost>
<RCost>1</RCost>
<GCost>1</GCost>
<BCost>1</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>4000</Damage>
<FireSP>30</FireSP>
<Splash>175</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.5</Slow>
<Power>0</Power>
<UpgradeTime>55</UpgradeTime>
<TechReq>5</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="8">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>1440</Cost>
<RCost>0</RCost>
<GCost>70</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>AX4600 Huge Gun Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>Gun</TechType>
<UGTechType>Gun</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Gun Research Level 2.</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>1200</Damage>
<FireSP>35</FireSP>
<Splash>10</Splash>
<Scatter>0.5</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.75</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>3</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level>
<Cost>1728</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>2520</Damage>
<FireSP>33</FireSP>
<Splash>10</Splash>
<Scatter>1</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>.76</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>4</Power>
<UpgradeTime>105</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level>
<Cost>2088</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>110</Range>
<Damage>3975</Damage>
<FireSP>31</FireSP>
<Splash>10</Splash>
<Scatter>1.5</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>.77</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>5</Power>
<UpgradeTime>115</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level>
<Cost>2376</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>120</Range>
<Damage>5410</Damage>
<FireSP>29</FireSP>
<Splash>10</Splash>
<Scatter>2</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>.78</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>6</Power>
<UpgradeTime>125</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level>
<Cost>2880</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>130</Range>
<Damage>6965</Damage>
<FireSP>27</FireSP>
<Splash>10</Splash>
<Scatter>2.5</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>.79</HeatUpRate>
<CoolDownRate>0.02</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>7</Power>
<UpgradeTime>135</UpgradeTime>
<TechReq>5</TechReq>
</Level>
<Level>
<Cost>3456</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>140</Range>
<Damage>8600</Damage>
<FireSP>25</FireSP>
<Splash>10</Splash>
<Scatter>3</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>.8</HeatUpRate>
<CoolDownRate>0.02</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>8</Power>
<UpgradeTime>145</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level>
<Cost>4500</Cost>
<RCost>0</RCost>
<GCost>60</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>140</Range>
<Damage>11000</Damage>
<FireSP>23</FireSP>
<Splash>10</Splash>
<Scatter>3</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>.81</HeatUpRate>
<CoolDownRate>0.02</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>9</Power>
<UpgradeTime>145</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="9">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Path</PathOrNot>
<Cost>550</Cost>
<RCost>35</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Quake Mat</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>Quake</TechType>
<UGTechType>Bomb</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Bomb Research. Earthquake includes slow, scatter and some damage</Info>
<Level>
<Cost>0</Cost>
<RCost>35</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>30</Range>
<Damage>25</Damage>
<FireSP>30</FireSP>
<Splash>50</Splash>
<Scatter>4</Scatter>
<Burst>10</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>7</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level>
<Cost>650</Cost>
<RCost>35</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>40</Range>
<Damage>52</Damage>
<FireSP>27</FireSP>
<Splash>60</Splash>
<Scatter>6</Scatter>
<Burst>12</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.96</Slow>
<Power>14</Power>
<UpgradeTime>38</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level>
<Cost>780</Cost>
<RCost>35</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>50</Range>
<Damage>79</Damage>
<FireSP>23</FireSP>
<Splash>70</Splash>
<Scatter>8</Scatter>
<Burst>15</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.95</Slow>
<Power>21</Power>
<UpgradeTime>50</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level>
<Cost>920</Cost>
<RCost>35</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>60</Range>
<Damage>110</Damage>
<FireSP>21</FireSP>
<Splash>80</Splash>
<Scatter>10</Scatter>
<Burst>18</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.94</Slow>
<Power>28</Power>
<UpgradeTime>50</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="10">
<ResetBurst>1</ResetBurst>
<BurstLock>1</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>1200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>70</BCost>
<WCost>0</WCost>
<Name>Capacitator Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>Lightning</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>1</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Electric Research. Takes a little time to charge up, but if given enough time will release a deadly hit!</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>60</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>150</Damage>
<FireSP>30</FireSP>
<Splash>17</Splash>
<Scatter>3</Scatter>
<Burst>15</Burst>
<BurstDecay>ChargeNZap</BurstDecay>
<HeatUpRate>.029</HeatUpRate>
<CoolDownRate>0.004</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>20</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level>
<Cost>1440</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>50</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>310</Damage>
<FireSP>26</FireSP>
<Splash>17</Splash>
<Scatter>4</Scatter>
<Burst>14</Burst>
<BurstDecay>ChargeNZap</BurstDecay>
<HeatUpRate>0.031</HeatUpRate>
<CoolDownRate>0.004</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>25</Power>
<UpgradeTime>45</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level>
<Cost>1680</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>50</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>485</Damage>
<FireSP>20</FireSP>
<Splash>17</Splash>
<Scatter>5</Scatter>
<Burst>13</Burst>
<BurstDecay>ChargeNZap</BurstDecay>
<HeatUpRate>0.033</HeatUpRate>
<CoolDownRate>0.004</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>30</Power>
<UpgradeTime>55</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level>
<Cost>1920</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>50</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>670</Damage>
<FireSP>16</FireSP>
<Splash>17</Splash>
<Scatter>5</Scatter>
<Burst>12</Burst>
<BurstDecay>ChargeNZap</BurstDecay>
<HeatUpRate>0.035</HeatUpRate>
<CoolDownRate>0.004</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>35</Power>
<UpgradeTime>65</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level>
<Cost>2500</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>50</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>920</Damage>
<FireSP>15</FireSP>
<Splash>17</Splash>
<Scatter>5</Scatter>
<Burst>11</Burst>
<BurstDecay>ChargeNZap</BurstDecay>
<HeatUpRate>0.037</HeatUpRate>
<CoolDownRate>0.004</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>40</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>5</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="11">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Path</PathOrNot>
<Cost>500</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>70</BCost>
<WCost>0</WCost>
<Name>Gravity Mat</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>Gravity</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Electric Research. Draws creeps closer to it.</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Range>50</Range>
<Damage>0</Damage>
<FireSP>65</FireSP>
<Splash>50</Splash>
<Scatter>0</Scatter>
<Burst>20</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>.015</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>7</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level>
<Cost>550</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Range>50</Range>
<Damage>0</Damage>
<FireSP>60</FireSP>
<Splash>50</Splash>
<Scatter>0</Scatter>
<Burst>25</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>.02</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>8</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level>
<Cost>600</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Range>50</Range>
<Damage>0</Damage>
<FireSP>55</FireSP>
<Splash>50</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>FadeOut</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>.025</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>9</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="12">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>700</Cost>
<RCost>40</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Cluster Grenade Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>Cluster</TechType>
<UGTechType>Bomb</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Throws Cluster Grenades. Bad aim but great splash radius.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>45</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>30</Damage>
<FireSP>20</FireSP>
<Splash>35</Splash>
<Scatter>2</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.99</Slow>
<Power>4</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="1">
<Cost>800</Cost>
<RCost>60</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>62</Damage>
<FireSP>18</FireSP>
<Splash>38</Splash>
<Scatter>3</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.98</Slow>
<Power>4</Power>
<UpgradeTime>110</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="2">
<Cost>1250</Cost>
<RCost>80</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>110</Range>
<Damage>96</Damage>
<FireSP>16</FireSP>
<Splash>41</Splash>
<Scatter>4</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>4</Power>
<UpgradeTime>120</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="3">
<Cost>1650</Cost>
<RCost>105</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>120</Range>
<Damage>96</Damage>
<FireSP>14</FireSP>
<Splash>44</Splash>
<Scatter>5</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.96</Slow>
<Power>4</Power>
<UpgradeTime>130</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="4">
<Cost>2150</Cost>
<RCost>155</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>130</Range>
<Damage>133</Damage>
<FireSP>12</FireSP>
<Splash>47</Splash>
<Scatter>6</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.95</Slow>
<Power>4</Power>
<UpgradeTime>140</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="5">
<Cost>2950</Cost>
<RCost>225</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>140</Range>
<Damage>133</Damage>
<FireSP>11</FireSP>
<Splash>50</Splash>
<Scatter>7</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0</HeatUpRate>
<CoolDownRate>0</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.94</Slow>
<Power>4</Power>
<UpgradeTime>150</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="13">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Gatling Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>Weapon</Func>
<TechType>Gun</TechType>
<UGTechType>Gun</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Gun Research centre. High damage, high rate but overheats</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>2.7</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.02</HeatUpRate>
<CoolDownRate>0.005</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>4</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="1">
<Cost>350</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>6.8</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.021</HeatUpRate>
<CoolDownRate>0.005</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>5</Power>
<UpgradeTime>60</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>110</Range>
<Damage>11.85</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.022</HeatUpRate>
<CoolDownRate>0.005</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>6</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="3">
<Cost>450</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>120</Range>
<Damage>18</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.023</HeatUpRate>
<CoolDownRate>0.005</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>7</Power>
<UpgradeTime>80</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>500</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>130</Range>
<Damage>24.75</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.024</HeatUpRate>
<CoolDownRate>0.005</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>8</Power>
<UpgradeTime>90</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="5">
<Cost>550</Cost>
<RCost>0</RCost>
<GCost>15</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>140</Range>
<Damage>32</Damage>
<FireSP>1</FireSP>
<Splash>0</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.025</HeatUpRate>
<CoolDownRate>0.005</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>9</Power>
<UpgradeTime>100</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="5">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="14">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>350</Cost>
<RCost>40</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>FlameThrower</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>Weapon</Func>
<TechType>Napalm</TechType>
<UGTechType>Bomb</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Good for long lines of creeps - the right position and target setting is essential. Tends to overheat!</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>1</Damage>
<FireSP>20</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.035</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>50</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="1">
<Cost>430</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>100</Range>
<Damage>2.5</Damage>
<FireSP>19</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.040</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>50</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>570</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>110</Range>
<Damage>4.5</Damage>
<FireSP>18</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.045</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>55</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="3">
<Cost>720</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>120</Range>
<Damage>7</Damage>
<FireSP>17</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.050</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>60</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>880</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>130</Range>
<Damage>12</Damage>
<FireSP>21</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.055</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>65</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="5">
<Cost>1250</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>140</Range>
<Damage>18</Damage>
<FireSP>15</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.060</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>70</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="6">
<Cost>1590</Cost>
<RCost>15</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>150</Range>
<Damage>25</Damage>
<FireSP>14</FireSP>
<Splash>20</Splash>
<Scatter>0</Scatter>
<Burst>30</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.065</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>2</Power>
<UpgradeTime>75</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="15">
<ResetBurst>0</ResetBurst>
<BurstLock>1</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>130</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Name>Zap Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>25</Size>
<Func>Weapon</Func>
<TechType>Zap</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Electrocute your enemies</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>6</BCost>
<WCost>0</WCost>
<Range>90</Range>
<Damage>2.2</Damage>
<FireSP>5</FireSP>
<Splash>10</Splash>
<Scatter>0</Scatter>
<Burst>4</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.022</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>4</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>170</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>7</BCost>
<WCost>0</WCost>
<Range>105</Range>
<Damage>4.9</Damage>
<FireSP>5</FireSP>
<Splash>10</Splash>
<Scatter>0</Scatter>
<Burst>6</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.025</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>5</Power>
<UpgradeTime>35</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>220</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>8</BCost>
<WCost>0</WCost>
<Range>120</Range>
<Damage>7.9</Damage>
<FireSP>5</FireSP>
<Splash>10</Splash>
<Scatter>0</Scatter>
<Burst>8</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.028</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>6</Power>
<UpgradeTime>40</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="3">
<Cost>330</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>9</BCost>
<WCost>0</WCost>
<Range>135</Range>
<Damage>13</Damage>
<FireSP>5</FireSP>
<Splash>10</Splash>
<Scatter>0</Scatter>
<Burst>10</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.031</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>8</Power>
<UpgradeTime>45</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="4">
<Cost>440</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>10</BCost>
<WCost>0</WCost>
<Range>150</Range>
<Damage>21</Damage>
<FireSP>5</FireSP>
<Splash>10</Splash>
<Scatter>0</Scatter>
<Burst>12</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.033</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>10</Power>
<UpgradeTime>45</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="5">
<Cost>550</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>10</BCost>
<WCost>0</WCost>
<Range>165</Range>
<Damage>30</Damage>
<FireSP>4</FireSP>
<Splash>12</Splash>
<Scatter>0</Scatter>
<Burst>14</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.035</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>1</Slow>
<Power>12</Power>
<UpgradeTime>50</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="16">
<Name>Power Station</Name>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>100</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>4</BCost>
<WCost>0</WCost>
<NumAllowed>999999</NumAllowed>
<Size>25</Size>
<Func>Power</Func>
<TechType>Power</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Generates power to your Towers.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>10</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>150</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>27</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>51</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>82</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="3">
<Cost>300</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>120</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>350</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>165</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="5">
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Power>217</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="17">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>4000</Cost>
<RCost>250</RCost>
<GCost>250</GCost>
<BCost>250</BCost>
<WCost>250</WCost>
<Name>Random Doom Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>65</Size>
<Func>Weapon</Func>
<TechType>RandomDoom</TechType>
<UGTechType>Multi</UGTechType>
<TargetSystem>3</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Huge damage, huge range. Immunes are cumulative on Multi Tech towers.</Info>
<Level id="0">
<Cost>4000</Cost>
<RCost>230</RCost>
<GCost>230</GCost>
<BCost>230</BCost>
<WCost>230</WCost>
<Range>180</Range>
<Damage>180</Damage>
<FireSP>50</FireSP>
<Splash>25</Splash>
<Scatter>2</Scatter>
<Burst>20</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.1</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.98</Slow>
<Power>40</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="1">
<Cost>4700</Cost>
<RCost>370</RCost>
<GCost>370</GCost>
<BCost>370</BCost>
<WCost>370</WCost>
<Range>190</Range>
<Damage>290</Damage>
<FireSP>30</FireSP>
<Splash>40</Splash>
<Scatter>4</Scatter>
<Burst>22</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.2</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>80</Power>
<UpgradeTime>125</UpgradeTime>
<TechReq>5</TechReq>
</Level>
<Level id="2">
<Cost>5500</Cost>
<RCost>500</RCost>
<GCost>500</GCost>
<BCost>500</BCost>
<WCost>500</WCost>
<Range>200</Range>
<Damage>480</Damage>
<FireSP>30</FireSP>
<Splash>35</Splash>
<Scatter>6</Scatter>
<Burst>24</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.3</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.96</Slow>
<Power>120</Power>
<UpgradeTime>125</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level id="2">
<Cost>6400</Cost>
<RCost>650</RCost>
<GCost>650</GCost>
<BCost>650</BCost>
<WCost>650</WCost>
<Range>210</Range>
<Damage>696</Damage>
<FireSP>25</FireSP>
<Splash>40</Splash>
<Scatter>6</Scatter>
<Burst>26</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.3</HeatUpRate>
<CoolDownRate>0.01</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.95</Slow>
<Power>160</Power>
<UpgradeTime>125</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level id="3">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="18">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>1396</Cost>
<RCost>80</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Fat Missile Tower</Name>
<NumAllowed>999999</NumAllowed>
<Size>50</Size>
<Func>Weapon</Func>
<TechType>FatMissile</TechType>
<UGTechType>Bomb</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Requires Explosives Research. Fires heat seeking missiles. Huge range, huge splash and some slow.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>60</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>170</Range>
<Damage>110</Damage>
<FireSP>17</FireSP>
<Splash>50</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.04</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>10</Power>
<UpgradeTime>5</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="1">
<Cost>1584</Cost>
<RCost>80</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>190</Range>
<Damage>230</Damage>
<FireSP>16</FireSP>
<Splash>52</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.05</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.97</Slow>
<Power>13</Power>
<UpgradeTime>120</UpgradeTime>
<TechReq>3</TechReq>
</Level>
<Level id="2">
<Cost>1900</Cost>
<RCost>100</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>210</Range>
<Damage>370</Damage>
<FireSP>15</FireSP>
<Splash>54</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.06</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.96</Slow>
<Power>16</Power>
<UpgradeTime>140</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="3">
<Cost>2160</Cost>
<RCost>120</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>230</Range>
<Damage>510</Damage>
<FireSP>14</FireSP>
<Splash>56</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.07</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.96</Slow>
<Power>19</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>4</TechReq>
</Level>
<Level id="4">
<Cost>2448</Cost>
<RCost>140</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>250</Range>
<Damage>640</Damage>
<FireSP>13</FireSP>
<Splash>58</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.08</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.95</Slow>
<Power>22</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>5</TechReq>
</Level>
<Level id="5">
<Cost>2736</Cost>
<RCost>160</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>270</Range>
<Damage>771</Damage>
<FireSP>12</FireSP>
<Splash>60</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.09</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.95</Slow>
<Power>25</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level id="6">
<Cost>3500</Cost>
<RCost>180</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Range>290</Range>
<Damage>960</Damage>
<FireSP>11</FireSP>
<Splash>65</Splash>
<Scatter>0</Scatter>
<Burst>-1</Burst>
<BurstDecay>Flat</BurstDecay>
<HeatUpRate>0.1</HeatUpRate>
<CoolDownRate>0.001</CoolDownRate>
<Gravity>0</Gravity><ExpType>1</ExpType>
<Slow>.94</Slow>
<Power>25</Power>
<UpgradeTime>160</UpgradeTime>
<TechReq>6</TechReq>
</Level>
<Level id="7">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="19">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>50</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Gun Research</Name>
<PathOrNot>Side</PathOrNot>
<NumAllowed>1</NumAllowed>
<Size>50</Size>
<Func>Research</Func>
<TechType>Gun</TechType>
<Info>Research Projectile Weapons Technology for extra upgrades.</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>1</Techup>
<UpgradeTime>300</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>100</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>1</Techup>
<UpgradeTime>300</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>2</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>7</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>3</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>10</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>550</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>4</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>14</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>700</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>5</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>19</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>850</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>6</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>25</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="20">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>300</Cost>
<RCost>50</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Expl. Research</Name>
<NumAllowed>1</NumAllowed>
<Size>50</Size>
<Func>Research</Func>
<TechType>Bomb</TechType>
<Info>Research Explosives Technology for extra upgrades.</Info>
<Level>
<Cost>0</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>200</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>100</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>1</Techup>
<UpgradeTime>300</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>250</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>2</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>7</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>400</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>3</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>10</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>550</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>4</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>14</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>700</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>5</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>19</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>850</Cost>
<RCost>20</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>6</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>25</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="21">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>350</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>50</BCost>
<WCost>0</WCost>
<Name>Electric Research</Name>
<NumAllowed>1</NumAllowed>
<Size>50</Size>
<Func>Research</Func>
<TechType>Slow</TechType>
<Info>Research Electrics Technology for extra upgrades.</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>200</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>100</Cost>
<RCost>0</RCost>
<GCost>20</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>1</Techup>
<UpgradeTime>300</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>250</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Techup>2</Techup>
<UpgradeTime>300</UpgradeTime>
<Power>7</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>400</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Techup>3</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>10</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>550</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Techup>4</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>14</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>700</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Techup>5</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>19</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>850</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>20</BCost>
<WCost>0</WCost>
<Techup>6</Techup>
<UpgradeTime>400</UpgradeTime>
<Power>25</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="22">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>100</Cost>
<RCost>20</RCost>
<GCost>10</GCost>
<BCost>10</BCost>
<WCost>0</WCost>
<Name>Land Mine Factory</Name>
<NumAllowed>1</NumAllowed>
<Size>50</Size>
<Func>Research</Func>
<TechType>Mine</TechType>
<Info>Build Mines.</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>10</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>150</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>50</Cost>
<RCost>10</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Techup>1</Techup>
<UpgradeTime>175</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>100</Cost>
<RCost>10</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Techup>2</Techup>
<UpgradeTime>200</UpgradeTime>
<Power>7</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="3">
<Cost>150</Cost>
<RCost>10</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Techup>3</Techup>
<UpgradeTime>225</UpgradeTime>
<Power>10</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="4">
<Cost>200</Cost>
<RCost>10</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Techup>4</Techup>
<UpgradeTime>250</UpgradeTime>
<Power>14</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="5">
<Cost>250</Cost>
<RCost>10</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>0</WCost>
<Techup>5</Techup>
<UpgradeTime>275</UpgradeTime>
<Power>19</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="23">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>100</Cost>
<RCost>10</RCost>
<GCost>10</GCost>
<BCost>10</BCost>
<WCost>10</WCost>
<Name>Finance Centre</Name>
<NumAllowed>1</NumAllowed>
<Size>50</Size>
<Func>Research</Func>
<TechType>Cash</TechType>
<Info>Increase cash interest (adds 3% per level)</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>10</RCost>
<GCost>10</GCost>
<BCost>10</BCost>
<WCost>10</WCost>
<Techup>0</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>800</Cost>
<RCost>30</RCost>
<GCost>30</GCost>
<BCost>30</BCost>
<WCost>30</WCost>
<Techup>1</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>20</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>1600</Cost>
<RCost>60</RCost>
<GCost>60</GCost>
<BCost>60</BCost>
<WCost>60</WCost>
<Techup>2</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>40</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="3">
<Cost>6400</Cost>
<RCost>110</RCost>
<GCost>110</GCost>
<BCost>110</BCost>
<WCost>110</WCost>
<Techup>3</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>60</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="4">
<Cost>25600</Cost>
<RCost>200</RCost>
<GCost>200</GCost>
<BCost>200</BCost>
<WCost>200</WCost>
<Techup>4</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>80</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="5">
<Cost>102400</Cost>
<RCost>500</RCost>
<GCost>500</GCost>
<BCost>500</BCost>
<WCost>500</WCost>
<Techup>5</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>100</Power>
<TechReq>-1</TechReq>
</Level>
<Level id="6">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="24">
<Cost>1000</Cost>
<RCost>10</RCost>
<GCost>10</GCost>
<BCost>10</BCost>
<WCost>10</WCost>
<Name>SuperScience Centre</Name>
<NumAllowed>1</NumAllowed>
<Size>65</Size>
<Func>Resource</Func>
<TechType>Multi</TechType>
<UGTechType>Multi</UGTechType>
<Info>Recover Lives or Create Resources</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>5</RCost>
<GCost>5</GCost>
<BCost>5</BCost>
<WCost>5</WCost>
<Techup>0</Techup>
<FireSP>3000</FireSP>
<UpgradeTime>5</UpgradeTime>
<Power>30</Power>
<TechReq>2</TechReq>
</Level>
<Level id="0">
<Cost>3000</Cost>
<RCost>50</RCost>
<GCost>50</GCost>
<BCost>50</BCost>
<WCost>50</WCost>
<Techup>0</Techup>
<FireSP>2500</FireSP>
<UpgradeTime>5</UpgradeTime>
<Power>70</Power>
<TechReq>5</TechReq>
</Level>
<Level id="1">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="25">
<Name>Cooling Tower</Name>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>100</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>4</BCost>
<WCost>0</WCost>
<NumAllowed>999999</NumAllowed>
<Size>25</Size>
<Func>Fridge</Func>
<TechType>Fridge</TechType>
<UGTechType>Slow</UGTechType>
<TargetSystem>0</TargetSystem>
<LockTarget>1</LockTarget>
<Info>Helps to cool any weapons towers in range</Info>
<Level id="0">
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>50</Range>
<CoolDownRate>0.01</CoolDownRate>
<Power>4</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="1">
<Cost>120</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>60</Range>
<CoolDownRate>0.02</CoolDownRate>
<Power>5</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>-1</TechReq>
</Level>
<Level id="2">
<Cost>140</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>70</Range>
<CoolDownRate>0.03</CoolDownRate>
<Power>6</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="2">
<Cost>160</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>80</Range>
<CoolDownRate>0.04</CoolDownRate>
<Power>7</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>1</TechReq>
</Level>
<Level id="3">
<Cost>180</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>90</Range>
<CoolDownRate>0.05</CoolDownRate>
<Power>8</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>100</Range>
<CoolDownRate>0.06</CoolDownRate>
<Power>9</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="4">
<Cost>220</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>2</BCost>
<WCost>0</WCost>
<Range>110</Range>
<CoolDownRate>0.07</CoolDownRate>
<Power>10</Power>
<UpgradeTime>15</UpgradeTime>
<TechReq>2</TechReq>
</Level>
<Level id="5">
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="26">
</Tower>
<Tower id="27">
</Tower>
<Tower id="28">
</Tower>
<Tower id="29">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Bananerite Ore Mine</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>OreMine</Func>
<TechType>OreMine</TechType>
<Info>Mine For Bananarite (Green) for making guns</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="30">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Blattexide Ore Mine</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>OreMine</Func>
<TechType>OreMine</TechType>
<Info>Mine For Blattexide (Red) for making explosives</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="31">
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<PathOrNot>Side</PathOrNot>
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Pavlovium Ore Mine</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>OreMine</Func>
<TechType>OreMine</TechType>
<Info>Mine for Pavlovium (Blue) for making electronics</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
<Tower id="32">
<PathOrNot>Side</PathOrNot>
<ResetBurst>0</ResetBurst>
<BurstLock>0</BurstLock>
<Cost>200</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Name>Xuquinatum Ore Mine</Name>
<NumAllowed>999999</NumAllowed>
<Size>35</Size>
<Func>OreMine</Func>
<TechType>OreMine</TechType>
<Info>Mine for Xuquinatum (Purple) for making lasers</Info>
<Level>
<Cost>0</Cost>
<RCost>0</RCost>
<GCost>0</GCost>
<BCost>0</BCost>
<WCost>0</WCost>
<Techup>0</Techup>
<UpgradeTime>5</UpgradeTime>
<Power>5</Power>
<TechReq>-1</TechReq>
</Level>
<Level>
<Cost>-1</Cost>
</Level>
</Tower>
</Towers>
;
super();
}
}
}//package
Section 250
//TowerInfo (TowerInfo)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.ui.*;
public dynamic class TowerInfo extends MovieClip {
public var towername:TextField;
public var onBut:SimpleButton;
public var towerrangeu:TextField;
public var towerslowu:TextField;
public var towerspeedu:TextField;
public var lockBut:SimpleButton;
public var towerpoweru:TextField;
public var costs:MovieClip;
public var towerslow:TextField;
public var closebut:SimpleButton;
public var ts4:SimpleButton;
public var ts0:SimpleButton;
public var ts2:SimpleButton;
public var ts5:SimpleButton;
public var offBut:SimpleButton;
public var unlockBut:SimpleButton;
public var towersplash:TextField;
public var towerdamageu:TextField;
public var towerpower:TextField;
public var ts3:SimpleButton;
public var towersplashu:TextField;
public var towerdamage:TextField;
public var towerrange:TextField;
public var temp:MovieClip;
public var towerspeed:TextField;
public var upgradebut:SimpleButton;
public var ts1:SimpleButton;
public var sellbut:SimpleButton;
public function TowerInfo(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 251
//TowerPlacementController (TowerPlacementController)
package {
import flash.display.*;
import flash.text.*;
public dynamic class TowerPlacementController extends MovieClip {
public var oreReport2:TextField;
public var ore_detect:MovieClip;
public var oreReport:TextField;
public var towersHolder:MovieClip;
}
}//package
Section 252
//TowersHolderforControl (TowersHolderforControl)
package {
import flash.display.*;
public dynamic class TowersHolderforControl extends MovieClip {
public var tow:MovieClip;
public var detect:MovieClip;
}
}//package
Section 253
//TUNE1 (TUNE1)
package {
import flash.media.*;
public dynamic class TUNE1 extends Sound {
}
}//package
Section 254
//TUNE2 (TUNE2)
package {
import flash.media.*;
public dynamic class TUNE2 extends Sound {
}
}//package
Section 255
//wave_definitions (wave_definitions)
package {
import flash.display.*;
public class wave_definitions extends Sprite {
public var myXml:XML;
public function wave_definitions(){
myXml = <Waves>
<WaveCount>7</WaveCount>
<WaveTimer>30000</WaveTimer>
<Wave id="0">
<Name>The Muffers</Name>
<Type>1</Type>
<HP>10</HP>
<SlowResist>1</SlowResist>
<Speed>1.5</Speed>
<Quantity>20</Quantity>
<Timing>20</Timing>
<Worth>1</Worth>
</Wave>
<Wave id="1">
<Name>Funkinslop</Name>
<Type>2</Type>
<HP>12</HP>
<SlowResist>1</SlowResist>
<Speed>1.5</Speed>
<Quantity>21</Quantity>
<Timing>20</Timing>
<Worth>1</Worth>
</Wave>
<Wave id="2">
<Name>Biggly Goers</Name>
<Type>3</Type>
<HP>15</HP>
<SlowResist>1</SlowResist>
<Speed>1.5</Speed>
<Quantity>22</Quantity>
<Timing>10</Timing>
<Worth>2</Worth>
</Wave>
<Wave id="3">
<Name>The Foolish</Name>
<Type>4</Type>
<HP>19</HP>
<SlowResist>1</SlowResist>
<Speed>1.5</Speed>
<Quantity>23</Quantity>
<Timing>10</Timing>
<Worth>2</Worth>
</Wave>
<Wave id="4">
<Name>Agents Smith</Name>
<Type>5</Type>
<HP>23</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>24</Quantity>
<Timing>10</Timing>
<Worth>2</Worth>
</Wave>
<Wave id="5">
<Name>NutStop</Name>
<Type>3</Type>
<HP>29</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>25</Quantity>
<Timing>10</Timing>
<Worth>3</Worth>
</Wave>
<Wave id="6">
<Name>Bustards</Name>
<Type>7</Type>
<HP>37</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>26</Quantity>
<Timing>10</Timing>
<Worth>3</Worth>
</Wave>
<Wave id="7">
<Name>Super Bustards</Name>
<Type>2</Type>
<HP>45</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>27</Quantity>
<Timing>10</Timing>
<Worth>3</Worth>
</Wave>
<Wave id="8">
<Name>Evil Kitty Boss</Name>
<Type>6</Type>
<HP>270</HP>
<SlowResist>1</SlowResist>
<Speed>1</Speed>
<Quantity>1</Quantity>
<Timing>10</Timing>
<Worth>150</Worth>
</Wave>
<Wave id="9">
<Name>The Many</Name>
<Type>1</Type>
<HP>25</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>55</Quantity>
<Timing>5</Timing>
<Worth>3</Worth>
</Wave>
<Wave id="10">
<Name>The Few</Name>
<Type>2</Type>
<HP>100</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>10</Quantity>
<Timing>10</Timing>
<Worth>4</Worth>
</Wave>
<Wave id="11">
<Name>Bitchemin</Name>
<Type>3</Type>
<HP>70</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>29</Quantity>
<Timing>10</Timing>
<Worth>4</Worth>
</Wave>
<Wave id="12">
<Name>Marvoz</Name>
<Type>9</Type>
<HP>85</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>30</Quantity>
<Timing>10</Timing>
<Worth>4</Worth>
</Wave>
<Wave id="13">
<Name>Wigglesbury</Name>
<Type>2</Type>
<HP>97</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>31</Quantity>
<Timing>10</Timing>
<Worth>4</Worth>
</Wave>
<Wave id="14">
<Name>Moot Boss</Name>
<Type>1</Type>
<HP>500</HP>
<SlowResist>1</SlowResist>
<Speed>1</Speed>
<Quantity>3</Quantity>
<Timing>60</Timing>
<Worth>200</Worth>
</Wave>
<Wave id="15">
<Name>Wormulon</Name>
<Type>2</Type>
<HP>50</HP>
<SlowResist>1</SlowResist>
<Speed>3</Speed>
<Quantity>100</Quantity>
<Timing>3</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="16">
<Name>Remus 5</Name>
<Type>3</Type>
<HP>140</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>30</Quantity>
<Timing>10</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="17">
<Name>Remus 9</Name>
<Type>1</Type>
<HP>155</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>31</Quantity>
<Timing>10</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="18">
<Name>Upple Diggers</Name>
<Type>2</Type>
<HP>171</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>32</Quantity>
<Timing>10</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="19">
<Name>Fimo Curse</Name>
<Type>2</Type>
<HP>200</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>33</Quantity>
<Timing>10</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="20">
<Name>Jumpy Pumpers</Name>
<Type>2</Type>
<HP>230</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>34</Quantity>
<Timing>10</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="21">
<Name>Fastards</Name>
<Type>2</Type>
<HP>270</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>35</Quantity>
<Timing>30</Timing>
<Worth>5</Worth>
</Wave>
<Wave id="22">
<Name>Plod Rockers</Name>
<Type>2</Type>
<HP>315</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>36</Quantity>
<Timing>10</Timing>
<Worth>6</Worth>
</Wave>
<Wave id="23">
<Name>Melvins</Name>
<Type>2</Type>
<HP>347</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>37</Quantity>
<Timing>10</Timing>
<Worth>6</Worth>
</Wave>
<Wave id="24">
<Name>Slow Worm</Name>
<Type>2</Type>
<HP>384</HP>
<SlowResist>1</SlowResist>
<Speed>1</Speed>
<Quantity>100</Quantity>
<Timing>6</Timing>
<Worth>6</Worth>
</Wave>
<Wave id="25">
<Name>Uber Bossy</Name>
<Type>2</Type>
<HP>3200</HP>
<SlowResist>1</SlowResist>
<Speed>1</Speed>
<Quantity>3</Quantity>
<Timing>40</Timing>
<Worth>250</Worth>
</Wave>
<Wave id="26">
<Name>Muntiheimer</Name>
<Type>3</Type>
<HP>306</HP>
<SlowResist>1</SlowResist>
<Speed>3</Speed>
<Quantity>39</Quantity>
<Timing>10</Timing>
<Worth>7</Worth>
</Wave>
<Wave id="27">
<Name>Blickenshtein</Name>
<Type>1</Type>
<HP>483</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>40</Quantity>
<Timing>10</Timing>
<Worth>7</Worth>
</Wave>
<Wave id="28">
<Name>Mud Hunty</Name>
<Type>1</Type>
<HP>522</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>41</Quantity>
<Timing>30</Timing>
<Worth>7</Worth>
</Wave>
<Wave id="29">
<Name>Bibble Chubber</Name>
<Type>1</Type>
<HP>536</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>42</Quantity>
<Timing>10</Timing>
<Worth>7</Worth>
</Wave>
<Wave id="30">
<Name>Bullin</Name>
<Type>1</Type>
<HP>570</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>43</Quantity>
<Timing>10</Timing>
<Worth>8</Worth>
</Wave>
<Wave id="31">
<Name>Bibble</Name>
<Type>1</Type>
<HP>249</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>70</Quantity>
<Timing>5</Timing>
<Worth>8</Worth>
</Wave>
<Wave id="32">
<Name>Millicent</Name>
<Type>1</Type>
<HP>598</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>44</Quantity>
<Timing>10</Timing>
<Worth>8</Worth>
</Wave>
<Wave id="33">
<Name>WipeOut</Name>
<Type>1</Type>
<HP>650</HP>
<SlowResist>1</SlowResist>
<Speed>1.5</Speed>
<Quantity>100</Quantity>
<Timing>20</Timing>
<Worth>8</Worth>
</Wave>
<Wave id="34">
<Name>BubbleBoss</Name>
<Type>1</Type>
<HP>12000</HP>
<SlowResist>1</SlowResist>
<Speed>1</Speed>
<Quantity>1</Quantity>
<Timing>20</Timing>
<Worth>1000</Worth>
</Wave>
<Wave id="35">
<Name>Their</Name>
<Type>1</Type>
<HP>400</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>100</Quantity>
<Timing>6</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="36">
<Name>Liken</Name>
<Type>1</Type>
<HP>685</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>45</Quantity>
<Timing>10</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="37">
<Name>Dundys</Name>
<Type>1</Type>
<HP>724</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>46</Quantity>
<Timing>10</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="38">
<Name>Puffer JaKt</Name>
<Type>1</Type>
<HP>778</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>47</Quantity>
<Timing>10</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="39">
<Name>Bingy</Name>
<Type>1</Type>
<HP>832</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>48</Quantity>
<Timing>10</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="40">
<Name>Wukka</Name>
<Type>1</Type>
<HP>956</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>49</Quantity>
<Timing>10</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="41">
<Name>Pill Chudder</Name>
<Type>1</Type>
<HP>1112</HP>
<SlowResist>1</SlowResist>
<Speed>3</Speed>
<Quantity>50</Quantity>
<Timing>10</Timing>
<Worth>9</Worth>
</Wave>
<Wave id="42">
<Name>Chuff Monster</Name>
<Type>1</Type>
<HP>23000</HP>
<SlowResist>1</SlowResist>
<Speed>1.5</Speed>
<Quantity>1</Quantity>
<Timing>10</Timing>
<Worth>1500</Worth>
</Wave>
<Wave id="43">
<Name>Bliboil</Name>
<Type>1</Type>
<HP>1724</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>70</Quantity>
<Timing>30</Timing>
<Worth>10</Worth>
</Wave>
<Wave id="44">
<Name>Fimlitch</Name>
<Type>1</Type>
<HP>2086</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>53</Quantity>
<Timing>10</Timing>
<Worth>10</Worth>
</Wave>
<Wave id="45">
<Name>Byznathum</Name>
<Type>1</Type>
<HP>2580</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>54</Quantity>
<Timing>10</Timing>
<Worth>10</Worth>
</Wave>
<Wave id="46">
<Name>MupperDrone</Name>
<Type>1</Type>
<HP>3200</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>55</Quantity>
<Timing>11</Timing>
<Worth>11</Worth>
</Wave>
<Wave id="47">
<Name>Cash Cow Bob</Name>
<Type>1</Type>
<HP>35000</HP>
<SlowResist>1</SlowResist>
<Speed>1</Speed>
<Quantity>1</Quantity>
<Timing>10</Timing>
<Worth>3000</Worth>
</Wave>
<Wave id="48">
<Name>Millicent</Name>
<Type>1</Type>
<HP>1920</HP>
<SlowResist>1</SlowResist>
<Speed>4</Speed>
<Quantity>120</Quantity>
<Timing>5</Timing>
<Worth>15</Worth>
</Wave>
<Wave id="49">
<Name>Upstander</Name>
<Type>1</Type>
<HP>4000</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>56</Quantity>
<Timing>10</Timing>
<Worth>20</Worth>
</Wave>
<Wave id="50">
<Name>Yard Sale</Name>
<Type>1</Type>
<HP>5000</HP>
<SlowResist>1</SlowResist>
<Speed>2</Speed>
<Quantity>300</Quantity>
<Timing>10</Timing>
<Worth>25</Worth>
</Wave>
<Wave id="51">
<Name>NAN</Name>
</Wave>
</Waves>
;
super();
}
}
}//package
Section 256
//zaptowerloop (zaptowerloop)
package {
import flash.media.*;
public dynamic class zaptowerloop extends Sound {
}
}//package