STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228109
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/59128456?noj=FRM59128456-8DC" width="1" height="1"></div>

YATDG4.swf

This is the info page for
Flash #71350

(Click the ID number above for more basic data on this flash file.)


Text
PowerfrogProductions

Medium

Instructions

Back

Credits

Credits

ANOTHER Tower Defense Game

JELLY

Easy

Easy

Hard

Hard

Offensive jokes!

W

<p align="left"></p>

Tower

Description

Type

Tower info

Damage
Range
Splash
Description1
Description2

Upgrade [**]

Upgrade info

Damage
Range
Splash
Description1
Description2

GOLD:

200

SCORE:

0

HEALTH:

25

Normal

Group

Fast

Slow

Boss

Back

stop

play

Click on the tower.
put it on the green map.
Watch it kill.
Upgrade it.
Watch it kill some more.
If you lose children WILL be
eaten.

Click on the blue play button to play the music and the
blue stop button to stop it

Credits go to Hoby for telling me
to make a credits page.
Credits to xirmi for the
animation advice
Credits to Spivsy for telling me
to do that retarded soundtrack.
Credits to WoodenToaster for
that awesome soundtrack
And credits go to me,
Powerfrog, for making the
game.

Back

Back

<p align="left"></p>

<p align="left"></p>

Why are there no ice
cubes in mexico?

The old lady that
had the recipe died.

Next

How do you get 100
jews in a mini?

Throw a quarter in
it.

Why do black people
have white hands?

they were leaning against
a wall when god spray
painted them

What do you call a guy with
his hand up a camels ass?

An Afghani
mechanic.

How do you blind fold
a chinese man?

Dental floss.

How do you know if
you're at a gay picnic?

The hotdogs taste
like shit!

What do you call a
little mexican?

A paragraph, because
he's not quite an essay.

Why did god create
blondes?

Sheep couldn't get
beer from the fridge

Why did god create
brunettes?

Neither could the
blondes.

ActionScript [AS1/AS2]

Frame 2
stop();
Frame 3
function executeCallback() { if (_root.hasGameStarted) { if (_root.count >= _root.maxCount) { _root.newLevel(); _root.count = 1; } if ((_root.wave - 1) < (_root.waves.length - 1)) { _root.count++; } else if (_root.currentNumberOfCreeps <= 0) { _root.hasGameStarted = false; _root.inGameMessage("<font color='#0000FF'>You Win. What? You Want A Reward Or Something?</font>"); } } else { var _local2 = 1; while (_local2 <= _root.towerCount) { b = _root["t" + _local2]; if (("" + b) != "undefined") { Explosion("projectile_fire", b._x, b._y); b.removeMovieClip(); } _local2++; } } } function towerInfo(tower) { _root.selectedTower = tower; _root.ranger._x = tower._x; _root.ranger._y = tower._y; _root.ranger._width = tower.range * 2; _root.ranger._height = tower.range * 2; _root.UpgradeTowerInfo._visible = true; if (tower.upgrades.length >= tower.level) { _root.UpgradeTowerInfo.UpgradeInfoText.text = tower.upgrades[tower.level - 1][0]; _root.UpgradeTowerInfo.TowerInfoText.text = (((((((("Damage: " + tower.damage) + "\rRange: ") + tower.range) + "\rSplash: ") + (tower.splash ? "Yes" : "No")) + "\rSlow: ") + (tower.slow ? "Yes" : "No")) + "\rPoison: ") + (tower.poison ? "Yes" : "No"); _root.UpgradeTowerInfo.UpgradeButton.UpgradeButtonText.text = ("Upgrade [$" + tower.upgrades[tower.level - 1][1]) + "]"; _root.UpgradeTowerInfo.UpgradeButton._visible = true; } else { _root.UpgradeTowerInfo.f.text = ""; _root.UpgradeTowerInfo.UpgradeButton._visible = false; _root.UpgradeTowerInfo.h.text = ""; } } function newLevel() { _root.wave++; updateInfoBar(); if ((_root.wave - 1) < (_root.waves.length - 1)) { _root.inGameMessage(((("<b>Wave: " + _root.wave) + " - Enemy Health: ") + _root.waves[_root.wave - 1][1]) + " </b>"); _root["spawnInterval" + _root.wave] = setInterval(_root, "spawn", _root.waves[_root.wave - 1][3], _root.wave, "creep1", _root.waves[_root.wave - 1][2], _root.waves[_root.wave - 1][1], _root.waves[_root.wave - 1][4]); _root["creepEventInterval" + _root.wave] = setInterval(_root, "creepEvent", 500); _root["spawned" + _root.wave] = _root.waves[_root.wave - 1][0]; } updateScore(); } function creepEvent() { i = 0; while (i <= _root.creepArray.length) { if (("" + _root.creepArray[i]) != "") { if (_root.creepArray[i].poison > 0) { _root.creepArray[i].health = _root.creepArray[i].health - ((_root.creepArray[i].poison * _root.creepArray[i].health) / 100); _root.creepArray[i].poison--; } } i++; } } function spawn(level, creep, speed, health, gold) { if (_root["spawned" + level] == 0) { clearInterval(_root["spawnInterval" + level]); } else { _root["spawned" + level]--; _root.creepCount++; _root.currentNumberOfCreeps++; _root[creep].duplicateMovieClip("c" + _root.creepCount, 1000 + _root.creepCount); c = _root["c" + _root.creepCount]; _root.creepArray[_root.creepArray.length] = c; c.creep.gotoAndStop(level); c._x = wp1._x; c._y = wp1._y; c.speed = speed; c.maxspeed = speed; c.targ = 2; c.rnd = random(10); c.health = health; c.maxHealth = health; c.isDead = 0; c.gold = gold; c.onEnterFrame = function () { if (this.health <= 0) { _root.kill(this); } if (this.speed < this.maxspeed) { this.speed = this.speed + 0.1; } this.targX = (_root["wp" + this.targ]._x - 5) + this.rnd; this.targY = (_root["wp" + this.targ]._y - 5) + this.rnd; this.dir = (Math.atan2(this.targY - this._y, this.targX - this._x) * 180) / 3.141593; this.r = this.dir + (Math.sin((getTimer() + (this.rnd * 100)) / 100) * 7); if ((this.creep._rotation + 10) < this.r) { this.creep._rotation = this.creep._rotation + 10; } else if ((this.creep._rotation - 10) > this.r) { this.creep._rotation = this.creep._rotation - 10; } else { this.creep._rotation = r; } this.rads = (this.dir * 3.141593) / 180; this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); d = Math.sqrt(Math.pow(this._x - this.targX, 2) + Math.pow(this._y - this.targY, 2)); if (d < 5) { this.targ++; if (this.targ > 11) { _root.leak(this); _root.updateInfoBar(); } } this.health_bar.health._width = (30 / this.maxHealth) * this.health; this.health_bar._visible = true; }; } } function Explosion(type, x, y) { i = 1; while (i <= 10) { _root.explosionCount++; duplicateMovieClip (_root[type + "_explosion"], "explosion" + _root.explosionCount, 4900 + _root.explosionCount); a = _root["explosion" + _root.explosionCount]; a._x = x; a._y = y; a.rads = random(360); a.speed = (5 + random(20)) / 5; a._rotation = a.rads; a.onEnterFrame = function () { this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); this._alpha = this._alpha - 5; if (this.speed > 0.5) { this.speed = this.speed - 0.5; } if (this._alpha <= 0) { this.removeMovieClip(); } }; i++; } if (_root.explosionCount > 100) { _root.explosionCount = 0; } } function fire(from, to, speed, acc, maxspeed, projectile, damage, splash, slow, poison) { _root.particleCount++; _root[projectile].duplicateMovieClip("p" + _root.particleCount, 2000 + _root.particleCount); r = _root["p" + _root.particleCount]; dir = (Math.atan2(from._y - to._y, from._x - to._x) * 180) / 3.141593; rads = (dir * 3.141593) / 180; r._x = from._x; r._y = from._y; r._x = r._x - (Math.cos(rads) * (from._width / 2)); r._y = r._y - (Math.sin(rads) * (from._height / 2)); r.targ = to; if (("" + to) == "") { r.removeMovieClip(); } r.speed = speed; r.acc = acc; r.maxspeed = maxspeed; r.projectile = projectile; r.damage = damage; r.splash = splash; r.slow = slow; r.poison = poison; r.onEnterFrame = function () { if (("" + this.targ) != "") { this.targX = this.targ._x; this.targY = this.targ._y; } else if (("" + this.targX) == "undefined") { this.removeMovieClip(); } this.dir = (Math.atan2(this.targY - this._y, this.targX - this._x) * 180) / 3.141593; this._rotation = this.dir + 90; this.rads = (this.dir * 3.141593) / 180; this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); if (this.speed < this.maxspeed) { this.speed = this.speed + this.acc; } d = Math.sqrt(Math.pow(this._x - this.targX, 2) + Math.pow(this._y - this.targY, 2)); if (d < 10) { Explosion(projectile, this._x, this._y); if (this.slow > 0) { this.targ.speed = (this.targ.maxspeed / 100) * (100 - this.slow); } if (this.poison > 0) { this.targ.poison = this.poison; } if (this.splash > 0) { i = 0; while (i <= _root.creepArray.length) { if ((("" + _root.creepArray[i]) != "") && (_root.creepArray[i] != this.targ)) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < this.splash) { _root.creepArray[i].health = _root.creepArray[i].health - (this.damage * (1 - (d / this.splash))); if (this.slow > 0) { _root.creepArray[i].speed = (_root.creepArray[i].maxspeed / 100) * (100 - this.slow); } if (this.poison > 0) { _root.creepArray[i].poison = int(this.poison * (d / this.splash)); } } } i++; } } this.targ.health = this.targ.health - this.damage; if (targ.health <= 0) { targ.isDead = 1; } this.removeMovieClip(); } if (_root.particleCount > 50) { _root.particleCount = 0; } }; } function kill(creep) { _root.kills++; if (_root.kills >= _root.waves[_root.wave - 1][0]) { } creep.onEnterFrame = function () { _root.currentNumberOfCreeps--; _root.gold = _root.gold + creep.gold; updateScore(); updateInfoBar(); this.removeMovieClip(); }; } function leak(creep) { _root.creepLeaks++; if (!_root.hasGameFinished) { creep._x = _root.wp0._x; creep._y = _root.wp0._y; creep.targ = 1; } else { creep.removeMovieClip(); } _root.health--; if (_root.health <= 0) { _root.health = 0; _root.hasGameStarted = false; if (!_root.hasGameFinished) { _root.inGameMessage("<font color='#0000FF'>You Lose! All The Children Have Been Eaten, I Hope You Are Happy.</font>"); } _root.hasGameFinished = true; } } function updateScore() { var _local3 = _root.gold; var _local2 = 1; while (_local2 <= _root.towerCount) { b = _root["t" + _local2]; if (("" + b) != "undefined") { _local3 = _local3 + b.cost; } _local2++; } _root.score = _root.score + _local3; } function upgrade() { a = _root.selectedTower; b = a.level - 1; if (int(a.upgrades[b][1]) <= _root.gold) { a.damage = int(a.upgrades[b][2]); a.range = a.upgrades[b][3]; a.rate = a.upgrades[b][4]; a.splash = a.upgrades[b][5]; a.slow = a.upgrades[b][6]; a.cost = a.cost + int(a.upgrades[b][1]); a.level++; _root.towerInfo(_root.selectedTower); _root.gold = _root.gold - int(a.upgrades[b][1]); updateInfoBar(); } updateScore(); } function updateInfoBar() { _root.InfoBar.GoldAmount.text = _root.gold; _root.InfoBar.ScoreAmount.text = _root.score; _root.InfoBar.HealthAmount.text = _root.health; } function inGameMessage(n) { _root.ingame_message.htmlText = (n + "<br>") + _root.ingame_message.htmlText; _root.ingame_message.vPosition = _root.ingame_message.maxVPosition; } stop(); _root.waves = [[10, 50, 2.5, 2000, 2], [10, 100, 3.5, 4000, 2], [10, 150, 2.5, 200, 2], [10, 200, 1.5, 2000, 3], [10, 250, 3.5, 4000, 3], [1, 500, 2.5, 2000, 50], [10, 350, 2.5, 2000, 4], [10, 450, 3.5, 4000, 4], [10, 550, 2.5, 200, 5], [10, 650, 1.5, 2000, 5], [10, 750, 3.5, 4000, 6], [1, 1200, 3.5, 4000, 100], [10, 950, 2.5, 2000, 8], [10, 1150, 3.5, 4000, 8], [10, 1350, 2.5, 200, 9], [10, 1550, 1.5, 2000, 10], [10, 1750, 3.5, 4000, 10], [3, 2700, 2.5, 200, 150], [10, 2150, 2.5, 2000, 10], [10, 2550, 3.5, 4000, 12], [10, 2950, 2.5, 200, 12], [10, 3350, 1.5, 2000, 12], [10, 3850, 3.5, 4000, 12], [1, 5500, 1.5, 4000, 300], [10, 4650, 2.5, 2000, 14], [10, 5450, 3.5, 4000, 14], [10, 6250, 2.5, 200, 14], [10, 7050, 1.5, 2000, 14], [10, 7850, 3.5, 4000, 16], [1, 11500, 3.5, 4000, 500], [10, 9450, 2.5, 2000, 16], [10, 11050, 3.5, 4000, 16], [10, 12650, 2.5, 200, 18], [10, 14250, 1.5, 2000, 18], [10, 15850, 3.5, 4000, 20], [1, 30450, 1, 4000, 1000][20][22][22][24][1500][24][24][30][5000][5000][5000][5000][5000][1]]; _root.wave = 0; _root.hasGameStarted = false; _root.hasGameFinished = false; _root.towerCount = 0; _root.selectedTower = ""; _root.currentNumberOfCreeps = 0; _root.creepCount = 0; _root.creepArray = []; _root.creepLeaks = 0; _root.explosionCount = 0; _root.particleCount = 0; _root.kills = 0; _root.gold = 100; _root.count = 1; _root.maxCount = 40; _root.updateDuration = 2; _root.health = 30; _root.score = 0; bgSound = new Sound(this); itquit = false; itgoes = true; bgSound.attachSound("sound1"); bgSound.start(0, 99); slider.slideBar._x = -30; slider.slideBar.onEnterFrame = function () { bgSound.setVolume(-(3.4 * this._x)); }; slider.slideBar.onPress = function () { startDrag (this, false, -30, 0, -3, 0); }; slider.slideBar.onRelease = (slider.slideBar.onReleaseOutside = function () { stopDrag(); }); stop();
Instance of Symbol 111 MovieClip "deselect" in Frame 3
on (press) { _root.selectedTower = ""; _root.ranger._x = 3000; _root.ranger._width = 10; _root.ranger._height = 10; _root.UpgradeTowerInfo._visible = false; }
Instance of Symbol 124 MovieClip "info_message" in Frame 3
onClipEvent (load) { _visible = false; }
Instance of Symbol 132 MovieClip "UpgradeTowerInfo" in Frame 3
onClipEvent (load) { _visible = false; swapDepths(100000); }
Instance of Symbol 150 MovieClip "timeline" in Frame 3
onClipEvent (load) { clearInterval(_root.levelInterval); _root.levelInterval = setInterval(_root, "executeCallback", 1000); } on (press) { if (!_root.hasGameStarted) { return(undefined); } if ((_root.wave >= 0) && ((_root.wave - 1) <= (_root.waves.length - 1))) { _root.score = _root.score + (_root.wave * (_root.maxCount - _root.count)); _root.gold = _root.gold + int(_root.gold * 0.03); _root.count = 1; _root.newLevel(); } } onClipEvent (enterFrame) { }
Instance of Symbol 165 MovieClip in Frame 3
on (press) { if (_root.gold >= 15) { _root.marker.active = 1; _root.marker.tower = "cannon"; _root.marker.cost = 15; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_cannon.title; _parent.info_message.desc.text = _root.tower_cannon.desc; _parent.info_message.type.text = _root.tower_cannon.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 167 MovieClip "tower_cannon" in Frame 3
onClipEvent (load) { title = "Cannon Tower [Cost: $15]"; desc = "Medium attack speed with high damage and a high range"; type = "Ground"; cost = 0; range = 120; rate = 5; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 15; splash = 0; slow = 0; poison = 0; level = 1; upgrades = [["Damage: 40\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 20, 40, 120, 5, 0, 0, 0], ["Damage: 75\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 30, 75, 120, 5, 0, 0, 0], ["Damage: 150\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 55, 150, 120, 5, 0, 0, 0], ["Damage: 250\rRange: 120\rSplash:Yes\rSlow:No\rPoison:No\r", 85, 250, 120, 5, 40, 0, 0]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_cannonball", damage, splash, slow); } } } } }
Instance of Symbol 170 MovieClip "marker" in Frame 3
onClipEvent (load) { active = 0; } onClipEvent (enterFrame) { if (active == 1) { _x = ((int((_root._xmouse - 10) / 20) * 20) + 20); _y = ((int((_root._ymouse - 10) / 20) * 20) + 20); hitTestOnGrassMovieClip = _root.grass.hitTest(_x, _y, 1); if (hitTestOnGrassMovieClip) { gotoAndStop (1); _root.ranger.gotoAndStop(1); } else { gotoAndStop (2); _root.ranger.gotoAndStop(2); } _root.ranger._x = _x; _root.ranger._y = _y; _root.ranger._width = _root["tower_" + tower].range * 2; _root.ranger._height = _root["tower_" + tower].range * 2; } } on (press) { hitTestOnGrassMovieClip = _root.grass.hitTest(_x, _y, 1); hitTestOnDeSelectMovieClip = _root.deselect.hitTest(_x, _y, 1); if (hitTestOnGrassMovieClip || (hitTestOnDeSelectMovieClip)) { if (hitTestOnGrassMovieClip && (!_root.hasGameFinished)) { _root.towerCount++; _root["tower_" + tower].duplicateMovieClip("t" + _root.towerCount, 500 + _root.towerCount); a = _root["t" + _root.towerCount]; a._x = _x; a._y = _y; a.active = 1; a.cost = cost; _root.gold = _root.gold - cost; _root.updateInfoBar(); if (!_root.hasGameStarted) { _root.newLevel(); _root.hasGameStarted = true; _root.instructions._visible = false; } } active = 0; _x = 1000; _root.selectedTower = ""; _root.ranger._x = 1000; _root.ranger._width = 10; _root.ranger._height = 10; } }
Instance of Symbol 179 MovieClip in Frame 3
on (press) { if (_root.gold >= 40) { _root.marker.active = 1; _root.marker.tower = "fire"; _root.marker.cost = 40; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_fire.title; _parent.info_message.desc.text = _root.tower_fire.desc; _parent.info_message.type.text = _root.tower_fire.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 184 MovieClip "tower_fire" in Frame 3
onClipEvent (load) { title = "Fire Tower [Cost: $40]"; desc = "Fast attack speed with moderate damage and low range, but can cause splash damage to nearby enemies"; type = "Ground + Splash"; cost = 0; range = 80; rate = 2; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 5; splash = 40; slow = 0; poison = 0; level = 1; upgrades = [["Damage: 11\rRange: 80\rSplash:Yes\rSlow:No\rPoison:No\r", 45, 11, 80, 2, 50, 0, 0], ["Damage: 20\rRange: 80\rSplash:Yes\rSlow:No\rPoison:No\r", 75, 20, 80, 2, 60, 0, 0], ["Damage: 35\rRange: 80\rSplash:Yes\rSlow:No\rPoison:No\r", 95, 35, 80, 2, 60, 0, 0], ["Damage: 60\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 125, 60, 80, 2, 60, 20, 3]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_fire", damage, splash, slow); } } } } }
Instance of Symbol 186 MovieClip in Frame 3
on (press) { if (_root.gold >= 30) { _root.marker.active = 1; _root.marker.tower = "water"; _root.marker.cost = 30; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_water.title; _parent.info_message.desc.text = _root.tower_water.desc; _parent.info_message.type.text = _root.tower_water.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 188 MovieClip "tower_water" in Frame 3
onClipEvent (load) { title = "WaterTower [Cost: $30]"; desc = "Fast attack speed with low damage and low range, but can cause nearby enemies to slow and can be upgraded to do splash damage"; type = "Ground + Splash + Slow"; cost = 0; range = 80; rate = 2; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 2; splash = 10; slow = 25; poison = 0; level = 1; upgrades = [["Damage: 5\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 35, 5, 80, 2, 10, 40, 0], ["Damage: 10\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 70, 10, 80, 2, 20, 60, 0], ["Damage: 16\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 90, 16, 80, 2, 30, 65, 0], ["Damage: 25\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 115, 25, 80, 2, 40, 70, 0]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_water", damage, splash, slow); } } } } }
Instance of Symbol 193 MovieClip in Frame 3
on (press) { if (_root.gold >= 25) { _root.marker.active = 1; _root.marker.tower = "poison"; _root.marker.cost = 25; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_poison.title; _parent.info_message.desc.text = _root.tower_poison.desc; _parent.info_message.type.text = _root.tower_poison.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 195 MovieClip "tower_poison" in Frame 3
onClipEvent (load) { title = "Poison Tower [Cost: $25]"; desc = "Fast attack speed with medium damage and low range, but can cause residual poison damage"; type = "Ground + Poison"; cost = 0; range = 60; rate = 8; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 1; splash = 0; slow = 0; poison = 3; level = 1; upgrades = [["Damage: 2\rRange: 80\rSplash:No\rSlow:No\rPoison:Yes\r", 50, 2, 80, 8, 0, 0, 5], ["Damage: 3\rRange: 80\rSplash:No\rSlow:No\rPoison:Yes\r", 150, 3, 80, 8, 0, 7], ["Damage: 4\rRange: 80\rSplash:No\rSlow:No\rPoison:Yes\r", 300, 4, 80, 8, 0, 9], ["Damage: 5\rRange: 80\rSplash:Yes\rSlow:No\rPoison:Yes\r", 700, 5, 80, 8, 0, 11]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_poison", damage, splash, slow, poison); } } } } }
Instance of Symbol 200 MovieClip in Frame 3
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 15) { this._visible = true; } else { this._visible = false; } }
Instance of Symbol 201 MovieClip in Frame 3
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 40) { this._visible = true; } else { this._visible = false; } }
Instance of Symbol 202 MovieClip in Frame 3
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 30) { this._visible = true; } else { this._visible = false; } }
Instance of Symbol 203 MovieClip in Frame 3
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 25) { this._visible = true; } else { this._visible = false; } }
Frame 4
stop();
Frame 5
stop();
Frame 6
stop();
Frame 7
var sound = true; var song = new Sound(); song.attachSound("song"); this.onLoad = function () { _root.song.start(0, 1000); this.btnPlay._alpha = 70; this.btnPlay.enabled = false; };
Frame 8
function executeCallback() { if (_root.hasGameStarted) { if (_root.count >= _root.maxCount) { _root.newLevel(); _root.count = 1; } if ((_root.wave - 1) < (_root.waves.length - 1)) { _root.count++; } else if (_root.currentNumberOfCreeps <= 0) { _root.hasGameStarted = false; _root.inGameMessage("<font color='#0000FF'>You Win. What? You Want A Reward Or Something?</font>"); } } else { var _local2 = 1; while (_local2 <= _root.towerCount) { b = _root["t" + _local2]; if (("" + b) != "undefined") { Explosion("projectile_fire", b._x, b._y); b.removeMovieClip(); } _local2++; } } } function towerInfo(tower) { _root.selectedTower = tower; _root.ranger._x = tower._x; _root.ranger._y = tower._y; _root.ranger._width = tower.range * 2; _root.ranger._height = tower.range * 2; _root.UpgradeTowerInfo._visible = true; if (tower.upgrades.length >= tower.level) { _root.UpgradeTowerInfo.UpgradeInfoText.text = tower.upgrades[tower.level - 1][0]; _root.UpgradeTowerInfo.TowerInfoText.text = (((((((("Damage: " + tower.damage) + "\rRange: ") + tower.range) + "\rSplash: ") + (tower.splash ? "Yes" : "No")) + "\rSlow: ") + (tower.slow ? "Yes" : "No")) + "\rPoison: ") + (tower.poison ? "Yes" : "No"); _root.UpgradeTowerInfo.UpgradeButton.UpgradeButtonText.text = ("Upgrade [$" + tower.upgrades[tower.level - 1][1]) + "]"; _root.UpgradeTowerInfo.UpgradeButton._visible = true; } else { _root.UpgradeTowerInfo.f.text = ""; _root.UpgradeTowerInfo.UpgradeButton._visible = false; _root.UpgradeTowerInfo.h.text = ""; } } function newLevel() { _root.wave++; updateInfoBar(); if ((_root.wave - 1) < (_root.waves.length - 1)) { _root.inGameMessage(((("<b>Wave: " + _root.wave) + " - Enemy Health: ") + _root.waves[_root.wave - 1][1]) + " </b>"); _root["spawnInterval" + _root.wave] = setInterval(_root, "spawn", _root.waves[_root.wave - 1][3], _root.wave, "creep1", _root.waves[_root.wave - 1][2], _root.waves[_root.wave - 1][1], _root.waves[_root.wave - 1][4]); _root["creepEventInterval" + _root.wave] = setInterval(_root, "creepEvent", 500); _root["spawned" + _root.wave] = _root.waves[_root.wave - 1][0]; } updateScore(); } function creepEvent() { i = 0; while (i <= _root.creepArray.length) { if (("" + _root.creepArray[i]) != "") { if (_root.creepArray[i].poison > 0) { _root.creepArray[i].health = _root.creepArray[i].health - ((_root.creepArray[i].poison * _root.creepArray[i].health) / 100); _root.creepArray[i].poison--; } } i++; } } function spawn(level, creep, speed, health, gold) { if (_root["spawned" + level] == 0) { clearInterval(_root["spawnInterval" + level]); } else { _root["spawned" + level]--; _root.creepCount++; _root.currentNumberOfCreeps++; _root[creep].duplicateMovieClip("c" + _root.creepCount, 1000 + _root.creepCount); c = _root["c" + _root.creepCount]; _root.creepArray[_root.creepArray.length] = c; c.creep.gotoAndStop(level); c._x = wp1._x; c._y = wp1._y; c.speed = speed; c.maxspeed = speed; c.targ = 2; c.rnd = random(10); c.health = health; c.maxHealth = health; c.isDead = 0; c.gold = gold; c.onEnterFrame = function () { if (this.health <= 0) { _root.kill(this); } if (this.speed < this.maxspeed) { this.speed = this.speed + 0.1; } this.targX = (_root["wp" + this.targ]._x - 5) + this.rnd; this.targY = (_root["wp" + this.targ]._y - 5) + this.rnd; this.dir = (Math.atan2(this.targY - this._y, this.targX - this._x) * 180) / 3.141593; this.r = this.dir + (Math.sin((getTimer() + (this.rnd * 100)) / 100) * 7); if ((this.creep._rotation + 10) < this.r) { this.creep._rotation = this.creep._rotation + 10; } else if ((this.creep._rotation - 10) > this.r) { this.creep._rotation = this.creep._rotation - 10; } else { this.creep._rotation = r; } this.rads = (this.dir * 3.141593) / 180; this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); d = Math.sqrt(Math.pow(this._x - this.targX, 2) + Math.pow(this._y - this.targY, 2)); if (d < 5) { this.targ++; if (this.targ > 8) { _root.leak(this); _root.updateInfoBar(); } } this.health_bar.health._width = (30 / this.maxHealth) * this.health; this.health_bar._visible = true; }; } } function Explosion(type, x, y) { i = 1; while (i <= 10) { _root.explosionCount++; duplicateMovieClip (_root[type + "_explosion"], "explosion" + _root.explosionCount, 4900 + _root.explosionCount); a = _root["explosion" + _root.explosionCount]; a._x = x; a._y = y; a.rads = random(360); a.speed = (5 + random(20)) / 5; a._rotation = a.rads; a.onEnterFrame = function () { this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); this._alpha = this._alpha - 5; if (this.speed > 0.5) { this.speed = this.speed - 0.5; } if (this._alpha <= 0) { this.removeMovieClip(); } }; i++; } if (_root.explosionCount > 100) { _root.explosionCount = 0; } } function fire(from, to, speed, acc, maxspeed, projectile, damage, splash, slow, poison) { _root.particleCount++; _root[projectile].duplicateMovieClip("p" + _root.particleCount, 2000 + _root.particleCount); r = _root["p" + _root.particleCount]; dir = (Math.atan2(from._y - to._y, from._x - to._x) * 180) / 3.141593; rads = (dir * 3.141593) / 180; r._x = from._x; r._y = from._y; r._x = r._x - (Math.cos(rads) * (from._width / 2)); r._y = r._y - (Math.sin(rads) * (from._height / 2)); r.targ = to; if (("" + to) == "") { r.removeMovieClip(); } r.speed = speed; r.acc = acc; r.maxspeed = maxspeed; r.projectile = projectile; r.damage = damage; r.splash = splash; r.slow = slow; r.poison = poison; r.onEnterFrame = function () { if (("" + this.targ) != "") { this.targX = this.targ._x; this.targY = this.targ._y; } else if (("" + this.targX) == "undefined") { this.removeMovieClip(); } this.dir = (Math.atan2(this.targY - this._y, this.targX - this._x) * 180) / 3.141593; this._rotation = this.dir + 90; this.rads = (this.dir * 3.141593) / 180; this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); if (this.speed < this.maxspeed) { this.speed = this.speed + this.acc; } d = Math.sqrt(Math.pow(this._x - this.targX, 2) + Math.pow(this._y - this.targY, 2)); if (d < 10) { Explosion(projectile, this._x, this._y); if (this.slow > 0) { this.targ.speed = (this.targ.maxspeed / 100) * (100 - this.slow); } if (this.poison > 0) { this.targ.poison = this.poison; } if (this.splash > 0) { i = 0; while (i <= _root.creepArray.length) { if ((("" + _root.creepArray[i]) != "") && (_root.creepArray[i] != this.targ)) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < this.splash) { _root.creepArray[i].health = _root.creepArray[i].health - (this.damage * (1 - (d / this.splash))); if (this.slow > 0) { _root.creepArray[i].speed = (_root.creepArray[i].maxspeed / 100) * (100 - this.slow); } if (this.poison > 0) { _root.creepArray[i].poison = int(this.poison * (d / this.splash)); } } } i++; } } this.targ.health = this.targ.health - this.damage; if (targ.health <= 0) { targ.isDead = 1; } this.removeMovieClip(); } if (_root.particleCount > 50) { _root.particleCount = 0; } }; } function kill(creep) { _root.kills++; if (_root.kills >= _root.waves[_root.wave - 1][0]) { } creep.onEnterFrame = function () { _root.currentNumberOfCreeps--; _root.gold = _root.gold + creep.gold; updateScore(); updateInfoBar(); this.removeMovieClip(); }; } function leak(creep) { _root.creepLeaks++; if (!_root.hasGameFinished) { creep._x = _root.wp0._x; creep._y = _root.wp0._y; creep.targ = 1; } else { creep.removeMovieClip(); } _root.health--; if (_root.health <= 0) { _root.health = 0; _root.hasGameStarted = false; if (!_root.hasGameFinished) { _root.inGameMessage("<font color='#0000FF'>You Lose! All The Children Have Been Eaten, I Hope You Are Happy.</font>"); } _root.hasGameFinished = true; } } function updateScore() { var _local3 = _root.gold; var _local2 = 1; while (_local2 <= _root.towerCount) { b = _root["t" + _local2]; if (("" + b) != "undefined") { _local3 = _local3 + b.cost; } _local2++; } _root.score = _root.score + _local3; } function upgrade() { a = _root.selectedTower; b = a.level - 1; if (int(a.upgrades[b][1]) <= _root.gold) { a.damage = int(a.upgrades[b][2]); a.range = a.upgrades[b][3]; a.rate = a.upgrades[b][4]; a.splash = a.upgrades[b][5]; a.slow = a.upgrades[b][6]; a.cost = a.cost + int(a.upgrades[b][1]); a.level++; _root.towerInfo(_root.selectedTower); _root.gold = _root.gold - int(a.upgrades[b][1]); updateInfoBar(); } updateScore(); } function updateInfoBar() { _root.InfoBar.GoldAmount.text = _root.gold; _root.InfoBar.ScoreAmount.text = _root.score; _root.InfoBar.HealthAmount.text = _root.health; } function inGameMessage(n) { _root.ingame_message.htmlText = (n + "<br>") + _root.ingame_message.htmlText; _root.ingame_message.vPosition = _root.ingame_message.maxVPosition; } stop(); _root.waves = [[10, 50, 2.5, 2000, 2], [10, 100, 3.5, 4000, 2], [10, 150, 2.5, 200, 2], [10, 200, 1.5, 2000, 3], [10, 250, 3.5, 4000, 3], [1, 500, 2.5, 2000, 50], [10, 350, 2.5, 2000, 4], [10, 450, 3.5, 4000, 4], [10, 550, 2.5, 200, 5], [10, 650, 1.5, 2000, 5], [10, 750, 3.5, 4000, 6], [1, 1200, 3.5, 4000, 100], [10, 950, 2.5, 2000, 8], [10, 1150, 3.5, 4000, 8], [10, 1350, 2.5, 200, 9], [10, 1550, 1.5, 2000, 10], [10, 1750, 3.5, 4000, 10], [3, 2700, 2.5, 200, 150], [10, 2150, 2.5, 2000, 10], [10, 2550, 3.5, 4000, 12], [10, 2950, 2.5, 200, 12], [10, 3350, 1.5, 2000, 12], [10, 3850, 3.5, 4000, 12], [1, 5500, 1.5, 4000, 300], [10, 4650, 2.5, 2000, 14], [10, 5450, 3.5, 4000, 14], [10, 6250, 2.5, 200, 14], [10, 7050, 1.5, 2000, 14], [10, 7850, 3.5, 4000, 16], [1, 11500, 3.5, 4000, 500], [10, 9450, 2.5, 2000, 16], [10, 11050, 3.5, 4000, 16], [10, 12650, 2.5, 200, 18], [10, 14250, 1.5, 2000, 18], [10, 15850, 3.5, 4000, 20], [1, 30450, 1, 4000, 1000][20][22][22][24][1500][24][24][30][5000][5000][5000][5000][5000][1]]; _root.wave = 0; _root.hasGameStarted = false; _root.hasGameFinished = false; _root.towerCount = 0; _root.selectedTower = ""; _root.currentNumberOfCreeps = 0; _root.creepCount = 0; _root.creepArray = []; _root.creepLeaks = 0; _root.explosionCount = 0; _root.particleCount = 0; _root.kills = 0; _root.gold = 50; _root.count = 1; _root.maxCount = 40; _root.updateDuration = 2; _root.health = 20; _root.score = 0; bgSound = new Sound(this); itquit = false; itgoes = true; bgSound.attachSound("sound1"); bgSound.start(0, 99); slider.slideBar._x = -30; slider.slideBar.onEnterFrame = function () { bgSound.setVolume(-(3.4 * this._x)); }; slider.slideBar.onPress = function () { startDrag (this, false, -30, 0, -3, 0); }; slider.slideBar.onRelease = (slider.slideBar.onReleaseOutside = function () { stopDrag(); }); stop();
Instance of Symbol 111 MovieClip "deselect" in Frame 8
on (press) { _root.selectedTower = ""; _root.ranger._x = 3000; _root.ranger._width = 10; _root.ranger._height = 10; _root.UpgradeTowerInfo._visible = false; }
Instance of Symbol 124 MovieClip "info_message" in Frame 8
onClipEvent (load) { _visible = false; }
Instance of Symbol 132 MovieClip "UpgradeTowerInfo" in Frame 8
onClipEvent (load) { _visible = false; swapDepths(100000); }
Instance of Symbol 150 MovieClip "timeline" in Frame 8
onClipEvent (load) { clearInterval(_root.levelInterval); _root.levelInterval = setInterval(_root, "executeCallback", 1000); } on (press) { if (!_root.hasGameStarted) { return(undefined); } if ((_root.wave >= 0) && ((_root.wave - 1) <= (_root.waves.length - 1))) { _root.score = _root.score + (_root.wave * (_root.maxCount - _root.count)); _root.gold = _root.gold + int(_root.gold * 0.03); _root.count = 1; _root.newLevel(); } } onClipEvent (enterFrame) { }
Instance of Symbol 165 MovieClip in Frame 8
on (press) { if (_root.gold >= 15) { _root.marker.active = 1; _root.marker.tower = "cannon"; _root.marker.cost = 15; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_cannon.title; _parent.info_message.desc.text = _root.tower_cannon.desc; _parent.info_message.type.text = _root.tower_cannon.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 167 MovieClip "tower_cannon" in Frame 8
onClipEvent (load) { title = "Cannon Tower [Cost: $15]"; desc = "Medium attack speed with high damage and a high range"; type = "Ground"; cost = 0; range = 120; rate = 5; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 15; splash = 0; slow = 0; poison = 0; level = 1; upgrades = [["Damage: 40\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 20, 40, 120, 5, 0, 0, 0], ["Damage: 75\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 30, 75, 120, 5, 0, 0, 0], ["Damage: 150\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 55, 150, 120, 5, 0, 0, 0], ["Damage: 250\rRange: 120\rSplash:Yes\rSlow:No\rPoison:No\r", 85, 250, 120, 5, 40, 0, 0]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_cannonball", damage, splash, slow); } } } } }
Instance of Symbol 170 MovieClip "marker" in Frame 8
onClipEvent (load) { active = 0; } onClipEvent (enterFrame) { if (active == 1) { _x = ((int((_root._xmouse - 10) / 20) * 20) + 20); _y = ((int((_root._ymouse - 10) / 20) * 20) + 20); hitTestOnGrassMovieClip = _root.grass.hitTest(_x, _y, 1); if (hitTestOnGrassMovieClip) { gotoAndStop (1); _root.ranger.gotoAndStop(1); } else { gotoAndStop (2); _root.ranger.gotoAndStop(2); } _root.ranger._x = _x; _root.ranger._y = _y; _root.ranger._width = _root["tower_" + tower].range * 2; _root.ranger._height = _root["tower_" + tower].range * 2; } } on (press) { hitTestOnGrassMovieClip = _root.grass.hitTest(_x, _y, 1); hitTestOnDeSelectMovieClip = _root.deselect.hitTest(_x, _y, 1); if (hitTestOnGrassMovieClip || (hitTestOnDeSelectMovieClip)) { if (hitTestOnGrassMovieClip && (!_root.hasGameFinished)) { _root.towerCount++; _root["tower_" + tower].duplicateMovieClip("t" + _root.towerCount, 500 + _root.towerCount); a = _root["t" + _root.towerCount]; a._x = _x; a._y = _y; a.active = 1; a.cost = cost; _root.gold = _root.gold - cost; _root.updateInfoBar(); if (!_root.hasGameStarted) { _root.newLevel(); _root.hasGameStarted = true; _root.instructions._visible = false; } } active = 0; _x = 1000; _root.selectedTower = ""; _root.ranger._x = 1000; _root.ranger._width = 10; _root.ranger._height = 10; } }
Instance of Symbol 179 MovieClip in Frame 8
on (press) { if (_root.gold >= 40) { _root.marker.active = 1; _root.marker.tower = "fire"; _root.marker.cost = 40; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_fire.title; _parent.info_message.desc.text = _root.tower_fire.desc; _parent.info_message.type.text = _root.tower_fire.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 184 MovieClip "tower_fire" in Frame 8
onClipEvent (load) { title = "Fire Tower [Cost: $40]"; desc = "Fast attack speed with moderate damage and low range, but can cause splash damage to nearby enemies"; type = "Ground + Splash"; cost = 0; range = 80; rate = 2; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 5; splash = 40; slow = 0; poison = 0; level = 1; upgrades = [["Damage: 11\rRange: 80\rSplash:Yes\rSlow:No\rPoison:No\r", 45, 11, 80, 2, 50, 0, 0], ["Damage: 20\rRange: 80\rSplash:Yes\rSlow:No\rPoison:No\r", 75, 20, 80, 2, 60, 0, 0], ["Damage: 35\rRange: 80\rSplash:Yes\rSlow:No\rPoison:No\r", 95, 35, 80, 2, 60, 0, 0], ["Damage: 60\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 125, 60, 80, 2, 60, 20, 3]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_fire", damage, splash, slow); } } } } }
Instance of Symbol 186 MovieClip in Frame 8
on (press) { if (_root.gold >= 30) { _root.marker.active = 1; _root.marker.tower = "water"; _root.marker.cost = 30; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_water.title; _parent.info_message.desc.text = _root.tower_water.desc; _parent.info_message.type.text = _root.tower_water.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 188 MovieClip "tower_water" in Frame 8
onClipEvent (load) { title = "WaterTower [Cost: $30]"; desc = "Fast attack speed with low damage and low range, but can cause nearby enemies to slow and can be upgraded to do splash damage"; type = "Ground + Splash + Slow"; cost = 0; range = 80; rate = 2; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 2; splash = 10; slow = 25; poison = 0; level = 1; upgrades = [["Damage: 5\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 35, 5, 80, 2, 10, 40, 0], ["Damage: 10\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 70, 10, 80, 2, 20, 60, 0], ["Damage: 16\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 90, 16, 80, 2, 30, 65, 0], ["Damage: 25\rRange: 80\rSplash:Yes\rSlow:Yes\rPoison:No\r", 115, 25, 80, 2, 40, 70, 0]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_water", damage, splash, slow); } } } } }
Instance of Symbol 193 MovieClip in Frame 8
on (press) { if (_root.gold >= 25) { _root.marker.active = 1; _root.marker.tower = "poison"; _root.marker.cost = 25; } _root.UpgradeTowerInfo._visible = false; } on (rollOver) { _parent.info_message.title.text = _root.tower_poison.title; _parent.info_message.desc.text = _root.tower_poison.desc; _parent.info_message.type.text = _root.tower_poison.type; _parent.info_message._visible = true; } on (rollOut) { _parent.info_message._visible = false; }
Instance of Symbol 195 MovieClip "tower_poison" in Frame 8
onClipEvent (load) { title = "Poison Tower [Cost: $25]"; desc = "Fast attack speed with medium damage and low range, but can cause residual poison damage"; type = "Ground + Poison"; cost = 0; range = 60; rate = 8; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 1; splash = 0; slow = 0; poison = 3; level = 1; upgrades = [["Damage: 2\rRange: 80\rSplash:No\rSlow:No\rPoison:Yes\r", 50, 2, 80, 8, 0, 0, 5], ["Damage: 3\rRange: 80\rSplash:No\rSlow:No\rPoison:Yes\r", 150, 3, 80, 8, 0, 7], ["Damage: 4\rRange: 80\rSplash:No\rSlow:No\rPoison:Yes\r", 300, 4, 80, 8, 0, 9], ["Damage: 5\rRange: 80\rSplash:Yes\rSlow:No\rPoison:Yes\r", 700, 5, 80, 8, 0, 11]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_poison", damage, splash, slow, poison); } } } } }
Instance of Symbol 200 MovieClip in Frame 8
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 15) { this._visible = true; } else { this._visible = false; } }
Instance of Symbol 201 MovieClip in Frame 8
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 40) { this._visible = true; } else { this._visible = false; } }
Instance of Symbol 202 MovieClip in Frame 8
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 30) { this._visible = true; } else { this._visible = false; } }
Instance of Symbol 203 MovieClip in Frame 8
onClipEvent (load) { this.useHandCursor = false; } onClipEvent (enterFrame) { if (_root.gold < 25) { this._visible = true; } else { this._visible = false; } }
Frame 9
function executeCallback() { if (_root.hasGameStarted) { if (_root.count >= _root.maxCount) { _root.newLevel(); _root.count = 1; } if ((_root.wave - 1) < (_root.waves.length - 1)) { _root.count++; } else if (_root.currentNumberOfCreeps <= 0) { _root.hasGameStarted = false; _root.inGameMessage("<font color='#0000FF'>You Win. What? You Want A Reward Or Something?</font>"); } } else { var _local2 = 1; while (_local2 <= _root.towerCount) { b = _root["t" + _local2]; if (("" + b) != "undefined") { Explosion("projectile_fire", b._x, b._y); b.removeMovieClip(); } _local2++; } } } function towerInfo(tower) { _root.selectedTower = tower; _root.ranger._x = tower._x; _root.ranger._y = tower._y; _root.ranger._width = tower.range * 2; _root.ranger._height = tower.range * 2; _root.UpgradeTowerInfo._visible = true; if (tower.upgrades.length >= tower.level) { _root.UpgradeTowerInfo.UpgradeInfoText.text = tower.upgrades[tower.level - 1][0]; _root.UpgradeTowerInfo.TowerInfoText.text = (((((((("Damage: " + tower.damage) + "\rRange: ") + tower.range) + "\rSplash: ") + (tower.splash ? "Yes" : "No")) + "\rSlow: ") + (tower.slow ? "Yes" : "No")) + "\rPoison: ") + (tower.poison ? "Yes" : "No"); _root.UpgradeTowerInfo.UpgradeButton.UpgradeButtonText.text = ("Upgrade [$" + tower.upgrades[tower.level - 1][1]) + "]"; _root.UpgradeTowerInfo.UpgradeButton._visible = true; } else { _root.UpgradeTowerInfo.f.text = ""; _root.UpgradeTowerInfo.UpgradeButton._visible = false; _root.UpgradeTowerInfo.h.text = ""; } } function newLevel() { _root.wave++; updateInfoBar(); if ((_root.wave - 1) < (_root.waves.length - 1)) { _root.inGameMessage(((("<b>Wave: " + _root.wave) + " - Enemy Health: ") + _root.waves[_root.wave - 1][1]) + " </b>"); _root["spawnInterval" + _root.wave] = setInterval(_root, "spawn", _root.waves[_root.wave - 1][3], _root.wave, "creep1", _root.waves[_root.wave - 1][2], _root.waves[_root.wave - 1][1], _root.waves[_root.wave - 1][4]); _root["creepEventInterval" + _root.wave] = setInterval(_root, "creepEvent", 500); _root["spawned" + _root.wave] = _root.waves[_root.wave - 1][0]; } updateScore(); } function creepEvent() { i = 0; while (i <= _root.creepArray.length) { if (("" + _root.creepArray[i]) != "") { if (_root.creepArray[i].poison > 0) { _root.creepArray[i].health = _root.creepArray[i].health - ((_root.creepArray[i].poison * _root.creepArray[i].health) / 100); _root.creepArray[i].poison--; } } i++; } } function spawn(level, creep, speed, health, gold) { if (_root["spawned" + level] == 0) { clearInterval(_root["spawnInterval" + level]); } else { _root["spawned" + level]--; _root.creepCount++; _root.currentNumberOfCreeps++; _root[creep].duplicateMovieClip("c" + _root.creepCount, 1000 + _root.creepCount); c = _root["c" + _root.creepCount]; _root.creepArray[_root.creepArray.length] = c; c.creep.gotoAndStop(level); c._x = wp1._x; c._y = wp1._y; c.speed = speed; c.maxspeed = speed; c.targ = 2; c.rnd = random(10); c.health = health; c.maxHealth = health; c.isDead = 0; c.gold = gold; c.onEnterFrame = function () { if (this.health <= 0) { _root.kill(this); } if (this.speed < this.maxspeed) { this.speed = this.speed + 0.1; } this.targX = (_root["wp" + this.targ]._x - 5) + this.rnd; this.targY = (_root["wp" + this.targ]._y - 5) + this.rnd; this.dir = (Math.atan2(this.targY - this._y, this.targX - this._x) * 180) / 3.141593; this.r = this.dir + (Math.sin((getTimer() + (this.rnd * 100)) / 100) * 7); if ((this.creep._rotation + 10) < this.r) { this.creep._rotation = this.creep._rotation + 10; } else if ((this.creep._rotation - 10) > this.r) { this.creep._rotation = this.creep._rotation - 10; } else { this.creep._rotation = r; } this.rads = (this.dir * 3.141593) / 180; this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); d = Math.sqrt(Math.pow(this._x - this.targX, 2) + Math.pow(this._y - this.targY, 2)); if (d < 5) { this.targ++; if (this.targ > 8) { _root.leak(this); _root.updateInfoBar(); } } this.health_bar.health._width = (30 / this.maxHealth) * this.health; this.health_bar._visible = true; }; } } function Explosion(type, x, y) { i = 1; while (i <= 10) { _root.explosionCount++; duplicateMovieClip (_root[type + "_explosion"], "explosion" + _root.explosionCount, 4900 + _root.explosionCount); a = _root["explosion" + _root.explosionCount]; a._x = x; a._y = y; a.rads = random(360); a.speed = (5 + random(20)) / 5; a._rotation = a.rads; a.onEnterFrame = function () { this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); this._alpha = this._alpha - 5; if (this.speed > 0.5) { this.speed = this.speed - 0.5; } if (this._alpha <= 0) { this.removeMovieClip(); } }; i++; } if (_root.explosionCount > 100) { _root.explosionCount = 0; } } function fire(from, to, speed, acc, maxspeed, projectile, damage, splash, slow, poison) { _root.particleCount++; _root[projectile].duplicateMovieClip("p" + _root.particleCount, 2000 + _root.particleCount); r = _root["p" + _root.particleCount]; dir = (Math.atan2(from._y - to._y, from._x - to._x) * 180) / 3.141593; rads = (dir * 3.141593) / 180; r._x = from._x; r._y = from._y; r._x = r._x - (Math.cos(rads) * (from._width / 2)); r._y = r._y - (Math.sin(rads) * (from._height / 2)); r.targ = to; if (("" + to) == "") { r.removeMovieClip(); } r.speed = speed; r.acc = acc; r.maxspeed = maxspeed; r.projectile = projectile; r.damage = damage; r.splash = splash; r.slow = slow; r.poison = poison; r.onEnterFrame = function () { if (("" + this.targ) != "") { this.targX = this.targ._x; this.targY = this.targ._y; } else if (("" + this.targX) == "undefined") { this.removeMovieClip(); } this.dir = (Math.atan2(this.targY - this._y, this.targX - this._x) * 180) / 3.141593; this._rotation = this.dir + 90; this.rads = (this.dir * 3.141593) / 180; this._x = this._x + (Math.cos(this.rads) * this.speed); this._y = this._y + (Math.sin(this.rads) * this.speed); if (this.speed < this.maxspeed) { this.speed = this.speed + this.acc; } d = Math.sqrt(Math.pow(this._x - this.targX, 2) + Math.pow(this._y - this.targY, 2)); if (d < 10) { Explosion(projectile, this._x, this._y); if (this.slow > 0) { this.targ.speed = (this.targ.maxspeed / 100) * (100 - this.slow); } if (this.poison > 0) { this.targ.poison = this.poison; } if (this.splash > 0) { i = 0; while (i <= _root.creepArray.length) { if ((("" + _root.creepArray[i]) != "") && (_root.creepArray[i] != this.targ)) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < this.splash) { _root.creepArray[i].health = _root.creepArray[i].health - (this.damage * (1 - (d / this.splash))); if (this.slow > 0) { _root.creepArray[i].speed = (_root.creepArray[i].maxspeed / 100) * (100 - this.slow); } if (this.poison > 0) { _root.creepArray[i].poison = int(this.poison * (d / this.splash)); } } } i++; } } this.targ.health = this.targ.health - this.damage; if (targ.health <= 0) { targ.isDead = 1; } this.removeMovieClip(); } if (_root.particleCount > 50) { _root.particleCount = 0; } }; } function kill(creep) { _root.kills++; if (_root.kills >= _root.waves[_root.wave - 1][0]) { } creep.onEnterFrame = function () { _root.currentNumberOfCreeps--; _root.gold = _root.gold + creep.gold; updateScore(); updateInfoBar(); this.removeMovieClip(); }; } function leak(creep) { _root.creepLeaks++; if (!_root.hasGameFinished) { creep._x = _root.wp0._x; creep._y = _root.wp0._y; creep.targ = 1; } else { creep.removeMovieClip(); } _root.health--; if (_root.health <= 0) { _root.health = 0; _root.hasGameStarted = false; if (!_root.hasGameFinished) { _root.inGameMessage("<font color='#0000FF'>You Lose! All The Children Have Been Eaten, I Hope You Are Happy.</font>"); } _root.hasGameFinished = true; } } function updateScore() { var _local3 = _root.gold; var _local2 = 1; while (_local2 <= _root.towerCount) { b = _root["t" + _local2]; if (("" + b) != "undefined") { _local3 = _local3 + b.cost; } _local2++; } _root.score = _root.score + _local3; } function upgrade() { a = _root.selectedTower; b = a.level - 1; if (int(a.upgrades[b][1]) <= _root.gold) { a.damage = int(a.upgrades[b][2]); a.range = a.upgrades[b][3]; a.rate = a.upgrades[b][4]; a.splash = a.upgrades[b][5]; a.slow = a.upgrades[b][6]; a.cost = a.cost + int(a.upgrades[b][1]); a.level++; _root.towerInfo(_root.selectedTower); _root.gold = _root.gold - int(a.upgrades[b][1]); updateInfoBar(); } updateScore(); } function updateInfoBar() { _root.InfoBar.GoldAmount.text = _root.gold; _root.InfoBar.ScoreAmount.text = _root.score; _root.InfoBar.HealthAmount.text = _root.health; } function inGameMessage(n) { _root.ingame_message.htmlText = (n + "<br>") + _root.ingame_message.htmlText; _root.ingame_message.vPosition = _root.ingame_message.maxVPosition; } stop(); _root.waves = [[10, 50, 2.5, 2000, 2], [10, 100, 3.5, 4000, 2], [10, 150, 2.5, 200, 2], [10, 200, 1.5, 2000, 3], [10, 250, 3.5, 4000, 3], [1, 500, 2.5, 2000, 50], [10, 350, 2.5, 2000, 4], [10, 450, 3.5, 4000, 4], [10, 550, 2.5, 200, 5], [10, 650, 1.5, 2000, 5], [10, 750, 3.5, 4000, 6], [1, 1200, 3.5, 4000, 100], [10, 950, 2.5, 2000, 8], [10, 1150, 3.5, 4000, 8], [10, 1350, 2.5, 200, 9], [10, 1550, 1.5, 2000, 10], [10, 1750, 3.5, 4000, 10], [3, 2700, 2.5, 200, 150], [10, 2150, 2.5, 2000, 10], [10, 2550, 3.5, 4000, 12], [10, 2950, 2.5, 200, 12], [10, 3350, 1.5, 2000, 12], [10, 3850, 3.5, 4000, 12], [1, 5500, 1.5, 4000, 300], [10, 4650, 2.5, 2000, 14], [10, 5450, 3.5, 4000, 14], [10, 6250, 2.5, 200, 14], [10, 7050, 1.5, 2000, 14], [10, 7850, 3.5, 4000, 16], [1, 11500, 3.5, 4000, 500], [10, 9450, 2.5, 2000, 16], [10, 11050, 3.5, 4000, 16], [10, 12650, 2.5, 200, 18], [10, 14250, 1.5, 2000, 18], [10, 15850, 3.5, 4000, 20], [1, 30450, 1, 4000, 1000][20][22][22][24][1500][24][24][30][5000][5000][5000][5000][5000][1]]; _root.wave = 0; _root.hasGameStarted = false; _root.hasGameFinished = false; _root.towerCount = 0; _root.selectedTower = ""; _root.currentNumberOfCreeps = 0; _root.creepCount = 0; _root.creepArray = []; _root.creepLeaks = 0; _root.explosionCount = 0; _root.particleCount = 0; _root.kills = 0; _root.gold = 25; _root.count = 1; _root.maxCount = 40; _root.updateDuration = 2; _root.health = 10; _root.score = 0; bgSound = new Sound(this); itquit = false; itgoes = true; bgSound.attachSound("sound1"); bgSound.start(0, 99); slider.slideBar._x = -30; slider.slideBar.onEnterFrame = function () { bgSound.setVolume(-(3.4 * this._x)); }; slider.slideBar.onPress = function () { startDrag (this, false, -30, 0, -3, 0); }; slider.slideBar.onRelease = (slider.slideBar.onReleaseOutside = function () { stopDrag(); }); stop();
Instance of Symbol 167 MovieClip "tower_cannon" in Frame 9
onClipEvent (load) { title = "MachineGun(hard only)[Cost: $15]"; desc = "Extreme attack speed with Low damage and a high range"; type = "Ground"; cost = 0; range = 120; rate = 1; lastFire = rate; lastChecked = rate; creep = ""; target = 0; damage = 3; splash = 0; slow = 0; poison = 0; level = 1; upgrades = [["Damage: 5\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 20, 5, 120, 1, 0, 0, 0], ["Damage: 10\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 50, 10, 120, 1, 0, 0, 0], ["Damage: 20\rRange: 120\rSplash:No\rSlow:No\rPoison:No\r", 85, 20, 120, 1, 0, 0, 0], ["Damage: 35\rRange: 120\rSplash:Yes\rSlow:No\rPoison:No\r", 150, 35, 160, 1, 40, 0, 0]]; } on (press) { _root.towerInfo(this); } onClipEvent (enterFrame) { if ((active == 1) && (_root.creepArray.length > 0)) { lastChecked++; if (lastChecked >= rate) { lastChecked = 0; if (target == 0) { i = 0; while (i <= _root.creepArray.length) { d = Math.sqrt(Math.pow(this._x - _root.creepArray[i]._x, 2) + Math.pow(this._y - _root.creepArray[i]._y, 2)); if (d < range) { target = 1; creep = _root.creepArray[i]; break; } i++; } } else if (("" + creep) == "") { target = 0; } else { d = Math.sqrt(Math.pow(this._x - creep._x, 2) + Math.pow(this._y - creep._y, 2)); if (d > range) { lastChecked = 999; target = 0; } else { _rotation = ((Math.atan2(creep._y - this._y, creep._x - this._x) * 180) / 3.141593); _root.fire(this, creep, 10, 1, 10, "projectile_cannonball", damage, splash, slow); } } } } }
Frame 10
stop();
Frame 11
stop();
Frame 12
stop();
Frame 13
stop();
Frame 14
stop();
Frame 15
stop();
Frame 16
stop();
Frame 17
stop();
Frame 18
stop();
Symbol 35 Button
on (release) { startMovie(); }
Symbol 36 MovieClip Frame 1
function timerHandler() { if (!loadingComplete) { var _local4 = _root.getBytesLoaded() / _root.getBytesTotal(); bar._xscale = 100 * _local4; if (_local4 == 1) { loadingComplete = true; if (AUTO_PLAY) { startMovie(); } else { gotoAndStop ("loaded"); } return(undefined); } } dt = getTimer() - time; time = time + dt; frameAccum = frameAccum + dt; var _local3 = 0; while ((frameAccum >= FRAME_TIME) && (_local3 < MAX_FRAME_SKIP)) { advanceFrame(tankLogo, true, true); advanceFrame(loadingText, false, true); advanceFrame(barGfx, false, true); if (loadingComplete) { advanceFrame(this, false, false); } (frameAccum = frameAccum - FRAME_TIME); _local3++; } updateAfterEvent(); } function advanceFrame(clip, recurse, loop) { if (!clip) { return(undefined); } clip.stop(); if (clip._currentframe == clip._totalframes) { if (loop) { clip.gotoAndStop(1); } } else { clip.nextFrame(); } if (recurse) { for (childName in clip) { if (typeof(clip[childName]) == "movieclip") { advanceFrame(clip[childName], recurse, loop); } } } } function startMovie() { clearInterval(intervalId); _root.play(); } _root.stop(); stop(); var FRAME_TIME = 33.3333333333333; var AUTO_PLAY = false; var MAX_FRAME_SKIP = 5; var loadingComplete; var intervalId; var time; var frameAccum; loadingComplete = false; intervalId = setInterval(this, "timerHandler", FRAME_TIME / 2); frameAccum = 0; time = getTimer(); timerHandler();
Symbol 47 Button
on (release) { gotoAndPlay (8); }
Symbol 57 Button
on (release) { gotoAndPlay (4); }
Symbol 67 Button
on (release) { gotoAndPlay (5); }
Symbol 76 MovieClip Frame 1
stop();
Symbol 84 Button
on (release) { gotoAndPlay (6); }
Symbol 91 Button
on (release) { gotoAndPlay (3); }
Symbol 100 Button
on (release) { gotoAndPlay (9); }
Symbol 105 Button
on (release) { gotoAndPlay (10); }
Symbol 116 MovieClip Frame 2
stop();
Instance of Symbol 129 MovieClip "UpgradeButton" in Symbol 132 MovieClip Frame 1
on (press) { _root.upgrade(); }
Symbol 150 MovieClip Frame 1
Instance of Symbol 148 MovieClip "tl" in Symbol 150 MovieClip Frame 1
onClipEvent (enterFrame) { _x = ((190 + (_root.wave * 100)) + (_root.count * (100 / _root.maxCount))); }
Symbol 158 MovieClip Frame 1
stop();
Instance of Symbol 152 MovieClip in Symbol 158 MovieClip Frame 2
onClipEvent (enterFrame) { if (_root.player._x > _x) { _x = (_x + 5); } } onClipEvent (enterFrame) { if (_root.player._x < _x) { _x = (_x - 5); } } onClipEvent (enterFrame) { if (_root.player._y > _y) { _y = (_y + 5); } } onClipEvent (enterFrame) { if (_root.player._y < _y) { _y = (_y - 5); } }
Symbol 173 MovieClip Frame 1
stop();
Symbol 213 Button [slash]
on (release) { gotoAndPlay (2); }
Symbol 218 Button
on (release) { _root.song.stop(); this.btnStop.enabled = false; this.btnStop._alpha = 70; this.btnPlay.enabled = true; this.btnPlay._alpha = 100; trace("Song stopped"); }
Symbol 221 Button
on (release) { _root.song.start(0); this.btnStop._alpha = 100; this.btnStop.enabled = true; this.btnPlay.enabled = false; this.btnPlay._alpha = 70; trace("Song is playing"); }
Symbol 254 Button
on (release) { gotoAndPlay (1); }
Symbol 257 Button
on (release) { if (sound == true) { _root.song.setVolume(0); sound = false; trace("Sound muted = " + sound); } else { _root.song.setVolume(100); sound = true; trace("Sound muted = " + sound); } }
Symbol 273 Button
on (release) { gotoAndPlay (11); }
Symbol 276 Button
on (release) { gotoAndPlay (12); }
Symbol 281 Button
on (release) { gotoAndPlay (13); }
Symbol 285 Button
on (release) { gotoAndPlay (14); }
Symbol 288 Button
on (release) { gotoAndPlay (15); }
Symbol 292 Button
on (release) { gotoAndPlay (16); }
Symbol 296 Button
on (release) { gotoAndPlay (17); }
Symbol 300 Button
on (release) { gotoAndPlay (18); }

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip [slash01]Uses:1
Symbol 3 GraphicUsed by:36
Symbol 4 GraphicUsed by:36
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:36
Symbol 7 GraphicUsed by:9
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:7 8Used by:36
Symbol 10 GraphicUsed by:36
Symbol 11 GraphicUsed by:36
Symbol 12 GraphicUsed by:36
Symbol 13 GraphicUsed by:36
Symbol 14 BitmapUsed by:15 18 19
Symbol 15 GraphicUses:14Used by:36
Symbol 16 FontUsed by:17 118 119 122 125 128 130 134 135 136 137 138 139 143 144 145 146 147 260 265
Symbol 17 TextUses:16Used by:36
Symbol 18 GraphicUses:14Used by:21
Symbol 19 GraphicUses:14Used by:21
Symbol 20 SoundUsed by:21
Symbol 21 MovieClipUses:18 19 20Used by:36
Symbol 22 ShapeTweeningUsed by:36
Symbol 23 GraphicUsed by:36
Symbol 24 ShapeTweeningUsed by:36
Symbol 25 ShapeTweeningUsed by:36
Symbol 26 GraphicUsed by:36
Symbol 27 GraphicUsed by:35
Symbol 28 GraphicUsed by:35
Symbol 29 GraphicUsed by:35
Symbol 30 GraphicUsed by:35
Symbol 31 GraphicUsed by:35
Symbol 32 GraphicUsed by:34
Symbol 33 GraphicUsed by:34
Symbol 34 MovieClipUses:32 33Used by:35
Symbol 35 ButtonUses:27 28 29 30 31 34Used by:36
Symbol 36 MovieClipUses:3 4 6 9 10 11 12 13 15 17 21 22 23 24 25 26 35Used by:Timeline
Symbol 37 GraphicUsed by:Timeline
Symbol 38 GraphicUsed by:47
Symbol 39 GraphicUsed by:47 91
Symbol 40 FontUsed by:41 50 56 60 66 86 90 94 99 208 235 249 252 269
Symbol 41 TextUses:40Used by:47
Symbol 42 GraphicUsed by:47 100
Symbol 43 GraphicUsed by:47 213
Symbol 44 GraphicUsed by:47 91
Symbol 45 GraphicUsed by:47
Symbol 46 GraphicUsed by:47
Symbol 47 ButtonUses:38 39 41 42 43 44 45 46Used by:Timeline
Symbol 48 GraphicUsed by:57
Symbol 49 GraphicUsed by:57
Symbol 50 TextUses:40Used by:57
Symbol 51 GraphicUsed by:57
Symbol 52 GraphicUsed by:57
Symbol 53 GraphicUsed by:57
Symbol 54 GraphicUsed by:57
Symbol 55 GraphicUsed by:57
Symbol 56 TextUses:40Used by:57 213
Symbol 57 ButtonUses:48 49 50 51 52 53 54 55 56Used by:Timeline
Symbol 58 GraphicUsed by:67
Symbol 59 GraphicUsed by:67
Symbol 60 TextUses:40Used by:67
Symbol 61 GraphicUsed by:67
Symbol 62 GraphicUsed by:67
Symbol 63 GraphicUsed by:67
Symbol 64 GraphicUsed by:67
Symbol 65 GraphicUsed by:67
Symbol 66 TextUses:40Used by:67
Symbol 67 ButtonUses:58 59 60 61 62 63 64 65 66Used by:Timeline
Symbol 68 FontUsed by:69
Symbol 69 TextUses:68Used by:Timeline
Symbol 70 GraphicUsed by:77
Symbol 71 GraphicUsed by:76
Symbol 72 GraphicUsed by:76
Symbol 73 GraphicUsed by:76
Symbol 74 GraphicUsed by:76
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:71 72 73 74 75Used by:77 158
Symbol 77 MovieClipUses:70 76Used by:78
Symbol 78 MovieClipUses:77Used by:Timeline
Symbol 79 GraphicUsed by:84
Symbol 80 GraphicUsed by:84
Symbol 81 FontUsed by:82
Symbol 82 TextUses:81Used by:84
Symbol 83 SoundUsed by:84 226 231
Symbol 84 ButtonUses:79 80 82 83Used by:Timeline
Symbol 85 GraphicUsed by:91
Symbol 86 TextUses:40Used by:91
Symbol 87 GraphicUsed by:91
Symbol 88 GraphicUsed by:91
Symbol 89 GraphicUsed by:91
Symbol 90 TextUses:40Used by:91
Symbol 91 ButtonUses:85 39 86 87 44 88 89 90Used by:Timeline
Symbol 92 GraphicUsed by:100
Symbol 93 GraphicUsed by:100
Symbol 94 TextUses:40Used by:100
Symbol 95 GraphicUsed by:100
Symbol 96 GraphicUsed by:100
Symbol 97 GraphicUsed by:100
Symbol 98 GraphicUsed by:100
Symbol 99 TextUses:40Used by:100
Symbol 100 ButtonUses:92 93 94 42 95 96 97 98 99Used by:Timeline
Symbol 101 GraphicUsed by:102
Symbol 102 ButtonUses:101Used by:Timeline
Symbol 103 FontUsed by:104 266 267 275 277 278 284 286 287 290 291 293 298 299 301 302
Symbol 104 TextUses:103Used by:105
Symbol 105 ButtonUses:104Used by:Timeline
Symbol 106 GraphicUsed by:Timeline
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:Timeline
Symbol 109 GraphicUsed by:Timeline
Symbol 110 GraphicUsed by:111  Timeline
Symbol 111 MovieClipUses:110Used by:Timeline
Symbol 112 GraphicUsed by:Timeline
Symbol 113 GraphicUsed by:116
Symbol 114 FontUsed by:115
Symbol 115 EditableTextUses:114Used by:116
Symbol 116 MovieClipUses:113 115Used by:Timeline
Symbol 117 GraphicUsed by:Timeline
Symbol 118 EditableTextUses:16Used by:Timeline
Symbol 119 EditableTextUses:16Used by:124
Symbol 120 FontUsed by:121 123 126 131
Symbol 121 EditableTextUses:120Used by:124
Symbol 122 EditableTextUses:16Used by:124
Symbol 123 EditableTextUses:120Used by:124
Symbol 124 MovieClipUses:119 121 122 123Used by:Timeline
Symbol 125 TextUses:16Used by:132
Symbol 126 EditableTextUses:120Used by:132
Symbol 127 GraphicUsed by:129
Symbol 128 EditableTextUses:16Used by:129
Symbol 129 MovieClipUses:127 128Used by:132
Symbol 130 TextUses:16Used by:132
Symbol 131 EditableTextUses:120Used by:132
Symbol 132 MovieClipUses:125 126 129 130 131Used by:Timeline
Symbol 133 GraphicUsed by:140
Symbol 134 TextUses:16Used by:140
Symbol 135 EditableTextUses:16Used by:140
Symbol 136 TextUses:16Used by:140
Symbol 137 EditableTextUses:16Used by:140
Symbol 138 TextUses:16Used by:140
Symbol 139 EditableTextUses:16Used by:140
Symbol 140 MovieClipUses:133 134 135 136 137 138 139Used by:Timeline
Symbol 141 GraphicUsed by:150
Symbol 142 GraphicUsed by:148
Symbol 143 TextUses:16Used by:148
Symbol 144 TextUses:16Used by:148
Symbol 145 TextUses:16Used by:148
Symbol 146 TextUses:16Used by:148
Symbol 147 TextUses:16Used by:148
Symbol 148 MovieClipUses:142 143 144 145 146 147Used by:150
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:141 148 149Used by:Timeline
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:158
Symbol 153 GraphicUsed by:158
Symbol 154 GraphicUsed by:158
Symbol 155 GraphicUsed by:158
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:158
Symbol 158 MovieClipUses:76 152 153 154 155 157Used by:163
Symbol 159 GraphicUsed by:162
Symbol 160 GraphicUsed by:161
Symbol 161 MovieClipUses:160Used by:162
Symbol 162 MovieClipUses:159 161Used by:163
Symbol 163 MovieClipUses:158 162Used by:Timeline
Symbol 164 GraphicUsed by:165
Symbol 165 MovieClipUses:164Used by:Timeline
Symbol 166 GraphicUsed by:167
Symbol 167 MovieClipUses:166Used by:Timeline
Symbol 168 GraphicUsed by:170
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClipUses:168 169Used by:Timeline
Symbol 171 GraphicUsed by:173
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:171 172Used by:Timeline
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:174Used by:Timeline
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:Timeline
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178Used by:Timeline
Symbol 180 GraphicUsed by:181 182
Symbol 181 MovieClipUses:180Used by:Timeline
Symbol 182 MovieClipUses:180Used by:Timeline
Symbol 183 GraphicUsed by:184
Symbol 184 MovieClipUses:183Used by:Timeline
Symbol 185 GraphicUsed by:186
Symbol 186 MovieClipUses:185Used by:Timeline
Symbol 187 GraphicUsed by:188
Symbol 188 MovieClipUses:187Used by:Timeline
Symbol 189 GraphicUsed by:190 191
Symbol 190 MovieClipUses:189Used by:Timeline
Symbol 191 MovieClipUses:189Used by:Timeline
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClipUses:192Used by:Timeline
Symbol 194 GraphicUsed by:195
Symbol 195 MovieClipUses:194Used by:Timeline
Symbol 196 GraphicUsed by:197 198
Symbol 197 MovieClipUses:196Used by:Timeline
Symbol 198 MovieClipUses:196Used by:Timeline
Symbol 199 GraphicUsed by:200 201 202 203
Symbol 200 MovieClipUses:199Used by:Timeline
Symbol 201 MovieClipUses:199Used by:Timeline
Symbol 202 MovieClipUses:199Used by:Timeline
Symbol 203 MovieClipUses:199Used by:Timeline
Symbol 204 BitmapUsed by:205 222 223 224 225 227 228 229 230 242 243 244 245 246
Symbol 205 GraphicUses:204Used by:Timeline
Symbol 206 GraphicUsed by:213
Symbol 207 GraphicUsed by:213
Symbol 208 TextUses:40Used by:213
Symbol 209 GraphicUsed by:213
Symbol 210 GraphicUsed by:213
Symbol 211 GraphicUsed by:213
Symbol 212 GraphicUsed by:213
Symbol 213 Button [slash]Uses:206 207 208 209 43 210 211 212 56Used by:Timeline
Symbol 214 GraphicUsed by:218
Symbol 215 FontUsed by:216 220
Symbol 216 TextUses:215Used by:218
Symbol 217 SoundUsed by:218 221
Symbol 218 ButtonUses:214 216 217Used by:Timeline
Symbol 219 GraphicUsed by:221
Symbol 220 TextUses:215Used by:221
Symbol 221 ButtonUses:219 220 217Used by:Timeline
Symbol 222 GraphicUses:204Used by:226
Symbol 223 GraphicUses:204Used by:226
Symbol 224 GraphicUses:204Used by:226
Symbol 225 GraphicUses:204Used by:226
Symbol 226 ButtonUses:222 223 224 225 83Used by:Timeline
Symbol 227 GraphicUses:204Used by:231
Symbol 228 GraphicUses:204Used by:231
Symbol 229 GraphicUses:204Used by:231
Symbol 230 GraphicUses:204Used by:231
Symbol 231 ButtonUses:227 228 229 230 83Used by:Timeline
Symbol 232 GraphicUsed by:Timeline
Symbol 233 FontUsed by:234
Symbol 234 TextUses:233Used by:Timeline
Symbol 235 TextUses:40Used by:Timeline
Symbol 236 FontUsed by:237
Symbol 237 TextUses:236Used by:Timeline
Symbol 238 GraphicUsed by:Timeline
Symbol 239 GraphicUsed by:241
Symbol 240 SoundUsed by:241  Timeline
Symbol 241 ButtonUses:239 240Used by:Timeline
Symbol 242 GraphicUses:204Used by:Timeline
Symbol 243 GraphicUses:204Used by:247
Symbol 244 GraphicUses:204Used by:247
Symbol 245 GraphicUses:204Used by:247
Symbol 246 GraphicUses:204Used by:247
Symbol 247 MovieClipUses:243 244 245 246Used by:Timeline
Symbol 248 GraphicUsed by:254
Symbol 249 TextUses:40Used by:254
Symbol 250 GraphicUsed by:254
Symbol 251 GraphicUsed by:254
Symbol 252 TextUses:40Used by:254
Symbol 253 GraphicUsed by:254
Symbol 254 ButtonUses:248 249 250 251 252 253Used by:Timeline
Symbol 255 GraphicUsed by:257
Symbol 256 GraphicUsed by:257
Symbol 257 ButtonUses:255 256Used by:Timeline
Symbol 258 GraphicUsed by:Timeline
Symbol 259 GraphicUsed by:Timeline
Symbol 260 EditableTextUses:16Used by:Timeline
Symbol 261 GraphicUsed by:Timeline
Symbol 262 GraphicUsed by:Timeline
Symbol 263 GraphicUsed by:Timeline
Symbol 264 GraphicUsed by:Timeline
Symbol 265 EditableTextUses:16Used by:Timeline
Symbol 266 TextUses:103Used by:Timeline
Symbol 267 TextUses:103Used by:Timeline
Symbol 268 GraphicUsed by:273 276 281 285 288 292 296 300
Symbol 269 TextUses:40Used by:273 276 281 285 288 292 296 300
Symbol 270 GraphicUsed by:273 276 281 285 288 292 296 300
Symbol 271 GraphicUsed by:273 276 281 285 288 292 296 300
Symbol 272 GraphicUsed by:273 276 281 285 288 292 296 300
Symbol 273 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 274 GraphicUsed by:Timeline
Symbol 275 TextUses:103Used by:Timeline
Symbol 276 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 277 TextUses:103Used by:Timeline
Symbol 278 TextUses:103Used by:Timeline
Symbol 279 FontUsed by:280
Symbol 280 TextUses:279Used by:Timeline
Symbol 281 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 282 FontUsed by:283
Symbol 283 TextUses:282Used by:Timeline
Symbol 284 TextUses:103Used by:Timeline
Symbol 285 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 286 TextUses:103Used by:Timeline
Symbol 287 TextUses:103Used by:Timeline
Symbol 288 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 289 GraphicUsed by:Timeline
Symbol 290 TextUses:103Used by:Timeline
Symbol 291 TextUses:103Used by:Timeline
Symbol 292 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 293 TextUses:103Used by:Timeline
Symbol 294 FontUsed by:295
Symbol 295 TextUses:294Used by:Timeline
Symbol 296 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 297 GraphicUsed by:Timeline
Symbol 298 TextUses:103Used by:Timeline
Symbol 299 TextUses:103Used by:Timeline
Symbol 300 ButtonUses:268 269 270 271 272Used by:Timeline
Symbol 301 TextUses:103Used by:Timeline
Symbol 302 TextUses:103Used by:Timeline

Instance Names

"grass"Frame 3Symbol 108 MovieClip
"deselect"Frame 3Symbol 111 MovieClip
"wp1"Frame 3Symbol 116 MovieClip
"wp2"Frame 3Symbol 116 MovieClip
"wp3"Frame 3Symbol 116 MovieClip
"wp4"Frame 3Symbol 116 MovieClip
"wp5"Frame 3Symbol 116 MovieClip
"wp6"Frame 3Symbol 116 MovieClip
"wp7"Frame 3Symbol 116 MovieClip
"wp8"Frame 3Symbol 116 MovieClip
"wp9"Frame 3Symbol 116 MovieClip
"wp10"Frame 3Symbol 116 MovieClip
"wp11"Frame 3Symbol 116 MovieClip
"ingame_message"Frame 3Symbol 118 EditableText
"info_message"Frame 3Symbol 124 MovieClip
"UpgradeTowerInfo"Frame 3Symbol 132 MovieClip
"InfoBar"Frame 3Symbol 140 MovieClip
"timeline"Frame 3Symbol 150 MovieClip
"creep1"Frame 3Symbol 163 MovieClip
"tower_cannon"Frame 3Symbol 167 MovieClip
"marker"Frame 3Symbol 170 MovieClip
"ranger"Frame 3Symbol 173 MovieClip
"projectile_cannonball"Frame 3Symbol 175 MovieClip
"projectile_cannonball_explosion"Frame 3Symbol 177 MovieClip
"projectile_fire"Frame 3Symbol 181 MovieClip
"projectile_fire_explosion"Frame 3Symbol 182 MovieClip
"tower_fire"Frame 3Symbol 184 MovieClip
"tower_water"Frame 3Symbol 188 MovieClip
"projectile_water"Frame 3Symbol 190 MovieClip
"projectile_water_explosion"Frame 3Symbol 191 MovieClip
"tower_poison"Frame 3Symbol 195 MovieClip
"projectile_poison_explosion"Frame 3Symbol 197 MovieClip
"projectile_poison"Frame 3Symbol 198 MovieClip
"btnStop"Frame 3Symbol 218 Button
"btnPlay"Frame 3Symbol 221 Button
"btnStop"Frame 7Symbol 218 Button
"btnPlay"Frame 7Symbol 221 Button
"grass"Frame 8Symbol 108 MovieClip
"deselect"Frame 8Symbol 111 MovieClip
"wp1"Frame 8Symbol 116 MovieClip
"wp2"Frame 8Symbol 116 MovieClip
"wp3"Frame 8Symbol 116 MovieClip
"wp4"Frame 8Symbol 116 MovieClip
"wp5"Frame 8Symbol 116 MovieClip
"wp6"Frame 8Symbol 116 MovieClip
"wp7"Frame 8Symbol 116 MovieClip
"wp8"Frame 8Symbol 116 MovieClip
"ingame_message"Frame 8Symbol 260 EditableText
"info_message"Frame 8Symbol 124 MovieClip
"UpgradeTowerInfo"Frame 8Symbol 132 MovieClip
"InfoBar"Frame 8Symbol 140 MovieClip
"timeline"Frame 8Symbol 150 MovieClip
"creep1"Frame 8Symbol 163 MovieClip
"tower_cannon"Frame 8Symbol 167 MovieClip
"marker"Frame 8Symbol 170 MovieClip
"ranger"Frame 8Symbol 173 MovieClip
"projectile_cannonball"Frame 8Symbol 175 MovieClip
"projectile_cannonball_explosion"Frame 8Symbol 177 MovieClip
"projectile_fire"Frame 8Symbol 181 MovieClip
"projectile_fire_explosion"Frame 8Symbol 182 MovieClip
"tower_fire"Frame 8Symbol 184 MovieClip
"tower_water"Frame 8Symbol 188 MovieClip
"projectile_water"Frame 8Symbol 190 MovieClip
"projectile_water_explosion"Frame 8Symbol 191 MovieClip
"tower_poison"Frame 8Symbol 195 MovieClip
"projectile_poison_explosion"Frame 8Symbol 197 MovieClip
"projectile_poison"Frame 8Symbol 198 MovieClip
"btnStop"Frame 8Symbol 218 Button
"btnPlay"Frame 8Symbol 221 Button
"ingame_message"Frame 9Symbol 265 EditableText
"tower_cannon"Frame 9Symbol 167 MovieClip
"bar"Symbol 36 MovieClip Frame 1Symbol 6 MovieClip
"bargfx"Symbol 36 MovieClip Frame 1Symbol 9 MovieClip
"bargfx"Symbol 36 MovieClip Frame 2Symbol 9 MovieClip
"bargfx"Symbol 36 MovieClip Frame 20Symbol 9 MovieClip
"title"Symbol 124 MovieClip Frame 1Symbol 119 EditableText
"desc"Symbol 124 MovieClip Frame 1Symbol 121 EditableText
"type"Symbol 124 MovieClip Frame 1Symbol 122 EditableText
"UpgradeButtonText"Symbol 129 MovieClip Frame 1Symbol 128 EditableText
"TowerInfoText"Symbol 132 MovieClip Frame 1Symbol 126 EditableText
"UpgradeButton"Symbol 132 MovieClip Frame 1Symbol 129 MovieClip
"UpgradeInfoText"Symbol 132 MovieClip Frame 1Symbol 131 EditableText
"GoldAmount"Symbol 140 MovieClip Frame 1Symbol 135 EditableText
"ScoreAmount"Symbol 140 MovieClip Frame 1Symbol 137 EditableText
"HealthAmount"Symbol 140 MovieClip Frame 1Symbol 139 EditableText
"tl"Symbol 150 MovieClip Frame 1Symbol 148 MovieClip
"health"Symbol 162 MovieClip Frame 1Symbol 161 MovieClip
"creep"Symbol 163 MovieClip Frame 1Symbol 158 MovieClip
"health_bar"Symbol 163 MovieClip Frame 1Symbol 162 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 2 as "slash01"
ExportAssets (56)Timeline Frame 3Symbol 213 as "slash"

Labels

"LOAD"Symbol 36 MovieClip Frame 1
"COMPLETE_STOP"Symbol 36 MovieClip Frame 2




http://swfchan.com/15/71350/info.shtml
Created: 9/4 -2019 09:09:10 Last modified: 9/4 -2019 09:09:10 Server time: 08/05 -2024 08:29:04