Frame 1
play();
score = 0;
_global.ipb_get_gname = function () {
var _loc4 = _root._url;
var _loc5 = "";
var _loc2 = "";
var _loc6 = (_loc4.lastIndexOf("\\") + 1);
if ((_loc6 == -1) || (_loc6 == 0)) {
_loc6 = _loc4.lastIndexOf("/") + 1;
}
var _loc3 = _loc6;
var _loc7 = String(_loc4).length;
while (_loc3 < String(_loc4).length) {
_loc2 = _loc4.charAt(_loc3);
if (_loc2 == ".") {
break;
}
_loc5 = _loc5 + _loc2;
_loc3++;
}
return(_loc5);
};
ipb_gname = _global.ipb_get_gname();
xx = new LoadVars();
xx.onLoad = function (success) {
if (success) {
_global.ipb_scoreVar = this.scoreVar;
}
};
fname = ((("arcade/gamedata/" + ipb_gname) + "/") + ipb_gname) + ".txt";
xx.load(fname);
Frame 3
prog = (100 * getBytesLoaded()) / getBytesTotal();
loadbar._xscale = prog;
Frame 4
if (_framesloaded == _totalframes) {
play();
} else {
gotoAndPlay ("load");
}
Frame 9
if (!introclip.done) {
gotoAndPlay ("intro");
}
Frame 11
var td = new BloonsTD(this);
stop();
sound = new Sound(this);
sndbtn.onPress = function () {
this.play();
};
startrnd_btn._visible = false;
Symbol 297 MovieClip Frame 1
if (yy.savescore == 1) {
if (ipb_score == undefined) {
ipb_score = eval (_global.ipb_scoreVar);
}
xx = new LoadVars();
xx.arcadegid = _root.ibpro_gameid;
xx.gscore = ipb_score;
xx.gname = _global.ipb_get_gname();
xx.enscore = (ipb_score * yy.randchar) ^ yy.randchar2;
xx.send("index.php?autocom=arcade&do=savescore", "_self", "POST");
stop();
}
_global.ipbSend = function (ipb_score) {
_root._visible = false;
_root.enabled = false;
xx = new LoadVars();
yy = new LoadVars();
xx.sendAndLoad("index.php?autocom=arcade&do=verifyscore", yy, "POST");
};
Symbol 5 MovieClip Frame 1
stop();
Symbol 5 MovieClip Frame 30
stop();
Symbol 9 MovieClip Frame 78
gotoAndPlay (1);
Symbol 9 MovieClip Frame 79
popped = true;
_root.score = _root.score + 5;
Symbol 9 MovieClip Frame 83
stop();
_visible = false;
_parent.RemoveMe(true);
Symbol 10 MovieClip [plain1] Frame 1
#initclip 31
Object.registerClass("plain1", Bloon);
#endinitclip
Symbol 10 MovieClip [plain1] Frame 916
GotToEnd();
Symbol 16 MovieClip Frame 97
gotoAndPlay (1);
Symbol 16 MovieClip Frame 98
popped = true;
_root.score = _root.score + 30;
Symbol 16 MovieClip Frame 102
stop();
_visible = false;
_parent.RemoveMe(true);
Symbol 17 MovieClip [plain6] Frame 1
#initclip 13
Object.registerClass("plain6", Bloon);
#endinitclip
Symbol 17 MovieClip [plain6] Frame 402
GotToEnd();
Symbol 20 MovieClip Frame 97
gotoAndPlay (1);
Symbol 20 MovieClip Frame 98
popped = true;
_root.score = _root.score + 25;
Symbol 20 MovieClip Frame 102
stop();
_visible = false;
_parent.RemoveMe(true);
Symbol 21 MovieClip [plain5] Frame 1
#initclip 14
Object.registerClass("plain5", Bloon);
#endinitclip
Symbol 21 MovieClip [plain5] Frame 519
GotToEnd();
Symbol 24 MovieClip Frame 97
gotoAndPlay (1);
Symbol 24 MovieClip Frame 98
popped = true;
_root.score = _root.score + 20;
Symbol 24 MovieClip Frame 102
stop();
_visible = false;
_parent.RemoveMe(true);
Symbol 25 MovieClip [plain4] Frame 1
#initclip 15
Object.registerClass("plain4", Bloon);
#endinitclip
Symbol 25 MovieClip [plain4] Frame 295
GotToEnd();
Symbol 29 MovieClip Frame 97
gotoAndPlay (1);
Symbol 29 MovieClip Frame 98
popped = true;
_root.score = _root.score + 15;
Symbol 29 MovieClip Frame 102
stop();
_visible = false;
_parent.RemoveMe(true);
Symbol 30 MovieClip [plain3] Frame 1
#initclip 16
Object.registerClass("plain3", Bloon);
#endinitclip
Symbol 30 MovieClip [plain3] Frame 533
GotToEnd();
Symbol 34 MovieClip Frame 97
gotoAndPlay (1);
Symbol 34 MovieClip Frame 98
popped = true;
_root.score = _root.score + 10;
Symbol 34 MovieClip Frame 102
stop();
_visible = false;
_parent.RemoveMe(true);
Symbol 35 MovieClip [plain2] Frame 1
#initclip 17
Object.registerClass("plain2", Bloon);
#endinitclip
Symbol 35 MovieClip [plain2] Frame 768
GotToEnd();
Symbol 49 MovieClip Frame 1
stop();
cantplace._visible = false;
Symbol 49 MovieClip Frame 2
stop();
cantplace._visible = true;
Symbol 50 MovieClip [towerice] Frame 1
#initclip 18
Object.registerClass("towerice", Tower);
#endinitclip
stop();
Symbol 50 MovieClip [towerice] Frame 2
stop();
radiusmc._width = (radiusmc._height = attackRadius * 2);
Symbol 54 MovieClip Frame 1
stop();
Symbol 56 MovieClip [towerbomb] Frame 1
#initclip 19
Object.registerClass("towerbomb", Tower);
#endinitclip
stop();
Symbol 56 MovieClip [towerbomb] Frame 2
stop();
radiusmc._width = (radiusmc._height = attackRadius * 2);
Symbol 58 MovieClip [towerspikey] Frame 1
#initclip 20
Object.registerClass("towerspikey", Tower);
#endinitclip
stop();
Symbol 58 MovieClip [towerspikey] Frame 2
stop();
radiusmc._width = (radiusmc._height = attackRadius * 2);
Symbol 69 MovieClip [towertack] Frame 1
#initclip 21
Object.registerClass("towertack", Tower);
#endinitclip
stop();
Symbol 69 MovieClip [towertack] Frame 2
stop();
radiusmc._width = (radiusmc._height = attackRadius * 2);
Symbol 74 MovieClip Frame 1
stop();
Symbol 77 MovieClip [towersuper] Frame 1
#initclip 22
Object.registerClass("towersuper", Tower);
#endinitclip
stop();
Symbol 77 MovieClip [towersuper] Frame 2
stop();
radiusmc._width = (radiusmc._height = attackRadius * 2);
Symbol 82 MovieClip Frame 1
stop();
Symbol 85 MovieClip [towerdart] Frame 1
#initclip 23
Object.registerClass("towerdart", Tower);
#endinitclip
stop();
Symbol 85 MovieClip [towerdart] Frame 2
stop();
radiusmc._width = (radiusmc._height = attackRadius * 2);
Symbol 89 MovieClip [super] Frame 1
#initclip 24
Object.registerClass("super", Bullet);
#endinitclip
Symbol 90 MovieClip [dart] Frame 1
#initclip 25
Object.registerClass("dart", Bullet);
#endinitclip
Symbol 95 MovieClip Frame 7
stop();
Symbol 96 MovieClip [tack] Frame 1
#initclip 26
Object.registerClass("tack", Bullet);
#endinitclip
Symbol 101 MovieClip Frame 25
stop();
Symbol 102 MovieClip [spikey] Frame 1
#initclip 27
Object.registerClass("spikey", Bullet);
#endinitclip
Symbol 109 MovieClip [ice] Frame 1
#initclip 28
Object.registerClass("ice", Bullet);
#endinitclip
Symbol 128 MovieClip Frame 15
_root.score = _root.score + 50;
Symbol 129 MovieClip [bomb] Frame 1
#initclip 29
Object.registerClass("bomb", Bullet);
#endinitclip
stop();
Symbol 129 MovieClip [bomb] Frame 15
stop();
Symbol 131 MovieClip [bloon22] Frame 1
#initclip 30
Object.registerClass("bloon22", Bloon);
#endinitclip
stop();
Symbol 131 MovieClip [bloon22] Frame 2
stop();
Symbol 131 MovieClip [bloon22] Frame 3
stop();
Symbol 131 MovieClip [bloon22] Frame 4
stop();
Symbol 131 MovieClip [bloon22] Frame 5
stop();
Symbol 131 MovieClip [bloon22] Frame 6
stop();
Symbol 131 MovieClip [bloon22] Frame 9
stop();
Symbol 371 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function showPreloaderAd(options) {
var _local29 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812};
options = _parseOptions(options, _local29);
var _local15 = options.clip;
var _local25 = 11000;
var _local28 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
return(undefined);
}
_local15.stop();
var mc = _local15._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local16 = _getRes(options);
var _local5 = _local16[0];
var _local14 = _local16[1];
mc._x = _local5 * 0.5;
mc._y = _local14 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local5 * -0.5;
chk._y = _local14 * -0.5;
var _local8 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local8._x = 10;
_local8._y = _local14 - 20;
var _local24 = options.color;
delete options.color;
var _local21 = options.background;
delete options.background;
var _local26 = options.outline;
delete options.outline;
var _local6 = _local8.createEmptyMovieClip("_outline", 1);
_local6.beginFill(_local21);
_local6.moveTo(0, 0);
_local6.lineTo(_local5 - 20, 0);
_local6.lineTo(_local5 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
_local6.endFill();
var _local4 = _local8.createEmptyMovieClip("_inside", 2);
_local4.beginFill(_local24);
_local4.moveTo(0, 0);
_local4.lineTo(_local5 - 20, 0);
_local4.lineTo(_local5 - 20, 10);
_local4.lineTo(0, 10);
_local4.lineTo(0, 0);
_local4.endFill();
_local4._xscale = 0;
var _local7 = _local8.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local26, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local5 - 20, 0);
_local7.lineTo(_local5 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local25;
chk.ad_timeout = _local28;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
var _local15 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd"};
options = _parseOptions(options, _local15);
var _local6 = options.clip;
var _local12 = 11000;
var _local14 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
return(undefined);
}
_local6.stop();
var mc = _local6._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local7 = _getRes(options);
var _local16 = _local7[0];
var _local13 = _local7[1];
mc._x = _local16 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local12;
chk.ad_timeout = _local14;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = "1.4";
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = "1.4";
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 372 MovieClip [__Packages.Bloon] Frame 0
class Bloon extends MovieClip
{
var rank, popped, frozen, blewup, parentBlewUp, timeFrozen, inner, cacheAsBitmap, onEnterFrame, freezer, play, game, stop, _totalframes, _currentframe, _x, _y, _name, removeMovieClip;
function Bloon () {
super();
rank = 0;
popped = false;
frozen = false;
blewup = false;
parentBlewUp = false;
timeFrozen = 0;
inner.gotoAndStop(random(50));
cacheAsBitmap = true;
onEnterFrame = mx.utils.Delegate.create(this, Update);
}
function Update() {
if (popped) {
return(undefined);
}
if (frozen) {
timeFrozen++;
if ((timeFrozen > freezer.freezeLen) || (timeFrozen > 100)) {
frozen = false;
inner.inner.freeze.gotoAndStop(1);
(play());// not popped
}
}
var _local5 = 0;
while (_local5 < game.bulletlist.length) {
var _local2 = game.bulletlist[_local5];
if (_local2.isspread) {
var _local4 = 1;
while (_local4 < 9) {
var _local3 = _local2[(_local2.type + "") + _local4];
if (_local3._visible && (!_local3.c)) {
_local3.c = true;
if (inner.hitTest(_local3.inner.hitbit)) {
_local2.pierceCount++;
if (_local2.pierceCount >= _local2.pierceMax) {
_local3._visible = false;
}
if (!frozen) {
Pop();
} else {
trace("CLINK");
_local2.pierceCount = _local2.pierceCount + 5;
game.frozenClink.start();
}
return(undefined);
}
} else if (_local3.c) {
_local3.c = false;
}
_local4++;
}
}
if (inner.hitTest(_local2.hitbit)) {
_local2.pierceCount++;
if (_local2.pierceCount >= _local2.pierceMax) {
_local2.DeleteMe();
}
if ((_local2.type == "bomb") && (!_local2.hashit)) {
_local2.hashit = true;
_local2.vx = (_local2.vy = 0);
_local2.gotoAndPlay(2);
}
if (_local2.type == "ice") {
if ((!frozen) && (rank < 6)) {
inner.inner.freeze.gotoAndPlay("drawOn");
frozen = true;
timeFrozen = 0;
freezer = _local2.shooter;
stop();
}
} else if (!frozen) {
Pop(_local2.type);
} else if (_local2.type == "bomb") {
Pop(_local2.type);
} else {
game.frozenClink.start();
}
return(undefined);
}
_local5++;
}
}
function GotToEnd() {
game.Escaped(this);
RemoveMe(false);
}
function RemoveMe(phit) {
if (phit) {
game.PoppedOne();
if (rank > 1) {
if (rank < 5) {
game.NewBloon(rank - 1, _currentframe / _totalframes, _x, _y, _name);
} else {
game.NewBloon(4, (_currentframe + 5) / _totalframes, _x, _y, _name);
game.NewBloon(4, (_currentframe - 5) / _totalframes, _x, _y);
}
}
}
removeMovieClip();
}
function Pop(ptype) {
popped = true;
if (ptype == "bomb") {
if (rank == 5) {
popped = false;
return(undefined);
}
blewup = true;
RemoveMe(true);
} else {
popped = true;
inner.gotoAndPlay("pop");
}
}
}
Symbol 373 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 374 MovieClip [__Packages.Tower] Frame 0
class Tower extends MovieClip
{
var freezeLen, pierceMax, bulletScale, upgrade1, upgrade2, isspread, towerName, type, attackRate, timeSinceLastShot, onPress, game, attackRadius, spentonme, shootPower, radiusmc, target, _x, _y, arsq;
function Tower () {
super();
freezeLen = 0;
pierceMax = 1;
bulletScale = 100;
upgrade1 = false;
upgrade2 = false;
isspread = false;
towerName = "none";
type = "none";
attackRate = 9999999999;
timeSinceLastShot = 0;
onPress = mx.utils.Delegate.create(this, Press);
}
function Press() {
game.SelectTower(this);
}
function Init() {
switch (type) {
case "dart" :
attackRate = 29;
attackRadius = game.RANGE_DART;
spentonme = game.COST_DART;
shootPower = 20;
towerName = "Dart Tower";
break;
case "tack" :
attackRate = 55;
attackRadius = game.RANGE_TACK;
isspread = true;
spentonme = game.COST_TACK;
shootPower = 15;
towerName = "Tack Tower";
break;
case "spikey" :
attackRate = 130;
attackRadius = game.RANGE_SPIKEY;
pierceMax = 2;
shootPower = 12;
isspread = true;
towerName = "Spikey Ball Tower";
spentonme = game.COST_SPIKEY;
break;
case "bomb" :
attackRate = 55;
shootPower = 11;
attackRadius = game.RANGE_BOMB;
towerName = "Bomb Tower";
spentonme = game.COST_BOMB;
pierceMax = 20;
break;
case "ice" :
attackRate = 100;
attackRadius = game.RANGE_ICE;
towerName = "Ice Tower";
spentonme = game.COST_ICE;
bulletScale = 80;
freezeLen = 50;
pierceMax = 20;
break;
case "super" :
attackRate = 2;
shootPower = 20;
attackRadius = game.RANGE_SUPER;
towerName = "Super Monkey";
spentonme = game.COST_SUPER;
pierceMax = 1;
}
radiusmc._width = attackRadius * 2;
CalcRadius();
target = null;
trace(_x);
trace(_y);
}
function CalcRadius() {
arsq = attackRadius * attackRadius;
}
function Update() {
timeSinceLastShot++;
if (timeSinceLastShot > attackRate) {
Shoot();
}
}
function Shoot() {
target = GetTarget();
if (target) {
timeSinceLastShot = 0;
if (((type == "tack") || (type == "spikey")) || (type == "ice")) {
target = null;
}
game.ShootBullet(this, target);
}
}
function GetTarget() {
var _local9;
var _local7 = 0;
var _local8 = 300;
if (game.curLevel > 42) {
_local8 = 400;
}
var _local3 = 0;
for ( ; _local3 < _local8 ; _local3++) {
var _local2 = game.bloonholder["bloon" + _local3];
if (_local2.popped || (_local2 == undefined)) {
} else if (type != "bomb") {
if (_local2.frozen) {
continue;
}
} else {
var _local6 = (_local2._x + _local2.inner._x) - 10;
var _local5 = (_local2._y + _local2.inner._y) - 15;
var _local4 = GetDistSq(_x, _y, _local6, _local5);
if (_local4 < arsq) {
if ((_local2._currentframe / _local2._totalframes) > _local7) {
_local7 = _local2._currentframe / _local2._totalframes;
_local9 = _local2;
}
}
}
}
return(_local9);
}
function GetSpeedRating() {
if (attackRate < 4) {
return("hypersonic");
}
if ((attackRate >= 4) && (attackRate < 24)) {
return("very fast");
}
if ((attackRate >= 24) && (attackRate < 40)) {
return("fast");
}
if ((attackRate >= 40) && (attackRate < 60)) {
return("medium");
}
if ((attackRate >= 60) && (attackRate < 100)) {
return("slow");
}
if (attackRate >= 100) {
return("very slow");
}
}
function GetDistSq(x1, y1, x2, y2) {
var _local2 = x1 - x2;
var _local1 = y1 - y2;
var _local3 = (_local2 * _local2) + (_local1 * _local1);
return(_local3);
}
}
Symbol 375 MovieClip [__Packages.Bullet] Frame 0
class Bullet extends MovieClip
{
var vx, vy, hashit, alive, cacheAsBitmap, isspread, pierceCount, timealive, type, lifespan, game, removeMovieClip, _x, _y;
function Bullet () {
super();
vx = (vy = 0);
hashit = false;
alive = true;
cacheAsBitmap = true;
isspread = false;
pierceCount = 0;
}
function Init() {
timealive = 0;
switch (type) {
case "dart" :
lifespan = 7;
break;
case "spikey" :
lifespan = 22;
break;
case "tack" :
lifespan = 5;
break;
case "ice" :
lifespan = 10;
break;
case "bomb" :
lifespan = 18;
break;
case "super" :
lifespan = 20;
}
}
function DeleteMe() {
alive = false;
game.RemoveBullet(this);
removeMovieClip();
}
function Update() {
timealive++;
if (timealive > lifespan) {
DeleteMe();
return(undefined);
}
_x = _x + vx;
_y = _y + vy;
}
function GetDistSq(x1, y1, x2, y2) {
var _local2 = x1 - x2;
var _local1 = y1 - y2;
var _local3 = (_local2 * _local2) + (_local1 * _local1);
return(_local3);
}
}
Symbol 376 MovieClip [__Packages.BloonsTD] Frame 0
class BloonsTD
{
var mainTimeline, bloonholder, bulletholder, towerholder, towerplace, toweroptions, towerinfo, winpanel, timeLastFrame, fpsFrameCount, timeSum, levelsArray, levelHints, lives, curLevel, money, noMore, currentTower, currentTool, ingame, towerlist, bulletlist, numBloons, endRoundCount, counter, bloonIndex, bloonsSpawned, bloonInterval, frozenClink;
function BloonsTD (timeline) {
mainTimeline = timeline;
bloonholder = mainTimeline.bloonholder;
bulletholder = mainTimeline.bulletholder;
towerholder = mainTimeline.towerholder;
towerplace = mainTimeline.towerplace;
toweroptions = mainTimeline.toweroptions;
towerinfo = mainTimeline.towerinfo;
winpanel = mainTimeline.winpanel;
mainTimeline.output._visible = false;
mainTimeline.onEnterFrame = mx.utils.Delegate.create(this, EnterFrame);
mainTimeline.playarea.onPress = mx.utils.Delegate.create(this, OnClick);
var _local2 = 1;
while (_local2 < 32) {
mainTimeline["pathhit" + _local2]._visible = false;
_local2++;
}
Init();
}
function Init() {
timeLastFrame = getTimer();
fpsFrameCount = 0;
timeSum = 0;
levelsArray = new Array();
levelHints = new Array();
towerinfo._visible = false;
mainTimeline.startrnd_btn._visible = true;
ClearAll();
BuildLevels();
BuildLevelHints();
lives = MAX_LIVES;
curLevel = 0;
money = STARTING_MONEY;
noMore = true;
currentTower = null;
currentTool = "none";
ingame = false;
towerlist = new Array();
bulletlist = new Array();
mainTimeline.lives_txt.text = lives;
UpdateMoney();
SetUpSound();
}
function OnClick() {
if (currentTool != "none") {
if (towerplace.radiusmc._currentframe == 1) {
CreateNewTower(currentTool, _xmouse, _ymouse);
}
} else {
DeselectCurrent();
}
}
function ClearAll() {
ClearBalloons();
ClearBullets();
numBloons = 0;
ClearTowers();
}
function Test() {
}
function StartLevel() {
if ((!noMore) && (numBloons == 0)) {
return(undefined);
}
endRoundCount = 0;
mainTimeline.startrnd_btn._visible = false;
mainTimeline.output.gotoAndPlay("drawOff");
trace("START NEW LEVEL");
curLevel++;
ingame = true;
noMore = false;
counter = 0;
numBloons = 0;
bloonIndex = 0;
bloonsSpawned = 0;
bloonInterval = 15 - curLevel;
if (bloonInterval < 5) {
bloonInterval = Math.ceil(5 - (curLevel / 20));
}
}
function EnterFrame() {
ResolveInput();
if (currentTower != null) {
EnableOptions();
} else {
DisableOptions();
}
if (curLevel) {
mainTimeline.level_txt.text = curLevel;
} else {
mainTimeline.level_txt.text = 1;
}
if (currentTool != "none") {
towerplace._x = _xmouse;
towerplace._y = _ymouse;
var _local3 = false;
var _local2 = 0;
while (_local2 < towerlist.length) {
if (towerlist[_local2].hitbit.hitTest(towerplace.hitbit)) {
towerplace.radiusmc.gotoAndStop(2);
_local3 = true;
break;
}
_local2++;
}
_local2 = 1;
while (_local2 < 32) {
if (mainTimeline["pathhit" + _local2].hitTest(towerplace.hitbit)) {
towerplace.radiusmc.gotoAndStop(2);
break;
}
if (!_local3) {
towerplace.radiusmc.gotoAndStop(1);
}
_local2++;
}
} else {
towerplace._x = 1500;
towerplace._y = 1500;
}
if (!ingame) {
return(undefined);
}
if (!noMore) {
counter++;
if (counter > bloonInterval) {
counter = 0;
NewBloon(levelsArray[curLevel - 1][bloonIndex]);
bloonIndex++;
if (!levelsArray[curLevel - 1][bloonIndex]) {
trace("no more bloons");
noMore = true;
}
}
} else if (numBloons < 1) {
if (endRoundCount > 20) {
EndLevel();
endRoundCount = 0;
} else {
endRoundCount++;
}
}
UpdateTowers();
UpdateBullets();
CalcFPS();
}
function CalcFPS() {
timeSum = timeSum + (getTimer() - timeLastFrame);
fpsFrameCount++;
if (timeSum >= 1000) {
mainTimeline.fps_txt.text = fpsFrameCount;
timeSum = 0;
fpsFrameCount = 0;
}
timeLastFrame = getTimer();
}
function NewBloon(prank, pframe, px, py, pname) {
numBloons++;
var _local4 = prank;
var _local3 = pname;
if (!pname) {
bloonsSpawned++;
_local3 = "bloon" + bloonsSpawned;
}
var _local2 = bloonholder.attachMovie("plain" + _local4, _local3, bloonholder.getNextHighestDepth());
_local2.rank = _local4;
_local2._x = -10 + random(20);
_local2._y = 200 + random(20);
_local2.game = this;
if (pframe) {
var _local5 = Math.round(pframe * _local2._totalframes);
_local2.gotoAndPlay(_local5);
_local2._x = px;
_local2._y = py;
}
}
function PoppedOne(pcheck) {
if (!pcheck) {
numBloons--;
}
money++;
UpdateMoney();
}
function Escaped(pbloon) {
if (!ingame) {
return(undefined);
}
lives = lives - pbloon.rank;
mainTimeline.lives_txt.text = lives;
if (lives < 1) {
lives = 0;
mainTimeline.lives_txt.text = lives;
GameOver(false);
} else {
numBloons--;
}
}
function EndLevel() {
ingame = false;
trace("You win");
ClearBullets();
ClearBalloons();
if (curLevel < 50) {
mainTimeline.startrnd_btn._visible = true;
var _local2 = 101 - curLevel;
money = money + _local2;
UpdateMoney();
Output((((("Round " + curLevel) + " passed. ") + _local2) + " money awarded. ") + GetNextLevelHint());
} else {
GameOver(true);
}
}
function GameOver(pwin) {
ClearBullets();
ingame = false;
trace("END GAME");
if (!pwin) {
noMore = true;
mainTimeline.losepanel.gotoAndPlay("drawOn");
} else {
winpanel.gotoAndPlay("drawOn");
}
}
function UpdateBullets() {
var _local2 = 0;
while (_local2 < bulletlist.length) {
bulletlist[_local2].Update();
_local2++;
}
}
function UpdateTowers() {
var _local2 = 0;
while (_local2 < towerlist.length) {
towerlist[_local2].Update();
_local2++;
}
}
function ShootBullet(ptower, ptarget) {
var _local8 = ptower.type;
var _local10 = 0;
var _local5 = 0;
var _local4 = 0;
if (ptarget) {
_local5 = ((ptarget._x + ptarget.inner._x) - 10) - ptower._x;
_local4 = ((ptarget._y + ptarget.inner._y) - 15) - ptower._y;
var _local9 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
_local5 = _local5 / _local9;
_local4 = _local4 / _local9;
_local10 = ptower.shootPower;
}
var _local2 = bulletholder.attachMovie(_local8, _local8 + random(99999), bulletholder.getNextHighestDepth());
_local2._x = ptower._x;
_local2._y = ptower._y;
_local2.vx = _local5 * _local10;
_local2.vy = _local4 * _local10;
_local2.pierceMax = ptower.pierceMax;
_local2.isspread = ptower.isspread;
_local2.game = this;
_local2.type = _local8;
_local2.shooter = ptower;
_local2.cacheAsBitmap = true;
_local2._xscale = (_local2._yscale = ptower.bulletScale);
var _local7 = Math.atan(_local4 / _local5);
_local7 = 57.2957795130823 * _local7;
_local2._rotation = _local7 + 90;
if ((_local2._rotation > 90) and (_local4 < 0)) {
_local2._rotation = _local2._rotation - 180;
}
if ((_local5 < 0) and (_local4 > 0)) {
_local2._rotation = _local2._rotation - 180;
}
if (ptarget) {
var _local11 = new Object();
ptower._rotation = _local2._rotation;
ptower.inner.arm.gotoAndPlay(2);
if ((_local2.type == "dart") || (_local2.type == "super")) {
_local2.inner._x = _local2.inner._x + 8;
_local2.hitbit._x = _local2.hitbit._x + 6;
}
}
_local2.Init();
bulletlist.push(_local2);
}
function CreateNewTower(type, px, py) {
var _local2 = 0;
var _local5 = false;
switch (type) {
case "dart" :
_local2 = COST_DART;
break;
case "tack" :
_local2 = COST_TACK;
break;
case "spikey" :
_local2 = COST_SPIKEY;
break;
case "bomb" :
_local2 = COST_BOMB;
break;
case "ice" :
_local2 = COST_ICE;
break;
case "super" :
_local2 = COST_SUPER;
}
if (_local2 > money) {
Output("not enough money.");
return(undefined);
}
money = money - _local2;
UpdateMoney();
var _local3 = towerholder.attachMovie("tower" + type, ("tower" + type) + random(99999), towerholder.getNextHighestDepth());
_local3._x = px;
_local3._y = py;
_local3.type = type;
_local3.game = this;
_local3.Init();
towerlist.push(_local3);
SelectTower(_local3);
}
function SellCurrentTower() {
if (currentTower != null) {
money = money + Math.floor(SELL_RATE * currentTower.spentonme);
UpdateMoney();
RemoveTower(currentTower);
DeselectCurrent();
}
}
function EnableOptions() {
toweroptions._visible = true;
toweroptions.sellfor_txt.text = Math.floor(SELL_RATE * currentTower.spentonme);
}
function DisableOptions() {
toweroptions._visible = false;
}
function RemoveTower(ptower) {
var _local2 = 0;
while (_local2 < towerlist.length) {
if (ptower == towerlist[_local2]) {
towerlist.splice(_local2, 1);
ptower.setDepthTo(mx.managers.DepthManager.kTop);
ptower.removeMovieClip();
return(undefined);
}
_local2++;
}
}
function RemoveBullet(pbul) {
var _local2 = 0;
while (_local2 < bulletlist.length) {
if (pbul == bulletlist[_local2]) {
bulletlist.splice(_local2, 1);
return(undefined);
}
_local2++;
}
}
function ClearBalloons() {
var _local2 = 0;
while (_local2 < 9999) {
bloonholder["bloon" + _local2].removeMovieClip();
_local2++;
}
}
function ClearBullets() {
while (bulletlist.length > 0) {
var _local2 = bulletlist.shift();
_local2.removeMovieClip();
}
}
function ClearTowers() {
while (towerlist.length > 0) {
var _local2 = towerlist.shift();
_local2.setDepthTo(mx.managers.DepthManager.kTop);
_local2.removeMovieClip();
}
}
function ResolveInput() {
if (Key.isDown(27)) {
DeselectCurrent();
}
}
function DeselectCurrent() {
currentTool = "none";
currentTower.gotoAndStop(1);
currentTower = null;
}
function SelectTower(ptower) {
DeselectCurrent();
currentTower = ptower;
currentTower.gotoAndStop(2);
toweroptions.towername_txt.text = currentTower.towerName;
toweroptions.towerspeed_txt.text = currentTower.GetSpeedRating();
toweroptions.towerrange_txt.text = currentTower.attackRadius;
toweroptions.Refresh();
currentTower.setDepthTo(mx.managers.DepthManager.kBottom);
}
function SetCurrentTool(ptool) {
var _local2 = 0;
switch (ptool) {
case "dart" :
_local2 = COST_DART;
break;
case "tack" :
_local2 = COST_TACK;
break;
case "spikey" :
_local2 = COST_SPIKEY;
break;
case "bomb" :
_local2 = COST_BOMB;
break;
case "ice" :
_local2 = COST_ICE;
break;
case "super" :
_local2 = COST_SUPER;
}
if (_local2 > money) {
Output("not enough money.");
return(undefined);
}
DeselectCurrent();
trace("try to select current tool: " + ptool);
towerplace.gotoAndStop("tack");
towerplace.gotoAndStop(ptool);
towerplace.radiusmc.cantplace.gotoAndPlay(1);
currentTool = ptool;
}
function ShowTowerInfo(ptype) {
towerinfo._visible = true;
switch (ptype) {
case "dart" :
towerinfo.towername_txt.text = "Dart Tower";
towerinfo.towercost_txt.text = COST_DART;
towerinfo.towerspeed_txt.text = "Fast";
towerinfo.towerinfo_txt.text = "Shoots a single dart. Can upgrade to piercing darts and long range darts";
break;
case "tack" :
towerinfo.towername_txt.text = "Tack Tower";
towerinfo.towercost_txt.text = COST_TACK;
towerinfo.towerspeed_txt.text = "Medium";
towerinfo.towerinfo_txt.text = "Shoots volley of tacks in 8 directions. Can upgrade its shoot speed and its range.";
break;
case "bomb" :
towerinfo.towername_txt.text = "Bomb Tower";
towerinfo.towercost_txt.text = COST_BOMB;
towerinfo.towerspeed_txt.text = "Medium";
towerinfo.towerinfo_txt.text = "Launches a bomb that explodes on impact. Can upgrade to bigger bombs and longer range.";
break;
case "ice" :
towerinfo.towername_txt.text = "Ice Tower";
towerinfo.towercost_txt.text = COST_ICE;
towerinfo.towerspeed_txt.text = "Slow";
towerinfo.towerinfo_txt.text = "Freezes nearby bloons. Frozen bloons are immune to darts and tacks, but bombs will destroy them. Can upgrade to increased freeze time, and larger freeze radius.";
break;
case "super" :
towerinfo.towername_txt.text = "Super Monkey";
towerinfo.towercost_txt.text = COST_SUPER;
towerinfo.towerspeed_txt.text = "Hypersonic";
towerinfo.towerinfo_txt.text = "Super monkey shoots a continuous stream of darts and can mow down even the fastest and most stubborn bloons.";
}
}
function HideTowerInfo() {
towerinfo._visible = false;
}
function CanAfford(pupgrade) {
switch (pupgrade) {
case "dart1" :
if (money >= COST_DART_PIERCE_UPGRADE) {
return(true);
}
break;
case "dart2" :
if (money >= COST_DART_RANGE_UPGRADE) {
return(true);
}
break;
case "tack1" :
if (money >= COST_TACK_RATE_UPGRADE) {
return(true);
}
break;
case "tack2" :
if (money >= COST_TACK_RANGE_UPGRADE) {
return(true);
}
break;
case "bomb1" :
if (money >= COST_BOMB_SIZE_UPGRADE) {
return(true);
}
break;
case "bomb2" :
if (money >= COST_BOMB_RANGE_UPGRADE) {
return(true);
}
break;
case "ice1" :
if (money >= COST_ICE_FREEZE_UPGRADE) {
return(true);
}
break;
case "ice2" :
if (money >= COST_ICE_RANGE_UPGRADE) {
return(true);
}
break;
case "super1" :
if (money < COST_SUPER_RANGE_UPGRADE) {
break;
}
return(true);
}
}
function GetUpgradeCost(pnum) {
var _local2 = currentTower.type + pnum;
trace("grade: " + _local2);
switch (_local2) {
case "dart1" :
return(COST_DART_PIERCE_UPGRADE);
case "dart2" :
return(COST_DART_RANGE_UPGRADE);
case "tack1" :
return(COST_TACK_RATE_UPGRADE);
case "tack2" :
return(COST_TACK_RANGE_UPGRADE);
case "bomb1" :
return(COST_BOMB_SIZE_UPGRADE);
case "bomb2" :
return(COST_BOMB_RANGE_UPGRADE);
case "ice1" :
return(COST_ICE_FREEZE_UPGRADE);
case "ice2" :
return(COST_ICE_RANGE_UPGRADE);
case "super1" :
return(COST_SUPER_RANGE_UPGRADE);
}
}
function GetUpgrade(pupgrade) {
trace("try to buy: " + pupgrade);
switch (pupgrade) {
case "dart1" :
money = money - COST_DART_PIERCE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_DART_PIERCE_UPGRADE;
currentTower.upgrade1 = true;
if (currentTower.type == "dart") {
currentTower.pierceMax = currentTower.pierceMax + 1;
}
break;
case "dart2" :
money = money - COST_DART_RANGE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_DART_RANGE_UPGRADE;
currentTower.upgrade2 = true;
if (currentTower.type == "dart") {
currentTower.attackRadius = currentTower.attackRadius + 25;
}
break;
case "tack1" :
money = money - COST_TACK_RATE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_TACK_RATE_UPGRADE;
currentTower.upgrade1 = true;
if (currentTower.type == "tack") {
currentTower.attackRate = currentTower.attackRate - 15;
}
break;
case "tack2" :
money = money - COST_TACK_RANGE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_TACK_RANGE_UPGRADE;
currentTower.upgrade2 = true;
if (currentTower.type == "tack") {
currentTower.bulletScale = 130;
currentTower.attackRadius = currentTower.attackRadius + 10;
}
break;
case "bomb1" :
money = money - COST_BOMB_SIZE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_BOMB_SIZE_UPGRADE;
currentTower.upgrade1 = true;
if (currentTower.type == "bomb") {
currentTower.bulletScale = 150;
}
break;
case "bomb2" :
money = money - COST_BOMB_RANGE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_BOMB_RANGE_UPGRADE;
currentTower.upgrade2 = true;
if (currentTower.type == "bomb") {
currentTower.attackRadius = currentTower.attackRadius + 20;
}
break;
case "ice1" :
money = money - COST_ICE_FREEZE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_ICE_FREEZE_UPGRADE;
currentTower.upgrade1 = true;
if (currentTower.type == "ice") {
currentTower.freezeLen = currentTower.freezeLen + 20;
}
break;
case "ice2" :
money = money - COST_ICE_RANGE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_ICE_RANGE_UPGRADE;
currentTower.upgrade2 = true;
if (currentTower.type == "ice") {
currentTower.bulletScale = 100;
currentTower.attackRadius = currentTower.attackRadius + 15;
}
break;
case "super1" :
money = money - COST_SUPER_RANGE_UPGRADE;
currentTower.spentonme = currentTower.spentonme + COST_SUPER_RANGE_UPGRADE;
currentTower.upgrade1 = true;
if (currentTower.type != "super") {
break;
}
currentTower.attackRadius = currentTower.attackRadius + 100;
}
currentTower.CalcRadius();
SelectTower(currentTower);
UpdateMoney();
}
function UpdateMoney() {
mainTimeline.money_txt.text = money;
toweroptions.upgrade1.CheckAfford();
toweroptions.upgrade2.CheckAfford();
}
function Output(pstring) {
mainTimeline.output.inner.output_txt.text = pstring;
if (!mainTimeline.output._visible) {
mainTimeline.output.gotoAndPlay("drawOn");
}
}
function SetUpSound() {
frozenClink = new Sound(mainTimeline);
frozenClink.attachSound("clink");
}
function BuildLevels() {
ABSTL(12, 1, 1);
ABSTL(25, 2, 1);
ABSTL(12, 3, 1);
ABSTL(2, 3, 2);
ABSTL(12, 3, 1);
ABSTL(3, 3, 2);
ABSTL(5, 4, 1);
ABSTL(12, 4, 2);
ABSTL(5, 4, 1);
ABSTL(12, 4, 2);
ABSTL(15, 5, 1);
ABSTL(10, 5, 2);
ABSTL(15, 5, 1);
ABSTL(15, 5, 2);
ABSTL(10, 6, 3);
ABSTL(75, 7, 2);
ABSTL(20, 8, 1);
ABSTL(30, 8, 2);
ABSTL(30, 8, 1);
ABSTL(20, 8, 2);
ABSTL(20, 8, 1);
ABSTL(20, 8, 2);
ABSTL(5, 6, 3);
ABSTL(25, 9, 2);
ABSTL(15, 9, 3);
ABSTL(25, 9, 2);
ABSTL(35, 10, 3);
ABSTL(15, 11, 4);
ABSTL(25, 12, 2);
ABSTL(25, 12, 3);
ABSTL(3, 12, 4);
ABSTL(40, 13, 2);
ABSTL(40, 13, 1);
ABSTL(28, 13, 3);
ABSTL(35, 13, 2);
ABSTL(28, 14, 4);
ABSTL(30, 15, 3);
ABSTL(30, 15, 2);
ABSTL(30, 15, 3);
ABSTL(20, 16, 2);
ABSTL(30, 16, 3);
ABSTL(30, 16, 2);
ABSTL(20, 16, 3);
ABSTL(20, 16, 2);
ABSTL(25, 16, 3);
ABSTL(70, 17, 2);
ABSTL(45, 17, 3);
ABSTL(70, 17, 2);
ABSTL(30, 18, 2);
ABSTL(27, 18, 4);
ABSTL(25, 18, 3);
ABSTL(90, 19, 3);
ABSTL(16, 20, 4);
ABSTL(12, 20, 3);
ABSTL(15, 20, 4);
ABSTL(12, 20, 3);
ABSTL(17, 20, 4);
ABSTL(15, 21, 4);
ABSTL(10, 21, 2);
ABSTL(20, 21, 4);
ABSTL(15, 21, 3);
ABSTL(70, 21, 3);
ABSTL(45, 22, 4);
ABSTL(30, 23, 4);
ABSTL(35, 23, 3);
ABSTL(34, 23, 4);
ABSTL(30, 24, 3);
ABSTL(42, 24, 4);
ABSTL(20, 24, 3);
ABSTL(30, 24, 2);
ABSTL(25, 25, 4);
ABSTL(30, 25, 3);
ABSTL(28, 25, 4);
ABSTL(40, 25, 3);
ABSTL(85, 26, 4);
ABSTL(20, 27, 5);
ABSTL(55, 28, 4);
ABSTL(45, 28, 3);
ABSTL(100, 29, 4);
ABSTL(25, 29, 4);
ABSTL(19, 29, 5);
ABSTL(250, 30, 3);
ABSTL(27, 31, 5);
ABSTL(55, 31, 3);
ABSTL(10, 31, 2);
ABSTL(20, 32, 4);
ABSTL(25, 32, 3);
ABSTL(23, 32, 5);
ABSTL(150, 33, 4);
ABSTL(25, 34, 5);
ABSTL(35, 34, 3);
ABSTL(35, 34, 4);
ABSTL(25, 35, 4);
ABSTL(85, 35, 3);
ABSTL(85, 35, 4);
ABSTL(17, 36, 5);
ABSTL(115, 36, 4);
ABSTL(18, 36, 5);
ABSTL(59, 37, 5);
ABSTL(220, 38, 4);
ABSTL(50, 39, 1);
ABSTL(50, 39, 2);
ABSTL(50, 39, 3);
ABSTL(50, 39, 4);
ABSTL(40, 39, 5);
ABSTL(80, 40, 5);
ABSTL(20, 41, 6);
ABSTL(20, 41, 5);
ABSTL(20, 41, 6);
ABSTL(50, 42, 4);
ABSTL(30, 42, 5);
ABSTL(30, 42, 6);
ABSTL(150, 43, 4);
ABSTL(60, 43, 5);
ABSTL(40, 43, 6);
ABSTL(120, 44, 5);
ABSTL(120, 45, 6);
ABSTL(60, 46, 6);
ABSTL(60, 46, 5);
ABSTL(59, 46, 4);
ABSTL(70, 47, 5);
ABSTL(79, 47, 4);
ABSTL(40, 47, 6);
ABSTL(70, 48, 4);
ABSTL(80, 48, 6);
ABSTL(80, 48, 5);
ABSTL(70, 49, 6);
ABSTL(99, 49, 4);
ABSTL(80, 49, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(10, 50, 5);
ABSTL(10, 50, 6);
ABSTL(9, 50, 5);
}
function ABSTL(pnum, plevel, ptype) {
var _local2 = 0;
while (_local2 < pnum) {
ABTL(plevel, ptype);
_local2++;
}
}
function ABTL(plevel, ptype) {
if (!levelsArray[plevel - 1]) {
var _local2 = new Array();
levelsArray[plevel - 1] = _local2;
}
levelsArray[plevel - 1].push(ptype);
}
function GetNextLevelHint() {
return(levelHints[curLevel]);
}
function BuildLevelHints() {
levelHints[0] = "";
levelHints[1] = "That was too easy, press 'Start Round' to play the next round.";
levelHints[2] = "Still super easy, you didn't miss any did you?";
levelHints[3] = "Blue bloons move faster and have red bloons inside them.";
levelHints[4] = "Remember to spend your money.";
levelHints[5] = "Green bloons move even faster and have blue bloons inside them!";
levelHints[6] = "Lots of blue ones coming up. Hope you're ready...";
levelHints[7] = "The dart tower piercing upgrade allows darts to pop up to 2 bloons each.";
levelHints[8] = "Ice towers work best with bomb towers nearby.";
levelHints[9] = "Are you ready for a whole bunch of greens?";
levelHints[10] = "Yellow bloons are - you guessed it, even bigger and even faster and have greens inside them.";
levelHints[11] = "Tower upgrades are usually a better option than just adding more towers.";
levelHints[12] = "Tower defense is about what towers you use and where you put them.";
levelHints[13] = "The super monkey tower is not a joke, he really kicks ass!";
levelHints[14] = "You lose one life for every bloon that escapes. So a blue bloon costs you two lives, a green three lives etc.";
levelHints[15] = "I've tried and you can't pass the game using only tack towers. You can slow the game down a lot though.";
levelHints[16] = "Relax a bit, there are no yellow bloons in the next level.";
levelHints[17] = "Have you played Bloons?";
levelHints[18] = "A whole bunch of greens coming up.";
levelHints[19] = "Too easy. Let's step this up a bit.";
levelHints[20] = "Place your towers so that they can be shooting at something for a long time, corners are good.";
levelHints[21] = "Ready for 45 straight yellows?";
levelHints[22] = "Yellows, greens, then more yellows - that should take care of you...";
levelHints[23] = "Did you know that the Greek national anthem has 136 verses?";
levelHints[24] = "93% of American teenage girls say shopping is their favourite activity.";
levelHints[25] = "Tack towers are really useful for thinning out the crowds - get the speed upgrade for extra effectiveness.";
levelHints[26] = "Black bloons are nasty - they are small but contain 2 yellows inside them. Oh did I mention they are IMMUNE TO BOMBS?!";
levelHints[27] = "When you sell a tower, you get 80% of what you paid for it, including all the upgrade money you spent.";
levelHints[28] = "Lots and lots of yellows - more than a hundred even, followed by a bunch of black bloons.";
levelHints[29] = "Next is a cash round - pop hundreds and hundreds of greens to top up your money. If you leak any I'll wince.";
levelHints[30] = "Monkeys aren't so good at shooting at things moving to their left. Something about being right handed I guess.";
levelHints[31] = "The good thing about black bloons is that they move slower than yellows.";
levelHints[32] = "A - lot of yellows.";
levelHints[33] = "10% of people lose their temper every day. If they play counterstrike its more like 90% I think...";
levelHints[34] = "You will probably need to use every tower type to finish the game.";
levelHints[35] = "You can improve frame rate a bit by having no towers selected during the round.";
levelHints[36] = "Just black bloons coming up. Lots of 'em";
levelHints[37] = "Just around the corner there are a throng of yellow bloons waiting to have a go...";
levelHints[38] = "Just for fun, there are some of each colour bloon in the next level. Enjoy popping those easy reds for a change.";
levelHints[39] = "80 blacks bloons. Enjoy.";
levelHints[40] = "Its important to not lose early lives, because the levels are only getting harder.";
levelHints[41] = "White bloons are IMMUNE TO FREEZING - and they also have 2 yellows inside them.";
levelHints[42] = "How many monkeys does it take to make a super monkey? That stuff will keep you up at night.";
levelHints[43] = "Lots and lots and lots of black bloons. More than ever.";
levelHints[44] = "Lots and lots and lots of WHITE bloons. More than ever.";
levelHints[45] = "Lots of white, then black, then yellow bloons. The next level is going to hurt.";
levelHints[46] = "You still playing? I'm impressed, I couldn't get this far without cheating.";
levelHints[47] = "You got any super monkeys yet? Are they really worth all that money?";
levelHints[48] = "Its ok if you don't pass this level. Really it is. Just hit 'try again'. Its the effort that counts.";
levelHints[49] = "This is the last level. There are TONS AND TONS of black AND white bloons coming. Hope you have lots of lives left...";
}
var COST_DART = 250;
var COST_TACK = 325;
var COST_SPIKEY = 500;
var COST_BOMB = 900;
var COST_ICE = 850;
var COST_SUPER = 4000;
var COST_DART_RANGE_UPGRADE = 100;
var COST_DART_PIERCE_UPGRADE = 210;
var COST_TACK_RANGE_UPGRADE = 110;
var COST_TACK_RATE_UPGRADE = 200;
var COST_BOMB_SIZE_UPGRADE = 650;
var COST_BOMB_RANGE_UPGRADE = 250;
var COST_ICE_FREEZE_UPGRADE = 450;
var COST_ICE_RANGE_UPGRADE = 300;
var COST_SUPER_RANGE_UPGRADE = 2400;
var RANGE_DART = 100;
var RANGE_TACK = 70;
var RANGE_SPIKEY = 85;
var RANGE_BOMB = 120;
var RANGE_ICE = 60;
var RANGE_SUPER = 140;
var SELL_RATE = 0.8;
var STARTING_MONEY = 650;
var MAX_LIVES = 40;
}
Symbol 377 MovieClip [__Packages.mx.managers.DepthManager] Frame 0
class mx.managers.DepthManager
{
var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth;
function DepthManager () {
MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth;
MovieClip.prototype.createChildAtDepth = createChildAtDepth;
MovieClip.prototype.setDepthTo = setDepthTo;
MovieClip.prototype.setDepthAbove = setDepthAbove;
MovieClip.prototype.setDepthBelow = setDepthBelow;
MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth;
MovieClip.prototype.shuffleDepths = shuffleDepths;
MovieClip.prototype.getDepthByFlag = getDepthByFlag;
MovieClip.prototype.buildDepthTable = buildDepthTable;
_global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1);
_global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1);
_global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1);
_global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1);
}
static function sortFunction(a, b) {
if (a.getDepth() > b.getDepth()) {
return(1);
}
return(-1);
}
static function test(depth) {
if (depth == reservedDepth) {
return(false);
}
return(true);
}
static function createClassObjectAtDepth(className, depthSpace, initObj) {
var _local1;
switch (depthSpace) {
case kCursor :
_local1 = holder.createClassChildAtDepth(className, kTopmost, initObj);
break;
case kTooltip :
_local1 = holder.createClassChildAtDepth(className, kTop, initObj);
}
return(_local1);
}
static function createObjectAtDepth(linkageName, depthSpace, initObj) {
var _local1;
switch (depthSpace) {
case kCursor :
_local1 = holder.createChildAtDepth(linkageName, kTopmost, initObj);
break;
case kTooltip :
_local1 = holder.createChildAtDepth(linkageName, kTop, initObj);
}
return(_local1);
}
function createClassChildAtDepth(className, depthFlag, initObj) {
if (_childCounter == undefined) {
_childCounter = 0;
}
var _local3 = buildDepthTable();
var _local2 = getDepthByFlag(depthFlag, _local3);
var _local5 = "down";
if (depthFlag == kBottom) {
_local5 = "up";
}
var _local6;
if (_local3[_local2] != undefined) {
_local6 = _local2;
_local2 = findNextAvailableDepth(_local2, _local3, _local5);
}
var _local4 = createClassObject(className, "depthChild" + (_childCounter++), _local2, initObj);
if (_local6 != undefined) {
_local3[_local2] = _local4;
shuffleDepths(_local4, _local6, _local3, _local5);
}
if (depthFlag == kTopmost) {
_local4._topmost = true;
}
return(_local4);
}
function createChildAtDepth(linkageName, depthFlag, initObj) {
if (_childCounter == undefined) {
_childCounter = 0;
}
var _local3 = buildDepthTable();
var _local2 = getDepthByFlag(depthFlag, _local3);
var _local5 = "down";
if (depthFlag == kBottom) {
_local5 = "up";
}
var _local6;
if (_local3[_local2] != undefined) {
_local6 = _local2;
_local2 = findNextAvailableDepth(_local2, _local3, _local5);
}
var _local4 = createObject(linkageName, "depthChild" + (_childCounter++), _local2, initObj);
if (_local6 != undefined) {
_local3[_local2] = _local4;
shuffleDepths(_local4, _local6, _local3, _local5);
}
if (depthFlag == kTopmost) {
_local4._topmost = true;
}
return(_local4);
}
function setDepthTo(depthFlag) {
var _local2 = _parent.buildDepthTable();
var _local3 = _parent.getDepthByFlag(depthFlag, _local2);
if (_local2[_local3] != undefined) {
shuffleDepths(MovieClip(this), _local3, _local2, undefined);
} else {
swapDepths(_local3);
}
if (depthFlag == kTopmost) {
_topmost = true;
} else {
delete _topmost;
}
}
function setDepthAbove(targetInstance) {
if (targetInstance._parent != _parent) {
return(undefined);
}
var _local2 = targetInstance.getDepth() + 1;
var _local3 = _parent.buildDepthTable();
if ((_local3[_local2] != undefined) && (getDepth() < _local2)) {
_local2 = _local2 - 1;
}
if (_local2 > highestDepth) {
_local2 = highestDepth;
}
if (_local2 == highestDepth) {
_parent.shuffleDepths(this, _local2, _local3, "down");
} else if (_local3[_local2] != undefined) {
_parent.shuffleDepths(this, _local2, _local3, undefined);
} else {
swapDepths(_local2);
}
}
function setDepthBelow(targetInstance) {
if (targetInstance._parent != _parent) {
return(undefined);
}
var _local6 = targetInstance.getDepth() - 1;
var _local3 = _parent.buildDepthTable();
if ((_local3[_local6] != undefined) && (getDepth() > _local6)) {
_local6 = _local6 + 1;
}
var _local4 = lowestDepth + numberOfAuthortimeLayers;
var _local5;
for (_local5 in _local3) {
var _local2 = _local3[_local5];
if (_local2._parent != undefined) {
_local4 = Math.min(_local4, _local2.getDepth());
}
}
if (_local6 < _local4) {
_local6 = _local4;
}
if (_local6 == _local4) {
_parent.shuffleDepths(this, _local6, _local3, "up");
} else if (_local3[_local6] != undefined) {
_parent.shuffleDepths(this, _local6, _local3, undefined);
} else {
swapDepths(_local6);
}
}
function findNextAvailableDepth(targetDepth, depthTable, direction) {
var _local5 = lowestDepth + numberOfAuthortimeLayers;
if (targetDepth < _local5) {
targetDepth = _local5;
}
if (depthTable[targetDepth] == undefined) {
return(targetDepth);
}
var _local1 = targetDepth;
var _local2 = targetDepth;
if (direction == "down") {
while (depthTable[_local2] != undefined) {
_local2--;
}
return(_local2);
}
while (depthTable[_local1] != undefined) {
_local1++;
}
return(_local1);
}
function shuffleDepths(subject, targetDepth, depthTable, direction) {
var _local9 = lowestDepth + numberOfAuthortimeLayers;
var _local8 = _local9;
var _local5;
for (_local5 in depthTable) {
var _local7 = depthTable[_local5];
if (_local7._parent != undefined) {
_local9 = Math.min(_local9, _local7.getDepth());
}
}
if (direction == undefined) {
if (subject.getDepth() > targetDepth) {
direction = "up";
} else {
direction = "down";
}
}
var _local1 = new Array();
for (_local5 in depthTable) {
var _local7 = depthTable[_local5];
if (_local7._parent != undefined) {
_local1.push(_local7);
}
}
_local1.sort(sortFunction);
if (direction == "up") {
var _local3;
var _local11;
do {
if (_local1.length <= 0) {
break;
}
_local3 = _local1.pop();
} while (_local3 != subject);
do {
if (_local1.length <= 0) {
break;
}
_local11 = subject.getDepth();
_local3 = _local1.pop();
var _local4 = _local3.getDepth();
if (_local11 > (_local4 + 1)) {
if (_local4 >= 0) {
subject.swapDepths(_local4 + 1);
} else if ((_local11 > _local8) && (_local4 < _local8)) {
subject.swapDepths(_local8);
}
}
subject.swapDepths(_local3);
} while (_local4 != targetDepth);
} else if (direction == "down") {
var _local3;
do {
if (_local1.length <= 0) {
break;
}
_local3 = _local1.shift();
} while (_local3 != subject);
do {
if (_local1.length <= 0) {
break;
}
var _local11 = _local3.getDepth();
_local3 = _local1.shift();
var _local4 = _local3.getDepth();
if ((_local11 < (_local4 - 1)) && (_local4 > 0)) {
subject.swapDepths(_local4 - 1);
}
subject.swapDepths(_local3);
} while (_local4 != targetDepth);
}
}
function getDepthByFlag(depthFlag, depthTable) {
var _local2 = 0;
if ((depthFlag == kTop) || (depthFlag == kNotopmost)) {
var _local5 = 0;
var _local7 = false;
var _local8;
for (_local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
if (!_local9._topmost) {
_local2 = Math.max(_local2, _local9.getDepth());
} else if (!_local7) {
_local5 = _local9.getDepth();
_local7 = true;
} else {
_local5 = Math.min(_local5, _local9.getDepth());
}
}
}
}
_local2 = _local2 + 20;
if (_local7) {
if (_local2 >= _local5) {
_local2 = _local5 - 1;
}
}
} else if (depthFlag == kBottom) {
for (var _local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
_local2 = Math.min(_local2, _local9.getDepth());
}
}
}
_local2 = _local2 - 20;
} else if (depthFlag == kTopmost) {
for (var _local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
_local2 = Math.max(_local2, _local9.getDepth());
}
}
}
_local2 = _local2 + 100;
}
if (_local2 >= highestDepth) {
_local2 = highestDepth;
}
var _local6 = lowestDepth + numberOfAuthortimeLayers;
for (var _local9 in depthTable) {
var _local4 = depthTable[_local9];
if (_local4._parent != undefined) {
_local6 = Math.min(_local6, _local4.getDepth());
}
}
if (_local2 <= _local6) {
_local2 = _local6;
}
return(_local2);
}
function buildDepthTable(Void) {
var _local5 = new Array();
var _local4;
for (_local4 in this) {
var _local2 = this[_local4];
var _local3 = typeof(_local2);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local2.__getTextFormat != undefined))) {
if (_local2._parent == this) {
_local5[_local2.getDepth()] = _local2;
}
}
}
return(_local5);
}
static var reservedDepth = 1048575;
static var highestDepth = 1048574;
static var lowestDepth = -16383;
static var numberOfAuthortimeLayers = 383;
static var kCursor = 101;
static var kTooltip = 102;
static var kTop = 201;
static var kBottom = 202;
static var kTopmost = 203;
static var kNotopmost = 204;
static var holder = _root.createEmptyMovieClip("reserved", reservedDepth);
static var __depthManager = new mx.managers.DepthManager();
}
Symbol 378 MovieClip [__Packages.mx.core.UIObject] Frame 0
class mx.core.UIObject extends MovieClip
{
var _width, _height, _x, _y, _parent, _minHeight, _minWidth, _visible, dispatchEvent, _xscale, _yscale, methodTable, onEnterFrame, tfList, __width, __height, moveTo, lineTo, createTextField, attachMovie, buildDepthTable, findNextAvailableDepth, idNames, childrenCreated, _name, createAccessibilityImplementation, _endInit, validateNow, hasOwnProperty, initProperties, stylecache, className, ignoreClassStyleDeclaration, _tf, fontFamily, fontSize, color, marginLeft, marginRight, fontStyle, fontWeight, textAlign, textIndent, textDecoration, embedFonts, styleName, enabled;
function UIObject () {
super();
constructObject();
}
function get width() {
return(_width);
}
function get height() {
return(_height);
}
function get left() {
return(_x);
}
function get x() {
return(_x);
}
function get top() {
return(_y);
}
function get y() {
return(_y);
}
function get right() {
return(_parent.width - (_x + width));
}
function get bottom() {
return(_parent.height - (_y + height));
}
function getMinHeight(Void) {
return(_minHeight);
}
function setMinHeight(h) {
_minHeight = h;
}
function get minHeight() {
return(getMinHeight());
}
function set minHeight(h) {
setMinHeight(h);
//return(minHeight);
}
function getMinWidth(Void) {
return(_minWidth);
}
function setMinWidth(w) {
_minWidth = w;
}
function get minWidth() {
return(getMinWidth());
}
function set minWidth(w) {
setMinWidth(w);
//return(minWidth);
}
function setVisible(x, noEvent) {
if (x != _visible) {
_visible = x;
if (noEvent != true) {
dispatchEvent({type:(x ? "reveal" : "hide")});
}
}
}
function get visible() {
return(_visible);
}
function set visible(x) {
setVisible(x, false);
//return(visible);
}
function get scaleX() {
return(_xscale);
}
function set scaleX(x) {
_xscale = x;
//return(scaleX);
}
function get scaleY() {
return(_yscale);
}
function set scaleY(y) {
_yscale = y;
//return(scaleY);
}
function doLater(obj, fn) {
if (methodTable == undefined) {
methodTable = new Array();
}
methodTable.push({obj:obj, fn:fn});
onEnterFrame = doLaterDispatcher;
}
function doLaterDispatcher(Void) {
delete onEnterFrame;
if (invalidateFlag) {
redraw();
}
var _local3 = methodTable;
methodTable = new Array();
if (_local3.length > 0) {
var _local2;
while (_local2 = _local3.shift() , _local2 != undefined) {
_local2.obj[_local2.fn]();
}
}
}
function cancelAllDoLaters(Void) {
delete onEnterFrame;
methodTable = new Array();
}
function invalidate(Void) {
invalidateFlag = true;
onEnterFrame = doLaterDispatcher;
}
function invalidateStyle(Void) {
invalidate();
}
function redraw(bAlways) {
if (invalidateFlag || (bAlways)) {
invalidateFlag = false;
var _local2;
for (_local2 in tfList) {
tfList[_local2].draw();
}
draw();
dispatchEvent({type:"draw"});
}
}
function draw(Void) {
}
function move(x, y, noEvent) {
var _local3 = _x;
var _local2 = _y;
_x = x;
_y = y;
if (noEvent != true) {
dispatchEvent({type:"move", oldX:_local3, oldY:_local2});
}
}
function setSize(w, h, noEvent) {
var _local3 = __width;
var _local2 = __height;
__width = w;
__height = h;
size();
if (noEvent != true) {
dispatchEvent({type:"resize", oldWidth:_local3, oldHeight:_local2});
}
}
function size(Void) {
_width = __width;
_height = __height;
}
function drawRect(x1, y1, x2, y2) {
moveTo(x1, y1);
lineTo(x2, y1);
lineTo(x2, y2);
lineTo(x1, y2);
lineTo(x1, y1);
}
function createLabel(name, depth, text) {
createTextField(name, depth, 0, 0, 0, 0);
var _local2 = this[name];
_local2._color = textColorList;
_local2._visible = false;
_local2.__text = text;
if (tfList == undefined) {
tfList = new Object();
}
tfList[name] = _local2;
_local2.invalidateStyle();
invalidate();
_local2.styleName = this;
return(_local2);
}
function createObject(linkageName, id, depth, initobj) {
return(attachMovie(linkageName, id, depth, initobj));
}
function createClassObject(className, id, depth, initobj) {
var _local3 = className.symbolName == undefined;
if (_local3) {
Object.registerClass(className.symbolOwner.symbolName, className);
}
var _local4 = mx.core.UIObject(createObject(className.symbolOwner.symbolName, id, depth, initobj));
if (_local3) {
Object.registerClass(className.symbolOwner.symbolName, className.symbolOwner);
}
return(_local4);
}
function createEmptyObject(id, depth) {
return(createClassObject(mx.core.UIObject, id, depth));
}
function destroyObject(id) {
var _local2 = this[id];
if (_local2.getDepth() < 0) {
var _local4 = buildDepthTable();
var _local5 = findNextAvailableDepth(0, _local4, "up");
var _local3 = _local5;
_local2.swapDepths(_local3);
}
_local2.removeMovieClip();
delete this[id];
}
function getSkinIDName(tag) {
return(idNames[tag]);
}
function setSkin(tag, linkageName, initObj) {
if (_global.skinRegistry[linkageName] == undefined) {
mx.skins.SkinElement.registerElement(linkageName, mx.skins.SkinElement);
}
return(createObject(linkageName, getSkinIDName(tag), tag, initObj));
}
function createSkin(tag) {
var _local2 = getSkinIDName(tag);
createEmptyObject(_local2, tag);
return(this[_local2]);
}
function createChildren(Void) {
}
function _createChildren(Void) {
createChildren();
childrenCreated = true;
}
function constructObject(Void) {
if (_name == undefined) {
return(undefined);
}
init();
_createChildren();
createAccessibilityImplementation();
_endInit();
if (validateNow) {
redraw(true);
} else {
invalidate();
}
}
function initFromClipParameters(Void) {
var _local4 = false;
var _local2;
for (_local2 in clipParameters) {
if (hasOwnProperty(_local2)) {
_local4 = true;
this["def_" + _local2] = this[_local2];
delete this[_local2];
}
}
if (_local4) {
for (_local2 in clipParameters) {
var _local3 = this["def_" + _local2];
if (_local3 != undefined) {
this[_local2] = _local3;
}
}
}
}
function init(Void) {
__width = _width;
__height = _height;
if (initProperties == undefined) {
initFromClipParameters();
} else {
initProperties();
}
if (_global.cascadingStyles == true) {
stylecache = new Object();
}
}
function getClassStyleDeclaration(Void) {
var _local4 = this;
var _local3 = className;
while (_local3 != undefined) {
if (ignoreClassStyleDeclaration[_local3] == undefined) {
if (_global.styles[_local3] != undefined) {
return(_global.styles[_local3]);
}
}
_local4 = _local4.__proto__;
_local3 = _local4.className;
}
}
function setColor(color) {
}
function __getTextFormat(tf, bAll) {
var _local8 = stylecache.tf;
if (_local8 != undefined) {
var _local3;
for (_local3 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) {
if (tf[_local3] == undefined) {
tf[_local3] = _local8[_local3];
}
}
}
return(false);
}
var _local6 = false;
for (var _local3 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) {
if (tf[_local3] == undefined) {
var _local5 = _tf[_local3];
if (_local5 != undefined) {
tf[_local3] = _local5;
} else if ((_local3 == "font") && (fontFamily != undefined)) {
tf[_local3] = fontFamily;
} else if ((_local3 == "size") && (fontSize != undefined)) {
tf[_local3] = fontSize;
} else if ((_local3 == "color") && (color != undefined)) {
tf[_local3] = color;
} else if ((_local3 == "leftMargin") && (marginLeft != undefined)) {
tf[_local3] = marginLeft;
} else if ((_local3 == "rightMargin") && (marginRight != undefined)) {
tf[_local3] = marginRight;
} else if ((_local3 == "italic") && (fontStyle != undefined)) {
tf[_local3] = fontStyle == _local3;
} else if ((_local3 == "bold") && (fontWeight != undefined)) {
tf[_local3] = fontWeight == _local3;
} else if ((_local3 == "align") && (textAlign != undefined)) {
tf[_local3] = textAlign;
} else if ((_local3 == "indent") && (textIndent != undefined)) {
tf[_local3] = textIndent;
} else if ((_local3 == "underline") && (textDecoration != undefined)) {
tf[_local3] = textDecoration == _local3;
} else if ((_local3 == "embedFonts") && (embedFonts != undefined)) {
tf[_local3] = embedFonts;
} else {
_local6 = true;
}
}
}
}
if (_local6) {
var _local9 = styleName;
if (_local9 != undefined) {
if (typeof(_local9) != "string") {
_local6 = _local9.__getTextFormat(tf, true, this);
} else if (_global.styles[_local9] != undefined) {
_local6 = _global.styles[_local9].__getTextFormat(tf, true, this);
}
}
}
if (_local6) {
var _local10 = getClassStyleDeclaration();
if (_local10 != undefined) {
_local6 = _local10.__getTextFormat(tf, true, this);
}
}
if (_local6) {
if (_global.cascadingStyles) {
if (_parent != undefined) {
_local6 = _parent.__getTextFormat(tf, false);
}
}
}
if (_local6) {
_local6 = _global.style.__getTextFormat(tf, true, this);
}
return(_local6);
}
function _getTextFormat(Void) {
var _local2 = stylecache.tf;
if (_local2 != undefined) {
return(_local2);
}
_local2 = new TextFormat();
__getTextFormat(_local2, true);
stylecache.tf = _local2;
if (enabled == false) {
var _local3 = getStyle("disabledColor");
_local2.color = _local3;
}
return(_local2);
}
function getStyleName(Void) {
var _local2 = styleName;
if (_local2 != undefined) {
if (typeof(_local2) != "string") {
return(_local2.getStyleName());
}
return(_local2);
}
if (_parent != undefined) {
return(_parent.getStyleName());
}
return(undefined);
}
function getStyle(styleProp) {
var _local3;
_global.getStyleCounter++;
if (this[styleProp] != undefined) {
return(this[styleProp]);
}
var _local6 = styleName;
if (_local6 != undefined) {
if (typeof(_local6) != "string") {
_local3 = _local6.getStyle(styleProp);
} else {
var _local7 = _global.styles[_local6];
_local3 = _local7.getStyle(styleProp);
}
}
if (_local3 != undefined) {
return(_local3);
}
var _local7 = getClassStyleDeclaration();
if (_local7 != undefined) {
_local3 = _local7[styleProp];
}
if (_local3 != undefined) {
return(_local3);
}
if (_global.cascadingStyles) {
if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (mx.styles.StyleManager.isColorStyle(styleProp))) {
var _local5 = stylecache;
if (_local5 != undefined) {
if (_local5[styleProp] != undefined) {
return(_local5[styleProp]);
}
}
if (_parent != undefined) {
_local3 = _parent.getStyle(styleProp);
} else {
_local3 = _global.style[styleProp];
}
if (_local5 != undefined) {
_local5[styleProp] = _local3;
}
return(_local3);
}
}
if (_local3 == undefined) {
_local3 = _global.style[styleProp];
}
return(_local3);
}
static function mergeClipParameters(o, p) {
for (var _local3 in p) {
o[_local3] = p[_local3];
}
return(true);
}
static var symbolName = "UIObject";
static var symbolOwner = mx.core.UIObject;
static var version = "2.0.2.126";
static var textColorList = {color:1, disabledColor:1};
var invalidateFlag = false;
var lineWidth = 1;
var lineColor = 0;
var tabEnabled = false;
var clipParameters = {visible:1, minHeight:1, minWidth:1, maxHeight:1, maxWidth:1, preferredHeight:1, preferredWidth:1};
}
Symbol 379 MovieClip [__Packages.mx.skins.SkinElement] Frame 0
class mx.skins.SkinElement extends MovieClip
{
var _visible, _x, _y, _width, _height;
function SkinElement () {
super();
}
static function registerElement(name, className) {
Object.registerClass(name, ((className == undefined) ? (mx.skins.SkinElement) : (className)));
_global.skinRegistry[name] = true;
}
function __set__visible(visible) {
_visible = visible;
}
function move(x, y) {
_x = x;
_y = y;
}
function setSize(w, h) {
_width = w;
_height = h;
}
}
Symbol 380 MovieClip [__Packages.mx.styles.CSSTextStyles] Frame 0
class mx.styles.CSSTextStyles
{
function CSSTextStyles () {
}
static function addTextStyles(o, bColor) {
o.addProperty("textAlign", function () {
return(this._tf.align);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.align = x;
});
o.addProperty("fontWeight", function () {
return(((this._tf.bold != undefined) ? ((this._tf.bold ? "bold" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.bold = x == "bold";
});
if (bColor) {
o.addProperty("color", function () {
return(this._tf.color);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.color = x;
});
}
o.addProperty("fontFamily", function () {
return(this._tf.font);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.font = x;
});
o.addProperty("textIndent", function () {
return(this._tf.indent);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.indent = x;
});
o.addProperty("fontStyle", function () {
return(((this._tf.italic != undefined) ? ((this._tf.italic ? "italic" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.italic = x == "italic";
});
o.addProperty("marginLeft", function () {
return(this._tf.leftMargin);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.leftMargin = x;
});
o.addProperty("marginRight", function () {
return(this._tf.rightMargin);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.rightMargin = x;
});
o.addProperty("fontSize", function () {
return(this._tf.size);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.size = x;
});
o.addProperty("textDecoration", function () {
return(((this._tf.underline != undefined) ? ((this._tf.underline ? "underline" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.underline = x == "underline";
});
o.addProperty("embedFonts", function () {
return(this._tf.embedFonts);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.embedFonts = x;
});
}
}
Symbol 381 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] Frame 0
class mx.styles.CSSStyleDeclaration
{
var _tf;
function CSSStyleDeclaration () {
}
function __getTextFormat(tf, bAll) {
var _local5 = false;
if (_tf != undefined) {
var _local2;
for (_local2 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local2])) {
if (tf[_local2] == undefined) {
var _local3 = _tf[_local2];
if (_local3 != undefined) {
tf[_local2] = _local3;
} else {
_local5 = true;
}
}
}
}
} else {
_local5 = true;
}
return(_local5);
}
function getStyle(styleProp) {
var _local2 = this[styleProp];
var _local3 = mx.styles.StyleManager.getColorName(_local2);
return(((_local3 == undefined) ? (_local2) : (_local3)));
}
static function classConstruct() {
mx.styles.CSSTextStyles.addTextStyles(mx.styles.CSSStyleDeclaration.prototype, true);
return(true);
}
static var classConstructed = classConstruct();
static var CSSTextStylesDependency = mx.styles.CSSTextStyles;
}
Symbol 382 MovieClip [__Packages.mx.styles.StyleManager] Frame 0
class mx.styles.StyleManager
{
function StyleManager () {
}
static function registerInheritingStyle(styleName) {
inheritingStyles[styleName] = true;
}
static function isInheritingStyle(styleName) {
return(inheritingStyles[styleName] == true);
}
static function registerColorStyle(styleName) {
colorStyles[styleName] = true;
}
static function isColorStyle(styleName) {
return(colorStyles[styleName] == true);
}
static function registerColorName(colorName, colorValue) {
colorNames[colorName] = colorValue;
}
static function isColorName(colorName) {
return(colorNames[colorName] != undefined);
}
static function getColorName(colorName) {
return(colorNames[colorName]);
}
static var inheritingStyles = {color:true, direction:true, fontFamily:true, fontSize:true, fontStyle:true, fontWeight:true, textAlign:true, textIndent:true};
static var colorStyles = {barColor:true, trackColor:true, borderColor:true, buttonColor:true, color:true, dateHeaderColor:true, dateRollOverColor:true, disabledColor:true, fillColor:true, highlightColor:true, scrollTrackColor:true, selectedDateColor:true, shadowColor:true, strokeColor:true, symbolBackgroundColor:true, symbolBackgroundDisabledColor:true, symbolBackgroundPressedColor:true, symbolColor:true, symbolDisabledColor:true, themeColor:true, todayIndicatorColor:true, shadowCapColor:true, borderCapColor:true, focusColor:true};
static var colorNames = {black:0, white:16777215, red:16711680, green:65280, blue:255, magenta:16711935, yellow:16776960, cyan:65535, haloGreen:8453965, haloBlue:2881013, haloOrange:16761344};
static var TextFormatStyleProps = {font:true, size:true, color:true, leftMargin:false, rightMargin:false, italic:true, bold:true, align:true, indent:true, underline:false, embedFonts:false};
static var TextStyleMap = {textAlign:true, fontWeight:true, color:true, fontFamily:true, textIndent:true, fontStyle:true, lineHeight:true, marginLeft:true, marginRight:true, fontSize:true, textDecoration:true, embedFonts:true};
}
Symbol 189 Button
on (release) {
getURL ("");
}
Symbol 193 MovieClip Frame 123
stop();
done = true;
Symbol 215 MovieClip Frame 1
stop();
radiusmc._visible = true;
radiusmc._width = (radiusmc._height = 2 * _parent.td.RANGE_DART);
Symbol 215 MovieClip Frame 2
stop();
radiusmc._visible = true;
radiusmc._width = (radiusmc._height = 2 * _parent.td.RANGE_TACK);
Symbol 215 MovieClip Frame 3
stop();
radiusmc._width = (radiusmc._height = 2 * _parent.td.RANGE_SPIKEY);
Symbol 215 MovieClip Frame 4
stop();
radiusmc._visible = true;
radiusmc._width = (radiusmc._height = 2 * _parent.td.RANGE_BOMB);
Symbol 215 MovieClip Frame 5
stop();
radiusmc._visible = true;
radiusmc._width = (radiusmc._height = 2 * _parent.td.RANGE_ICE);
Symbol 215 MovieClip Frame 6
stop();
radiusmc._visible = true;
radiusmc._width = (radiusmc._height = 2 * _parent.td.RANGE_SUPER);
Symbol 218 Button
on (release) {
_parent.td.SellCurrentTower();
}
Symbol 222 Button
on (release) {
_parent._parent.td.GetUpgrade(upgrade);
}
Symbol 262 MovieClip Frame 1
function CheckAfford() {
if (_parent._parent.td.CanAfford(upgrade)) {
cantafford._visible = false;
} else {
cantafford._visible = true;
}
}
stop();
Instance of Symbol 226 MovieClip "cantafford" in Symbol 262 MovieClip Frame 1
on (press) {
}
Instance of Symbol 230 MovieClip "hasbought" in Symbol 262 MovieClip Frame 1
on (press) {
}
Symbol 262 MovieClip Frame 2
stop();
Symbol 262 MovieClip Frame 3
stop();
Symbol 262 MovieClip Frame 4
stop();
Symbol 262 MovieClip Frame 5
stop();
Symbol 262 MovieClip Frame 6
stop();
Symbol 262 MovieClip Frame 7
stop();
Symbol 262 MovieClip Frame 8
stop();
Symbol 262 MovieClip Frame 9
stop();
Symbol 270 MovieClip Frame 1
function Refresh() {
if (_parent.td.currentTower.upgrade1) {
upgrade1.hasbought._visible = true;
} else {
upgrade1.hasbought._visible = false;
}
if (_parent.td.currentTower.upgrade2) {
upgrade2.hasbought._visible = true;
} else {
upgrade2.hasbought._visible = false;
}
if (_parent.td.currentTower.type == "super") {
upgrade2._visible = false;
} else {
upgrade2._visible = true;
}
upgrade1.gotoAndStop(_parent.td.currentTower.type + "1");
upgrade2.gotoAndStop(_parent.td.currentTower.type + "2");
upgrade1.upgrade = _parent.td.currentTower.type + "1";
upgrade2.upgrade = _parent.td.currentTower.type + "2";
upgrade1.cost_txt.text = _parent.td.GetUpgradeCost(1);
upgrade2.cost_txt.text = _parent.td.GetUpgradeCost(2);
upgrade1.CheckAfford();
upgrade2.CheckAfford();
}
Symbol 272 Button
on (press) {
td.SetCurrentTool("dart");
}
on (rollOver) {
td.ShowTowerInfo("dart");
}
on (rollOut) {
td.HideTowerInfo();
}
Symbol 274 Button
on (press) {
td.SetCurrentTool("ice");
}
on (rollOver) {
td.ShowTowerInfo("ice");
}
on (rollOut) {
td.HideTowerInfo();
}
Symbol 276 Button
on (press) {
td.SetCurrentTool("tack");
}
on (rollOver) {
td.ShowTowerInfo("tack");
}
on (rollOut) {
td.HideTowerInfo();
}
Symbol 278 Button
on (press) {
td.SetCurrentTool("bomb");
}
on (rollOver) {
td.ShowTowerInfo("bomb");
}
on (rollOut) {
td.HideTowerInfo();
}
Symbol 280 Button
on (press) {
td.SetCurrentTool("super");
}
on (rollOver) {
td.ShowTowerInfo("super");
}
on (rollOut) {
td.HideTowerInfo();
}
Symbol 287 Button
on (press) {
td.StartLevel();
}
Symbol 295 Button
on (release) {
_root.score = 0;
_parent._parent.gotoAndPlay("drawOff");
}
Symbol 302 MovieClip Frame 1
stop();
_visible = false;
Symbol 302 MovieClip Frame 2
_visible = true;
Symbol 302 MovieClip Frame 47
stop();
theresult = _parent.td.score;
inner.score_txt.text = theresult;
_root.score = _root.score + Number(_root.money_txt.text);
Symbol 302 MovieClip Frame 93
_parent.td.Init();
_visible = false;
Symbol 307 Button
on (release) {
_root.score = 0;
_parent._parent.gotoAndPlay("drawOff");
}
Symbol 310 MovieClip Frame 1
stop();
_visible = false;
Symbol 310 MovieClip Frame 2
_visible = true;
Symbol 310 MovieClip Frame 47
stop();
theresult = _parent.td.score;
inner.score_txt.text = theresult;
Symbol 310 MovieClip Frame 93
_parent.td.Init();
_visible = false;
Symbol 314 MovieClip Frame 1
_visible = false;
stop();
Symbol 314 MovieClip Frame 2
_visible = true;
Symbol 314 MovieClip Frame 15
Symbol 340 MovieClip Frame 1
stop();
_parent.sound.setVolume(100);
Symbol 340 MovieClip Frame 2
stop();
_parent.sound.setVolume(0);
Symbol 343 Button
on (release) {
_root.score = 0;
td.Init();
}
Symbol 346 Button
on (release) {
_root.scoreCm = _root.score + Number(_root.money_txt.text);
_global.ipbSend();
}
Symbol 352 MovieClip Frame 92
gotoAndPlay (15);
Symbol 352 MovieClip Frame 97
stop();
Symbol 353 MovieClip Frame 1
stop();
Symbol 353 MovieClip Frame 7
bloon.gotoAndPlay("pop");
Symbol 353 MovieClip Frame 11
stop();
Symbol 354 MovieClip Frame 1
bloonpop1.inner.onRollOver = function () {
this._parent.gotoAndPlay(2);
};
bloonpop1.inner.onRollOut = function () {
this._parent.bloon.gotoAndPlay(1);
this._parent.gotoAndStop(1);
};
bloonpop1.inner.onRelease = function () {
_visible = false;
_parent.startrnd_btn._visible = true;
_parent.td.Output("Welcome to Bloons Tower Defense! Stop the bloons escaping by building towers next to the maze. As you get more money build more towers or upgrade existing ones.");
};
bloonpop2.inner.onRollOver = function () {
this._parent.gotoAndPlay(2);
};
bloonpop2.inner.onRollOut = function () {
this._parent.bloon.gotoAndPlay(1);
this._parent.gotoAndStop(1);
};
bloonpop2.inner.onRelease = function () {
getURL ("");
};
bloonpop3.inner.onRollOver = function () {
this._parent.gotoAndPlay(2);
};
bloonpop3.inner.onRollOut = function () {
this._parent.bloon.gotoAndPlay(1);
this._parent.gotoAndStop(1);
};
bloonpop3.inner.onRelease = function () {
getURL ("");
};
Symbol 370 MovieClip Frame 1
_visible = true;
Symbol 370 MovieClip Frame 131
stop();
_visible = false;