Frame 2
stop();
Frame 5
stop();
Frame 6
stop();
Frame 8
attachMovie("mcPath1", "path1", _root.getNextHighestDepth());
var fGlow = (new flash.filters.GlowFilter(0, 1, 25, 25, 3, 1, false, false));
_root.path1.filters = [fGlow];
_root.path1._alpha = 80;
attachMovie("mcBase", "Base", _root.getNextHighestDepth());
Base._x = 390;
Base._y = 280;
var Placing = 0;
var SelIndex;
var SelDepth;
var Cr = 750;
Credits = Cr + " Credits";
var WaypointX = new Array(51, 54, 148, 151, 351, 351, 217, 212, 60, 59, 435);
var WaypointY = new Array(-10, 119, 118, 66, 67, 153, 158, 214, 218, 282, 286);
var Waypoints = 11;
var Wave = new Array(50);
var Waves = 16;
i = 0;
while (i < 50) {
Wave[i] = new Array(8);
i++;
}
Wave[0] = [20, 1, 30, 0, 1, 5, 2, 25, 1200];
Wave[1] = [15, 2, 60, 0, 1, 7, 3, 20, 850];
Wave[2] = [25, 3, 100, 0, 1, 10, 2, 30, 1400];
Wave[3] = [20, 4, 220, 0, 2, 15, 2, 32, 1450];
Wave[4] = [2, 5, 5500, 0, 5, 750, 1, 300, 1700];
Wave[5] = [10, 1, 200, 0, 2, 20, 4, 25, 1200];
Wave[6] = [20, 3, 500, 0, 2, 25, 1, 35, 1700];
Wave[7] = [20, 4, 750, 0, 2, 25, 2, 30, 1700];
Wave[8] = [1, 5, 10000, 0, 10, 4000, 1, 30, 1700];
Wave[9] = [20, 5, 4000, 0, 2, 333, 1, 30, 5000];
Wave[10] = [1, 1, 25000, 0, 15, 5000, 1, 30, 2000];
Wave[11] = [35, 6, 1600, 0, 3, 50, 2, 20, 1500];
Wave[12] = [60, 7, 2000, 0, 2, 55, 3, 20, 2500];
Wave[13] = [30, 8, 1800, 0, 3, 65, 4, 20, 2500];
Wave[14] = [5, 9, 15000, 0, 15, 2000, 1, 150, 2500];
Wave[15] = [1, 10, 80000, 0, 50, 20000, 1, 150, 2500];
var eIndex = new Array(300);
var eX = new Array(300);
var eY = new Array(300);
var eHp = new Array(300);
var eMHp = new Array(300);
var eWp = new Array(300);
var eCredits = new Array(300);
var eArmor = new Array(300);
var ePower = new Array(300);
var eActive = new Array(300);
var eCountdown = new Array(300);
var eSpeed = new Array(300);
var eSlowed = new Array(300);
var eSpeedBU = new Array(300);
var eSlowedFor = new Array(300);
var eRot = new Array(300);
var eDist = new Array(300);
var eWaiting = new Array(300);
var eCount = 0;
var TPower = new Array([5, 10, 30, 80, 120, 190, 320, 600, 950, 1400], [30, 45, 60, 120, 200, 400, 550, 750, 1250, 2000], [150, 250, 400, 550, 900, 1100, 1500, 2050, 4000, 9999], [3, 8, 19, 40, 70, 145, 210, 385, 700, 1000], [100, 150, 225, 335, 500, 750, 1135, 1700, 2600, 3500]);
var TPowerCost = new Array([0, 50, 200, 800, 1900, 4000, 8000, 14500, 25000, 40000], [0, 50, 250, 900, 2000, 4500, 9950, 16000, 26000, 45000], [0, 100, 300, 1000, 2300, 4500, 10550, 17000, 30000, 54500], [0, 50, 150, 600, 1500, 3000, 6000, 11500, 20000, 30000], [0, 500, 700, 1000, 1500, 2000, 3000, 5500, 8000, 20000]);
var TReload = new Array([7, 6, 6, 5, 5, 5, 4, 4, 4, 3], [15, 14, 14, 13, 13, 12, 12, 12, 11, 10], [45, 42, 37, 34, 31, 30, 28, 27, 24, 23], [10, 9, 9, 8, 8, 8, 8, 7, 7, 6], [75, 73, 71, 69, 67, 65, 63, 61, 59, 55]);
var TReloadCost = new Array([0, 30, 100, 330, 650, 1200, 3500, 8000, 15000, 45000], [0, 40, 120, 400, 750, 1000, 2500, 4000, 7500, 11000], [0, 100, 300, 550, 900, 1250, 3000, 5000, 8000, 19000], [0, 30, 100, 330, 650, 1200, 3500, 8000, 15000, 45000], [0, 300, 600, 1200, 2000, 3200, 6000, 8000, 12000, 20000]);
var TRange = new Array([75, 85, 100, 115, 125, 150, 160, 180, 200, 250], [50, 55, 65, 75, 85, 95, 0, 110, 115, 120], [145, 160, 175, 205, 230, 250, 275, 310, 340, 375], [65, 75, 90, 105, 115, 130, 150, 170, 190, 200], [75, 85, 95, 105, 115, 125, 135, 145, 155, 170]);
var TRangeCost = new Array([0, 125, 200, 550, 900, 1900, 3500, 5000, 8500, 13000], [0, 165, 300, 650, 1200, 3500, 4500, 6000, 12000, 30000], [0, 200, 450, 750, 1500, 4500, 11000, 15000, 20000, 35000], [0, 125, 200, 550, 900, 1900, 3500, 5000, 8500, 13000], [0, 400, 700, 1000, 1400, 2300, 3500, 5000, 8500, 10000]);
var Turrets = 0;
var tType = new Array(300);
var tDep = new Array(300);
var tPower = new Array(300);
var tReload = new Array(300);
var tRange = new Array(300);
var tX = new Array(300);
var tY = new Array(300);
var tActive = new Array(300);
var MyHealth = 100;
var CurWave = 0;
var FramesLeft = 750;
_root.NextEnemy.gotoAndStop(1);
TimeLeft = int(FramesLeft / 15);
Music1.gotoAndPlay(3);
SendWave = function (w) {
var _local2 = 0;
var _local4 = 2;
i = 0;
while (i < Wave[w][0]) {
_local4 = 2;
if (eCount > 0) {
_local4 = 0;
ii = 0;
while (ii < eCount) {
if (eHp[ii] <= 0) {
_local4 = 1;
_local2 = ii;
}
if (_local4 == 1) {
break;
}
ii++;
}
}
if (eCount < 1) {
_local2 = 0;
eCount = 1;
}
if (_local4 == 0) {
eCount++;
_local2 = eCount - 1;
}
eIndex[_local2] = Wave[w][1];
eHp[_local2] = Wave[w][2];
eMHp[_local2] = Wave[w][2];
eArmor[_local2] = Wave[w][3];
ePower[_local2] = Wave[w][4];
eCredits[_local2] = Wave[w][5];
eSpeed[_local2] = Wave[w][6];
eSpeedBU[_local2] = 0;
eSlowedFor[_local2] = 0;
eCountdown[_local2] = Wave[w][7] * i;
eWp[_local2] = 0;
eActive[_local2] = 0;
eX[_local2] = 700;
eY[_local2] = 700;
eDist[_local2] = 0;
eWaiting[_local2] = 1;
eRot[_local2] = 180;
i++;
}
FramesLeft = ((Wave[w][0] * Wave[w][7]) + 60) + (1400 / Wave[w][6]);
TimeLeft = int(FramesLeft / 15);
if (w < (Waves - 1)) {
_root.NextEnemy._visible = true;
_root.NextEnemy.gotoAndStop(Wave[w + 1][1]);
} else {
_root.NextEnemy._visible = false;
}
};
AddTurret = function (iType, iDep) {
tType[Turrets] = iType;
tDep[Turrets] = iDep;
tPower[Turrets] = 0;
tReload[Turrets] = 0;
tRange[Turrets] = 0;
tX[Turrets] = -1;
tY[Turrets] = -1;
tActive[Turrets] = 0;
Turrets++;
};
Frame 9
_root.NextEnemy.gotoAndStop(Wave[CurWave][1]);
FramesLeft--;
TimeLeft = int(FramesLeft / 15);
if (TimeLeft <= 0) {
TimeLeft = 0;
}
if ((FramesLeft <= 0) && (CurWave < Waves)) {
SendWave(CurWave);
CurWave++;
}
if ((FramesLeft <= 0) && (CurWave >= Waves)) {
gotoAndStop (6);
}
if (eCount > 0) {
i = 0;
while (i < eCount) {
if (eWaiting[i] == 1) {
eCountdown[i]--;
if (eCountdown[i] <= 0) {
eActive[i] = 1;
eX[i] = WaypointX[0];
eY[i] = WaypointY[0];
eWp[i] = 1;
eRot[i] = 180;
eWaiting[i] = 0;
_root.attachMovie("mcEnemyH", "Enemy" + i, _root.getNextHighestDepth());
_root["Enemy" + i].EnemyFrame.gotoAndStop(eIndex[i]);
_root["Enemy" + i]._visible = true;
_root["Enemy" + i].EnemyFrame._rotation = 180;
_root["Enemy" + i]._x = eX[i];
_root["Enemy" + i]._y = eY[i];
}
} else if (eHp[i] > 0) {
var iix;
var iiy;
if (eSlowedFor[i] > 0) {
eSlowedFor[i]--;
if (eSlowedFor[i] <= 0) {
eSpeed[i] = eSpeedBU[i];
eSpeedBU[i] = 0;
}
}
dist_x = WaypointX[eWp[i]] - eX[i];
dist_y = WaypointY[eWp[i]] - eY[i];
angle = Math.atan2(dist_y, dist_x);
if ((Math.abs(dist_x) + Math.abs(dist_y)) <= 1) {
eWp[i]++;
if (eWp[i] >= Waypoints) {
MyHealth = MyHealth - ePower[i];
health = "HEALTH: " + MyHealth;
eHp[i] = -100;
eX[i] = 700;
eY[i] = 700;
eActive[i] = 0;
_root["Enemy" + i].removeMovieClip();
if (MyHealth <= 0) {
gotoAndStop (5);
}
}
}
if ((Math.abs(dist_x) > 1) && (Math.abs(dist_x) < eSpeed[i])) {
iix = dist_x;
} else {
iix = eSpeed[i] * Math.cos(angle);
}
if ((Math.abs(dist_y) > 1) && (Math.abs(dist_y) < eSpeed[i])) {
iiy = dist_y;
} else {
iiy = eSpeed[i] * Math.sin(angle);
}
eX[i] = eX[i] + iix;
eY[i] = eY[i] + iiy;
eDist[i] = eDist[i] + eSpeed[i];
eRot[i] = ((angle / Math.PI) * 180) + 90;
_root["Enemy" + i].EnemyFrame._rotation = eRot[i];
_root["Enemy" + i]._x = eX[i];
_root["Enemy" + i]._y = eY[i];
}
i++;
}
}
ChangePower = function (p) {
PowerGuage.Value = 50;
};
Frame 10
gotoAndPlay (9);
Symbol 7 MovieClip [mcTBasic] Frame 1
var Target;
var ShowAOE;
var Range;
var Placed;
var Index;
var CanPlace;
var Cooldown;
var WaitTime;
var Attack;
var Dep;
var Power;
var Reload;
var PowerLev;
var ReloadLev;
var RangeLev;
var Selected;
var Type;
if (Cooldown > 0) {
Cooldown--;
}
if (Selected == 1) {
UpdateUpgrades();
_root.SelDepth = Dep;
}
if ((Key.isDown(27) && (Placed == undefined)) or (Placed < 1)) {
_root.Cr = _root.Cr + 100;
_root.Credits = _root.Cr + " Credits";
_root.Placing = 0;
Placed = 0;
ShowAOE = 0;
_root.tActive[Index] = 0;
this.removeMovieClip();
}
onMouseDown = function () {
if ((Placed == 0) or (Placed == null)) {
if (CanPlace == 1) {
Placed = 1;
_root.tX[Index] = this._x;
_root.tY[Index] = this._y;
_root.Placing = 0;
ShowAOE = 0;
_root.tActive[Index] = 1;
} else if (this._y >= 300) {
}
} else if (TBasic.hitTest(_root._xmouse, _root._ymouse, false)) {
ShowAOE = 1;
Selected = 1;
_root.SelIndex = Index;
_root.SelDepth = Dep;
UpdateUpgrades();
} else if (_root._ymouse < 300) {
ShowAOE = 0;
Selected = -1;
HideUpgrades();
_root.SelIndex = -1;
_root.SelDepth = -1;
}
};
if (ShowAOE > 0) {
AOE._visible = true;
AOE._width = Range * 2;
AOE._x = 0;
AOE._height = Range * 2;
AOE._y = 0;
} else {
AOE._visible = false;
}
if ((Placed == 0) or (Placed == null)) {
this._x = _root._xmouse;
this._y = _root._ymouse;
ShowAOE = 1;
Target = -1;
CanPlace = 1;
if (((_root.path1.hitTest(this._x - ((TBasic._width / 2) + 5), this._y - ((TBasic._height / 2) + 5), true) or _root.path1.hitTest(this._x + ((TBasic._width / 2) + 5), this._y + ((TBasic._height / 2) + 5), true)) or _root.path1.hitTest(this._x - ((TBasic._width / 2) + 5), this._y + ((TBasic._height / 2) + 5), true)) or _root.path1.hitTest(this._x + ((TBasic._width / 2) + 5), this._y - ((TBasic._height / 2) + 5), true)) {
CanPlace = 0;
}
if (this._y >= 300) {
CanPlace = 0;
}
if (_root.Turrets > 1) {
i = 0;
while (i < _root.Turrets) {
if (_root.tDep[i] != Dep) {
Dst2 = Math.sqrt(Math.pow(this._x - _root["T" + _root.tDep[i]]._x, 2) + Math.pow(this._y - _root["T" + _root.tDep[i]]._y, 2));
if ((Dst2 <= 19) && (_root.tActive[i] == 1)) {
CanPlace = 0;
}
}
i++;
}
}
if (CanPlace == 0) {
ShowAOE = 0;
}
}
if (Target >= 0) {
dist_x = _root.eX[Target] - this._x;
dist_y = _root.eY[Target] - this._y;
angle = Math.atan2(dist_y, dist_x);
this._rotation = ((angle / Math.PI) * 180) + 90;
Dst = Math.sqrt(Math.pow(this._x - _root.eX[Target], 2) + Math.pow(this._y - _root.eY[Target], 2));
if (Dst > Range) {
Target = -1;
} else if (Cooldown <= 0) {
_root.eHp[Target] = _root.eHp[Target] - Power;
_root["Enemy" + Target].HealthBar._xscale = (_root.eHp[Target] / _root.eMHp[Target]) * 100;
_root["Enemy" + Target].HealthBar._x = -10 + ((20 - _root["Enemy" + Target].HealthBar._width) / 2);
_root.Fire1.gotoAndPlay(3);
d = _root.getNextHighestDepth();
_root.attachMovie("mcBullet", "Bullet" + d, d);
_root["Bullet" + d].x = this._x;
_root["Bullet" + d].y = this._y;
_root["Bullet" + d]._x = this._x;
_root["Bullet" + d]._y = this._y;
_root["Bullet" + d].speed = 20;
_root["Bullet" + d].xT = _root.eX[Target];
_root["Bullet" + d].yT = _root.eY[Target];
Cooldown = Reload;
if (_root.eHp[Target] <= 0) {
_root.Cr = _root.Cr + _root.eCredits[Target];
_root.Credits = _root.Cr + " Credits";
_root["Enemy" + Target].removeMovieClip();
Target = -1;
}
}
if ((_root.eHp[Target] <= 0) && (Target >= 0)) {
Target = -1;
}
}
if (((Target == -1) && (Placed == 1)) && (_root.eCount > 0)) {
FoundTarget = 0;
i = 0;
while (i < _root.eCount) {
Dst = Math.sqrt(Math.pow(this._x - _root.eX[i], 2) + Math.pow(this._y - _root.eY[i], 2));
if ((((Dst <= Range) && (Dst != null)) && (Dst > 0)) && (_root.eHp[i] > 0)) {
if (FoundTarget == 0) {
FoundTarget = 1;
Target = i;
} else if (_root.eDist[i] > _root.eDist[Target]) {
Target = i;
}
}
i++;
}
}
UpdateUpgrades = function () {
_root.PowerGuage._visible = true;
_root.RangeGuage._visible = true;
_root.ReloadGuage._visible = true;
_root.C1._visible = true;
_root.C2._visible = true;
_root.C3._visible = true;
_root.BuyPower._visible = true;
_root.BuyRange._visible = true;
_root.BuyReload._visible = true;
_root.PowerGuage.Value = Power;
_root.RangeGuage.Value = Range;
_root.ReloadGuage.Value = Reload;
_root.PowerGuage.Next = _root.TPower[0][PowerLev + 1];
_root.RangeGuage.Next = _root.TRange[0][RangeLev + 1];
_root.ReloadGuage.Next = _root.TReload[0][ReloadLev + 1];
if (PowerLev < 9) {
_root.PowerCost = "Cost: " + _root.TPowerCost[0][PowerLev + 1];
} else {
_root.PowerCost = "";
}
if (RangeLev < 9) {
_root.RangeCost = "Cost: " + _root.TRangeCost[0][RangeLev + 1];
} else {
_root.RangeCost = "";
}
if (ReloadLev < 9) {
_root.ReloadCost = "Cost: " + _root.TReloadCost[0][ReloadLev + 1];
} else {
_root.ReloadCost = "";
}
if (_root.Cr >= _root.TPowerCost[0][PowerLev + 1]) {
_root.BuyPower._alpha = 100;
} else {
_root.BuyPower._alpha = 20;
}
if (_root.Cr >= _root.TReloadCost[0][ReloadLev + 1]) {
_root.BuyReload._alpha = 100;
} else {
_root.BuyReload._alpha = 20;
}
if (_root.Cr >= _root.TRangeCost[0][RangeLev + 1]) {
_root.BuyRange._alpha = 100;
} else {
_root.BuyRange._alpha = 20;
}
};
HideUpgrades = function () {
_root.PowerGuage._visible = false;
_root.RangeGuage._visible = false;
_root.ReloadGuage._visible = false;
_root.C1._visible = false;
_root.C2._visible = false;
_root.C3._visible = false;
_root.BuyPower._visible = false;
_root.BuyRange._visible = false;
_root.BuyReload._visible = false;
};
Symbol 7 MovieClip [mcTBasic] Frame 2
gotoAndPlay (1);
Symbol 18 MovieClip [mcTHeavy] Frame 1
var Target;
var ShowAOE;
var Range;
var Placed;
var Index;
var CanPlace;
var Cooldown;
var WaitTime;
var Attack;
var Dep;
var Power;
var Reload;
var PowerLev;
var ReloadLev;
var RangeLev;
var Selected;
if (Cooldown > 0) {
Cooldown--;
}
if (Selected == 1) {
UpdateUpgrades();
_root.SelDepth = Dep;
}
if ((Key.isDown(27) && (Placed == undefined)) or (Placed < 1)) {
_root.Cr = _root.Cr + 150;
_root.Credits = _root.Cr + " Credits";
_root.Placing = 0;
Placed = 0;
ShowAOE = 0;
_root.tActive[Index] = 0;
this.removeMovieClip();
}
onMouseDown = function () {
if ((Placed == 0) or (Placed == null)) {
if (CanPlace == 1) {
Placed = 1;
_root.tX[Index] = this._x;
_root.tY[Index] = this._y;
_root.Placing = 0;
ShowAOE = 0;
_root.tActive[Index] = 1;
} else if (this._y >= 300) {
}
} else if (THeavy.hitTest(_root._xmouse, _root._ymouse, false)) {
ShowAOE = 1;
Selected = 1;
_root.SelIndex = Index;
_root.SelDepth = Dep;
UpdateUpgrades();
} else if (_root._ymouse < 300) {
ShowAOE = 0;
Selected = -1;
_root.SelIndex = -1;
_root.SelDepth = -1;
HideUpgrades();
}
};
if (ShowAOE > 0) {
AOE._visible = true;
AOE._width = Range * 2;
AOE._x = 0;
AOE._height = Range * 2;
AOE._y = 0;
} else {
AOE._visible = false;
}
if ((Placed == 0) or (Placed == null)) {
this._x = _root._xmouse;
this._y = _root._ymouse;
ShowAOE = 1;
Target = -1;
CanPlace = 1;
if (((_root.path1.hitTest(this._x - ((THeavy_width / 2) + 5), this._y - ((THeavy._height / 2) + 5), true) or _root.path1.hitTest(this._x + ((THeavy._width / 2) + 5), this._y + ((THeavy._height / 2) + 5), true)) or _root.path1.hitTest(this._x - ((THeavy._width / 2) + 5), this._y + ((THeavy._height / 2) + 5), true)) or _root.path1.hitTest(this._x + ((THeavy._width / 2) + 5), this._y - ((THeavy._height / 2) + 5), true)) {
CanPlace = 0;
}
if (this._y >= 300) {
CanPlace = 0;
}
if (_root.Turrets > 1) {
i = 0;
while (i < _root.Turrets) {
if (_root.tDep[i] != Dep) {
Dst2 = Math.sqrt(Math.pow(this._x - _root["T" + _root.tDep[i]]._x, 2) + Math.pow(this._y - _root["T" + _root.tDep[i]]._y, 2));
if ((Dst2 <= 19) && (_root.tActive[i] == 1)) {
CanPlace = 0;
}
}
i++;
}
}
if (CanPlace == 0) {
ShowAOE = 0;
}
}
if (Target >= 0) {
dist_x = _root.eX[Target] - this._x;
dist_y = _root.eY[Target] - this._y;
angle = Math.atan2(dist_y, dist_x);
this._rotation = ((angle / Math.PI) * 180) + 90;
Dst = Math.sqrt(Math.pow(this._x - _root.eX[Target], 2) + Math.pow(this._y - _root.eY[Target], 2));
if (Dst > Range) {
Target = -1;
} else if (Cooldown <= 0) {
_root.eHp[Target] = _root.eHp[Target] - Power;
_root["Enemy" + Target].HealthBar._xscale = (_root.eHp[Target] / _root.eMHp[Target]) * 100;
_root["Enemy" + Target].HealthBar._x = -10 + ((20 - _root["Enemy" + Target].HealthBar._width) / 2);
_root.Fire2.gotoAndPlay(3);
d = _root.getNextHighestDepth();
_root.attachMovie("mcBullet", "Bullet" + d, d);
_root["Bullet" + d].x = this._x;
_root["Bullet" + d].y = this._y;
_root["Bullet" + d]._x = this._x;
_root["Bullet" + d]._y = this._y;
_root["Bullet" + d].speed = 20;
_root["Bullet" + d].xT = _root.eX[Target];
_root["Bullet" + d].yT = _root.eY[Target];
Cooldown = Reload;
if (_root.eHp[Target] <= 0) {
_root.Cr = _root.Cr + _root.eCredits[Target];
_root.Credits = _root.Cr + " Credits";
_root["Enemy" + Target].removeMovieClip();
Target = -1;
}
}
if ((_root.eHp[Target] <= 0) && (Target >= 0)) {
Target = -1;
}
}
if (((Target == -1) && (Placed == 1)) && (_root.eCount > 0)) {
FoundTarget = 0;
i = 0;
while (i < _root.eCount) {
Dst = Math.sqrt(Math.pow(this._x - _root.eX[i], 2) + Math.pow(this._y - _root.eY[i], 2));
if ((((Dst <= Range) && (Dst != null)) && (Dst > 0)) && (_root.eHp[i] > 0)) {
if (FoundTarget == 0) {
FoundTarget = 1;
Target = i;
} else if (_root.eDist[i] > _root.eDist[Target]) {
Target = i;
}
}
i++;
}
}
UpdateUpgrades = function () {
_root.PowerGuage._visible = true;
_root.RangeGuage._visible = true;
_root.ReloadGuage._visible = true;
_root.C1._visible = true;
_root.C2._visible = true;
_root.C3._visible = true;
_root.BuyPower._visible = true;
_root.BuyRange._visible = true;
_root.BuyReload._visible = true;
_root.PowerGuage.Value = Power;
_root.RangeGuage.Value = Range;
_root.ReloadGuage.Value = Reload;
_root.PowerGuage.Next = _root.TPower[1][PowerLev + 1];
_root.RangeGuage.Next = _root.TRange[1][RangeLev + 1];
_root.ReloadGuage.Next = _root.TReload[1][ReloadLev + 1];
if (PowerLev < 9) {
_root.PowerCost = "Cost: " + _root.TPowerCost[1][PowerLev + 1];
} else {
_root.PowerCost = "";
}
if (RangeLev < 9) {
_root.RangeCost = "Cost: " + _root.TRangeCost[1][RangeLev + 1];
} else {
_root.RangeCost = "";
}
if (ReloadLev < 9) {
_root.ReloadCost = "Cost: " + _root.TReloadCost[1][ReloadLev + 1];
} else {
_root.ReloadCost = "";
}
if (_root.Cr >= _root.TPowerCost[1][PowerLev + 1]) {
_root.BuyPower._alpha = 100;
} else {
_root.BuyPower._alpha = 20;
}
if (_root.Cr >= _root.TReloadCost[1][ReloadLev + 1]) {
_root.BuyReload._alpha = 100;
} else {
_root.BuyReload._alpha = 20;
}
if (_root.Cr >= _root.TRangeCost[1][RangeLev + 1]) {
_root.BuyRange._alpha = 100;
} else {
_root.BuyRange._alpha = 20;
}
};
HideUpgrades = function () {
_root.PowerGuage._visible = false;
_root.RangeGuage._visible = false;
_root.ReloadGuage._visible = false;
_root.C1._visible = false;
_root.C2._visible = false;
_root.C3._visible = false;
_root.BuyPower._visible = false;
_root.BuyRange._visible = false;
_root.BuyReload._visible = false;
};
Symbol 18 MovieClip [mcTHeavy] Frame 2
gotoAndPlay (1);
Symbol 20 MovieClip [mcBullet] Frame 1
var xT;
var yT;
var speed;
var x;
var y;
var Power;
dist_x = xT - this._x;
dist_y = yT - this._y;
angle = Math.atan2(dist_y, dist_x);
Dst = Math.sqrt(Math.pow(this._x - xT, 2) + Math.pow(this._y - yT, 2));
if (Dst > 1) {
if (Dst > speed) {
iix = speed * Math.cos(angle);
iiy = speed * Math.sin(angle);
} else {
iix = dist_x;
iiy = dist_y;
}
x = x + iix;
y = y + iiy;
this._x = x;
this._y = y;
} else {
this.removeMovieClip();
}
Symbol 20 MovieClip [mcBullet] Frame 2
gotoAndPlay (1);
Symbol 23 MovieClip [mcTSniper] Frame 1
var Target;
var ShowAOE;
var Range;
var Placed;
var Index;
var CanPlace;
var Cooldown;
var WaitTime;
var Attack;
var Dep;
var Power;
var Reload;
var PowerLev;
var ReloadLev;
var RangeLev;
var Selected;
if (Cooldown > 0) {
Cooldown--;
}
if (Selected == 1) {
UpdateUpgrades();
_root.SelDepth = Dep;
}
if ((Key.isDown(27) && (Placed == undefined)) or (Placed < 1)) {
_root.Cr = _root.Cr + 250;
_root.Credits = _root.Cr + " Credits";
_root.Placing = 0;
Placed = 0;
ShowAOE = 0;
_root.tActive[Index] = 0;
this.removeMovieClip();
}
onMouseDown = function () {
if ((Placed == 0) or (Placed == null)) {
if (CanPlace == 1) {
Placed = 1;
_root.tX[Index] = this._x;
_root.tY[Index] = this._y;
_root.Placing = 0;
ShowAOE = 0;
_root.tActive[Index] = 1;
} else if (this._y >= 300) {
}
} else if (TSniper.hitTest(_root._xmouse, _root._ymouse, false)) {
ShowAOE = 1;
Selected = 1;
_root.SelIndex = Index;
_root.SelDepth = Dep;
UpdateUpgrades();
} else if (_root._ymouse < 300) {
ShowAOE = 0;
Selected = -1;
_root.SelIndex = -1;
_root.SelDepth = -1;
HideUpgrades();
}
};
if (ShowAOE > 0) {
AOE._visible = true;
AOE._width = Range * 2;
AOE._x = 0;
AOE._height = Range * 2;
AOE._y = 0;
} else {
AOE._visible = false;
}
if ((Placed == 0) or (Placed == null)) {
this._x = _root._xmouse;
this._y = _root._ymouse;
ShowAOE = 1;
Target = -1;
CanPlace = 1;
if (((_root.path1.hitTest(this._x - ((TSniper._width / 2) + 5), this._y - ((TSniper._height / 2) + 5), true) or _root.path1.hitTest(this._x + ((TSniper._width / 2) + 5), this._y + ((TSniper._height / 2) + 5), true)) or _root.path1.hitTest(this._x - ((TSniper._width / 2) + 5), this._y + ((TSniper._height / 2) + 5), true)) or _root.path1.hitTest(this._x + ((TSniper._width / 2) + 5), this._y - ((TSniper._height / 2) + 5), true)) {
CanPlace = 0;
}
if (this._y >= 300) {
CanPlace = 0;
}
if (_root.Turrets > 1) {
i = 0;
while (i < _root.Turrets) {
if (_root.tDep[i] != Dep) {
Dst2 = Math.sqrt(Math.pow(this._x - _root["T" + _root.tDep[i]]._x, 2) + Math.pow(this._y - _root["T" + _root.tDep[i]]._y, 2));
if ((Dst2 <= 19) && (_root.tActive[i] == 1)) {
CanPlace = 0;
}
}
i++;
}
}
if (CanPlace == 0) {
ShowAOE = 0;
}
}
if (Target >= 0) {
dist_x = _root.eX[Target] - this._x;
dist_y = _root.eY[Target] - this._y;
angle = Math.atan2(dist_y, dist_x);
this._rotation = ((angle / Math.PI) * 180) + 90;
Dst = Math.sqrt(Math.pow(this._x - _root.eX[Target], 2) + Math.pow(this._y - _root.eY[Target], 2));
if (Dst > Range) {
Target = -1;
} else if (Cooldown <= 0) {
_root.eHp[Target] = _root.eHp[Target] - Power;
_root["Enemy" + Target].HealthBar._xscale = (_root.eHp[Target] / _root.eMHp[Target]) * 100;
_root["Enemy" + Target].HealthBar._x = -10 + ((20 - _root["Enemy" + Target].HealthBar._width) / 2);
_root.Fire2.gotoAndPlay(3);
d = _root.getNextHighestDepth();
_root.attachMovie("mcBullet", "Bullet" + d, d);
_root["Bullet" + d].x = this._x;
_root["Bullet" + d].y = this._y;
_root["Bullet" + d]._x = this._x;
_root["Bullet" + d]._y = this._y;
_root["Bullet" + d].speed = 30;
_root["Bullet" + d].xT = _root.eX[Target];
_root["Bullet" + d].yT = _root.eY[Target];
Cooldown = Reload;
if (_root.eHp[Target] <= 0) {
_root.Cr = _root.Cr + _root.eCredits[Target];
_root.Credits = _root.Cr + " Credits";
_root["Enemy" + Target].removeMovieClip();
Target = -1;
}
}
if ((_root.eHp[Target] <= 0) && (Target >= 0)) {
Target = -1;
}
}
if (((Target == -1) && (Placed == 1)) && (_root.eCount > 0)) {
FoundTarget = 0;
i = 0;
while (i < _root.eCount) {
Dst = Math.sqrt(Math.pow(this._x - _root.eX[i], 2) + Math.pow(this._y - _root.eY[i], 2));
if ((((Dst <= Range) && (Dst != undefined)) && (Dst > 0)) && (_root.eHp[i] > 0)) {
if (FoundTarget == 0) {
FoundTarget = 1;
Target = i;
} else if (_root.eDist[i] > _root.eDist[Target]) {
Target = i;
}
}
i++;
}
}
UpdateUpgrades = function () {
_root.PowerGuage._visible = true;
_root.RangeGuage._visible = true;
_root.ReloadGuage._visible = true;
_root.C1._visible = true;
_root.C2._visible = true;
_root.C3._visible = true;
_root.BuyPower._visible = true;
_root.BuyRange._visible = true;
_root.BuyReload._visible = true;
_root.PowerGuage.Value = Power;
_root.RangeGuage.Value = Range;
_root.ReloadGuage.Value = Reload;
_root.PowerGuage.Next = _root.TPower[2][PowerLev + 1];
_root.RangeGuage.Next = _root.TRange[2][RangeLev + 1];
_root.ReloadGuage.Next = _root.TReload[2][ReloadLev + 1];
if (PowerLev < 9) {
_root.PowerCost = "Cost: " + _root.TPowerCost[2][PowerLev + 1];
} else {
_root.PowerCost = "";
}
if (RangeLev < 9) {
_root.RangeCost = "Cost: " + _root.TRangeCost[2][RangeLev + 1];
} else {
_root.RangeCost = "";
}
if (ReloadLev < 9) {
_root.ReloadCost = "Cost: " + _root.TReloadCost[2][ReloadLev + 1];
} else {
_root.ReloadCost = "";
}
if (_root.Cr >= _root.TPowerCost[2][PowerLev + 1]) {
_root.BuyPower._alpha = 100;
} else {
_root.BuyPower._alpha = 20;
}
if (_root.Cr >= _root.TReloadCost[2][ReloadLev + 1]) {
_root.BuyReload._alpha = 100;
} else {
_root.BuyReload._alpha = 20;
}
if (_root.Cr >= _root.TRangeCost[2][RangeLev + 1]) {
_root.BuyRange._alpha = 100;
} else {
_root.BuyRange._alpha = 20;
}
};
HideUpgrades = function () {
_root.PowerGuage._visible = false;
_root.RangeGuage._visible = false;
_root.ReloadGuage._visible = false;
_root.C1._visible = false;
_root.C2._visible = false;
_root.C3._visible = false;
_root.BuyPower._visible = false;
_root.BuyRange._visible = false;
_root.BuyReload._visible = false;
};
Symbol 23 MovieClip [mcTSniper] Frame 2
gotoAndPlay (1);
Symbol 42 MovieClip [mcTFreeze] Frame 1
var Target;
var ShowAOE;
var Range;
var Placed;
var Index;
var CanPlace;
var Cooldown;
var WaitTime;
var Attack;
var Dep;
var Power;
var Reload;
var PowerLev;
var ReloadLev;
var RangeLev;
var Selected;
var Type;
if (Cooldown > 0) {
Cooldown--;
}
if (Selected == 1) {
UpdateUpgrades();
_root.SelDepth = Dep;
}
if ((Key.isDown(27) && (Placed == undefined)) or (Placed < 1)) {
_root.Cr = _root.Cr + 500;
_root.Credits = _root.Cr + " Credits";
_root.Placing = 0;
Placed = 0;
ShowAOE = 0;
_root.tActive[Index] = 0;
this.removeMovieClip();
}
onMouseDown = function () {
if ((Placed == 0) or (Placed == null)) {
if (CanPlace == 1) {
Placed = 1;
_root.tX[Index] = this._x;
_root.tY[Index] = this._y;
_root.Placing = 0;
ShowAOE = 0;
_root.tActive[Index] = 1;
} else if (this._y >= 300) {
}
} else if (TFreeze.hitTest(_root._xmouse, _root._ymouse, false)) {
ShowAOE = 1;
Selected = 1;
_root.SelIndex = Index;
_root.SelDepth = Dep;
UpdateUpgrades();
} else if (_root._ymouse < 300) {
ShowAOE = 0;
Selected = -1;
HideUpgrades();
_root.SelIndex = -1;
_root.SelDepth = -1;
}
};
if (ShowAOE > 0) {
AOE._visible = true;
AOE._width = Range * 2;
AOE._x = 0;
AOE._height = Range * 2;
AOE._y = 0;
} else {
AOE._visible = false;
}
if ((Placed == 0) or (Placed == null)) {
this._x = _root._xmouse;
this._y = _root._ymouse;
ShowAOE = 1;
Target = -1;
CanPlace = 1;
if (((_root.path1.hitTest(this._x - ((TFreeze._width / 2) + 5), this._y - ((TFreeze._height / 2) + 5), true) or _root.path1.hitTest(this._x + ((TFreeze._width / 2) + 5), this._y + ((TFreeze._height / 2) + 5), true)) or _root.path1.hitTest(this._x - ((TFreeze._width / 2) + 5), this._y + ((TFreeze._height / 2) + 5), true)) or _root.path1.hitTest(this._x + ((TFreeze._width / 2) + 5), this._y - ((TFreeze._height / 2) + 5), true)) {
CanPlace = 0;
}
if (this._y >= 300) {
CanPlace = 0;
}
if (_root.Turrets > 1) {
i = 0;
while (i < _root.Turrets) {
if (_root.tDep[i] != Dep) {
Dst2 = Math.sqrt(Math.pow(this._x - _root["T" + _root.tDep[i]]._x, 2) + Math.pow(this._y - _root["T" + _root.tDep[i]]._y, 2));
if ((Dst2 <= 19) && (_root.tActive[i] == 1)) {
CanPlace = 0;
}
}
i++;
}
}
if (CanPlace == 0) {
ShowAOE = 0;
}
}
if (Target >= 0) {
dist_x = _root.eX[Target] - this._x;
dist_y = _root.eY[Target] - this._y;
angle = Math.atan2(dist_y, dist_x);
this._rotation = ((angle / Math.PI) * 180) + 90;
Dst = Math.sqrt(Math.pow(this._x - _root.eX[Target], 2) + Math.pow(this._y - _root.eY[Target], 2));
if (Dst > Range) {
Target = -1;
} else if (Cooldown <= 0) {
_root.eHp[Target] = _root.eHp[Target] - Power;
_root["Enemy" + Target].HealthBar._xscale = (_root.eHp[Target] / _root.eMHp[Target]) * 100;
_root["Enemy" + Target].HealthBar._x = -10 + ((20 - _root["Enemy" + Target].HealthBar._width) / 2);
_root.eSlowedFor[Target] = 75;
if (_root.eSpeedBU[Target] == 0) {
_root.eSpeedBU[Target] = _root.eSpeed[Target];
_root.eSpeed[Target] = _root.eSpeed[Target] * 0.33;
}
_root.eSpeed[Target] = _root.eSpeedBU[Target] * 0.33;
_root.Fire4.gotoAndPlay(3);
d = _root.getNextHighestDepth();
_root.attachMovie("mcBullet", "Bullet" + d, d);
_root["Bullet" + d].x = this._x;
_root["Bullet" + d].y = this._y;
_root["Bullet" + d]._x = this._x;
_root["Bullet" + d]._y = this._y;
_root["Bullet" + d].speed = 30;
_root["Bullet" + d].xT = _root.eX[Target];
_root["Bullet" + d].yT = _root.eY[Target];
Cooldown = Reload;
if (_root.eHp[Target] <= 0) {
_root.Cr = _root.Cr + _root.eCredits[Target];
_root.Credits = _root.Cr + " Credits";
_root["Enemy" + Target].removeMovieClip();
Target = -1;
}
}
if ((_root.eHp[Target] <= 0) && (Target >= 0)) {
Target = -1;
}
}
if (((Target == -1) && (Placed == 1)) && (_root.eCount > 0)) {
FoundTarget = 0;
i = 0;
while (i < _root.eCount) {
Dst = Math.sqrt(Math.pow(this._x - _root.eX[i], 2) + Math.pow(this._y - _root.eY[i], 2));
if ((((Dst <= Range) && (Dst != null)) && (Dst > 0)) && (_root.eHp[i] > 0)) {
if (FoundTarget == 0) {
FoundTarget = 1;
Target = i;
} else if (_root.eDist[i] > _root.eDist[Target]) {
Target = i;
}
}
i++;
}
}
UpdateUpgrades = function () {
_root.PowerGuage._visible = true;
_root.RangeGuage._visible = true;
_root.ReloadGuage._visible = true;
_root.C1._visible = true;
_root.C2._visible = true;
_root.C3._visible = true;
_root.BuyPower._visible = true;
_root.BuyRange._visible = true;
_root.BuyReload._visible = true;
_root.PowerGuage.Value = Power;
_root.RangeGuage.Value = Range;
_root.ReloadGuage.Value = Reload;
_root.PowerGuage.Next = _root.TPower[3][PowerLev + 1];
_root.RangeGuage.Next = _root.TRange[3][RangeLev + 1];
_root.ReloadGuage.Next = _root.TReload[3][ReloadLev + 1];
if (PowerLev < 9) {
_root.PowerCost = "Cost: " + _root.TPowerCost[3][PowerLev + 1];
} else {
_root.PowerCost = "";
}
if (RangeLev < 9) {
_root.RangeCost = "Cost: " + _root.TRangeCost[3][RangeLev + 1];
} else {
_root.RangeCost = "";
}
if (ReloadLev < 9) {
_root.ReloadCost = "Cost: " + _root.TReloadCost[3][ReloadLev + 1];
} else {
_root.ReloadCost = "";
}
if (_root.Cr >= _root.TPowerCost[3][PowerLev + 1]) {
_root.BuyPower._alpha = 100;
} else {
_root.BuyPower._alpha = 20;
}
if (_root.Cr >= _root.TReloadCost[3][ReloadLev + 1]) {
_root.BuyReload._alpha = 100;
} else {
_root.BuyReload._alpha = 20;
}
if (_root.Cr >= _root.TRangeCost[3][RangeLev + 1]) {
_root.BuyRange._alpha = 100;
} else {
_root.BuyRange._alpha = 20;
}
};
HideUpgrades = function () {
_root.PowerGuage._visible = false;
_root.RangeGuage._visible = false;
_root.ReloadGuage._visible = false;
_root.C1._visible = false;
_root.C2._visible = false;
_root.C3._visible = false;
_root.BuyPower._visible = false;
_root.BuyRange._visible = false;
_root.BuyReload._visible = false;
};
Symbol 42 MovieClip [mcTFreeze] Frame 2
gotoAndPlay (1);
Symbol 45 MovieClip [mcTTesla] Frame 1
var Target = 500;
var ShowAOE;
var Range;
var Placed;
var Index;
var CanPlace;
var Cooldown;
var WaitTime;
var Attack;
var Dep;
var Power;
var Reload;
var PowerLev;
var ReloadLev;
var RangeLev;
var Selected;
var Type;
var ShowAttack;
if (Cooldown > 0) {
Cooldown--;
}
if (Selected == 1) {
UpdateUpgrades();
_root.SelDepth = Dep;
}
if ((Key.isDown(27) && (Placed == undefined)) or (Placed < 1)) {
_root.Cr = _root.Cr + 1000;
_root.Credits = _root.Cr + " Credits";
_root.Placing = 0;
Placed = 0;
ShowAOE = 0;
_root.tActive[Index] = 0;
this.removeMovieClip();
}
onMouseDown = function () {
if ((Placed == 0) or (Placed == null)) {
if (CanPlace == 1) {
Placed = 1;
_root.tX[Index] = this._x;
_root.tY[Index] = this._y;
_root.Placing = 0;
ShowAOE = 0;
_root.tActive[Index] = 1;
} else if (this._y >= 300) {
}
} else if (TTesla.hitTest(_root._xmouse, _root._ymouse, false)) {
ShowAOE = 1;
Selected = 1;
_root.SelIndex = Index;
_root.SelDepth = Dep;
UpdateUpgrades();
} else if (_root._ymouse < 300) {
ShowAOE = 0;
Selected = -1;
HideUpgrades();
_root.SelIndex = -1;
_root.SelDepth = -1;
}
};
if (ShowAOE > 0) {
AOE._visible = true;
AOE._width = Range * 2;
AOE._x = 0;
AOE._height = Range * 2;
AOE._y = 0;
} else {
AOE._visible = false;
}
if (ShowAttack > 0) {
TeslaAttack._visible = true;
TeslaAttack._width = Range * 2;
TeslaAttack._x = 0;
TeslaAttack._height = Range * 2;
TeslaAttack._y = 0;
ShowAttack--;
}
if (((ShowAttack == 0) or (ShowAttack == undefined)) or (ShowAttack == null)) {
TeslaAttack._visible = false;
}
if ((Placed == 0) or (Placed == null)) {
this._x = _root._xmouse;
this._y = _root._ymouse;
ShowAOE = 1;
Target = -1;
CanPlace = 1;
if (((_root.path1.hitTest(this._x - ((TTesla._width / 2) + 5), this._y - ((TTesla._height / 2) + 5), true) or _root.path1.hitTest(this._x + ((TTesla._width / 2) + 5), this._y + ((TTesla._height / 2) + 5), true)) or _root.path1.hitTest(this._x - ((TTesla._width / 2) + 5), this._y + ((TTesla._height / 2) + 5), true)) or _root.path1.hitTest(this._x + ((TTesla._width / 2) + 5), this._y - ((TTesla._height / 2) + 5), true)) {
CanPlace = 0;
}
if (this._y >= 300) {
CanPlace = 0;
}
if (_root.Turrets > 1) {
i = 0;
while (i < _root.Turrets) {
if (_root.tDep[i] != Dep) {
Dst2 = Math.sqrt(Math.pow(this._x - _root["T" + _root.tDep[i]]._x, 2) + Math.pow(this._y - _root["T" + _root.tDep[i]]._y, 2));
if ((Dst2 <= 19) && (_root.tActive[i] == 1)) {
CanPlace = 0;
}
}
i++;
}
}
if (CanPlace == 0) {
ShowAOE = 0;
}
}
if (Target >= 0) {
if (Cooldown <= 0) {
if (_root.eCount > 0) {
ie = 0;
while (ie < _root.eCount) {
Dst = Math.sqrt(Math.pow(this._x - _root.eX[ie], 2) + Math.pow(this._y - _root.eY[ie], 2));
if ((Dst <= Range) && (_root.eHp[ie] > 0)) {
_root.eHp[ie] = _root.eHp[ie] - Power;
_root["Enemy" + ie].HealthBar._xscale = (_root.eHp[ie] / _root.eMHp[ie]) * 100;
_root["Enemy" + ie].HealthBar._x = -10 + ((20 - _root["Enemy" + ie].HealthBar._width) / 2);
if (Cooldown <= 0) {
_root.Fire5.gotoAndPlay(3);
Cooldown = Reload;
}
ShowAttack = 15;
if (_root.eHp[ie] <= 0) {
_root.Cr = _root.Cr + _root.eCredits[ie];
_root.Credits = _root.Cr + " Credits";
_root["Enemy" + ie].removeMovieClip();
}
}
ie++;
}
}
}
}
UpdateUpgrades = function () {
_root.PowerGuage._visible = true;
_root.RangeGuage._visible = true;
_root.ReloadGuage._visible = true;
_root.C1._visible = true;
_root.C2._visible = true;
_root.C3._visible = true;
_root.BuyPower._visible = true;
_root.BuyRange._visible = true;
_root.BuyReload._visible = true;
_root.PowerGuage.Value = Power;
_root.RangeGuage.Value = Range;
_root.ReloadGuage.Value = Reload;
_root.PowerGuage.Next = _root.TPower[4][PowerLev + 1];
_root.RangeGuage.Next = _root.TRange[4][RangeLev + 1];
_root.ReloadGuage.Next = _root.TReload[4][ReloadLev + 1];
if (PowerLev < 9) {
_root.PowerCost = "Cost: " + _root.TPowerCost[4][PowerLev + 1];
} else {
_root.PowerCost = "";
}
if (RangeLev < 9) {
_root.RangeCost = "Cost: " + _root.TRangeCost[4][RangeLev + 1];
} else {
_root.RangeCost = "";
}
if (ReloadLev < 9) {
_root.ReloadCost = "Cost: " + _root.TReloadCost[4][ReloadLev + 1];
} else {
_root.ReloadCost = "";
}
if (_root.Cr >= _root.TPowerCost[4][PowerLev + 1]) {
_root.BuyPower._alpha = 100;
} else {
_root.BuyPower._alpha = 20;
}
if (_root.Cr >= _root.TReloadCost[4][ReloadLev + 1]) {
_root.BuyReload._alpha = 100;
} else {
_root.BuyReload._alpha = 20;
}
if (_root.Cr >= _root.TRangeCost[4][RangeLev + 1]) {
_root.BuyRange._alpha = 100;
} else {
_root.BuyRange._alpha = 20;
}
};
HideUpgrades = function () {
_root.PowerGuage._visible = false;
_root.RangeGuage._visible = false;
_root.ReloadGuage._visible = false;
_root.C1._visible = false;
_root.C2._visible = false;
_root.C3._visible = false;
_root.BuyPower._visible = false;
_root.BuyRange._visible = false;
_root.BuyReload._visible = false;
};
Symbol 45 MovieClip [mcTTesla] Frame 2
gotoAndPlay (1);
Symbol 47 MovieClip Frame 1
stop();
Symbol 49 Button
on (release) {
getURL ("http://www.newgrounds.com", "_blank");
}
Symbol 97 MovieClip Frame 40
stop();
Symbol 121 Button
on (release) {
startMovie();
}
Symbol 122 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 129 Button
on (release) {
gotoAndStop (4);
}
Symbol 134 Button
on (release) {
gotoAndStop (3);
}
Symbol 139 Button
on (release) {
gotoAndPlay (8);
}
Symbol 146 Button
on (release) {
gotoAndStop (2);
}
Symbol 152 MovieClip Frame 1
stop();
Symbol 154 MovieClip Frame 1
stop();
Symbol 156 MovieClip Frame 1
stop();
Symbol 158 MovieClip Frame 1
stop();
Symbol 160 Button
on (release) {
if ((Cr >= 1000) && (Placing == 0)) {
Cr = Cr - 1000;
Credits = Cr + " Credits";
Placing = 1;
var dep;
dep = _root.getNextHighestDepth();
_root.attachMovie("mcTTesla", "T" + dep, dep);
_root["T" + dep].Index = _root.Turrets;
_root["T" + dep].Dep = dep;
_root["T" + dep].Range = TRange[4][0];
_root["T" + dep].Reload = TReload[4][0];
_root["T" + dep].Power = TPower[4][0];
_root["T" + dep].PowerLev = 0;
_root["T" + dep].RangeLev = 0;
_root["T" + dep].ReloadLev = 0;
_root["T" + dep].Type = 4;
_root["T" + dep].ShowAttack = 0;
AddTurret(4, dep);
}
}
on (rollOver) {
attachMovie("mcInfo", "InfoBox", _root.getNextHighestDepth());
InfoBox._alpha = 70;
InfoBox.title = "Tesla Coil - 1000 Cr";
InfoBox.infoInfo = "Moderate Attack, very long cooldown, but hits everything in its range all at once!";
InfoBox._x = _root._xmouse;
InfoBox._y = _root._ymouse;
}
on (rollOut) {
InfoBox.removeMovieClip();
}
Symbol 162 Button
on (release) {
if ((Cr >= 500) && (Placing == 0)) {
Cr = Cr - 500;
Credits = Cr + " Credits";
Placing = 1;
var dep;
dep = _root.getNextHighestDepth();
_root.attachMovie("mcTFreeze", "T" + dep, dep);
_root["T" + dep].Index = _root.Turrets;
_root["T" + dep].Dep = dep;
_root["T" + dep].Range = TRange[3][0];
_root["T" + dep].Reload = TReload[3][0];
_root["T" + dep].Power = TPower[3][0];
_root["T" + dep].PowerLev = 0;
_root["T" + dep].RangeLev = 0;
_root["T" + dep].ReloadLev = 0;
_root["T" + dep].Type = 3;
AddTurret(3, dep);
}
}
on (rollOver) {
attachMovie("mcInfo", "InfoBox", _root.getNextHighestDepth());
InfoBox._alpha = 70;
InfoBox.title = "Freeze Turret - 500 Cr";
InfoBox.infoInfo = "Has a weak attack, but slows enemy down to a third of ther original speed for about 5 seconds at the same time. Invaluable for the later levels";
InfoBox._x = _root._xmouse;
InfoBox._y = _root._ymouse;
}
on (rollOut) {
InfoBox.removeMovieClip();
}
Symbol 164 Button
on (release) {
if ((Cr >= 250) && (Placing == 0)) {
Cr = Cr - 250;
Credits = Cr + " Credits";
Placing = 1;
var dep;
dep = _root.getNextHighestDepth();
_root.attachMovie("mcTSniper", "T" + dep, dep);
_root["T" + dep].Index = _root.Turrets;
_root["T" + dep].Dep = dep;
_root["T" + dep].Range = TRange[2][0];
_root["T" + dep].Reload = TReload[2][0];
_root["T" + dep].Power = TPower[2][0];
_root["T" + dep].PowerLev = 0;
_root["T" + dep].RangeLev = 0;
_root["T" + dep].ReloadLev = 0;
_root["T" + dep].Type = 2;
AddTurret(2, dep);
}
}
on (rollOver) {
attachMovie("mcInfo", "InfoBox", _root.getNextHighestDepth());
InfoBox._alpha = 70;
InfoBox.title = "Sniper Turret - 250 Cr";
InfoBox.infoInfo = "Snipes from far away, very high damage, very high reload";
InfoBox._x = _root._xmouse;
InfoBox._y = _root._ymouse;
}
on (rollOut) {
InfoBox.removeMovieClip();
}
Symbol 166 Button
on (release) {
if ((Cr >= TRangeCost[_root["T" + SelDepth].Type][_root["T" + SelDepth].RangeLev + 1]) && (_root["T" + SelDepth].RangeLev < 9)) {
Cr = Cr - TRangeCost[_root["T" + SelDepth].Type][_root["T" + SelDepth].RangeLev + 1];
Credits = Cr + " Credits";
_root["T" + SelDepth].RangeLev++;
_root["T" + SelDepth].Range = TRange[_root["T" + SelDepth].Type][_root["T" + SelDepth].RangeLev];
_root["T" + SelDepth].UpdateUpgrades();
}
}
Symbol 168 Button
on (release) {
if ((Cr >= TReloadCost[_root["T" + SelDepth].Type][_root["T" + SelDepth].ReloadLev + 1]) && (_root["T" + SelDepth].ReloadLev < 9)) {
Cr = Cr - TReloadCost[_root["T" + SelDepth].Type][_root["T" + SelDepth].ReloadLev + 1];
Credits = Cr + " Credits";
_root["T" + SelDepth].ReloadLev++;
_root["T" + SelDepth].Reload = TReload[_root["T" + SelDepth].Type][_root["T" + SelDepth].ReloadLev];
_root["T" + SelDepth].UpdateUpgrades();
}
}
Symbol 170 Button
on (release) {
if ((Cr >= TPowerCost[_root["T" + SelDepth].Type][_root["T" + SelDepth].PowerLev + 1]) && (_root["T" + SelDepth].PowerLev < 9)) {
Cr = Cr - TPowerCost[_root["T" + SelDepth].Type][_root["T" + SelDepth].PowerLev + 1];
Credits = Cr + " Credits";
_root["T" + SelDepth].PowerLev++;
_root["T" + SelDepth].Power = TPower[_root["T" + SelDepth].Type][_root["T" + SelDepth].PowerLev];
_root["T" + SelDepth].UpdateUpgrades();
}
}
Symbol 171 Button
on (release) {
if ((Cr >= 150) && (Placing == 0)) {
Cr = Cr - 150;
Credits = Cr + " Credits";
Placing = 1;
var dep;
dep = _root.getNextHighestDepth();
_root.attachMovie("mcTHeavy", "T" + dep, dep);
_root["T" + dep].Index = _root.Turrets;
_root["T" + dep].Dep = dep;
_root["T" + dep].Range = TRange[1][0];
_root["T" + dep].Reload = TReload[1][0];
_root["T" + dep].Power = TPower[1][0];
_root["T" + dep].PowerLev = 0;
_root["T" + dep].RangeLev = 0;
_root["T" + dep].ReloadLev = 0;
_root["T" + dep].Type = 1;
AddTurret(1, dep);
}
}
on (rollOver) {
attachMovie("mcInfo", "InfoBox", _root.getNextHighestDepth());
InfoBox._alpha = 70;
InfoBox.title = "Heavy Turret - 150 Cr";
InfoBox.infoInfo = "Medium/slow rate of fire, high damage, small AOE. Your basic heavy hitter";
InfoBox._x = _root._xmouse;
InfoBox._y = _root._ymouse;
}
on (rollOut) {
InfoBox.removeMovieClip();
}
Symbol 173 Button
on (release) {
if ((Cr >= 100) && (Placing == 0)) {
Cr = Cr - 100;
Credits = Cr + " Credits";
Placing = 1;
var dep;
dep = _root.getNextHighestDepth();
_root.attachMovie("mcTBasic", "T" + dep, dep);
_root["T" + dep].Index = _root.Turrets;
_root["T" + dep].Dep = dep;
_root["T" + dep].Range = TRange[0][0];
_root["T" + dep].Reload = TReload[0][0];
_root["T" + dep].Power = TPower[0][0];
_root["T" + dep].PowerLev = 0;
_root["T" + dep].RangeLev = 0;
_root["T" + dep].ReloadLev = 0;
_root["T" + dep].Type = 0;
AddTurret(0, dep);
}
}
on (rollOver) {
attachMovie("mcInfo", "InfoBox", _root.getNextHighestDepth());
InfoBox._alpha = 70;
InfoBox.title = "Basic Turret - 100 Cr";
InfoBox.infoInfo = "Medium rate of fire, medium damage, medium AOE. All around a versitle turret";
InfoBox._x = _root._xmouse;
InfoBox._y = _root._ymouse;
}
on (rollOut) {
InfoBox.removeMovieClip();
}
Symbol 178 Button
on (release) {
if ((eCount <= 240) && (CurWave < Waves)) {
SendWave(CurWave);
CurWave++;
TimeLeft = int(FramesLeft / 15);
}
}
Symbol 190 MovieClip Frame 1
var Value;
var Next;
if ((Value >= 0) && (Value != undefined)) {
BottomAdd._xscale = 0;
if ((Next >= 0) && (Next < 100)) {
BottomAdd._xscale = (Next / 100) * 25;
}
if ((Next >= 100) && (Next < 1000)) {
BottomAdd._xscale = 25 + (((Next - 100) / 900) * 25);
}
if ((Next >= 1000) && (Next < 10000)) {
BottomAdd._xscale = 50 + (((Next - 1000) / 9000) * 25);
}
if ((Next >= 10000) && (AddNext < 100000)) {
BottomAdd._xscale = 75 + (((Next - 10000) / 90000) * 25);
}
if ((Value >= 0) && (Value < 100)) {
BottomGuage._xscale = (Value / 100) * 25;
TopGuage._xscale = (Value / 100) * 100;
}
if ((Value >= 100) && (Value < 1000)) {
BottomGuage._xscale = 25 + (((Value - 100) / 900) * 25);
TopGuage._xscale = ((Value - 100) / 900) * 100;
}
if ((Value >= 1000) && (Value < 10000)) {
BottomGuage._xscale = 50 + (((Value - 1000) / 9000) * 25);
TopGuage._xscale = ((Value - 1000) / 9000) * 100;
}
if ((Value >= 10000) && (Value < 100000)) {
BottomGuage._xscale = 75 + (((Value - 10000) / 90000) * 25);
TopGuage._xscale = ((Value - 10000) / 90000) * 100;
}
if (Value > 100000) {
BottomGuage._xscale = 100;
TopGuage._xscale = 100;
BottomAdd._xscale = 100;
}
}
Symbol 190 MovieClip Frame 2
gotoAndPlay (1);