[Tools][Expand/Collapse All]Note that automatic extraction of ActionScript 3 is still pretty much unsupported by swfchan. AS1/AS2 works okay most of the time.Frame 1 (79 B)
_root.kongregateServices.connect();
_root.kongregateScores.setMode("Medium");
Frame 2 (1.08 KiB) ●
stop();
_global.newGame;
_global.instructions;
_global.techTree;
var xSize = 40;
var ySize = 36;
var mapGrid = new Array(xSize);
var i = 0;
while (i < xSize) {
mapGrid[i] = new Array(ySize);
var j = 0;
while (j < ySize) {
mapGrid[i][j] = 0;
j++;
}
i++;
}
delete xSize;
delete ySize;
var sounds = {};
sounds.buttonMouseOver = new Sound();
sounds.moneySound = new Sound();
sounds.deathSound = new Sound();
sounds.buttonMouseOver.attachSound("buttonMouseOver");
sounds.buttonMouseOver.setVolume(35);
sounds.moneySound.attachSound("moneySound");
sounds.deathSound.attachSound("deathSound");
var i = 1;
while (i < 14) {
sounds["shotSound" + i] = new Sound();
sounds["shotSound" + i].attachSound("shotSound" + i);
i++;
}
var i = 0;
while (i < 10) {
sounds["minion" + i] = new Sound();
sounds["minion" + i].attachSound(("minion" + i) + "sfx");
i++;
}
sounds.minion2 = new Sound();
sounds.minion2.attachSound("minion2sfxd");
Game.globalMessage = _root.attachMovie("starfieldUI", "starfieldUI", _root.getNextHighestDepth());
Transitions.showTitle();
Symbol 30 MovieClip [cgdc5Button] Frame 1 (1.63 KiB) ●
function answer() {
answered = true;
}
function noResponse() {
if (!answered) {
getURL ("http://jayisgames.com/cgdc5/?ref=caeeebb9");
}
}
if (ExternalInterface.available) {
ExternalInterface.addCallback("answer", this, answer);
}
var answered = false;
button_mc.onRelease = function () {
if (ExternalInterface.available) {
ExternalInterface.call("cgdc5close");
}
setTimeout(noResponse, 500);
};
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("caeeebb9", this, 10301, true);
Symbol 36 MovieClip [minion1] Frame 1 (70 B)
#initclip 172
Object.registerClass("minion1", Normal);
#endinitclip
Symbol 50 MovieClip [alphaTower] Frame 1 (71 B)
#initclip 93
Object.registerClass("alphaTower", Alpha);
#endinitclip
Symbol 58 MovieClip [betaTower] Frame 1 (69 B)
#initclip 94
Object.registerClass("betaTower", Beta);
#endinitclip
Symbol 60 MovieClip [gammaTower] Frame 1 (71 B)
#initclip 95
Object.registerClass("gammaTower", Gamma);
#endinitclip
Symbol 78 MovieClip [deltaTower] Frame 1 (72 B)
#initclip 96
Object.registerClass("deltaTower", DeltaT);
#endinitclip
Symbol 81 MovieClip [digammaTower] Frame 1 (75 B)
#initclip 97
Object.registerClass("digammaTower", Digamma);
#endinitclip
Symbol 84 MovieClip [epsilonTower] Frame 1 (75 B)
#initclip 98
Object.registerClass("epsilonTower", Epsilon);
#endinitclip
Symbol 87 MovieClip [etaTower] Frame 1 (67 B)
#initclip 99
Object.registerClass("etaTower", Eta);
#endinitclip
Symbol 90 MovieClip [iotaTower] Frame 1 (70 B)
#initclip 100
Object.registerClass("iotaTower", Iota);
#endinitclip
Symbol 93 MovieClip [kappaTower] Frame 1 (72 B)
#initclip 101
Object.registerClass("kappaTower", Kappa);
#endinitclip
Symbol 96 MovieClip [koppaTower] Frame 1 (72 B)
#initclip 102
Object.registerClass("koppaTower", Koppa);
#endinitclip
Symbol 99 MovieClip [lambdaTower] Frame 1 (74 B)
#initclip 103
Object.registerClass("lambdaTower", Lambda);
#endinitclip
Symbol 102 MovieClip [muTower] Frame 1 (66 B)
#initclip 104
Object.registerClass("muTower", Mu);
#endinitclip
Symbol 105 MovieClip [nuTower] Frame 1 (66 B)
#initclip 105
Object.registerClass("nuTower", Nu);
#endinitclip
Symbol 108 MovieClip [omegaTower] Frame 1 (72 B)
#initclip 106
Object.registerClass("omegaTower", Omega);
#endinitclip
Symbol 111 MovieClip [omicronTower] Frame 1 (76 B)
#initclip 107
Object.registerClass("omicronTower", Omicron);
#endinitclip
Symbol 114 MovieClip [phiTower] Frame 1 (68 B)
#initclip 108
Object.registerClass("phiTower", Phi);
#endinitclip
Symbol 117 MovieClip [piTower] Frame 1 (66 B)
#initclip 109
Object.registerClass("piTower", Pi);
#endinitclip
Symbol 120 MovieClip [psiTower] Frame 1 (68 B)
#initclip 110
Object.registerClass("psiTower", Psi);
#endinitclip
Symbol 123 MovieClip [rhoTower] Frame 1 (68 B)
#initclip 111
Object.registerClass("rhoTower", Rho);
#endinitclip
Symbol 126 MovieClip [sampiTower] Frame 1 (72 B)
#initclip 112
Object.registerClass("sampiTower", Sampi);
#endinitclip
Symbol 129 MovieClip [sigmaTower] Frame 1 (72 B)
#initclip 113
Object.registerClass("sigmaTower", Sigma);
#endinitclip
Symbol 132 MovieClip [stigmaTower] Frame 1 (74 B)
#initclip 114
Object.registerClass("stigmaTower", Stigma);
#endinitclip
Symbol 135 MovieClip [tauTower] Frame 1 (68 B)
#initclip 115
Object.registerClass("tauTower", Tau);
#endinitclip
Symbol 138 MovieClip [thetaTower] Frame 1 (72 B)
#initclip 116
Object.registerClass("thetaTower", Theta);
#endinitclip
Symbol 141 MovieClip [xiTower] Frame 1 (66 B)
#initclip 117
Object.registerClass("xiTower", Xi);
#endinitclip
Symbol 144 MovieClip [zetaTower] Frame 1 (70 B)
#initclip 118
Object.registerClass("zetaTower", Zeta);
#endinitclip
Symbol 186 MovieClip [hut] Frame 1 (63 B)
#initclip 119
Object.registerClass("hut", Hut);
#endinitclip
Symbol 191 MovieClip [advAmmoFactory] Frame 1 (85 B)
#initclip 120
Object.registerClass("advAmmoFactory", AdvAmmoFactory);
#endinitclip
Symbol 194 MovieClip [advEnergyPlant] Frame 1 (85 B)
#initclip 121
Object.registerClass("advEnergyPlant", AdvEnergyPlant);
#endinitclip
Symbol 197 MovieClip [advHeatPlant] Frame 1 (81 B)
#initclip 122
Object.registerClass("advHeatPlant", AdvHeatPlant);
#endinitclip
Symbol 200 MovieClip [ammoAssembly] Frame 1 (81 B)
#initclip 123
Object.registerClass("ammoAssembly", AmmoAssembly);
#endinitclip
Symbol 203 MovieClip [ammoFactory] Frame 1 (79 B)
#initclip 124
Object.registerClass("ammoFactory", AmmoFactory);
#endinitclip
Symbol 206 MovieClip [ammoHut] Frame 1 (71 B)
#initclip 125
Object.registerClass("ammoHut", AmmoHut);
#endinitclip
Symbol 209 MovieClip [basicResearch] Frame 1 (83 B)
#initclip 126
Object.registerClass("basicResearch", BasicResearch);
#endinitclip
Symbol 212 MovieClip [biodome] Frame 1 (71 B)
#initclip 127
Object.registerClass("biodome", Biodome);
#endinitclip
Symbol 215 MovieClip [coalBurningPlant] Frame 1 (89 B)
#initclip 128
Object.registerClass("coalBurningPlant", CoalBurningPlant);
#endinitclip
Symbol 218 MovieClip [corporateHQ] Frame 1 (79 B)
#initclip 129
Object.registerClass("corporateHQ", CorporateHQ);
#endinitclip
Symbol 221 MovieClip [energyPlant] Frame 1 (79 B)
#initclip 130
Object.registerClass("energyPlant", EnergyPlant);
#endinitclip
Symbol 224 MovieClip [hotel] Frame 1 (67 B)
#initclip 131
Object.registerClass("hotel", Hotel);
#endinitclip
Symbol 227 MovieClip [house] Frame 1 (67 B)
#initclip 132
Object.registerClass("house", House);
#endinitclip
Symbol 230 MovieClip [laserBase] Frame 1 (75 B)
#initclip 133
Object.registerClass("laserBase", LaserBase);
#endinitclip
Symbol 233 MovieClip [laserResearchFac] Frame 1 (89 B)
#initclip 134
Object.registerClass("laserResearchFac", LaserResearchFac);
#endinitclip
Symbol 236 MovieClip [magicAcademy] Frame 1 (81 B)
#initclip 135
Object.registerClass("magicAcademy", MagicAcademy);
#endinitclip
Symbol 239 MovieClip [magicSchool] Frame 1 (79 B)
#initclip 136
Object.registerClass("magicSchool", MagicSchool);
#endinitclip
Symbol 242 MovieClip [magicUniversity] Frame 1 (87 B)
#initclip 137
Object.registerClass("magicUniversity", MagicUniversity);
#endinitclip
Symbol 245 MovieClip [militaryBase] Frame 1 (81 B)
#initclip 138
Object.registerClass("militaryBase", MilitaryBase);
#endinitclip
Symbol 248 MovieClip [MissileBase] Frame 1 (79 B)
#initclip 139
Object.registerClass("MissileBase", MissileBase);
#endinitclip
Symbol 251 MovieClip [missileResearchFac] Frame 1 (93 B)
#initclip 140
Object.registerClass("missileResearchFac", MissileResearchFac);
#endinitclip
Symbol 254 MovieClip [poisonCenter] Frame 1 (81 B)
#initclip 141
Object.registerClass("poisonCenter", PoisonCenter);
#endinitclip
Symbol 255 MovieClip [robotAmmoFactory] Frame 1 (89 B)
#initclip 142
Object.registerClass("robotAmmoFactory", RobotAmmoFactory);
#endinitclip
Symbol 256 MovieClip [robotEnergyPlant] Frame 1 (89 B)
#initclip 143
Object.registerClass("robotEnergyPlant", RobotEnergyPlant);
#endinitclip
Symbol 259 MovieClip [underground] Frame 1 (79 B)
#initclip 144
Object.registerClass("underground", Underground);
#endinitclip
Symbol 308 MovieClip [easyButton] Frame 1 (74 B)
#initclip 145
Object.registerClass("easyButton", EasyMap);
#endinitclip
Symbol 312 MovieClip [mediumButton] Frame 1 (78 B)
#initclip 146
Object.registerClass("mediumButton", MediumMap);
#endinitclip
Symbol 316 MovieClip [hardButton] Frame 1 (74 B)
#initclip 147
Object.registerClass("hardButton", HardMap);
#endinitclip
Symbol 322 MovieClip [ironShieldButton] Frame 1 (83 B)
#initclip 148
Object.registerClass("ironShieldButton", IronShield);
#endinitclip
Symbol 325 MovieClip [junkyardButton] Frame 1 (83 B)
#initclip 149
Object.registerClass("junkyardButton", JunkyardGang);
#endinitclip
Symbol 328 MovieClip [omnicorpButton] Frame 1 (79 B)
#initclip 150
Object.registerClass("omnicorpButton", Omnicorp);
#endinitclip
Symbol 331 MovieClip [unityButton] Frame 1 (73 B)
#initclip 151
Object.registerClass("unityButton", Unity);
#endinitclip
Symbol 334 MovieClip [remnantsButton] Frame 1 (79 B)
#initclip 152
Object.registerClass("remnantsButton", Remnants);
#endinitclip
Symbol 337 MovieClip [orderButton] Frame 1 (76 B)
#initclip 153
Object.registerClass("orderButton", TheOrder);
#endinitclip
Symbol 531 MovieClip [chiTower] Frame 1 (68 B)
#initclip 154
Object.registerClass("chiTower", Chi);
#endinitclip
Symbol 536 MovieClip [upsilonTower] Frame 1 (76 B)
#initclip 155
Object.registerClass("upsilonTower", Upsilon);
#endinitclip
Symbol 587 MovieClip [minion0] Frame 1 (75 B)
#initclip 156
Object.registerClass("minion0", Regenerator);
#endinitclip
Symbol 590 MovieClip [minion2] Frame 1 (70 B)
#initclip 157
Object.registerClass("minion2", Immune);
#endinitclip
Symbol 593 MovieClip [minion3] Frame 1 (68 B)
#initclip 158
Object.registerClass("minion3", Fast);
#endinitclip
Symbol 596 MovieClip [minion4] Frame 1 (69 B)
#initclip 159
Object.registerClass("minion4", Group);
#endinitclip
Symbol 599 MovieClip [minion5] Frame 1 (71 B)
#initclip 160
Object.registerClass("minion5", Healthy);
#endinitclip
Symbol 602 MovieClip [minion6] Frame 1 (71 B)
#initclip 161
Object.registerClass("minion6", Armored);
#endinitclip
Symbol 605 MovieClip [minion7] Frame 1 (72 B)
#initclip 162
Object.registerClass("minion7", Barrager);
#endinitclip
Symbol 608 MovieClip [minion8] Frame 1 (73 B)
#initclip 163
Object.registerClass("minion8", Resiliant);
#endinitclip
Symbol 611 MovieClip [minion9] Frame 1 (70 B)
#initclip 164
Object.registerClass("minion9", Rusher);
#endinitclip
Symbol 614 MovieClip [minion10] Frame 1 (69 B)
#initclip 165
Object.registerClass("minion10", Boss);
#endinitclip
Symbol 754 MovieClip [economicCenter] Frame 1 (85 B)
#initclip 166
Object.registerClass("economicCenter", EconomicCenter);
#endinitclip
Symbol 928 MovieClip [loopButton] Frame 1 (74 B)
#initclip 167
Object.registerClass("loopButton", LoopMap);
#endinitclip
Symbol 934 MovieClip [circleButton] Frame 1 (78 B)
#initclip 168
Object.registerClass("circleButton", CircleMap);
#endinitclip
Symbol 940 MovieClip [cornerButton] Frame 1 (78 B)
#initclip 169
Object.registerClass("cornerButton", CornerMap);
#endinitclip
Symbol 946 MovieClip [spiralButton] Frame 1 (78 B)
#initclip 170
Object.registerClass("spiralButton", SpiralMap);
#endinitclip
Symbol 952 MovieClip [zigButton] Frame 1 (72 B)
#initclip 171
Object.registerClass("zigButton", ZigMap);
#endinitclip
Symbol 1054 MovieClip [__Packages.Tower] Frame 0 (22.23 KiB) ● ● ●
class Tower extends MovieClip
{
static var focus, upgraded;
var towerSize, baseName, bullet_mc, attackType, cost, towerLevel, currentTowerLevel, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletSound, bulletMovement, isEconomic, removeMovieClip, _alpha, defenseRange, _x, _y, attachMovie, swapDepths, isResearch, keyListener;
function Tower (baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, baseCost, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx) {
super();
this.towerSize = towerSize;
this.baseName = baseName;
this.bullet_mc = bullet_mc;
attackType = defaultAttackType;
cost = baseCost;
this.towerLevel = towerLevel;
currentTowerLevel = this.towerLevel[0];
this.upgradeCost = upgradeCost;
this.people = people;
this.heat = heat;
this.magic = magic;
this.energy = energy;
this.ammo = ammo;
this.poison = poison;
this.shot = shot;
this.targets = targets;
this.splash = splash;
this.dot = dot;
this.damage = damage;
this.slow1 = slow1;
this.slow2 = slow2;
this.stun = stun;
this.armor = armor;
this.gold = gold;
this.boost = boost;
bulletSound = bullet_sfx;
if (bulletMove == undefined) {
bulletMovement = [1, 0.25, 0, 0];
} else {
bulletMovement = bulletMove;
}
Mouse.hide();
}
function onLoad() {
if (isEconomic) {
cost = cost * Game.economicCost_GA;
} else {
cost = cost * Game.defenseCost_GA;
}
if (cost > Game.goldAvailable) {
Game.goldShortage();
Mouse.show();
removeMovieClip();
} else if (people[0][0] > Game.peopleAvailable) {
Game.peopleShortage();
Mouse.show();
removeMovieClip();
} else if (heat[0][0] > Game.heatAvailable) {
Game.heatShortage();
Mouse.show();
removeMovieClip();
} else if (magic[0][0] > Game.magicAvailable) {
Game.magicShortage();
Mouse.show();
removeMovieClip();
} else if (energy[0][0] > Game.energyAvailable) {
Game.energyShortage();
Mouse.show();
removeMovieClip();
}
attachRange();
}
static function calculateValue(_init, _incr, _accel, level) {
var _local2 = (_init * Math.pow(_incr, level - 1)) * Math.pow(_accel, (Math.pow(level, 2) - level) / 2);
return(_local2);
}
static function calculateValueType2(_init, _incr, _accel, level) {
var _local2 = _init / (Math.pow(_incr, level - 1) * Math.pow(_accel, (Math.pow(level, 2) - level) / 2));
return(_local2);
}
function towerTick() {
if (!placed) {
xCoord = Math.floor((_root._xmouse - Game.LEFT_MARGIN) / Game.TILE_SIZE);
yCoord = Math.floor((_root._ymouse - Game.TOP_MARGIN) / Game.TILE_SIZE);
lowerBound_x = (xCoord * Game.TILE_SIZE) + Game.LEFT_MARGIN;
lowerBound_y = (yCoord * Game.TILE_SIZE) + Game.TOP_MARGIN;
upperBound_x = (lowerBound_x + (Game.TILE_SIZE * towerSize[0])) - 1;
upperBound_y = (lowerBound_y + (Game.TILE_SIZE * towerSize[1])) - 1;
_alpha = BASE_HIGH_ALPHA;
defenseRange._alpha = RANGE_HIGH_ALPHA;
placeable = true;
_x = lowerBound_x;
_y = lowerBound_y;
placeableTest();
}
if (placed && (!isEconomic)) {
fireClockTick();
}
}
function attachRange() {
var _local3 = calculateValue(shot[1][0], shot[1][1], shot[1][2], currentTowerLevel);
if (!isEconomic) {
defenseRange = attachMovie("baseRange", "baseRange", _root.getNextHighestDepth(), {_x:(Game.TILE_SIZE * towerSize[0]) / 2, _y:(Game.TILE_SIZE * towerSize[1]) / 2, _width:_local3, _height:_local3, _alpha:RANGE_HIGH_ALPHA});
defenseRange.useHandCursor = false;
}
}
function placeableTest() {
var _local5 = 0;
var _local4 = 1;
while (_local4 < Game.wayPoint_x.length) {
if ((((upperBound_x >= Math.min(Game.wayPoint_x[_local4], Game.wayPoint_x[_local4 - 1])) && (lowerBound_x <= ((Math.max(Game.wayPoint_x[_local4], Game.wayPoint_x[_local4 - 1]) + (Game.ROAD_SIZE * Game.TILE_SIZE)) - 1))) && (upperBound_y >= Math.min(Game.wayPoint_y[_local4], Game.wayPoint_y[_local4 - 1]))) && (lowerBound_y <= ((Math.max(Game.wayPoint_y[_local4], Game.wayPoint_y[_local4 - 1]) + (Game.ROAD_SIZE * Game.TILE_SIZE)) - 1))) {
_local5 = _local5 + 1;
}
_local4++;
}
if ((((upperBound_x > (Game.LEFT_MARGIN + Game.PLAY_WIDTH)) || (lowerBound_x < Game.LEFT_MARGIN)) || (upperBound_y > (Game.TOP_MARGIN + Game.PLAY_HEIGHT))) || (lowerBound_y < Game.TOP_MARGIN)) {
_local5 = _local5 + 1;
}
_local4 = xCoord;
while (_local4 < (xCoord + towerSize[0])) {
var _local3 = yCoord;
while (_local3 < (yCoord + towerSize[1])) {
if (_root.mapGrid[_local4][_local3] != 0) {
_local5 = _local5 + 1;
_local3 = 99;
_local4 = 99;
}
_local3++;
}
_local4++;
}
if (_local5 != 0) {
defenseRange._alpha = RANGE_LOW_ALPHA;
_alpha = BASE_LOW_ALPHA;
placeable = false;
}
}
function placeTower() {
if (placeable) {
placed = true;
delete placeable;
Research.reloadTowerPanel();
var _local4 = xCoord;
while (_local4 < (xCoord + towerSize[0])) {
var _local3 = yCoord;
while (_local3 < (yCoord + towerSize[1])) {
_root.mapGrid[_local4][_local3] = 1;
_local3++;
}
_local4++;
}
var _local11 = ((yCoord + 1) * 100) + xCoord;
swapDepths(_local11);
Game.goldAvailable = Game.goldAvailable - Math.round(cost);
if (!isResearch) {
Game.totalWorth = Game.totalWorth - Math.round(cost * (1 - Game.towerWorth));
}
var _local7 = people[1][0];
var _local6 = energy[1][0];
var _local9 = heat[1][0];
var _local5 = magic[1][0];
var _local8 = ammo[1][0];
var _local10 = poison[1][0];
_local7 = _local7 * Game.peopleProduction_GA;
_local6 = _local6 * Game.energyProduction_GA;
_local9 = _local9 * Game.heatProduction_GA;
_local5 = _local5 * Game.magicProduction_GA;
_local8 = _local8 * Game.ammoProduction_GA;
_local10 = _local10 * Game.poisonProduction_GA;
Game.peopleAvailable = Game.peopleAvailable + Math.round(_local7 - people[0][0]);
Game.energyAvailable = Game.energyAvailable + Math.round(_local6 - energy[0][0]);
Game.heatAvailable = Game.heatAvailable + Math.round(_local9 - heat[0][0]);
Game.magicAvailable = Game.magicAvailable + Math.round(_local5 - magic[0][0]);
Game.ammoProduced = Game.ammoProduced + Math.round(_local8);
Game.ammoStorable = Game.ammoStorable + Math.round(ammo[2][0]);
Game.poisonProduced = Game.poisonProduced + Math.round(_local10);
Game.poisonStorable = Game.poisonStorable + Math.round(poison[2][0]);
} else if ((!placeable) && (!placed)) {
removeMovieClip();
}
}
function onMouseDown() {
delete lowerBound_x;
delete upperBound_x;
delete lowerBound_y;
delete upperBound_y;
Mouse.show();
placeTower();
cleanUp();
}
function onRelease() {
delete focus;
focus = this;
if (placed) {
attachRange();
keyListener = new Object();
keyListener.onKeyUp = function () {
switch (Key.getCode()) {
case 85 :
Tower.upgraded = true;
Tower.focus.upgradeTower();
return;
case 83 :
Tower.focus.sellTower();
return;
}
};
Key.addListener(keyListener);
}
describeTower();
}
function cleanUp() {
if (!upgraded) {
delete focus;
}
Game.towerDescribe.towerDescribeText.text = "";
defenseRange.removeMovieClip();
Key.removeListener(keyListener);
}
function fireClockTick() {
var _local15 = calculateValueType2(shot[2][0], shot[2][1], shot[2][2], currentTowerLevel);
_local15 = _local15 * Game.shotRate_GA;
if (fireClock > _local15) {
var _local10 = 0;
var _local5 = false;
var _local6;
var _local8 = calculateValue(ammo[0][0], ammo[0][1], ammo[0][2], currentTowerLevel);
var _local9 = calculateValue(poison[0][0], poison[0][1], poison[0][2], currentTowerLevel);
var _local12 = calculateValue(targets[0][0], targets[0][1], targets[0][2], currentTowerLevel);
var _local13 = calculateValue(targets[1][0], targets[1][1], targets[1][2], currentTowerLevel);
var _local14 = calculateValue(shot[1][0], shot[1][1], shot[1][2], currentTowerLevel);
_local12 = _local12 * Game.effectPercent_GA;
_local13 = _local13 * Game.effectChance_GA;
_local14 = _local14 * (Game.effectRange_GA * Game.shotRange_GA);
_local12 = Math.round(_local12);
var _local3 = 0;
while (_local3 < Wave.monsterNumber) {
dist_x = (_x + ((Game.TILE_SIZE * towerSize[0]) / 2)) - Wave.monArr[_local3]._x;
dist_y = (_y + ((Game.TILE_SIZE * towerSize[1]) / 2)) - Wave.monArr[_local3]._y;
var _local7 = Wave.monArr[_local3].health - Wave.monArr[_local3].projDamage;
if (_local7 >= 0) {
if (attackType == 0) {
if (Math.sqrt((dist_x * dist_x) + (dist_y * dist_y)) < (_local14 / 2)) {
fireTarget = _local3;
fireClock = 0;
_local5 = true;
}
}
}
if (_local5) {
_local10++;
if (_local8 > Game.ammoAvailable) {
_local6 = 0.5;
Game.ammoShortage();
} else {
_local6 = 1;
Game.ammoAvailable = Game.ammoAvailable - Math.round(_local8);
}
if (_local9 <= Game.poisonAvailable) {
Game.poisonAvailable = Game.poisonAvailable - Math.round(_local9);
var _local4 = calculateValue(shot[0][0], shot[0][1], shot[0][2], currentTowerLevel);
_local4 = _local4 * Game.shotDamage_GA;
_root.sounds[bulletSound].start();
var _local11 = new Missile(bullet_mc, towerSize, fireTarget, currentTowerLevel, _local4 * _local6, splash, _x, _y, slow1, slow2, dot, damage, stun, armor, gold, bulletMovement);
fireTarget = -1;
} else {
Game.poisonShortage();
}
_local5 = false;
}
if ((_local10 >= _local12) || (Math.random() > _local13)) {
_local3 = Wave.monsterNumber;
}
_local3++;
}
} else {
fireClock++;
}
}
function fireRangeCheck() {
}
function upgradeTower() {
delete focus;
var _local4 = calculateValue(upgradeCost[0], upgradeCost[1], upgradeCost[2], currentTowerLevel);
if (isEconomic) {
_local4 = _local4 * Game.economicUpgrade_GA;
} else {
_local4 = _local4 * Game.defenseUpgrade_GA;
}
var _local2 = towerStats(currentTowerLevel);
Game.peopleAvailable = Game.peopleAvailable - Math.round(_local2.peopleProd - _local2.peopleCost);
Game.energyAvailable = Game.energyAvailable - Math.round(_local2.energyProd - _local2.energyCost);
Game.heatAvailable = Game.heatAvailable - Math.round(_local2.heatProd - _local2.heatCost);
Game.magicAvailable = Game.magicAvailable - Math.round(_local2.magicProd - _local2.magicCost);
Game.ammoProduced = Game.ammoProduced - Math.round(_local2.ammoProd);
Game.ammoStorable = Game.ammoStorable - Math.round(_local2.ammoStore);
Game.poisonProduced = Game.poisonProduced - Math.round(_local2.poisonProd);
Game.poisonStorable = Game.poisonStorable - Math.round(_local2.poisonStore);
var _local3 = towerStats(currentTowerLevel + 1);
var _local7 = _local3.peopleCost - _local3.peopleProd;
var _local6 = _local3.energyCost - _local3.energyProd;
var _local5 = _local3.heatCost - _local3.heatProd;
var _local8 = _local3.magicCost - _local3.magicProd;
if (currentTowerLevel == towerLevel[1]) {
Game.maxLevel();
} else if (_local4 > Game.goldAvailable) {
Game.goldShortage();
} else if (_local7 > Game.peopleAvailable) {
Game.peopleShortage();
} else if (_local5 > Game.heatAvailable) {
Game.heatShortage();
} else if (_local6 > Game.energyAvailable) {
Game.energyShortage();
} else if (_local8 > Game.magicAvailable) {
Game.magicShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local4);
Game.totalWorth = Game.totalWorth - Math.round(_local4);
Game.totalWorth = Game.totalWorth + Math.round(_local4 * Game.towerWorth);
cost = cost + Math.round(_local4);
currentTowerLevel++;
}
defenseRange.removeMovieClip();
attachRange();
resetTower();
describeTower();
focus = this;
Key.addListener(keyListener);
}
function towerStats(towerLevel) {
var _local11 = calculateValue(people[0][0], people[0][1], people[0][2], towerLevel);
var _local7 = calculateValue(people[1][0], people[1][1], people[1][2], towerLevel);
var _local5 = calculateValue(energy[0][0], energy[0][1], energy[0][2], towerLevel);
var _local4 = calculateValue(energy[1][0], energy[1][1], energy[1][2], towerLevel);
var _local13 = calculateValue(heat[0][0], heat[0][1], heat[0][2], towerLevel);
var _local9 = calculateValue(heat[1][0], heat[1][1], heat[1][2], towerLevel);
var _local6 = calculateValue(magic[0][0], magic[0][1], magic[0][2], towerLevel);
var _local3 = calculateValue(magic[1][0], magic[1][1], magic[1][2], towerLevel);
var _local8 = calculateValue(ammo[1][0], ammo[1][1], ammo[1][2], towerLevel);
var _local14 = calculateValue(ammo[2][0], ammo[2][1], ammo[2][2], towerLevel);
var _local10 = calculateValue(poison[1][0], poison[1][1], poison[1][2], towerLevel);
var _local12 = calculateValue(poison[2][0], poison[2][1], poison[2][2], towerLevel);
_local7 = _local7 * Game.peopleProduction_GA;
_local4 = _local4 * Game.energyProduction_GA;
_local9 = _local9 * Game.heatProduction_GA;
_local3 = _local3 * Game.magicProduction_GA;
_local8 = _local8 * Game.ammoProduction_GA;
_local10 = _local10 * Game.poisonProduction_GA;
_local11 = Math.round(_local11);
_local7 = Math.round(_local7);
_local5 = Math.round(_local5);
_local4 = Math.round(_local4);
_local13 = Math.round(_local13);
_local9 = Math.round(_local9);
_local6 = Math.round(_local6);
_local3 = Math.round(_local3);
_local8 = Math.round(_local8);
_local14 = Math.round(_local14);
_local10 = Math.round(_local10);
_local12 = Math.round(_local12);
return({peopleProd:_local7, peopleCost:_local11, energyProd:_local4, energyCost:_local5, heatProd:_local9, heatCost:_local13, magicProd:_local3, magicCost:_local6, ammoProd:_local8, ammoStore:_local14, poisonProd:_local10, poisonStore:_local12});
}
static function calculateValue3(stat, level) {
var _local4 = stat[0];
var _local1 = stat[1];
var _local2 = stat[2];
var _local6 = (_local4 * Math.pow(_local1, level - 1)) * Math.pow(_local2, (Math.pow(level, 2) - level) / 2);
return(_local6);
}
function describeTower() {
var _local8 = calculateValue(upgradeCost[0], upgradeCost[1], upgradeCost[2], currentTowerLevel);
_local8 = Math.floor(_local8);
var _local31 = "Level: " + currentTowerLevel;
var _local27 = "Sell Price: " + Math.round(cost * Game.TOWER_SELLBACK);
var _local29 = "Upgrade Cost: " + _local8;
var _local2 = [baseName, "", _local31, _local27, _local29];
if (shot != undefined) {
var _local4 = calculateValue(shot[0][0], shot[0][1], shot[0][2], currentTowerLevel);
var _local6 = calculateValue(shot[1][0], shot[1][1], shot[1][2], currentTowerLevel);
var _local9 = calculateValue(shot[2][0], shot[2][1], shot[2][2], currentTowerLevel);
_local4 = Math.floor(_local4 * Game.shotDamage_GA);
_local6 = Math.floor(_local6 * Game.shotRange_GA);
_local9 = Math.floor(200 - (_local9 * Game.shotRate_GA));
var _local33 = "Damage: " + _local4;
var _local32 = "Range: " + _local6;
var _local25 = "Shot Rate: " + _local9;
_local2.push(_local33, _local32, _local25);
}
if (isEconomic) {
var _local17 = ecoValue(people[1], people[0], currentTowerLevel, Game.peopleProduction_GA, "People");
if (_local17 != "") {
_local2.push(_local17);
}
var _local14 = ecoValue(ammo[1], 0, currentTowerLevel, 3 * Game.ammoProduction_GA, "Ammo Produced");
if (_local14 != "") {
var _local28 = ecoValue(ammo[2], 0, currentTowerLevel, 1, "Ammo Stored");
_local2.push(_local14, _local28);
}
var _local16 = ecoValue(energy[1], energy[0], currentTowerLevel, Game.energyProduction_GA, "Energy");
if (_local16 != "") {
_local2.push(_local16);
}
var _local18 = ecoValue(heat[1], heat[0], currentTowerLevel, Game.heatProduction_GA, "Heat");
if (_local18 != "") {
_local2.push(_local18);
}
var _local20 = ecoValue(magic[1], magic[0], currentTowerLevel, Game.magicProduction_GA, "Magic");
if (_local20 != "") {
_local2.push(_local20);
}
var _local21 = ecoValue(poison[1], 0, currentTowerLevel, 5 * Game.poisonProduction_GA, "Poison Produced");
if (_local21 != "") {
_local2.push(_local21);
}
var _local19 = ecoValue(poison[2], 0, currentTowerLevel, 1, "Poison Stored");
if (_local19 != "") {
_local2.push(_local19);
}
}
if (currentTowerLevel < towerLevel[1]) {
if (!isEconomic) {
var _local3 = calculateValue(shot[0][0], shot[0][1], shot[0][2], currentTowerLevel + 1);
var _local7 = calculateValue(shot[1][0], shot[1][1], shot[1][2], currentTowerLevel + 1);
var _local5 = calculateValue(shot[2][0], shot[2][1], shot[2][2], currentTowerLevel + 1);
_local3 = Math.floor(_local3 * Game.shotDamage_GA);
_local7 = Math.floor(_local7 * Game.shotRange_GA);
_local5 = Math.floor(200 - (_local5 * Game.shotRate_GA));
var _local26 = "Damage: " + _local3;
var _local30 = "Range: " + _local7;
var _local34 = "Shot Rate: " + _local5;
_local2.push("", "===Next Level===", _local26, _local30, _local34);
}
if (isEconomic) {
_local2.push("===Next Level===");
var _local22 = ecoValue(people[1], people[0], currentTowerLevel + 1, Game.peopleProduction_GA, "People");
if (_local22 != "") {
_local2.push(_local22);
}
var _local24 = ecoValue(ammo[1], 0, currentTowerLevel + 1, 3 * Game.ammoProduction_GA, "Ammo Produced");
if (_local24 != "") {
_local2.push(_local24);
}
var _local23 = ecoValue(ammo[2], 0, currentTowerLevel + 1, 1, "Ammo Stored");
if (_local23 != "") {
_local2.push(_local23);
}
var _local10 = ecoValue(energy[1], energy[0], currentTowerLevel + 1, Game.energyProduction_GA, "Energy");
if (_local10 != "") {
_local2.push(_local10);
}
var _local11 = ecoValue(heat[1], heat[0], currentTowerLevel + 1, Game.heatProduction_GA, "Heat");
if (_local11 != "") {
_local2.push(_local11);
}
var _local13 = ecoValue(magic[1], magic[0], currentTowerLevel + 1, Game.magicProduction_GA, "Magic");
if (_local13 != "") {
_local2.push(_local13);
}
var _local15 = ecoValue(poison[1], 0, currentTowerLevel + 1, 5 * Game.poisonProduction_GA, "Poison Produced");
if (_local15 != "") {
_local2.push(_local15);
}
var _local12 = ecoValue(poison[2], 0, currentTowerLevel + 1, 1, "Poison Stored");
if (_local12 != "") {
_local2.push(_local12);
}
}
}
Game.towerDescribe.towerDescribeText.text = _local2.join(" \n ");
}
static function ecoValue(_statProd, _statCost, level, multiplier, statLabel) {
var _local4 = calculateValue3(_statProd, level) * multiplier;
if (_statCost instanceof Array) {
var _local2 = calculateValue3(_statCost, level);
} else {
var _local2 = 0;
}
var _local1 = Math.round(_local4 - _local2);
if (_local1 == 0) {
return("");
}
var _local3 = (statLabel + ": ") + _local1;
return(_local3);
}
function resetTower() {
var _local2 = towerStats(currentTowerLevel);
Game.peopleAvailable = Game.peopleAvailable + Math.round(_local2.peopleProd - _local2.peopleCost);
Game.energyAvailable = Game.energyAvailable + Math.round(_local2.energyProd - _local2.energyCost);
Game.heatAvailable = Game.heatAvailable + Math.round(_local2.heatProd - _local2.heatCost);
Game.magicAvailable = Game.magicAvailable + Math.round(_local2.magicProd - _local2.magicCost);
Game.ammoProduced = Game.ammoProduced + Math.round(_local2.ammoProd);
Game.ammoStorable = Game.ammoStorable + Math.round(_local2.ammoStore);
Game.poisonProduced = Game.poisonProduced + Math.round(_local2.poisonProd);
Game.poisonStorable = Game.poisonStorable + Math.round(_local2.poisonStore);
}
function sellTower() {
var _local5 = towerStats(currentTowerLevel);
if ((Game.peopleAvailable - _local5.peopleProd) < 0) {
Game.peopleShortage();
} else if ((Game.energyAvailable - _local5.energyProd) < 0) {
Game.energyShortage();
} else if ((Game.heatAvailable - _local5.heatProd) < 0) {
Game.heatShortage();
} else if ((Game.magicAvailable - _local5.magicProd) < 0) {
Game.magicShortage();
} else {
var _local4 = focus.xCoord;
while (_local4 < (focus.xCoord + focus.towerSize[0])) {
var _local3 = focus.yCoord;
while (_local3 < (focus.yCoord + focus.towerSize[1])) {
_root.mapGrid[_local4][_local3] = 0;
_local3++;
}
_local4++;
}
if (isResearch) {
Game.totalWorth = Game.totalWorth - Math.round(cost * (1 - Game.TOWER_SELLBACK));
} else {
Game.totalWorth = Game.totalWorth + Math.round(cost * (Game.TOWER_SELLBACK - Game.towerWorth));
}
Game.goldAvailable = Game.goldAvailable + Math.round(cost * Game.TOWER_SELLBACK);
Game.peopleAvailable = Game.peopleAvailable - (_local5.peopleProd - _local5.peopleCost);
Game.energyAvailable = Game.energyAvailable - (_local5.energyProd - _local5.energyCost);
Game.heatAvailable = Game.heatAvailable - (_local5.heatProd - _local5.heatCost);
Game.magicAvailable = Game.magicAvailable - (_local5.magicProd - _local5.magicCost);
Game.ammoProduced = Game.ammoProduced - _local5.ammoProd;
Game.ammoStorable = Game.ammoStorable - _local5.ammoStore;
Game.poisonProduced = Game.poisonProduced - _local5.poisonProd;
Game.poisonStorable = Game.poisonStorable - _local5.poisonStore;
removeMovieClip();
if (Game.poisonProduced < 0) {
Game.poisonProduced = 0;
}
if (Game.ammoProduced < 0) {
Game.ammoProduced = 0;
}
Game.towerDescribe.towerDescribeText.text = "";
}
}
static var BASE_LOW_ALPHA = 50;
static var BASE_HIGH_ALPHA = 100;
static var RANGE_LOW_ALPHA = 0;
static var RANGE_HIGH_ALPHA = 25;
var placeable = false;
var placed = false;
var xCoord = 0;
var yCoord = 0;
var lowerBound_x = 0;
var upperBound_x = 0;
var lowerBound_y = 0;
var upperBound_y = 0;
var fireClock = 0;
var dist_x = 0;
var dist_y = 0;
var fireTarget = -1;
}
Symbol 1055 MovieClip [__Packages.Game] Frame 0 (13.69 KiB) ● ●
class Game
{
static var difficulty, wayPoint_x, wayPoint_y, gameLost, towerDescribe, goldCount, lifeCount, globalMessage, peopleCount, ammoCount, energyCount, heatCount, magicCount, poisonCount, economicFocus, format1, format2, format3, redBold, totalWorth;
function Game () {
Transitions.showMapSelect();
}
static function factionSelect() {
setupTextFormat();
Transitions.removeMapSelect();
Transitions.showFactionSelect();
}
static function mapfactSetup() {
Transitions.removeFactionSelect();
_root.attachMovie(difficulty + "Path", difficulty + "Path", 69, {_x:LEFT_MARGIN, _y:TOP_MARGIN});
setupGame();
}
static function setupGame() {
towerWorth = towerWorth / 1.5;
var _local6 = wayPoint_x.length;
var _local5 = wayPoint_x;
var _local4 = wayPoint_y;
var _local3 = 0;
while (_local3 < _local6) {
_local5[_local3] = _local5[_local3] + LEFT_MARGIN;
_local4[_local3] = _local4[_local3] + TOP_MARGIN;
_local3++;
}
gameLost = false;
towerDescribe = _root.attachMovie("towerDescribe", "towerDescribe", 5000, {_x:(LEFT_MARGIN + PLAY_WIDTH) + MIDDLE_X_MARGIN, _y:TOP_MARGIN, _alpha:75});
_root.attachMovie("nextWaveButton", "nextWaveButton", _root.getNextHighestDepth(), {_x:LEFT_MARGIN, _y:TOP_MARGIN + PLAY_HEIGHT, _alpha:50});
goldCount = _root.attachMovie("goldButton", "goldButton", _root.getNextHighestDepth(), {_x:LEFT_MARGIN + 128, _y:TOP_MARGIN + PLAY_HEIGHT});
lifeCount = _root.attachMovie("lifeButton", "lifeButton", _root.getNextHighestDepth(), {_x:LEFT_MARGIN + 254, _y:TOP_MARGIN + PLAY_HEIGHT});
_root.attachMovie("menuButton", "menuButton", _root.getNextHighestDepth(), {_x:421, _y:452, _alpha:50});
_root.attachMovie("upgradeButton", "upgradeButton", _root.getNextHighestDepth(), {_x:(((LEFT_MARGIN + PLAY_WIDTH) + MIDDLE_X_MARGIN) + 4) + 56, _y:240, _alpha:50});
_root.attachMovie("sellButton", "sellButton", _root.getNextHighestDepth(), {_x:(((LEFT_MARGIN + PLAY_WIDTH) + MIDDLE_X_MARGIN) + 4) + 112, _y:240, _alpha:50});
globalMessage.createTextField("globalText", _root.starfieldUI.getNextHighestDepth(), 0, 0, 698, 20);
towerDescribe.createTextField("towerDescribeText", _root.getNextHighestDepth(), 5, 5, 160, 232);
towerDescribe.towerDescribeText.multiline = true;
towerDescribe.towerDescribeText.wordWrap = true;
peopleCount = _root.attachMovie("peopleButton", "peopleButton", _root.getNextHighestDepth(), {_x:0, _y:TOP_MARGIN});
ammoCount = _root.attachMovie("ammoButton", "ammoButton", _root.getNextHighestDepth(), {_x:0, _y:TOP_MARGIN + 50});
energyCount = _root.attachMovie("energyButton", "energyButton", _root.getNextHighestDepth(), {_x:0, _y:TOP_MARGIN + 100});
heatCount = _root.attachMovie("heatButton", "heatButton", _root.getNextHighestDepth(), {_x:0, _y:TOP_MARGIN + 150});
magicCount = _root.attachMovie("magicButton", "magicButton", _root.getNextHighestDepth(), {_x:0, _y:TOP_MARGIN + 200});
poisonCount = _root.attachMovie("poisonButton", "poisonButton", _root.getNextHighestDepth(), {_x:0, _y:TOP_MARGIN + 250});
goldCount.createTextField("goldText", _root.getNextHighestDepth(), 39, 4, 79, 19);
lifeCount.createTextField("lifeText", _root.getNextHighestDepth(), 39, 4, 79, 19);
peopleCount.createTextField("peopleText", _root.getNextHighestDepth(), 1, 27, 40, 20);
ammoCount.createTextField("ammoText", _root.getNextHighestDepth(), 1, 27, 40, 20);
energyCount.createTextField("energyText", _root.getNextHighestDepth(), 1, 27, 40, 20);
heatCount.createTextField("heatText", _root.getNextHighestDepth(), 1, 27, 40, 20);
magicCount.createTextField("magicText", _root.getNextHighestDepth(), 1, 27, 40, 20);
poisonCount.createTextField("poisonText", _root.getNextHighestDepth(), 1, 27, 40, 20);
_root.nextWaveButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.nextWaveButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.nextWaveButton.onPress = function () {
if ((!Game.gameLost) && ((_root.nextWave instanceof Wave) == false)) {
_root.nextWave = new Wave();
}
};
_root.menuButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.menuButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.menuButton.onPress = function () {
Transitions.showMenuPanel();
};
_root.upgradeButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Tower.upgraded = true;
};
_root.upgradeButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Tower.upgraded = false;
};
_root.upgradeButton.onPress = function () {
Tower.focus.upgradeTower();
Tower.upgraded = true;
};
_root.sellButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Tower.upgraded = true;
};
_root.sellButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Tower.upgraded = false;
};
_root.sellButton.onPress = function () {
Tower.focus.sellTower();
Tower.upgraded = true;
};
_root.attachMovie("waveIndicator", "waveIndicator", _root.getNextHighestDepth(), {_x:0, _y:321, _alpha:100});
_root.waveIndicator.attachMovie("waveHighlight", "waveHighlight1", _root.waveIndicator.getNextHighestDepth(), {_x:3, _y:18, _alpha:100});
_root.waveIndicator.attachMovie("waveHighlight", "waveHighlight2", _root.waveIndicator.getNextHighestDepth(), {_x:24, _y:18, _alpha:100});
_root.towerPanel = new Research();
applyTextFormat();
}
function tick() {
_root.nextWave.waveTick();
var _local3 = 0;
while (_local3 < towerNumber) {
_root["tower" + _local3].towerTick();
_local3++;
}
economicFocus.towerTick();
_root.towerPanel.researchTick();
gameUpdate();
globalTextTick();
}
static function resourceUpdate() {
if (resourceTimer == 250) {
resourceTimer = 0;
ammoAvailable = ammoAvailable + (3 * ammoProduced);
poisonAvailable = poisonAvailable + (5 * poisonProduced);
} else {
resourceTimer++;
}
if (ammoAvailable > ammoStorable) {
ammoAvailable = ammoStorable;
}
if (poisonAvailable > poisonStorable) {
poisonAvailable = poisonStorable;
}
}
static function setupTextFormat() {
format1 = new TextFormat();
format1.bold = true;
format1.font = "Times New Roman";
format2 = new TextFormat();
format2.bold = true;
format2.color = 16777215 /* 0xFFFFFF */;
format2.align = "center";
format2.font = "Times New Roman";
format3 = new TextFormat();
format3.bold = true;
format3.color = 0;
format3.align = "center";
format3.font = "Times New Roman";
format3.size = 12;
redBold = new TextFormat();
redBold.color = 16711680 /* 0xFF0000 */;
redBold.align = "center";
redBold.bold = true;
redBold.font = "Times New Roman";
}
static function applyTextFormat() {
goldCount.goldText.selectable = false;
lifeCount.lifeText.selectable = false;
peopleCount.peopleText.selectable = false;
ammoCount.ammoText.selectable = false;
energyCount.energyText.selectable = false;
heatCount.heatText.selectable = false;
magicCount.magicText.selectable = false;
poisonCount.poisonText.selectable = false;
globalMessage.globalText.selectable = false;
towerDescribe.towerDescribeText.selectable = false;
towerDescribe.towerDescribeText.multiline = true;
towerDescribe.towerDescribeText.wordWrap = true;
globalMessage.globalText.text = "";
globalMessage.globalText.setNewTextFormat(format2);
goldCount.goldText.setNewTextFormat(format1);
lifeCount.lifeText.setNewTextFormat(format1);
peopleCount.peopleText.setNewTextFormat(format2);
ammoCount.ammoText.setNewTextFormat(format2);
energyCount.energyText.setNewTextFormat(format2);
heatCount.heatText.setNewTextFormat(format2);
magicCount.magicText.setNewTextFormat(format2);
poisonCount.poisonText.setNewTextFormat(format2);
towerDescribe.towerDescribeText.setNewTextFormat(format3);
}
function gameUpdate() {
goldCount.goldText.text = goldAvailable;
lifeCount.lifeText.text = livesLeft;
peopleCount.peopleText.text = peopleAvailable;
ammoCount.ammoText.text = ammoAvailable;
energyCount.energyText.text = energyAvailable;
heatCount.heatText.text = heatAvailable;
magicCount.magicText.text = magicAvailable;
poisonCount.poisonText.text = poisonAvailable;
if (peopleAvailable < waveNumber) {
peopleCount.peopleText.setTextFormat(redBold);
}
if (ammoAvailable < (2 * waveNumber)) {
ammoCount.ammoText.setTextFormat(redBold);
}
if (energyAvailable < waveNumber) {
energyCount.energyText.setTextFormat(redBold);
}
if (heatAvailable < waveNumber) {
heatCount.heatText.setTextFormat(redBold);
}
if (magicAvailable < waveNumber) {
magicCount.magicText.setTextFormat(redBold);
}
if (poisonAvailable < (2 * waveNumber)) {
poisonCount.poisonText.setTextFormat(redBold);
}
}
static function globalTextTick() {
if (gMessTimer <= 0) {
if (globalMessage.globalText.text != "") {
gMessQueue.splice(0, 1);
}
if (gMessQueue[0] != undefined) {
globalMessage.globalText.text = gMessQueue[0].gMess;
gMessTimer = gMessQueue[0].gTimer;
} else {
globalMessage.globalText.text = "";
gMessTimer = 10;
}
} else {
gMessTimer--;
var _local1 = gMessQueue.length;
if (_local1 > 15) {
gMessTimer--;
}
}
}
static function checkMessageType(messType) {
var _local2 = gMessQueue.length;
var _local1 = 0;
while (_local1 < _local2) {
if (gMessQueue.i.messType == messType) {
return(false);
}
_local1++;
}
return(true);
}
static function maxLevel() {
if (checkMessageType("level")) {
gMessQueue.push({gMess:"Tower has reached it's maximum level.", gTimer:50, messType:"level"});
}
}
static function goldShortage() {
if (checkMessageType("gold")) {
gMessQueue.push({gMess:"You need more gold.", gTimer:50, messType:"gold"});
}
}
static function peopleShortage() {
if (checkMessageType("people")) {
gMessQueue.push({gMess:"You need more people.", gTimer:50, messType:"people"});
}
}
static function energyShortage() {
if (checkMessageType("energy")) {
gMessQueue.push({gMess:"You need more energy.", gTimer:50, messType:"energy"});
}
}
static function heatShortage() {
if (checkMessageType("heat")) {
gMessQueue.push({gMess:"You need more heat.", gTimer:50, messType:"heat"});
}
}
static function magicShortage() {
if (checkMessageType("magic")) {
gMessQueue.push({gMess:"You need more magic.", gTimer:50, messType:"magic"});
}
}
static function ammoShortage() {
if (checkMessageType("ammo") && (Math.random() < 0.1)) {
gMessQueue.push({gMess:"You need more ammo.", gTimer:50, messType:"ammo"});
}
}
static function poisonShortage() {
if (checkMessageType("poison")) {
gMessQueue.push({gMess:"You need more poison.", gTimer:50, messType:"poison"});
}
}
static function deleteWave() {
delete _root.nextWave;
}
static function gameOver() {
_root.attachMovie("gameOver", "gameOver", _root.getNextHighestDepth(), {_x:LEFT_MARGIN + (PLAY_WIDTH / 2), _y:TOP_MARGIN + (PLAY_HEIGHT / 2)});
deleteWave();
gameLost = true;
_root.onMouseDown = function () {
Transitions.endGame();
Game.sendScore();
_root.menuPanel.removeMovieClip();
_root.gameOver.removeMovieClip();
Mouse.show();
Transitions.showTitle();
delete _root.onMouseDown;
};
}
static function sendScore() {
_root.kongregateScores.submit(totalWorth);
}
static var TILE_SIZE = 12;
static var ROAD_SIZE = 2;
static var TOP_MARGIN = 20;
static var LEFT_MARGIN = 41;
static var MIDDLE_X_MARGIN = 5;
static var MIDDLE_Y_MARGIN = 20;
static var PLAY_WIDTH = 480;
static var PLAY_HEIGHT = 432;
static var PANEL_WIDTH = 170;
static var TOWER_PANEL_HEIGHT = 170;
static var DESCRIPTION_PANEL_HEIGHT = 242;
static var TOWER_SELLBACK = 0.8;
static var score = 0;
static var goldAvailable = 300;
static var livesLeft = 20;
static var goldInterest = 0.15;
static var goldFromMonsters = 1;
static var towerWorth = 0.5;
static var researchTime = 2;
static var defenseCost_GA = 1;
static var defenseUpgrade_GA = 1;
static var economicCost_GA = 1;
static var economicUpgrade_GA = 1;
static var researchCost_GA = 1;
static var effectRange_GA = 1;
static var effectPercent_GA = 1;
static var effectChance_GA = 1;
static var effectDuration_GA = 1;
static var shotDamage_GA = 1;
static var shotRange_GA = 1;
static var shotRate_GA = 1;
static var peopleProduction_GA = 1;
static var energyProduction_GA = 1;
static var ammoProduction_GA = 1;
static var heatProduction_GA = 1;
static var magicProduction_GA = 1;
static var poisonProduction_GA = 1;
static var peopleAvailable = 0;
static var energyAvailable = 0;
static var ammoAvailable = 0;
static var ammoProduced = 0;
static var ammoStorable = 0;
static var heatAvailable = 0;
static var magicAvailable = 0;
static var poisonAvailable = 0;
static var poisonProduced = 0;
static var poisonStorable = 0;
static var waveNumber = 0;
static var monsterHealth = new Array([-6.4, 2.9167, 0.631], [71, -11.807, 1.3414], [71, -26.171, 2.0312], [71, -82.81, 3.9038], [71, -241.39, 7.8539], [71, -645.49, 15.922], [71, -1614.9, 32.064], [71, -3831.1, 63.71], [71, -8694.9, 124.5], [71, -18972, 238.71], [71, -39906, 448.13]);
static var economicNumber = 0;
static var towerNumber = 0;
static var resourceTimer = 0;
static var gMessQueue = [];
static var gMessTimer = 0;
}
Symbol 1056 MovieClip [__Packages.Wave] Frame 0 (3.11 KiB) ●
class Wave
{
static var waveSet, waveNum, monID;
var waveHealth, waveGold;
function Wave () {
Game.waveNumber++;
setMonsterHealth();
setMonsterGold();
waveSet = Math.floor(Game.waveNumber / 10);
waveNum = Game.waveNumber - (10 * waveSet);
_root.waveIndicator.waveHighlight1._y = LEFT_MARGIN_WAVEIND + (SPACING_WAVEIND * waveSet);
_root.waveIndicator.waveHighlight2._y = LEFT_MARGIN_WAVEIND + (SPACING_WAVEIND * waveNum);
monID = Math.abs(waveNum - waveSet);
_root.sounds["minion" + monID].start();
}
function setMonsterHealth() {
if (Game.waveNumber == 1) {
waveHealth = WAVE_1_HLTH;
} else {
var _local2 = waveSet;
waveHealth = (Game.monsterHealth[_local2][0] + (Game.waveNumber * Game.monsterHealth[_local2][1])) + (Math.pow(Game.waveNumber, 2) * Game.monsterHealth[_local2][2]);
waveHealth = Math.round(waveHealth);
}
}
function setMonsterGold() {
waveGold = Math.round(Math.sqrt(Game.waveNumber));
}
function waveTick() {
endWave();
Game.resourceUpdate();
var _local3 = 0;
while (_local3 < monsterNumber) {
_root["baddie" + _local3].minionTick();
_local3++;
}
if (monsterCount < MAX_MONSTERS) {
monsterClock--;
}
if (monsterClock <= 0) {
placeMonster();
}
}
function placeMonster() {
var _local5 = monsterNumber;
var _local4 = 70 + monsterNumber;
var _local3 = _root.attachMovie("minion" + monID, "baddie" + monsterNumber, _local4, {_x:START_X, _y:START_Y, creepID:_local5, health:waveHealth, minionGold:waveGold});
monArr.push(_local3);
monsterNumber++;
}
function endWave() {
if ((monsterCount >= MAX_MONSTERS) && (monsterNumber == monstersRemoved)) {
monstersRemoved = 0;
monsterCount = 0;
monsterClock = 10;
monsterNumber = 0;
_root.sounds.moneySound.start();
monArr.splice(0);
var _local3 = Math.round(Game.totalWorth * Game.goldInterest);
Game.gMessQueue.push({gMess:((("You earned " + _local3) + " gold from interest on ") + Game.totalWorth) + " worth", gTimer:75});
Research.incrementResearch();
Game.goldAvailable = Game.goldAvailable + _local3;
Game.totalWorth = Game.totalWorth + _local3;
if (Game.waveNumber == Game.endWave) {
_root.attachMovie("winButton", "winButton", _root.getNextHighestDepth(), {_x:Game.LEFT_MARGIN + (Game.PLAY_WIDTH / 2), _y:Game.TOP_MARGIN + (Game.PLAY_HEIGHT / 2)});
_root.winButton.onMouseDown = function () {
this.removeMovieClip();
Transitions.endGame();
Game.sendScore();
_root.menuPanel.removeMovieClip();
_root.gameOver.removeMovieClip();
Mouse.show();
Transitions.showTitle();
delete _root.winButton.onMouseDown;
};
}
Game.deleteWave();
}
}
static var DELAY = 15;
static var MAX_MONSTERS = 10;
static var START_X = Game.LEFT_MARGIN + 59;
static var START_Y = Game.TOP_MARGIN - 10;
static var LEFT_MARGIN_WAVEIND = 18;
static var SPACING_WAVEIND = 13;
static var WAVE_1_HLTH = 2;
static var monsterCount = 0;
static var monstersRemoved = 0;
static var monsterClock = 0;
static var monsterNumber = 0;
static var monArr = [];
}
Symbol 1057 MovieClip [__Packages.Research] Frame 0 (13.19 KiB) ● ●
class Research
{
static var pageType, pageNumber, pageNumberShown, pageTypeShown;
function Research () {
if (Game.faction == "The Remnants") {
ammoEk1 = 2;
energyEk1 = 2;
heatEk1 = 2;
magicMk1 = 2;
}
_root.attachMovie("militaryButton", "militaryButton", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + 4, _alpha:100});
_root.attachMovie("economyButton", "economyButton", _root.getNextHighestDepth(), {_x:((Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN) + 54, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + 4, _alpha:50});
_root.attachMovie("researchButton", "researchButton", _root.getNextHighestDepth(), {_x:((Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN) + 112, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + 4, _alpha:50});
_root.militaryButton.onPress = function () {
this._alpha = 100;
_root.economyButton._alpha = 50;
_root.researchButton._alpha = 50;
Research.pageType = "m";
};
_root.economyButton.onPress = function () {
this._alpha = 100;
_root.militaryButton._alpha = 50;
_root.researchButton._alpha = 50;
Research.pageType = "e";
};
_root.researchButton.onPress = function () {
this._alpha = 100;
_root.militaryButton._alpha = 50;
_root.economyButton._alpha = 50;
Research.pageType = "r";
};
_root.attachMovie("pageButton", "pageButton", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:((Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN) + Game.TOWER_PANEL_HEIGHT, _alpha:100});
_root.pageButton.attachMovie("page1Button", "page1Button", _root.pageButton.getNextHighestDepth(), {_x:48, _y:0, _alpha:100});
_root.pageButton.attachMovie("page2Button", "page2Button", _root.pageButton.getNextHighestDepth(), {_x:67, _y:0, _alpha:50});
_root.pageButton.page1Button.onPress = function () {
this._alpha = 100;
_root.pageButton.page2Button._alpha = 50;
_root.pageButton.page3Button._alpha = 50;
_root.pageButton.page4Button._alpha = 50;
Research.pageNumber = 1;
};
_root.pageButton.page2Button.onPress = function () {
this._alpha = 100;
_root.pageButton.page1Button._alpha = 50;
_root.pageButton.page3Button._alpha = 50;
_root.pageButton.page4Button._alpha = 50;
Research.pageNumber = 2;
};
pageType = "m";
pageNumber = 1;
militaryPage1();
}
function researchTick() {
if ((pageNumber != pageNumberShown) || (pageType != pageTypeShown)) {
_root[("towerPanel" + pageTypeShown) + pageNumberShown].removeMovieClip();
if (pageType == "m") {
if (pageNumber == 1) {
militaryPage1();
}
if (pageNumber == 2) {
militaryPage2();
}
}
if (pageType == "e") {
if (pageNumber == 1) {
economyPage1();
}
if (pageNumber == 2) {
economyPage2();
}
}
if (pageType == "r") {
if (pageNumber == 1) {
researchPage1();
}
if (pageNumber == 2) {
researchPage2();
}
}
}
}
function militaryPage1() {
_root.attachMovie("towerPanel", "towerPanelm1", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN, _alpha:75});
pageTypeShown = "m";
pageNumberShown = 1;
Alpha.alphaTowerIcon(_root.towerPanelm1, 0, 0);
Beta.betaTowerIcon(_root.towerPanelm1, 1, 0);
Gamma.gammaTowerIcon(_root.towerPanelm1, 2, 0);
DeltaT.deltaTowerIcon(_root.towerPanelm1, 3, 0);
Epsilon.epsilonTowerIcon(_root.towerPanelm1, 0, 1);
Zeta.zetaTowerIcon(_root.towerPanelm1, 1, 1);
Eta.etaTowerIcon(_root.towerPanelm1, 2, 1);
Theta.thetaTowerIcon(_root.towerPanelm1, 3, 1);
Iota.iotaTowerIcon(_root.towerPanelm1, 0, 2);
Kappa.kappaTowerIcon(_root.towerPanelm1, 1, 2);
Lambda.lambdaTowerIcon(_root.towerPanelm1, 2, 2);
Mu.muTowerIcon(_root.towerPanelm1, 3, 2);
Nu.nuTowerIcon(_root.towerPanelm1, 0, 3);
Xi.xiTowerIcon(_root.towerPanelm1, 1, 3);
Omicron.omicronTowerIcon(_root.towerPanelm1, 2, 3);
Pi.piTowerIcon(_root.towerPanelm1, 3, 3);
}
function militaryPage2() {
_root.attachMovie("towerPanel", "towerPanelm2", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN, _alpha:75});
pageTypeShown = "m";
pageNumberShown = 2;
Rho.rhoTowerIcon(_root.towerPanelm2, 0, 0);
Sigma.sigmaTowerIcon(_root.towerPanelm2, 1, 0);
Tau.tauTowerIcon(_root.towerPanelm2, 2, 0);
Upsilon.upsilonTowerIcon(_root.towerPanelm2, 3, 0);
Phi.phiTowerIcon(_root.towerPanelm2, 0, 1);
Chi.chiTowerIcon(_root.towerPanelm2, 1, 1);
Psi.psiTowerIcon(_root.towerPanelm2, 2, 1);
Omega.omegaTowerIcon(_root.towerPanelm2, 3, 1);
Digamma.digammaTowerIcon(_root.towerPanelm2, 0, 2);
Koppa.koppaTowerIcon(_root.towerPanelm2, 1, 2);
Stigma.stigmaTowerIcon(_root.towerPanelm2, 2, 2);
Sampi.sampiTowerIcon(_root.towerPanelm2, 3, 2);
}
function economyPage1() {
_root.attachMovie("towerPanel", "towerPanele1", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN, _alpha:75});
pageTypeShown = "e";
pageNumberShown = 1;
Hut.hutIcon(_root.towerPanele1, 0, 0);
AmmoHut.ammoHutIcon(_root.towerPanele1, 1, 0);
BasicResearch.basicResearchIcon(_root.towerPanele1, 2, 0);
MagicSchool.magicSchoolIcon(_root.towerPanele1, 3, 0);
AmmoFactory.ammoFactoryIcon(_root.towerPanele1, 0, 1);
House.houseIcon(_root.towerPanele1, 1, 1);
EnergyPlant.energyPlantIcon(_root.towerPanele1, 2, 1);
EconomicCenter.economicCenterIcon(_root.towerPanele1, 3, 1);
MilitaryBase.militaryBaseIcon(_root.towerPanele1, 0, 2);
MagicUniversity.magicUniversityIcon(_root.towerPanele1, 1, 2);
AmmoAssembly.ammoAssemblyIcon(_root.towerPanele1, 2, 2);
CoalBurningPlant.coalBurningPlantIcon(_root.towerPanele1, 3, 2);
Hotel.hotelIcon(_root.towerPanele1, 0, 3);
MissileResearchFac.missileResearchFacIcon(_root.towerPanele1, 1, 3);
LaserResearchFac.laserResearchFacIcon(_root.towerPanele1, 2, 3);
CorporateHQ.corporateHQIcon(_root.towerPanele1, 3, 3);
}
function economyPage2() {
_root.attachMovie("towerPanel", "towerPanele2", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN, _alpha:75});
pageTypeShown = "e";
pageNumberShown = 2;
MissileBase.missileBaseIcon(_root.towerPanele2, 0, 0);
LaserBase.laserBaseIcon(_root.towerPanele2, 1, 0);
Underground.undergroundIcon(_root.towerPanele2, 2, 0);
MagicAcademy.magicAcademyIcon(_root.towerPanele2, 3, 0);
AdvAmmoFactory.advAmmoFactoryIcon(_root.towerPanele2, 0, 1);
RobotAmmoFactory.robotAmmoFactoryIcon(_root.towerPanele2, 1, 1);
AdvHeatPlant.advHeatPlantIcon(_root.towerPanele2, 2, 1);
Biodome.biodomeIcon(_root.towerPanele2, 3, 1);
AdvEnergyPlant.advEnergyPlantIcon(_root.towerPanele2, 0, 2);
RobotEnergyPlant.robotEnergyPlantIcon(_root.towerPanele2, 1, 2);
PoisonCenter.poisonCenterIcon(_root.towerPanele2, 2, 2);
}
function researchPage1() {
_root.attachMovie("towerPanel", "towerPanelr1", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN, _alpha:75});
pageTypeShown = "r";
pageNumberShown = 1;
BasicResearch.ammoEk1Research(_root.towerPanelr1, 0, 0);
BasicResearch.energyEk1Research(_root.towerPanelr1, 1, 0);
BasicResearch.heatEk1Research(_root.towerPanelr1, 2, 0);
MagicSchool.magicMk1Research(_root.towerPanelr1, 3, 0);
EconomicCenter.ammoEk2Research(_root.towerPanelr1, 0, 1);
EconomicCenter.energyHeatEk2Research(_root.towerPanelr1, 1, 1);
EconomicCenter.goldk1Research(_root.towerPanelr1, 2, 1);
MilitaryBase.ammoMk2Research(_root.towerPanelr1, 3, 1);
MilitaryBase.heatMk2Research(_root.towerPanelr1, 0, 2);
MilitaryBase.energyMk2Research(_root.towerPanelr1, 1, 2);
MilitaryBase.poisonMk2Research(_root.towerPanelr1, 2, 2);
MilitaryBase.magicMk2Research(_root.towerPanelr1, 3, 2);
MagicUniversity.magick2Research(_root.towerPanelr1, 0, 3);
MagicUniversity.magicEle2Research(_root.towerPanelr1, 1, 3);
MissileResearchFac.ammoEk3Research(_root.towerPanelr1, 2, 3);
MissileResearchFac.heatEk3Research(_root.towerPanelr1, 3, 3);
}
function researchPage2() {
_root.attachMovie("towerPanel", "towerPanelr2", _root.getNextHighestDepth(), {_x:(Game.LEFT_MARGIN + Game.PLAY_WIDTH) + Game.MIDDLE_X_MARGIN, _y:(Game.TOP_MARGIN + Game.DESCRIPTION_PANEL_HEIGHT) + Game.MIDDLE_Y_MARGIN, _alpha:75});
pageTypeShown = "r";
pageNumberShown = 2;
LaserResearchFac.heatEk3Research(_root.towerPanelr2, 0, 0);
MissileResearchFac.heatEk3Research(_root.towerPanelr2, 0, 0);
LaserResearchFac.energyEk3Research(_root.towerPanelr2, 1, 0);
MissileResearchFac.ammoEk3Research(_root.towerPanelr2, 2, 0);
MissileBase.ammoMk3Research(_root.towerPanelr2, 3, 0);
MissileBase.heatMk3Research(_root.towerPanelr2, 0, 1);
LaserBase.heatMk3Research(_root.towerPanelr2, 0, 1);
LaserBase.energyMk3Research(_root.towerPanelr2, 1, 1);
Underground.poisonMk3Research(_root.towerPanelr2, 2, 1);
MagicAcademy.magick3Research(_root.towerPanelr2, 3, 1);
MagicAcademy.magicEle3Research(_root.towerPanelr2, 0, 2);
CorporateHQ.goldmultk2Research(_root.towerPanelr2, 1, 2);
CorporateHQ.goldplusk2Research(_root.towerPanelr2, 2, 2);
}
static function reloadTowerPanel() {
_root[("towerPanel" + pageTypeShown) + pageNumberShown].removeMovieClip();
pageTypeShown = "x";
pageNumberShown = 0;
}
static function incrementResearch() {
var _local7 = currentResearch.length;
var _local3 = currentResearch;
var _local2 = 0;
while (_local2 < _local7) {
var _local4 = _local3[_local2][1];
var _local5 = (((Game.researchTime - _local3[_local2][0]) + 1) / (Game.researchTime + 1)) * PROGRESS_BAR_WIDTH;
var _local6 = _root[("towerPanel" + pageTypeShown) + pageNumberShown][_local4][_local4 + "PB"];
Tween2.easeOut(_local6, "_width", _local5, 10);
if (_local3[_local2][0] == 0) {
Research[_local3[_local2][1]] = 2;
newResearch(_local3[_local2][2]);
_local3.splice(_local2, 1);
_local2 = _local2 - 1;
} else {
_local3[_local2][0] = _local3[_local2][0] - 1;
}
_local2++;
}
}
static function checkResearch(resName) {
var _local3 = currentResearch.length;
var _local2 = currentResearch;
var _local1 = 0;
while (_local1 < _local3) {
if (_local2[_local1][1] == resName) {
return(_local2[_local1][0]);
}
_local1++;
}
}
static function towerStats(stats, shot) {
var _local2 = Math.floor(shot[0][0]) + " damage";
var _local3 = Math.floor(shot[1][0]) + " range";
var _local4 = Math.floor(200 - shot[2][0]) + " shot rate";
if (shot != undefined) {
stats.push(_local2, _local3, _local4);
}
Game.towerDescribe.towerDescribeText.text = stats.join(" \n ");
Game.towerDescribe.towerDescribeText.setTextFormat(Game.format3);
}
static function newResearch(researchName) {
Game.gMessQueue.push({gMess:"You have researched " + researchName, gTimer:60});
reloadTowerPanel();
}
static function setupProgressBar(target, resName) {
if (Research[resName]) {
target[resName].attachMovie("progressBarRed", resName + "PB", target[resName].getNextHighestDepth());
target[resName].attachMovie("progressBarOverlay", resName + "PBO", target[resName].getNextHighestDepth());
if (!Research[resName]) {
target[resName][resName + "PB"]._width = 0;
}
if (Research[resName] == 1) {
var _local3 = Game.researchTime - checkResearch(resName);
target[resName][resName + "PB"]._width = (_local3 / (Game.researchTime + 1)) * PROGRESS_BAR_WIDTH;
}
}
}
static var TOWER_PANEL_MARGIN = 13;
static var TOWER_PANEL_SPACING = 40;
static var PROGRESS_BAR_WIDTH = 24;
static var basicResearch = false;
static var militaryBase = false;
static var missileBase = false;
static var laserBase = false;
static var underground = false;
static var economicCenter = false;
static var missileResearchFac = false;
static var laserResearchFac = false;
static var corporateHQ = false;
static var magicSchool = false;
static var magicUniversity = false;
static var magicAcademy = false;
static var ammoEk1 = 0;
static var ammoEk2 = 0;
static var ammoEk3 = 0;
static var ammoMk2 = 0;
static var ammoMk3 = 0;
static var energyEk1 = 0;
static var energyEk3 = 0;
static var energyMk2 = 0;
static var energyMk3 = 0;
static var energyHeatEk2 = 0;
static var heatEk1 = 0;
static var heatEk3 = 0;
static var heatMk2 = 0;
static var heatMk3 = 0;
static var magick2 = 0;
static var magick3 = 0;
static var magicMk1 = 0;
static var magicMk2 = 0;
static var magicMk3 = 0;
static var magicEle2 = 0;
static var magicEle3 = 0;
static var poisonMk2 = 0;
static var poisonMk3 = 0;
static var goldk1 = 0;
static var goldplusk2 = 0;
static var goldmultk2 = 0;
static var currentResearch = new Array();
}
Symbol 1058 MovieClip [__Packages.Beta] Frame 0 (5.71 KiB) ● ●
class Beta extends Tower
{
var isEconomic, isResearch;
function Beta () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function betaTowerIcon(target, xPos, yPos) {
target.attachMovie("betaTower_i", "betaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.betaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Beta.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Beta.people[1][0] - Beta.people[0][0]) + " people";
var _local6 = Math.round(Beta.heat[1][0] - Beta.heat[0][0]) + " heat";
var _local9 = Math.round(Beta.magic[1][0] - Beta.magic[0][0]) + " magic";
var _local8 = Math.round(Beta.energy[1][0] - Beta.energy[0][0]) + " energy";
var _local5 = Math.round(Beta.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Beta.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Beta.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Beta.shot);
};
target.betaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.betaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Beta.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("betaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
static var BASE_COST = 20;
static var baseName = "Dart Tower";
static var bullet_mc = "dartBullet";
static var bullet_sfx = "shotSound1";
static var bulletMove = [5, 0.1, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(15, 1.25, 1);
static var peopleCost = new Array(1, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(1, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(40, 1.35, 1);
static var shotRange = new Array(125, 1.05, 1);
static var shotRate = new Array(60, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1059 MovieClip [__Packages.Tween2] Frame 0 (847 B)
class Tween2
{
function Tween2 (obj, prop, target) {
}
static function timer(obj, time, onCall) {
obj.timer = time;
obj.onEnterFrame = function () {
this.timer--;
if (this.timer <= 0) {
this[onCall]();
delete this.timer;
delete this.onEnterFrame;
}
};
}
static function easeOut(obj, prop, _endProp, _k, onCall) {
delete obj.onEnterFrame;
delete obj.k;
delete obj.endProp;
obj.k = _k;
obj.endProp = _endProp;
obj.onEnterFrame = function () {
this.oldprop = this[prop];
this[prop] = this[prop] + ((this.endProp - this[prop]) / this.k);
if ((Math.abs(this.endProp - this[prop]) < 1) || (this[prop] == this.oldprop)) {
this[prop] = this.endProp;
this[onCall]();
delete this.k;
delete this.endProp;
delete this.onEnterFrame;
}
};
}
}
Symbol 1060 MovieClip [__Packages.Gamma] Frame 0 (5.8 KiB) ● ●
class Gamma extends Tower
{
var isEconomic, isResearch;
function Gamma () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function gammaTowerIcon(target, xPos, yPos) {
if (Research.magicSchool && (Research.magicMk1 == 2)) {
target.attachMovie("gammaTower_i", "gammaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.gammaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Gamma.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Gamma.people[1][0] - Gamma.people[0][0]) + " people";
var _local6 = Math.round(Gamma.heat[1][0] - Gamma.heat[0][0]) + " heat";
var _local9 = Math.round(Gamma.magic[1][0] - Gamma.magic[0][0]) + " magic";
var _local8 = Math.round(Gamma.energy[1][0] - Gamma.energy[0][0]) + " energy";
var _local5 = Math.round(Gamma.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Gamma.poison[0][0]) + " poison per shot";
var _local11 = "Slow: Freeze";
var _local10 = "Splash";
var _local2 = [Gamma.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Gamma.shot);
};
target.gammaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.gammaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Gamma.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("gammaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 40;
static var baseName = "Ice Tower";
static var bullet_mc = "freezeBullet";
static var bullet_sfx = "shotSound10";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(1, 1);
static var upgradeCost = new Array(30, 1.3, 1);
static var peopleCost = new Array(2, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(1, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(50, 1.24, 1);
static var shotRange = new Array(150, 1.01, 1);
static var shotRate = new Array(40, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0.25, 1, 1);
static var splashRange = new Array(50, 1, 1);
static var splashChance = new Array(0.5, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(0.9, 1.03, 1);
static var slow1Duration = new Array(120, 1, 1);
static var slow1Chance = new Array(1, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(1, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1061 MovieClip [__Packages.DeltaT] Frame 0 (5.79 KiB) ● ●
class DeltaT extends Tower
{
var isEconomic, isResearch;
function DeltaT () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function deltaTowerIcon(target, xPos, yPos) {
if (Research.basicResearch && (Research.heatEk1 == 2)) {
target.attachMovie("deltaTower_i", "deltaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.deltaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(DeltaT.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(DeltaT.people[1][0] - DeltaT.people[0][0]) + " people";
var _local6 = Math.round(DeltaT.heat[1][0] - DeltaT.heat[0][0]) + " heat";
var _local9 = Math.round(DeltaT.magic[1][0] - DeltaT.magic[0][0]) + " magic";
var _local8 = Math.round(DeltaT.energy[1][0] - DeltaT.energy[0][0]) + " energy";
var _local5 = Math.round(DeltaT.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(DeltaT.poison[0][0]) + " poison per shot";
var _local11 = "Splash";
var _local10 = "";
var _local2 = [DeltaT.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, DeltaT.shot);
};
target.deltaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.deltaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = DeltaT.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("deltaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 40;
static var baseName = "Heat Tower";
static var bullet_mc = "heatBullet";
static var bullet_sfx = "shotSound14";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(30, 1.3, 1);
static var peopleCost = new Array(3, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(1, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(24, 1.38, 1);
static var shotRange = new Array(100, 1.005, 1);
static var shotRate = new Array(20, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(50, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(0.99, 1, 1);
static var goldChance = new Array(1, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1062 MovieClip [__Packages.Epsilon] Frame 0 (5.84 KiB) ● ●
class Epsilon extends Tower
{
var isEconomic, isResearch;
function Epsilon () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function epsilonTowerIcon(target, xPos, yPos) {
if (Research.basicResearch && (Research.energyEk1 == 2)) {
target.attachMovie("epsilonTower_i", "epsilonTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.epsilonTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Epsilon.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Epsilon.people[1][0] - Epsilon.people[0][0]) + " people";
var _local6 = Math.round(Epsilon.heat[1][0] - Epsilon.heat[0][0]) + " heat";
var _local9 = Math.round(Epsilon.magic[1][0] - Epsilon.magic[0][0]) + " magic";
var _local8 = Math.round(Epsilon.energy[1][0] - Epsilon.energy[0][0]) + " energy";
var _local5 = Math.round(Epsilon.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Epsilon.poison[0][0]) + " poison per shot";
var _local11 = "Multi-targetting";
var _local10 = "";
var _local2 = [Epsilon.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Epsilon.shot);
};
target.epsilonTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.epsilonTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Epsilon.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("epsilonTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 40;
static var baseName = "Energy Tower";
static var bullet_mc = "energyBullet";
static var bullet_sfx = "shotSound12";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(30, 1.35, 1);
static var peopleCost = new Array(2, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(1, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(19, 1.45, 1);
static var shotRange = new Array(175, 1.01, 1);
static var shotRate = new Array(40, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(2, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1063 MovieClip [__Packages.Zeta] Frame 0 (5.81 KiB) ● ●
class Zeta extends Tower
{
var isEconomic, isResearch;
function Zeta () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function zetaTowerIcon(target, xPos, yPos) {
if (Research.basicResearch && (Research.ammoEk1 == 2)) {
target.attachMovie("zetaTower_i", "zetaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.zetaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Zeta.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Zeta.people[1][0] - Zeta.people[0][0]) + " people";
var _local6 = Math.round(Zeta.heat[1][0] - Zeta.heat[0][0]) + " heat";
var _local9 = Math.round(Zeta.magic[1][0] - Zeta.magic[0][0]) + " magic";
var _local8 = Math.round(Zeta.energy[1][0] - Zeta.energy[0][0]) + " energy";
var _local5 = Math.round(Zeta.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Zeta.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Zeta.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Zeta.shot);
};
target.zetaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.zetaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Zeta.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("zetaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 40;
static var baseName = "Arrow Tower";
static var bullet_mc = "arrowBullet";
static var bullet_sfx = "shotSound1";
static var bulletMove = [5, 0.1, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(30, 1.25, 1);
static var peopleCost = new Array(2, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(1, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(91, 1.29, 1);
static var shotRange = new Array(135, 1.05, 1);
static var shotRate = new Array(60, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1064 MovieClip [__Packages.Eta] Frame 0 (5.77 KiB) ● ●
class Eta extends Tower
{
var isEconomic, isResearch;
function Eta () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function etaTowerIcon(target, xPos, yPos) {
if (Research.magicUniversity && (Research.magick2 == 2)) {
target.attachMovie("etaTower_i", "etaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.etaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Eta.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Eta.people[1][0] - Eta.people[0][0]) + " people";
var _local6 = Math.round(Eta.heat[1][0] - Eta.heat[0][0]) + " heat";
var _local9 = Math.round(Eta.magic[1][0] - Eta.magic[0][0]) + " magic";
var _local8 = Math.round(Eta.energy[1][0] - Eta.energy[0][0]) + " energy";
var _local5 = Math.round(Eta.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Eta.poison[0][0]) + " poison per shot";
var _local11 = "Slow: Freeze";
var _local10 = "Splash";
var _local2 = [Eta.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Eta.shot);
};
target.etaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.etaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Eta.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("etaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Freeze Tower";
static var bullet_mc = "freezeBullet";
static var bullet_sfx = "shotSound10";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(260, 1.3, 1.01);
static var peopleCost = new Array(6, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(3, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(181, 1.27, 1);
static var shotRange = new Array(160, 1.01, 1);
static var shotRate = new Array(40, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0.25, 1, 1);
static var splashRange = new Array(55, 1, 1);
static var splashChance = new Array(0.75, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(0.75, 1.03, 1);
static var slow1Duration = new Array(135, 1, 1);
static var slow1Chance = new Array(1, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(3, 1, 1);
static var stunChance = new Array(0.01, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1065 MovieClip [__Packages.Theta] Frame 0 (5.81 KiB) ● ●
class Theta extends Tower
{
var isEconomic, isResearch;
function Theta () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function thetaTowerIcon(target, xPos, yPos) {
if (Research.magicUniversity && (Research.magicEle2 == 2)) {
target.attachMovie("thetaTower_i", "thetaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.thetaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Theta.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Theta.people[1][0] - Theta.people[0][0]) + " people";
var _local6 = Math.round(Theta.heat[1][0] - Theta.heat[0][0]) + " heat";
var _local9 = Math.round(Theta.magic[1][0] - Theta.magic[0][0]) + " magic";
var _local8 = Math.round(Theta.energy[1][0] - Theta.energy[0][0]) + " energy";
var _local5 = Math.round(Theta.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Theta.poison[0][0]) + " poison per shot";
var _local11 = "Slow: Other";
var _local10 = "";
var _local2 = [Theta.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Theta.shot);
};
target.thetaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.thetaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Theta.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("thetaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Slow Tower";
static var bullet_mc = "freezeBullet";
static var bullet_sfx = "shotSound4";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(260, 1.3, 1.01);
static var peopleCost = new Array(9, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(3, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(482, 1.25, 1);
static var shotRange = new Array(125, 1.01, 1);
static var shotRate = new Array(50, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(0.8, 1.01, 1);
static var slow2Duration = new Array(90, 1, 1);
static var slow2Chance = new Array(1, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(2, 1.04, 1.01);
static var stunChance = new Array(0.03, 1.02, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1066 MovieClip [__Packages.Iota] Frame 0 (5.78 KiB) ● ●
class Iota extends Tower
{
var isEconomic, isResearch;
function Iota () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function iotaTowerIcon(target, xPos, yPos) {
if (Research.magicUniversity && (Research.magicMk2 == 2)) {
target.attachMovie("iotaTower_i", "iotaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.iotaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Iota.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Iota.people[1][0] - Iota.people[0][0]) + " people";
var _local6 = Math.round(Iota.heat[1][0] - Iota.heat[0][0]) + " heat";
var _local9 = Math.round(Iota.magic[1][0] - Iota.magic[0][0]) + " magic";
var _local8 = Math.round(Iota.energy[1][0] - Iota.energy[0][0]) + " energy";
var _local5 = Math.round(Iota.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Iota.poison[0][0]) + " poison per shot";
var _local11 = "Damage Multiply";
var _local10 = "";
var _local2 = [Iota.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Iota.shot);
};
target.iotaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.iotaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Iota.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("iotaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Magic Tower";
static var bullet_mc = "magicBullet";
static var bullet_sfx = "shotSound7";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(260, 1.32, 1.01);
static var peopleCost = new Array(8, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(3, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(4, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(488, 1.3, 1.01);
static var shotRange = new Array(135, 1.01, 1);
static var shotRate = new Array(35, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(2, 1.04, 1);
static var damageChance = new Array(0.04, 1.2, 1.01);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1067 MovieClip [__Packages.Kappa] Frame 0 (5.85 KiB) ● ●
class Kappa extends Tower
{
var isEconomic, isResearch;
function Kappa () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function kappaTowerIcon(target, xPos, yPos) {
if (Research.militaryBase && (Research.ammoMk2 == 2)) {
target.attachMovie("kappaTower_i", "kappaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.kappaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Kappa.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Kappa.people[1][0] - Kappa.people[0][0]) + " people";
var _local6 = Math.round(Kappa.heat[1][0] - Kappa.heat[0][0]) + " heat";
var _local9 = Math.round(Kappa.magic[1][0] - Kappa.magic[0][0]) + " magic";
var _local8 = Math.round(Kappa.energy[1][0] - Kappa.energy[0][0]) + " energy";
var _local5 = Math.round(Kappa.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Kappa.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Kappa.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Kappa.shot);
};
target.kappaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.kappaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Kappa.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("kappaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Bullet Tower";
static var bullet_mc = "ammoBullet";
static var bullet_sfx = "shotSound1";
static var bulletMove = [5, 0.1, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(260, 1.25, 1.01);
static var peopleCost = new Array(8, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(4, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(600, 1.31, 1.01);
static var shotRange = new Array(145, 1.05, 1);
static var shotRate = new Array(60, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(20, 1.05, 1);
static var armorDuration = new Array(50, 1, 1);
static var armorChance = new Array(1, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1068 MovieClip [__Packages.Lambda] Frame 0 (5.92 KiB) ● ●
class Lambda extends Tower
{
var isEconomic, isResearch;
function Lambda () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function lambdaTowerIcon(target, xPos, yPos) {
if ((Research.militaryBase && (Research.ammoMk2 == 2)) && (Research.heatMk2 == 2)) {
target.attachMovie("lambdaTower_i", "lambdaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.lambdaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Lambda.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Lambda.people[1][0] - Lambda.people[0][0]) + " people";
var _local6 = Math.round(Lambda.heat[1][0] - Lambda.heat[0][0]) + " heat";
var _local9 = Math.round(Lambda.magic[1][0] - Lambda.magic[0][0]) + " magic";
var _local8 = Math.round(Lambda.energy[1][0] - Lambda.energy[0][0]) + " energy";
var _local5 = Math.round(Lambda.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Lambda.poison[0][0]) + " poison per shot";
var _local11 = "Splash";
var _local10 = "";
var _local2 = [Lambda.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Lambda.shot);
};
target.lambdaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.lambdaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Lambda.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("lambdaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 410;
static var baseName = "Missile Tower";
static var bullet_mc = "missileBullet";
static var bullet_sfx = "shotSound11";
static var bulletMove = [0, 0.05, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(310, 1.4, 1.01);
static var peopleCost = new Array(8, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(4, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(4, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(200, 1.52, 1);
static var shotRange = new Array(300, 1, 1);
static var shotRate = new Array(75, 0.97, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(75, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1.5, 1, 1);
static var damageChance = new Array(0.05, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1069 MovieClip [__Packages.Mu] Frame 0 (5.72 KiB) ● ●
class Mu extends Tower
{
var isEconomic, isResearch;
function Mu () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function muTowerIcon(target, xPos, yPos) {
if (Research.militaryBase && (Research.heatMk2 == 2)) {
target.attachMovie("muTower_i", "muTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.muTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Mu.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Mu.people[1][0] - Mu.people[0][0]) + " people";
var _local6 = Math.round(Mu.heat[1][0] - Mu.heat[0][0]) + " heat";
var _local9 = Math.round(Mu.magic[1][0] - Mu.magic[0][0]) + " magic";
var _local8 = Math.round(Mu.energy[1][0] - Mu.energy[0][0]) + " energy";
var _local5 = Math.round(Mu.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Mu.poison[0][0]) + " poison per shot";
var _local11 = "Splash";
var _local10 = "";
var _local2 = [Mu.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Mu.shot);
};
target.muTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.muTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Mu.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("muTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Flame Tower";
static var bullet_mc = "heatBullet";
static var bullet_sfx = "shotSound14";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(260, 1.3, 1.01);
static var peopleCost = new Array(7, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(4, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(120, 1.37, 1.01);
static var shotRange = new Array(120, 1.005, 1);
static var shotRate = new Array(20, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(65, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(0.95, 1, 1);
static var goldChance = new Array(1, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1070 MovieClip [__Packages.Nu] Frame 0 (5.77 KiB) ● ●
class Nu extends Tower
{
var isEconomic, isResearch;
function Nu () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function nuTowerIcon(target, xPos, yPos) {
if ((Research.militaryBase && (Research.energyMk2 == 2)) && (Research.heatMk2 == 2)) {
target.attachMovie("nuTower_i", "nuTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.nuTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Nu.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Nu.people[1][0] - Nu.people[0][0]) + " people";
var _local6 = Math.round(Nu.heat[1][0] - Nu.heat[0][0]) + " heat";
var _local9 = Math.round(Nu.magic[1][0] - Nu.magic[0][0]) + " magic";
var _local8 = Math.round(Nu.energy[1][0] - Nu.energy[0][0]) + " energy";
var _local5 = Math.round(Nu.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Nu.poison[0][0]) + " poison per shot";
var _local11 = "Multi-targetting";
var _local10 = "Splash";
var _local2 = [Nu.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Nu.shot);
};
target.nuTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.nuTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Nu.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("nuTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 410;
static var baseName = "Laser Tower";
static var bullet_mc = "laserBullet";
static var bullet_sfx = "shotSound13";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(310, 1.4, 1.01);
static var peopleCost = new Array(8, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(4, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(4, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(120, 1.48, 1);
static var shotRange = new Array(225, 1, 1);
static var shotRate = new Array(50, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(2, 1.05, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(50, 1.02, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1071 MovieClip [__Packages.Xi] Frame 0 (5.72 KiB) ● ●
class Xi extends Tower
{
var isEconomic, isResearch;
function Xi () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function xiTowerIcon(target, xPos, yPos) {
if (Research.militaryBase && (Research.energyMk2 == 2)) {
target.attachMovie("xiTower_i", "xiTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.xiTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Xi.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Xi.people[1][0] - Xi.people[0][0]) + " people";
var _local6 = Math.round(Xi.heat[1][0] - Xi.heat[0][0]) + " heat";
var _local9 = Math.round(Xi.magic[1][0] - Xi.magic[0][0]) + " magic";
var _local8 = Math.round(Xi.energy[1][0] - Xi.energy[0][0]) + " energy";
var _local5 = Math.round(Xi.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Xi.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Xi.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Xi.shot);
};
target.xiTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.xiTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Xi.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("xiTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Spark Tower";
static var bullet_mc = "energyBullet";
static var bullet_sfx = "shotSound12";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(260, 1.35, 1.01);
static var peopleCost = new Array(9, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(3, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(100, 1.47, 1);
static var shotRange = new Array(200, 1.01, 1);
static var shotRate = new Array(35, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(2, 1, 1.01);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(4, 1.05, 1);
static var armorDuration = new Array(60, 1, 1);
static var armorChance = new Array(1, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1072 MovieClip [__Packages.Omicron] Frame 0 (5.84 KiB) ● ●
class Omicron extends Tower
{
var isEconomic, isResearch;
function Omicron () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function omicronTowerIcon(target, xPos, yPos) {
if (Research.militaryBase && (Research.poisonMk2 == 2)) {
target.attachMovie("omicronTower_i", "omicronTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.omicronTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Omicron.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Omicron.people[1][0] - Omicron.people[0][0]) + " people";
var _local6 = Math.round(Omicron.heat[1][0] - Omicron.heat[0][0]) + " heat";
var _local9 = Math.round(Omicron.magic[1][0] - Omicron.magic[0][0]) + " magic";
var _local8 = Math.round(Omicron.energy[1][0] - Omicron.energy[0][0]) + " energy";
var _local5 = Math.round(Omicron.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Omicron.poison[0][0]) + " poison per shot";
var _local11 = "Poison";
var _local10 = "";
var _local2 = [Omicron.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Omicron.shot);
};
target.omicronTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.omicronTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Omicron.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("omicronTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 350;
static var baseName = "Poison Tower";
static var bullet_mc = "poisonBullet";
static var bullet_sfx = "shotSound9";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(260, 1.37, 1.01);
static var peopleCost = new Array(8, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(1, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(135, 1.45, 1);
static var shotRange = new Array(100, 1.01, 1);
static var shotRate = new Array(30, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(6, 1.35, 1);
static var dotDuration = new Array(49, 1, 1);
static var dotChance = new Array(1, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(0.9, 1, 1);
static var slow2Duration = new Array(60, 1, 1);
static var slow2Chance = new Array(1, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1073 MovieClip [__Packages.Pi] Frame 0 (5.77 KiB) ● ●
class Pi extends Tower
{
var isEconomic, isResearch;
function Pi () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function piTowerIcon(target, xPos, yPos) {
if ((Research.magicAcademy && (Research.magick3 == 2)) && (Research.goldk1 == 2)) {
target.attachMovie("piTower_i", "piTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.piTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Pi.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Pi.people[1][0] - Pi.people[0][0]) + " people";
var _local6 = Math.round(Pi.heat[1][0] - Pi.heat[0][0]) + " heat";
var _local9 = Math.round(Pi.magic[1][0] - Pi.magic[0][0]) + " magic";
var _local8 = Math.round(Pi.energy[1][0] - Pi.energy[0][0]) + " energy";
var _local5 = Math.round(Pi.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Pi.poison[0][0]) + " poison per shot";
var _local11 = "MoneyBags";
var _local10 = "";
var _local2 = [Pi.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Pi.shot);
};
target.piTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.piTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Pi.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("piTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Money Tower";
static var bullet_mc = "moneyBullet";
static var bullet_sfx = "shotSound6";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(1275, 1.4, 1.02);
static var peopleCost = new Array(41, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(4, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(15, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(1700, 1.35, 1.01);
static var shotRange = new Array(150, 1.03, 1);
static var shotRate = new Array(40, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(25, 1, 1);
static var goldMultiply = new Array(1.25, 1, 1.02);
static var goldChance = new Array(1, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1074 MovieClip [__Packages.Rho] Frame 0 (5.77 KiB) ● ●
class Rho extends Tower
{
var isEconomic, isResearch;
function Rho () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function rhoTowerIcon(target, xPos, yPos) {
if (Research.magicAcademy && (Research.magick3 == 2)) {
target.attachMovie("rhoTower_i", "rhoTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.rhoTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Rho.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Rho.people[1][0] - Rho.people[0][0]) + " people";
var _local6 = Math.round(Rho.heat[1][0] - Rho.heat[0][0]) + " heat";
var _local9 = Math.round(Rho.magic[1][0] - Rho.magic[0][0]) + " magic";
var _local8 = Math.round(Rho.energy[1][0] - Rho.energy[0][0]) + " energy";
var _local5 = Math.round(Rho.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Rho.poison[0][0]) + " poison per shot";
var _local11 = "Slow: Freeze";
var _local10 = "";
var _local2 = [Rho.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Rho.shot);
};
target.rhoTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.rhoTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Rho.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("rhoTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Blizzard Tower";
static var bullet_mc = "freezeBullet";
static var bullet_sfx = "shotSound10";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(1275, 1.3, 1.02);
static var peopleCost = new Array(35, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(15, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(410, 1.26, 1.01);
static var shotRange = new Array(175, 1.015, 1);
static var shotRate = new Array(40, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0.25, 1, 1);
static var splashRange = new Array(60, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(0.6, 1.03, 1);
static var slow1Duration = new Array(150, 1, 1);
static var slow1Chance = new Array(1, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(1, 1, 1);
static var stunChance = new Array(0.03, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1075 MovieClip [__Packages.Sigma] Frame 0 (4.07 KiB) ●
class Sigma extends Tower
{
var isEconomic, isResearch;
function Sigma () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function sigmaTowerIcon(target, xPos, yPos) {
}
static var BASE_COST = 15;
static var baseName = "Sigma Tower";
static var bullet_mc = "sigmaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(11, 1.3, 1);
static var peopleCost = new Array(1, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(4, 2, 0.93);
static var shotRange = new Array(350, 1.15, 1);
static var shotRate = new Array(20, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1076 MovieClip [__Packages.Tau] Frame 0 (5.82 KiB) ● ●
class Tau extends Tower
{
var isEconomic, isResearch;
function Tau () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function tauTowerIcon(target, xPos, yPos) {
if ((Research.magicAcademy && (Research.magicEle3 == 2)) && (Research.magicMk2 == 2)) {
target.attachMovie("tauTower_i", "tauTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.tauTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Tau.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Tau.people[1][0] - Tau.people[0][0]) + " people";
var _local6 = Math.round(Tau.heat[1][0] - Tau.heat[0][0]) + " heat";
var _local9 = Math.round(Tau.magic[1][0] - Tau.magic[0][0]) + " magic";
var _local8 = Math.round(Tau.energy[1][0] - Tau.energy[0][0]) + " energy";
var _local5 = Math.round(Tau.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Tau.poison[0][0]) + " poison per shot";
var _local11 = "Damage Multiply";
var _local10 = "";
var _local2 = [Tau.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Tau.shot);
};
target.tauTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.tauTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Tau.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("tauTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Blitz Tower";
static var bullet_mc = "magicBullet";
static var bullet_sfx = "shotSound7";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(1275, 1.32, 1.02);
static var peopleCost = new Array(41, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(15, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(22, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(2650, 1.3, 0.985);
static var shotRange = new Array(150, 1.01, 1.005);
static var shotRate = new Array(35, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(3, 1.05, 1);
static var damageChance = new Array(0.05, 1.2, 1.01);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(50, 1.25, 1);
static var armorDuration = new Array(40, 1, 1);
static var armorChance = new Array(0.1, 1.1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1077 MovieClip [__Packages.Upsilon] Frame 0 (5.88 KiB) ● ●
class Upsilon extends Tower
{
var isEconomic, isResearch;
function Upsilon () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function upsilonTowerIcon(target, xPos, yPos) {
if ((Research.magicAcademy && (Research.magicEle3 == 2)) && (Research.energyMk2 == 2)) {
target.attachMovie("upsilonTower_i", "upsilonTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.upsilonTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Upsilon.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Upsilon.people[1][0] - Upsilon.people[0][0]) + " people";
var _local6 = Math.round(Upsilon.heat[1][0] - Upsilon.heat[0][0]) + " heat";
var _local9 = Math.round(Upsilon.magic[1][0] - Upsilon.magic[0][0]) + " magic";
var _local8 = Math.round(Upsilon.energy[1][0] - Upsilon.energy[0][0]) + " energy";
var _local5 = Math.round(Upsilon.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Upsilon.poison[0][0]) + " poison per shot";
var _local11 = "Stun";
var _local10 = "";
var _local2 = [Upsilon.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Upsilon.shot);
};
target.upsilonTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.upsilonTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Upsilon.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("upsilonTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Stun Tower";
static var bullet_mc = "energyBullet";
static var bullet_sfx = "shotSound8";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(1275, 1.35, 1.02);
static var peopleCost = new Array(12, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(50, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(15, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(394, 1.35, 1.01);
static var shotRange = new Array(100, 1, 1);
static var shotRate = new Array(20, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(20, 1, 1);
static var stunChance = new Array(0.05, 1.02, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1078 MovieClip [__Packages.Phi] Frame 0 (5.82 KiB) ● ●
class Phi extends Tower
{
var isEconomic, isResearch;
function Phi () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function phiTowerIcon(target, xPos, yPos) {
if ((Research.magicAcademy && (Research.magicEle3 == 2)) && (Research.magick2 == 2)) {
target.attachMovie("phiTower_i", "phiTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.phiTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Phi.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Phi.people[1][0] - Phi.people[0][0]) + " people";
var _local6 = Math.round(Phi.heat[1][0] - Phi.heat[0][0]) + " heat";
var _local9 = Math.round(Phi.magic[1][0] - Phi.magic[0][0]) + " magic";
var _local8 = Math.round(Phi.energy[1][0] - Phi.energy[0][0]) + " energy";
var _local5 = Math.round(Phi.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Phi.poison[0][0]) + " poison per shot";
var _local11 = "Slow: Other";
var _local10 = "";
var _local2 = [Phi.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Phi.shot);
};
target.phiTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.phiTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Phi.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("phiTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Stasis Tower";
static var bullet_mc = "freezeBullet";
static var bullet_sfx = "shotSound4";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(1275, 1.3, 1.02);
static var peopleCost = new Array(33, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(15, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(850, 1.17, 1.01);
static var shotRange = new Array(145, 1.01, 1.01);
static var shotRate = new Array(45, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(2, 1, 1);
static var targetsChance = new Array(0.5, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1.01, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(0.7, 1.01, 1);
static var slow2Duration = new Array(90, 1, 1);
static var slow2Chance = new Array(1, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(2, 1.04, 1.02);
static var stunChance = new Array(0.03, 1.02, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(15, 1, 1);
static var goldMultiply = new Array(1.1, 1, 1);
static var goldChance = new Array(0.1, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1079 MovieClip [__Packages.Chi] Frame 0 (5.93 KiB) ● ●
class Chi extends Tower
{
var isEconomic, isResearch;
function Chi () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function chiTowerIcon(target, xPos, yPos) {
if ((Research.magicAcademy && (Research.magicEle3 == 2)) && (Research.heatMk2 == 2)) {
target.attachMovie("chiTower_i", "chiTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.chiTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Chi.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Chi.people[1][0] - Chi.people[0][0]) + " people";
var _local6 = Math.round(Chi.heat[1][0] - Chi.heat[0][0]) + " heat";
var _local9 = Math.round(Chi.magic[1][0] - Chi.magic[0][0]) + " magic";
var _local8 = Math.round(Chi.energy[1][0] - Chi.energy[0][0]) + " energy";
var _local5 = Math.round(Chi.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Chi.poison[0][0]) + " poison per shot";
var _local11 = "Elemental: Fire";
var _local10 = "High Chaos";
var _local2 = [Chi.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Chi.shot);
};
target.chiTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.chiTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Chi.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("chiTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Chaos Tower";
static var bullet_mc = "chaosBullet";
static var bullet_sfx = "shotSound7";
static var bulletMove = [0, 4, 10, 3.9];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(1275, 1.35, 1.02);
static var peopleCost = new Array(12, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(10, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(25, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(430, 1.2, 1);
static var shotRange = new Array(150, 1, 1);
static var shotRate = new Array(100, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(10, 1, 1);
static var targetsChance = new Array(0.25, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0.25, 1.1, 1);
static var splashRange = new Array(30, 1.1, 1);
static var splashChance = new Array(0.25, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(25, 1.1, 1);
static var dotDuration = new Array(25, 1, 1);
static var dotChance = new Array(0.25, 1.1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1.1, 1.1, 1);
static var damageChance = new Array(0.25, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(0.9, 1.02, 1);
static var slow1Duration = new Array(30, 1, 1);
static var slow1Chance = new Array(0.25, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(0.9, 1.02, 1);
static var slow2Duration = new Array(30, 1, 1);
static var slow2Chance = new Array(0.25, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(2, 1, 1);
static var stunChance = new Array(0.05, 1.05, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(5, 1.1, 1);
static var armorDuration = new Array(30, 1.1, 1);
static var armorChance = new Array(0.25, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1.1, 1.05, 1);
static var goldChance = new Array(0.25, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1080 MovieClip [__Packages.Psi] Frame 0 (5.86 KiB) ● ●
class Psi extends Tower
{
var isEconomic, isResearch;
function Psi () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function psiTowerIcon(target, xPos, yPos) {
if ((Research.missileBase && (Research.ammoMk3 == 2)) && (Research.poisonMk2 == 2)) {
target.attachMovie("psiTower_i", "psiTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.psiTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Psi.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Psi.people[1][0] - Psi.people[0][0]) + " people";
var _local6 = Math.round(Psi.heat[1][0] - Psi.heat[0][0]) + " heat";
var _local9 = Math.round(Psi.magic[1][0] - Psi.magic[0][0]) + " magic";
var _local8 = Math.round(Psi.energy[1][0] - Psi.energy[0][0]) + " energy";
var _local5 = Math.round(Psi.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Psi.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Psi.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Psi.shot);
};
target.psiTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.psiTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Psi.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("psiTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Flak Tower";
static var bullet_mc = "ammoBullet";
static var bullet_sfx = "shotSound1";
static var bulletMove = [5, 0, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(1275, 1.25, 1.02);
static var peopleCost = new Array(41, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(8, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(22, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(1, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(3050, 1.23, 1.02);
static var shotRange = new Array(155, 1.04, 1);
static var shotRate = new Array(60, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1.25, 1.11, 0.99);
static var damageChance = new Array(0.25, 1.01, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(40, 1.05, 1);
static var armorDuration = new Array(50, 1, 1);
static var armorChance = new Array(1, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1081 MovieClip [__Packages.Omega] Frame 0 (5.92 KiB) ● ●
class Omega extends Tower
{
var isEconomic, isResearch;
function Omega () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function omegaTowerIcon(target, xPos, yPos) {
if ((Research.missileBase && (Research.heatMk3 == 2)) && (Research.ammoMk3 == 2)) {
target.attachMovie("omegaTower_i", "omegaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.omegaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Omega.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Omega.people[1][0] - Omega.people[0][0]) + " people";
var _local6 = Math.round(Omega.heat[1][0] - Omega.heat[0][0]) + " heat";
var _local9 = Math.round(Omega.magic[1][0] - Omega.magic[0][0]) + " magic";
var _local8 = Math.round(Omega.energy[1][0] - Omega.energy[0][0]) + " energy";
var _local5 = Math.round(Omega.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Omega.poison[0][0]) + " poison per shot";
var _local11 = "Splash";
var _local10 = "Damage Multiply";
var _local2 = [Omega.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Omega.shot);
};
target.omegaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.omegaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Omega.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("omegaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 2300;
static var baseName = "Rocket Tower";
static var bullet_mc = "missileBullet";
static var bullet_sfx = "shotSound11";
static var bulletMove = [0, 0.05, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(1725, 1.4, 1.02);
static var peopleCost = new Array(41, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(23, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(22, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(950, 1.59, 1.01);
static var shotRange = new Array(325, 1, 1);
static var shotRate = new Array(100, 0.97, 0.99);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(100, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1.75, 1, 1);
static var damageChance = new Array(0.1, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1082 MovieClip [__Packages.Digamma] Frame 0 (5.92 KiB) ● ●
class Digamma extends Tower
{
var isEconomic, isResearch;
function Digamma () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function digammaTowerIcon(target, xPos, yPos) {
if (((Research.missileBase || (Research.laserBase)) && (Research.heatMk3 == 2)) && (Research.poisonMk2 == 2)) {
target.attachMovie("digammaTower_i", "digammaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.digammaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Digamma.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Digamma.people[1][0] - Digamma.people[0][0]) + " people";
var _local6 = Math.round(Digamma.heat[1][0] - Digamma.heat[0][0]) + " heat";
var _local9 = Math.round(Digamma.magic[1][0] - Digamma.magic[0][0]) + " magic";
var _local8 = Math.round(Digamma.energy[1][0] - Digamma.energy[0][0]) + " energy";
var _local5 = Math.round(Digamma.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Digamma.poison[0][0]) + " poison per shot";
var _local11 = "Multi-targetting";
var _local10 = "Splash";
var _local2 = [Digamma.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Digamma.shot);
};
target.digammaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.digammaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Digamma.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("digammaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Inferno Tower";
static var bullet_mc = "heatBullet";
static var bullet_sfx = "shotSound14";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(1275, 1.3, 1.02);
static var peopleCost = new Array(40, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(24, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(1, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(325, 1.35, 1.02);
static var shotRange = new Array(140, 1.005, 1);
static var shotRate = new Array(20, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(2, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(75, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(0.9, 1, 1);
static var goldChance = new Array(1, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1083 MovieClip [__Packages.Koppa] Frame 0 (5.85 KiB) ● ●
class Koppa extends Tower
{
var isEconomic, isResearch;
function Koppa () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function koppaTowerIcon(target, xPos, yPos) {
if ((Research.laserBase && (Research.heatMk3 == 2)) && (Research.energyMk3 == 2)) {
target.attachMovie("koppaTower_i", "koppaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.koppaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Koppa.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Koppa.people[1][0] - Koppa.people[0][0]) + " people";
var _local6 = Math.round(Koppa.heat[1][0] - Koppa.heat[0][0]) + " heat";
var _local9 = Math.round(Koppa.magic[1][0] - Koppa.magic[0][0]) + " magic";
var _local8 = Math.round(Koppa.energy[1][0] - Koppa.energy[0][0]) + " energy";
var _local5 = Math.round(Koppa.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Koppa.poison[0][0]) + " poison per shot";
var _local11 = "Multi-targetting";
var _local10 = "Splash";
var _local2 = [Koppa.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Koppa.shot);
};
target.koppaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.koppaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Koppa.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("koppaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 2300;
static var baseName = "Beam Tower";
static var bullet_mc = "laserBullet";
static var bullet_sfx = "shotSound13";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(1725, 1.4, 1.02);
static var peopleCost = new Array(41, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(23, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(21, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(450, 1.49, 1.01);
static var shotRange = new Array(250, 1, 1);
static var shotRate = new Array(50, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(3, 1.05, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(1, 1, 1);
static var splashRange = new Array(50, 1.02, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(30, 1, 1);
static var dotDuration = new Array(25, 1, 1);
static var dotChance = new Array(0.05, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(1, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1084 MovieClip [__Packages.Stigma] Frame 0 (5.85 KiB) ● ●
class Stigma extends Tower
{
var isEconomic, isResearch;
function Stigma () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function stigmaTowerIcon(target, xPos, yPos) {
if ((Research.laserBase && (Research.energyMk3 == 2)) && (Research.poisonMk2 == 2)) {
target.attachMovie("stigmaTower_i", "stigmaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.stigmaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Stigma.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Stigma.people[1][0] - Stigma.people[0][0]) + " people";
var _local6 = Math.round(Stigma.heat[1][0] - Stigma.heat[0][0]) + " heat";
var _local9 = Math.round(Stigma.magic[1][0] - Stigma.magic[0][0]) + " magic";
var _local8 = Math.round(Stigma.energy[1][0] - Stigma.energy[0][0]) + " energy";
var _local5 = Math.round(Stigma.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Stigma.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Stigma.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Stigma.shot);
};
target.stigmaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.stigmaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Stigma.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("stigmaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1700;
static var baseName = "Shock Tower";
static var bullet_mc = "energyBullet";
static var bullet_sfx = "shotSound12";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(1275, 1.35, 1.02);
static var peopleCost = new Array(43, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(8, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(21, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(1, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(325, 1.35, 1.01);
static var shotRange = new Array(225, 1.01, 1);
static var shotRate = new Array(30, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(3, 1, 1.015);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(8, 1.08, 1);
static var armorDuration = new Array(75, 1, 1);
static var armorChance = new Array(1, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1085 MovieClip [__Packages.Sampi] Frame 0 (5.81 KiB) ● ●
class Sampi extends Tower
{
var isEconomic, isResearch;
function Sampi () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost);
isEconomic = false;
isResearch = false;
}
static function sampiTowerIcon(target, xPos, yPos) {
if (Research.underground && (Research.poisonMk3 == 2)) {
target.attachMovie("sampiTower_i", "sampiTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.sampiTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Sampi.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Sampi.people[1][0] - Sampi.people[0][0]) + " people";
var _local6 = Math.round(Sampi.heat[1][0] - Sampi.heat[0][0]) + " heat";
var _local9 = Math.round(Sampi.magic[1][0] - Sampi.magic[0][0]) + " magic";
var _local8 = Math.round(Sampi.energy[1][0] - Sampi.energy[0][0]) + " energy";
var _local5 = Math.round(Sampi.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Sampi.poison[0][0]) + " poison per shot";
var _local11 = "Poison";
var _local10 = "";
var _local2 = [Sampi.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Sampi.shot);
};
target.sampiTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.sampiTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Sampi.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("sampiTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1200;
static var baseName = "Vile Tower";
static var bullet_mc = "poisonBullet";
static var bullet_sfx = "shotSound9";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(900, 1.37, 1.02);
static var peopleCost = new Array(41, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(4, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(360, 1.3, 1.01);
static var shotRange = new Array(125, 1.02, 1);
static var shotRate = new Array(35, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0.1, 1, 1);
static var splashRange = new Array(50, 1, 1);
static var splashChance = new Array(1, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(15, 1.33, 1.01);
static var dotDuration = new Array(60, 1, 1);
static var dotChance = new Array(1, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(0.85, 1.01, 1);
static var slow2Duration = new Array(60, 1, 1);
static var slow2Chance = new Array(1, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(1, 1, 1);
static var stunChance = new Array(0.01, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1086 MovieClip [__Packages.Hut] Frame 0 (3.56 KiB) ●
class Hut extends Tower
{
var isEconomic, isResearch;
function Hut () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function hutIcon(target, xPos, yPos) {
target.attachMovie("hut_i", "hut_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.hut_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = Hut.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (Hut.people[1][0] * Game.peopleProduction_GA) - Hut.people[0][0];
var _local3 = (Hut.heat[1][0] * Game.heatProduction_GA) - Hut.heat[0][0];
var _local8 = (Hut.magic[1][0] * Game.magicProduction_GA) - Hut.magic[0][0];
var _local9 = (Hut.energy[1][0] * Game.energyProduction_GA) - Hut.energy[0][0];
var _local15 = Hut.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = Hut.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(Hut.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(Hut.poison[2][0]) + " poison stored";
var _local17 = [Hut.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.hut_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.hut_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Hut.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("hut", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
static var BASE_COST = 10;
static var baseName = "Hut";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(1, 1);
static var upgradeCost = new Array(10, 1.25, 0.99);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(3.4, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1087 MovieClip [__Packages.AmmoHut] Frame 0 (3.72 KiB) ●
class AmmoHut extends Tower
{
var isEconomic, isResearch;
function AmmoHut () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function ammoHutIcon(target, xPos, yPos) {
target.attachMovie("ammoHut_i", "ammoHut_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.ammoHut_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = AmmoHut.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (AmmoHut.people[1][0] * Game.peopleProduction_GA) - AmmoHut.people[0][0];
var _local3 = (AmmoHut.heat[1][0] * Game.heatProduction_GA) - AmmoHut.heat[0][0];
var _local8 = (AmmoHut.magic[1][0] * Game.magicProduction_GA) - AmmoHut.magic[0][0];
var _local9 = (AmmoHut.energy[1][0] * Game.energyProduction_GA) - AmmoHut.energy[0][0];
var _local15 = ((3 * AmmoHut.ammo[1][0]) * Game.ammoProduction_GA) - AmmoHut.ammo[0][0];
var _local14 = ((5 * AmmoHut.poison[1][0]) * Game.poisonProduction_GA) - AmmoHut.poison[0][0];
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(AmmoHut.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(AmmoHut.poison[2][0]) + " poison stored";
var _local17 = [AmmoHut.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.ammoHut_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.ammoHut_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = AmmoHut.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("ammoHut", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
static var BASE_COST = 10;
static var baseName = "Ammo Hut";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(1, 1);
static var upgradeCost = new Array(10, 1.25, 0.99);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(1, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(3.3, 1.26, 0.99);
static var ammoStore = new Array(33, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1088 MovieClip [__Packages.BasicResearch] Frame 0 (9.62 KiB) ● ●
class BasicResearch extends Tower
{
var isEconomic, isResearch;
function BasicResearch () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.basicResearch = true;
}
function onUnload() {
Research.basicResearch = false;
}
static function basicResearchIcon(target, xPos, yPos) {
if (!Research.basicResearch) {
target.attachMovie("basicResearch_i", "basicResearch_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.basicResearch_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = BasicResearch.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (BasicResearch.people[1][0] * Game.peopleProduction_GA) - BasicResearch.people[0][0];
var _local3 = (BasicResearch.heat[1][0] * Game.heatProduction_GA) - BasicResearch.heat[0][0];
var _local8 = (BasicResearch.magic[1][0] * Game.magicProduction_GA) - BasicResearch.magic[0][0];
var _local9 = (BasicResearch.energy[1][0] * Game.energyProduction_GA) - BasicResearch.energy[0][0];
var _local15 = BasicResearch.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = BasicResearch.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(BasicResearch.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(BasicResearch.poison[2][0]) + " poison stored";
var _local17 = [BasicResearch.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.basicResearch_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.basicResearch_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = BasicResearch.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("basicResearch", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function ammoEk1Research(target, xPos, yPos) {
if (Research.basicResearch) {
target.attachMovie("ammoEk1", "ammoEk1", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "ammoEk1");
target.ammoEk1.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 250;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Basic Ammo Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Basic Ammo based technology. \n";
var _local4 = "Basic Research [B]";
var _local3 = "";
var _local9 = "Ammo Factory [B]";
var _local8 = "Arrow Tower [D]";
var _local7 = "Mark 2 Ammo Research [R]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.ammoEk1.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.ammoEk1) {
target.ammoEk1.onPress = function () {
var _local1 = 250;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Basic Ammo research.", gTimer:60});
Research.ammoEk1 = 1;
var _local2 = [Game.researchTime, "ammoEk1", "Basic Ammo"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "ammoEk1");
delete target.ammoEk1.onPress;
}
};
}
}
}
static function energyEk1Research(target, xPos, yPos) {
if (Research.basicResearch) {
target.attachMovie("energyEk1", "energyEk1", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "energyEk1");
target.energyEk1.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 250;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Basic Energy Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Basic Energy based technology. \n";
var _local4 = "Basic Research [B]";
var _local3 = "";
var _local9 = "Energy Plant [B]";
var _local8 = "Houses [B] (w/ Basic Heat)";
var _local7 = "Energy Tower [D]";
var _local6 = "Mark 2 Energy Research [R]";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.energyEk1.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.energyEk1) {
target.energyEk1.onPress = function () {
var _local1 = 250;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Basic Energy research.", gTimer:60});
Research.energyEk1 = 1;
var _local2 = [Game.researchTime, "energyEk1", "Basic Energy"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "energyEk1");
delete target.energyEk1.onPress;
}
};
}
}
}
static function heatEk1Research(target, xPos, yPos) {
if (Research.basicResearch) {
target.attachMovie("heatEk1", "heatEk1", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "heatEk1");
target.heatEk1.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 250;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Basic Heat Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Basic Heat based technology. \n";
var _local4 = "Basic Research [B]";
var _local3 = "";
var _local9 = "Houses [B] (w/ Basic Energy)";
var _local8 = "Heat Tower [D]";
var _local7 = "Mark 2 Heat Research [R]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.heatEk1.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.heatEk1) {
target.heatEk1.onPress = function () {
var _local1 = 250;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Basic Heat research.", gTimer:60});
Research.heatEk1 = 1;
var _local2 = [Game.researchTime, "heatEk1", "Basic Heat"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "heatEk1");
delete target.heatEk1.onPress;
}
};
}
}
}
static var BASE_COST = 100;
static var baseName = "Basic Research";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(1, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1089 MovieClip [__Packages.MagicSchool] Frame 0 (5.77 KiB) ● ●
class MagicSchool extends Tower
{
var isEconomic, isResearch;
function MagicSchool () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.magicSchool = true;
}
function onUnload() {
Research.magicSchool = false;
}
static function magicSchoolIcon(target, xPos, yPos) {
if (!Research.magicSchool) {
target.attachMovie("magicSchool_i", "magicSchool_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.magicSchool_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = MagicSchool.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (MagicSchool.people[1][0] * Game.peopleProduction_GA) - MagicSchool.people[0][0];
var _local3 = (MagicSchool.heat[1][0] * Game.heatProduction_GA) - MagicSchool.heat[0][0];
var _local8 = (MagicSchool.magic[1][0] * Game.magicProduction_GA) - MagicSchool.magic[0][0];
var _local9 = (MagicSchool.energy[1][0] * Game.energyProduction_GA) - MagicSchool.energy[0][0];
var _local15 = MagicSchool.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = MagicSchool.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(MagicSchool.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(MagicSchool.poison[2][0]) + " poison stored";
var _local17 = [MagicSchool.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.magicSchool_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.magicSchool_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = MagicSchool.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("magicSchool", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function magicMk1Research(target, xPos, yPos) {
if (Research.magicSchool) {
target.attachMovie("magicMk1", "magicMk1", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "magicMk1");
target.magicMk1.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 250;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Basic Magic Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Basic Magic based technology. \n";
var _local4 = "Magic School [B]";
var _local3 = "";
var _local9 = "Ice Tower [D]";
var _local8 = "Mark 2 Magic Research [R]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.magicMk1.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.magicMk1) {
target.magicMk1.onPress = function () {
var _local1 = 250;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Basic Magic research.", gTimer:60});
Research.magicMk1 = 1;
var _local2 = [Game.researchTime, "magicMk1", "Basic Magic"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "magicMk1");
delete target.magicMk1.onPress;
}
};
}
}
}
static var BASE_COST = 100;
static var baseName = "Magic School";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(1, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(5, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1090 MovieClip [__Packages.AmmoFactory] Frame 0 (3.89 KiB) ●
class AmmoFactory extends Tower
{
var isEconomic, isResearch;
function AmmoFactory () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function ammoFactoryIcon(target, xPos, yPos) {
if (Research.basicResearch && (Research.ammoEk1 == 2)) {
target.attachMovie("ammoFactory_i", "ammoFactory_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.ammoFactory_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = AmmoFactory.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (AmmoFactory.people[1][0] * Game.peopleProduction_GA) - AmmoFactory.people[0][0];
var _local3 = (AmmoFactory.heat[1][0] * Game.heatProduction_GA) - AmmoFactory.heat[0][0];
var _local8 = (AmmoFactory.magic[1][0] * Game.magicProduction_GA) - AmmoFactory.magic[0][0];
var _local9 = (AmmoFactory.energy[1][0] * Game.energyProduction_GA) - AmmoFactory.energy[0][0];
var _local15 = ((3 * AmmoFactory.ammo[1][0]) * Game.ammoProduction_GA) - AmmoFactory.ammo[0][0];
var _local14 = AmmoFactory.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(AmmoFactory.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(AmmoFactory.poison[2][0]) + " poison stored";
var _local17 = [AmmoFactory.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.ammoFactory_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.ammoFactory_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = AmmoFactory.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("ammoFactory", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 50;
static var baseName = "Ammo Factory";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(25, 1.3, 0.995);
static var peopleCost = new Array(2, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(11, 1.26, 0.99);
static var ammoStore = new Array(110, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1091 MovieClip [__Packages.House] Frame 0 (3.75 KiB) ●
class House extends Tower
{
var isEconomic, isResearch;
function House () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function houseIcon(target, xPos, yPos) {
if ((Research.basicResearch && (Research.energyEk1 == 2)) && (Research.heatEk1 == 2)) {
target.attachMovie("house_i", "house_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.house_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = House.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (House.people[1][0] * Game.peopleProduction_GA) - House.people[0][0];
var _local3 = (House.heat[1][0] * Game.heatProduction_GA) - House.heat[0][0];
var _local8 = (House.magic[1][0] * Game.magicProduction_GA) - House.magic[0][0];
var _local9 = (House.energy[1][0] * Game.energyProduction_GA) - House.energy[0][0];
var _local15 = House.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = House.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(House.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(House.poison[2][0]) + " poison stored";
var _local17 = [House.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.house_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.house_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = House.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("house", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 50;
static var baseName = "House";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(40, 1.3, 0.995);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(14, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(1, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1092 MovieClip [__Packages.EnergyPlant] Frame 0 (3.86 KiB) ●
class EnergyPlant extends Tower
{
var isEconomic, isResearch;
function EnergyPlant () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function energyPlantIcon(target, xPos, yPos) {
if (Research.basicResearch && (Research.energyEk1 == 2)) {
target.attachMovie("energyPlant_i", "energyPlant_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.energyPlant_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = EnergyPlant.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (EnergyPlant.people[1][0] * Game.peopleProduction_GA) - EnergyPlant.people[0][0];
var _local3 = (EnergyPlant.heat[1][0] * Game.heatProduction_GA) - EnergyPlant.heat[0][0];
var _local8 = (EnergyPlant.magic[1][0] * Game.magicProduction_GA) - EnergyPlant.magic[0][0];
var _local9 = (EnergyPlant.energy[1][0] * Game.energyProduction_GA) - EnergyPlant.energy[0][0];
var _local15 = EnergyPlant.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = EnergyPlant.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(EnergyPlant.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(EnergyPlant.poison[2][0]) + " poison stored";
var _local17 = [EnergyPlant.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.energyPlant_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.energyPlant_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = EnergyPlant.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("energyPlant", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 50;
static var baseName = "Energy Plant";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(25, 1.3, 0.995);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(10, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1093 MovieClip [__Packages.EconomicCenter] Frame 0 (9.87 KiB) ● ●
class EconomicCenter extends Tower
{
var isEconomic, isResearch;
function EconomicCenter () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.economicCenter = true;
}
function onUnload() {
Research.economicCenter = false;
}
static function economicCenterIcon(target, xPos, yPos) {
if ((!Research.economicCenter) && (Research.basicResearch)) {
target.attachMovie("economicCenter_i", "economicCenter_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.economicCenter_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = EconomicCenter.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (EconomicCenter.people[1][0] * Game.peopleProduction_GA) - EconomicCenter.people[0][0];
var _local3 = (EconomicCenter.heat[1][0] * Game.heatProduction_GA) - EconomicCenter.heat[0][0];
var _local8 = (EconomicCenter.magic[1][0] * Game.magicProduction_GA) - EconomicCenter.magic[0][0];
var _local9 = (EconomicCenter.energy[1][0] * Game.energyProduction_GA) - EconomicCenter.energy[0][0];
var _local15 = EconomicCenter.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = EconomicCenter.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(EconomicCenter.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(EconomicCenter.poison[2][0]) + " poison stored";
var _local17 = [EconomicCenter.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.economicCenter_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.economicCenter_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = EconomicCenter.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("economicCenter", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function ammoEk2Research(target, xPos, yPos) {
if (Research.economicCenter && (Research.ammoEk1 == 2)) {
target.attachMovie("ammoEk2", "ammoEk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "ammoEk2");
target.ammoEk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Economic Ammo Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Economic Ammo based technology. \n";
var _local4 = "Economic Center [B]";
var _local3 = "Basic Ammo [R]";
var _local9 = "Ammo Assembly Factory [B]";
var _local8 = "Mark 3 Economic Ammo Research [R]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.ammoEk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.ammoEk2) {
target.ammoEk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Economic Ammo research.", gTimer:60});
Research.ammoEk2 = 1;
var _local2 = [Game.researchTime, "ammoEk2", "Economic Ammo"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "ammoEk2");
delete target.ammoEk2.onPress;
}
};
}
}
}
static function energyHeatEk2Research(target, xPos, yPos) {
if ((Research.economicCenter && (Research.energyEk1 == 2)) && (Research.heatEk1 == 2)) {
target.attachMovie("energyHeatEk2", "energyHeatEk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "energyHeatEk2");
target.energyHeatEk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Economic Heat and Energy Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Economic Heat and Energy based technology. \n";
var _local4 = "Economic Center [B]";
var _local3 = "Basic Heat & Energy [R]";
var _local9 = "Coal Burning Plant [B]";
var _local8 = "Hotel [B]";
var _local7 = "Mark 3 Economic Heat & Energy Research [R]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.energyHeatEk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.energyHeatEk2) {
target.energyHeatEk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Economic Heat and Energy research.", gTimer:60});
Research.energyHeatEk2 = 1;
var _local2 = [Game.researchTime, "energyHeatEk2", "Economic Heat and Energy"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "energyHeatEk2");
delete target.energyHeatEk2.onPress;
}
};
}
}
}
static function goldk1Research(target, xPos, yPos) {
if (Research.economicCenter) {
target.attachMovie("goldk1", "goldk1", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "goldk1");
target.goldk1.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 10000;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Interest Increase";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Increased Interest. \n";
var _local4 = "Economic Center [B]";
var _local3 = "";
var _local9 = "Mark 3 Economic Advances";
var _local8 = "";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.goldk1.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.goldk1) {
target.goldk1.onPress = function () {
var _local2 = 10000;
_local2 = _local2 * Game.researchCost_GA;
if (_local2 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local2);
Game.totalWorth = Game.totalWorth - Math.round(_local2);
Game.gMessQueue.push({gMess:"You have researched Increased Interest research.", gTimer:60});
Research.goldk1 = 2;
Game.goldInterest = Game.goldInterest * 1.01;
Research.setupProgressBar(target, "goldk1");
this.goldk1PB._width = 24;
delete target.goldk1.onPress;
}
};
}
}
}
static var BASE_COST = 1000;
static var baseName = "Economic Center";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(10, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1094 MovieClip [__Packages.MilitaryBase] Frame 0 (13.73 KiB) ● ●
class MilitaryBase extends Tower
{
var isEconomic, isResearch;
function MilitaryBase () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.militaryBase = true;
}
function onUnload() {
Research.militaryBase = false;
}
static function militaryBaseIcon(target, xPos, yPos) {
if ((!Research.militaryBase) && (Research.basicResearch)) {
target.attachMovie("militaryBase_i", "militaryBase_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.militaryBase_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = MilitaryBase.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (MilitaryBase.people[1][0] * Game.peopleProduction_GA) - MilitaryBase.people[0][0];
var _local3 = (MilitaryBase.heat[1][0] * Game.heatProduction_GA) - MilitaryBase.heat[0][0];
var _local8 = (MilitaryBase.magic[1][0] * Game.magicProduction_GA) - MilitaryBase.magic[0][0];
var _local9 = (MilitaryBase.energy[1][0] * Game.energyProduction_GA) - MilitaryBase.energy[0][0];
var _local15 = MilitaryBase.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = ((5 * MilitaryBase.poison[1][0]) * Game.poisonProduction_GA) - MilitaryBase.poison[0][0];
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(MilitaryBase.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(MilitaryBase.poison[2][0]) + " poison stored";
var _local17 = [MilitaryBase.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.militaryBase_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.militaryBase_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = MilitaryBase.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("militaryBase", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function ammoMk2Research(target, xPos, yPos) {
if (Research.militaryBase && (Research.ammoEk1 == 2)) {
target.attachMovie("ammoMk2", "ammoMk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "ammoMk2");
target.ammoMk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Military Ammo Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Military Ammo based technology. \n";
var _local4 = "Military Base [B]";
var _local3 = "Basic Ammo [R]";
var _local9 = "Bullet Tower [D]";
var _local8 = "Missile Tower [D] (w/ Military Heat)";
var _local7 = "Mark 3 Military Ammo Research [R]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.ammoMk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.ammoMk2) {
target.ammoMk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Military Ammo research.", gTimer:60});
Research.ammoMk2 = 1;
var _local2 = [Game.researchTime, "ammoMk2", "Military Ammo"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "ammoMk2");
delete target.ammoMk2.onPress;
}
};
}
}
}
static function heatMk2Research(target, xPos, yPos) {
if (Research.militaryBase && (Research.heatEk1 == 2)) {
target.attachMovie("heatMk2", "heatMk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "heatMk2");
target.heatMk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Military Heat Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Military Heat based technology. \n";
var _local4 = "Military Base [B]";
var _local3 = "Basic Heat [R]";
var _local9 = "Flame Tower [D]";
var _local8 = "Missile Tower [D] (w/ Military Ammo)";
var _local7 = "Laser Tower [D] (w/ Military Energy)";
var _local6 = "Mark 3 Military Heat Research [R]";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.heatMk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.heatMk2) {
target.heatMk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Military Heat research.", gTimer:60});
Research.heatMk2 = 1;
var _local2 = [Game.researchTime, "heatMk2", "Military Heat"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "heatMk2");
delete target.heatMk2.onPress;
}
};
}
}
}
static function energyMk2Research(target, xPos, yPos) {
if (Research.militaryBase && (Research.energyEk1 == 2)) {
target.attachMovie("energyMk2", "energyMk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "energyMk2");
target.energyMk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Military Energy Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Military Energy based technology. \n";
var _local4 = "Military Base [B]";
var _local3 = "Basic Energy [R]";
var _local9 = "Spark Tower [D]";
var _local8 = "Laser Tower [D] (w/ Military Heat)";
var _local7 = "Mark 3 Military Energy Research [R]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.energyMk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.energyMk2) {
target.energyMk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Military Energy research.", gTimer:60});
Research.energyMk2 = 1;
var _local2 = [Game.researchTime, "energyMk2", "Military Energy"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "energyMk2");
delete target.energyMk2.onPress;
}
};
}
}
}
static function poisonMk2Research(target, xPos, yPos) {
if (Research.militaryBase) {
target.attachMovie("poisonMk2", "poisonMk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "poisonMk2");
target.poisonMk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Military Poison Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Military Poison based technology. \n";
var _local4 = "Military Base [B]";
var _local3 = "";
var _local9 = "Poison Tower [D]";
var _local8 = "Mark 3 Military Poison Research [R]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.poisonMk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.poisonMk2) {
target.poisonMk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Military Poison research.", gTimer:60});
Research.poisonMk2 = 1;
var _local2 = [Game.researchTime, "poisonMk2", "Military Poison"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "poisonMk2");
delete target.poisonMk2.onPress;
}
};
}
}
}
static function magicMk2Research(target, xPos, yPos) {
if (Research.militaryBase && (Research.magicMk1 == 2)) {
target.attachMovie("magicMk2", "magicMk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "magicMk2");
target.magicMk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Military Magic Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Military Magic based technology. \n";
var _local4 = "Military Base [B]";
var _local3 = "Basic Magic [R]";
var _local9 = "Magic Tower [D]";
var _local8 = "";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.magicMk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.magicMk2) {
target.magicMk2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Military Magic research.", gTimer:60});
Research.magicMk2 = 1;
var _local2 = [Game.researchTime, "magicMk2", "Military Magic"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "magicMk2");
delete target.magicMk2.onPress;
}
};
}
}
}
static var BASE_COST = 1000;
static var baseName = "Military Base";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(10, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(5, 1.26, 0.99);
static var poisonStore = new Array(35, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1095 MovieClip [__Packages.MagicUniversity] Frame 0 (7.93 KiB) ● ●
class MagicUniversity extends Tower
{
var isEconomic, isResearch;
function MagicUniversity () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.magicUniversity = true;
}
function onUnload() {
Research.magicUniversity = false;
}
static function magicUniversityIcon(target, xPos, yPos) {
if ((!Research.magicUniversity) && (Research.magicSchool)) {
target.attachMovie("magicUniversity_i", "magicUniversity_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.magicUniversity_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = MagicUniversity.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (MagicUniversity.people[1][0] * Game.peopleProduction_GA) - MagicUniversity.people[0][0];
var _local3 = (MagicUniversity.heat[1][0] * Game.heatProduction_GA) - MagicUniversity.heat[0][0];
var _local8 = (MagicUniversity.magic[1][0] * Game.magicProduction_GA) - MagicUniversity.magic[0][0];
var _local9 = (MagicUniversity.energy[1][0] * Game.energyProduction_GA) - MagicUniversity.energy[0][0];
var _local15 = MagicUniversity.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = MagicUniversity.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(MagicUniversity.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(MagicUniversity.poison[2][0]) + " poison stored";
var _local17 = [MagicUniversity.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.magicUniversity_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.magicUniversity_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = MagicUniversity.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("magicUniversity", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function magick2Research(target, xPos, yPos) {
if (Research.magicUniversity && (Research.magicMk1 == 2)) {
target.attachMovie("magick2", "magick2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "magick2");
target.magick2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Magic Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Magic based technology. \n";
var _local4 = "Magic University [B]";
var _local3 = "Basic Magic [R]";
var _local9 = "Freeze Tower [D]";
var _local8 = "Mark 3 Magic Research [R]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.magick2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.magick2) {
target.magick2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Magic research.", gTimer:60});
Research.magick2 = 1;
var _local2 = [Game.researchTime, "magick2", "Advanced Magic"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "magick2");
delete target.magick2.onPress;
}
};
}
}
}
static function magicEle2Research(target, xPos, yPos) {
if (Research.magicUniversity && (Research.magicMk1 == 2)) {
target.attachMovie("magicEle2", "magicEle2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "magicEle2");
target.magicEle2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 2500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Elemental Magic Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Elemental Magic based technology. \n";
var _local4 = "Magic University [B]";
var _local3 = "Basic Magic [R]";
var _local9 = "Slow Tower [D]";
var _local8 = "Mark 3 Elemental Magic Research [R]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.magicEle2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.magicEle2) {
target.magicEle2.onPress = function () {
var _local1 = 2500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Elemental Magic research.", gTimer:60});
Research.magicEle2 = 1;
var _local2 = [Game.researchTime, "magicEle2", "Elemental Magic"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "magicEle2");
delete target.magicEle2.onPress;
}
};
}
}
}
static var BASE_COST = 1000;
static var baseName = "Magic University";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(10, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(25, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1096 MovieClip [__Packages.AmmoAssembly] Frame 0 (3.95 KiB) ●
class AmmoAssembly extends Tower
{
var isEconomic, isResearch;
function AmmoAssembly () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function ammoAssemblyIcon(target, xPos, yPos) {
if (Research.economicCenter && (Research.ammoEk2 == 2)) {
target.attachMovie("ammoAssembly_i", "ammoAssembly_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.ammoAssembly_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = AmmoAssembly.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (AmmoAssembly.people[1][0] * Game.peopleProduction_GA) - AmmoAssembly.people[0][0];
var _local3 = (AmmoAssembly.heat[1][0] * Game.heatProduction_GA) - AmmoAssembly.heat[0][0];
var _local8 = (AmmoAssembly.magic[1][0] * Game.magicProduction_GA) - AmmoAssembly.magic[0][0];
var _local9 = (AmmoAssembly.energy[1][0] * Game.energyProduction_GA) - AmmoAssembly.energy[0][0];
var _local15 = ((3 * AmmoAssembly.ammo[1][0]) * Game.ammoProduction_GA) - AmmoAssembly.ammo[0][0];
var _local14 = ((5 * AmmoAssembly.poison[1][0]) * Game.poisonProduction_GA) - AmmoAssembly.poison[0][0];
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(AmmoAssembly.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(AmmoAssembly.poison[2][0]) + " poison stored";
var _local17 = [AmmoAssembly.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.ammoAssembly_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.ammoAssembly_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = AmmoAssembly.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("ammoAssembly", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 125;
static var baseName = "Ammo Assembly";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(50, 1.35, 1);
static var peopleCost = new Array(5, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(1, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(30, 1.26, 0.99);
static var ammoStore = new Array(300, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1097 MovieClip [__Packages.CoalBurningPlant] Frame 0 (3.99 KiB) ●
class CoalBurningPlant extends Tower
{
var isEconomic, isResearch;
function CoalBurningPlant () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function coalBurningPlantIcon(target, xPos, yPos) {
if (Research.economicCenter && (Research.energyHeatEk2 == 2)) {
target.attachMovie("coalBurningPlant_i", "coalBurningPlant_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.coalBurningPlant_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = CoalBurningPlant.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (CoalBurningPlant.people[1][0] * Game.peopleProduction_GA) - CoalBurningPlant.people[0][0];
var _local3 = (CoalBurningPlant.heat[1][0] * Game.heatProduction_GA) - CoalBurningPlant.heat[0][0];
var _local8 = (CoalBurningPlant.magic[1][0] * Game.magicProduction_GA) - CoalBurningPlant.magic[0][0];
var _local9 = (CoalBurningPlant.energy[1][0] * Game.energyProduction_GA) - CoalBurningPlant.energy[0][0];
var _local15 = CoalBurningPlant.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = CoalBurningPlant.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(CoalBurningPlant.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(CoalBurningPlant.poison[2][0]) + " poison stored";
var _local17 = [CoalBurningPlant.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.coalBurningPlant_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.coalBurningPlant_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = CoalBurningPlant.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("coalBurningPlant", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 125;
static var baseName = "Coal Burning Plant";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(50, 1.35, 1);
static var peopleCost = new Array(2, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(15, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(15, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1098 MovieClip [__Packages.Hotel] Frame 0 (3.72 KiB) ●
class Hotel extends Tower
{
var isEconomic, isResearch;
function Hotel () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function hotelIcon(target, xPos, yPos) {
if (Research.economicCenter && (Research.energyHeatEk2 == 2)) {
target.attachMovie("hotel_i", "hotel_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.hotel_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = Hotel.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (Hotel.people[1][0] * Game.peopleProduction_GA) - Hotel.people[0][0];
var _local3 = (Hotel.heat[1][0] * Game.heatProduction_GA) - Hotel.heat[0][0];
var _local8 = (Hotel.magic[1][0] * Game.magicProduction_GA) - Hotel.magic[0][0];
var _local9 = (Hotel.energy[1][0] * Game.energyProduction_GA) - Hotel.energy[0][0];
var _local15 = Hotel.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = Hotel.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(Hotel.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(Hotel.poison[2][0]) + " poison stored";
var _local17 = [Hotel.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.hotel_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.hotel_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Hotel.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("hotel", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 250;
static var baseName = "Hotel";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(150, 1.35, 1);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(66, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(1, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(5, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1099 MovieClip [__Packages.MissileResearchFac] Frame 0 (8.14 KiB) ● ●
class MissileResearchFac extends Tower
{
var isEconomic, isResearch;
function MissileResearchFac () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.missileResearchFac = true;
}
function onUnload() {
Research.missileResearchFac = false;
}
static function missileResearchFacIcon(target, xPos, yPos) {
if ((!Research.missileResearchFac) && (Research.economicCenter)) {
target.attachMovie("missileResearchFac_i", "missileResearchFac_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.missileResearchFac_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = MissileResearchFac.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (MissileResearchFac.people[1][0] * Game.peopleProduction_GA) - MissileResearchFac.people[0][0];
var _local3 = (MissileResearchFac.heat[1][0] * Game.heatProduction_GA) - MissileResearchFac.heat[0][0];
var _local8 = (MissileResearchFac.magic[1][0] * Game.magicProduction_GA) - MissileResearchFac.magic[0][0];
var _local9 = (MissileResearchFac.energy[1][0] * Game.energyProduction_GA) - MissileResearchFac.energy[0][0];
var _local15 = MissileResearchFac.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = MissileResearchFac.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(MissileResearchFac.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(MissileResearchFac.poison[2][0]) + " poison stored";
var _local17 = [MissileResearchFac.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.missileResearchFac_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.missileResearchFac_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = MissileResearchFac.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("missileResearchFac", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function ammoEk3Research(target, xPos, yPos) {
if (Research.missileResearchFac && (Research.ammoEk2 == 2)) {
target.attachMovie("ammoEk3", "ammoEk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "ammoEk3");
target.ammoEk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Economic Ammo Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Economic Ammo based technology. \n";
var _local4 = "Missile Research Facility [B]";
var _local3 = "Economic Ammo [R]";
var _local9 = "Advanced Ammo Factory [B]";
var _local8 = "Robot Ammo Factory [B]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.ammoEk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.ammoEk3) {
target.ammoEk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Economic Ammo research.", gTimer:60});
Research.ammoEk3 = 1;
var _local2 = [Game.researchTime, "ammoEk3", "Advanced Economic Ammo"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "ammoEk3");
delete target.ammoEk3.onPress;
}
};
}
}
}
static function heatEk3Research(target, xPos, yPos) {
if (Research.missileResearchFac && (Research.energyHeatEk2 == 2)) {
target.attachMovie("heatEk3", "heatEk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "heatEk3");
target.heatEk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Economic Heat Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Economic Heat based technology. \n";
var _local4 = "Missile Research Facility [B]";
var _local3 = "Economic Heat and Energy [R]";
var _local9 = "Advanced Heat Plant [B]";
var _local8 = "Biodome [B]";
var _local7 = "Robot Energy Plant [B]";
var _local6 = "Robot Ammo Factory [B]";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.heatEk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.heatEk3) {
target.heatEk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Economic Heat research.", gTimer:60});
Research.heatEk3 = 1;
var _local2 = [Game.researchTime, "heatEk3", "Advanced Economic Heat"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "heatEk3");
delete target.heatEk3.onPress;
}
};
}
}
}
static var BASE_COST = 5000;
static var baseName = "Missile Research Facility";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(50, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1100 MovieClip [__Packages.LaserResearchFac] Frame 0 (8.16 KiB) ● ●
class LaserResearchFac extends Tower
{
var isEconomic, isResearch;
function LaserResearchFac () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.laserResearchFac = true;
}
function onUnload() {
Research.laserResearchFac = false;
}
static function laserResearchFacIcon(target, xPos, yPos) {
if ((!Research.laserResearchFac) && (Research.economicCenter)) {
target.attachMovie("laserResearchFac_i", "laserResearchFac_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.laserResearchFac_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = LaserResearchFac.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (LaserResearchFac.people[1][0] * Game.peopleProduction_GA) - LaserResearchFac.people[0][0];
var _local3 = (LaserResearchFac.heat[1][0] * Game.heatProduction_GA) - LaserResearchFac.heat[0][0];
var _local8 = (LaserResearchFac.magic[1][0] * Game.magicProduction_GA) - LaserResearchFac.magic[0][0];
var _local9 = (LaserResearchFac.energy[1][0] * Game.energyProduction_GA) - LaserResearchFac.energy[0][0];
var _local15 = LaserResearchFac.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = LaserResearchFac.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(LaserResearchFac.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(LaserResearchFac.poison[2][0]) + " poison stored";
var _local17 = [LaserResearchFac.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.laserResearchFac_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.laserResearchFac_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = LaserResearchFac.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("laserResearchFac", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function energyEk3Research(target, xPos, yPos) {
if (Research.laserResearchFac && (Research.energyHeatEk2 == 2)) {
target.attachMovie("energyEk3", "energyEk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "energyEk3");
target.energyEk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Economic Energy Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Economic Energy based technology. \n";
var _local4 = "Laser Research Facility [B]";
var _local3 = "Economic Heat and Energy [R]";
var _local9 = "Advanced Energy Plant [B]";
var _local8 = "Robot Energy Plant [B]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.energyEk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.energyEk3) {
target.energyEk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Economic Energy research.", gTimer:60});
Research.energyEk3 = 1;
var _local2 = [Game.researchTime, "energyEk3", "Advanced Economic Energy"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "energyEk3");
delete target.energyEk3.onPress;
}
};
}
}
}
static function heatEk3Research(target, xPos, yPos) {
if ((Research.laserResearchFac && (Research.energyHeatEk2 == 2)) && (!Research.missileResearchFac)) {
target.attachMovie("heatEk3", "heatEk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "heatEk3");
target.heatEk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Economic Heat Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Economic Heat based technology. \n";
var _local4 = "Laser Research Facility [B]";
var _local3 = "Economic Heat and Energy [R]";
var _local9 = "Advanced Heat Plant [B]";
var _local8 = "Biodome [B]";
var _local7 = "Robot Energy Plant [B]";
var _local6 = "Robot Ammo Factory [B]";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.heatEk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.heatEk3) {
target.heatEk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Economic Heat research.", gTimer:60});
Research.heatEk3 = 1;
var _local2 = [Game.researchTime, "heatEk3", "Advanced Economic Heat"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "heatEk3");
delete target.heatEk3.onPress;
}
};
}
}
}
static var BASE_COST = 5000;
static var baseName = "Laser Research Facility";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(50, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1101 MovieClip [__Packages.CorporateHQ] Frame 0 (7.71 KiB) ● ●
class CorporateHQ extends Tower
{
var isEconomic, isResearch;
function CorporateHQ () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.corporateHQ = true;
}
function onUnload() {
Research.corporateHQ = false;
}
static function corporateHQIcon(target, xPos, yPos) {
if ((!Research.corporateHQ) && (Research.economicCenter)) {
target.attachMovie("corporateHQ_i", "corporateHQ_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.corporateHQ_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = CorporateHQ.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (CorporateHQ.people[1][0] * Game.peopleProduction_GA) - CorporateHQ.people[0][0];
var _local3 = (CorporateHQ.heat[1][0] * Game.heatProduction_GA) - CorporateHQ.heat[0][0];
var _local8 = (CorporateHQ.magic[1][0] * Game.magicProduction_GA) - CorporateHQ.magic[0][0];
var _local9 = (CorporateHQ.energy[1][0] * Game.energyProduction_GA) - CorporateHQ.energy[0][0];
var _local15 = CorporateHQ.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = CorporateHQ.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(CorporateHQ.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(CorporateHQ.poison[2][0]) + " poison stored";
var _local17 = [CorporateHQ.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.corporateHQ_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.corporateHQ_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = CorporateHQ.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("corporateHQ", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function goldmultk2Research(target, xPos, yPos) {
if (Research.corporateHQ && (Research.goldk1 == 2)) {
target.attachMovie("goldmultk2", "goldmultk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "goldmultk2");
target.goldmultk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 25000;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Interest Increase";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Increased Interest. \n";
var _local4 = "Corporate HeadQuarters [B]";
var _local3 = "";
var _local9 = "Nothing";
var _local8 = "";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.goldmultk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.goldmultk2) {
target.goldmultk2.onPress = function () {
var _local2 = 25000;
_local2 = _local2 * Game.researchCost_GA;
if (_local2 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local2);
Game.totalWorth = Game.totalWorth - Math.round(_local2);
Game.gMessQueue.push({gMess:"You have researched Increased Interest research.", gTimer:60});
Research.goldmultk2 = 2;
Game.goldInterest = Game.goldInterest * 1.02;
Research.setupProgressBar(target, "goldmultk2");
this.goldmultk2PB._width = 24;
delete target.goldmultk2.onPress;
}
};
}
}
}
static function goldplusk2Research(target, xPos, yPos) {
if (Research.corporateHQ && (Research.goldk1 == 2)) {
target.attachMovie("goldplusk2", "goldplusk2", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "goldplusk2");
target.goldplusk2.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 25000;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Gold from Monsters Increase";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Increased Gold from Monsters. \n";
var _local4 = "Corporate HeadQuarters [B]";
var _local3 = "";
var _local9 = "Nothing";
var _local8 = "";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.goldplusk2.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.goldplusk2) {
target.goldplusk2.onPress = function () {
var _local2 = 25000;
_local2 = _local2 * Game.researchCost_GA;
if (_local2 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local2);
Game.totalWorth = Game.totalWorth - Math.round(_local2);
Game.gMessQueue.push({gMess:"You have researched Increased Gold from Monsters.", gTimer:60});
Research.goldplusk2 = 2;
Game.goldFromMonsters = Game.goldFromMonsters * 1.5;
Research.setupProgressBar(target, "goldplusk2");
this.goldplusk2PB._width = 24;
delete target.goldplusk2.onPress;
}
};
}
}
}
static var BASE_COST = 10000;
static var baseName = "Corporate HQ";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(100, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1102 MovieClip [__Packages.MissileBase] Frame 0 (7.83 KiB) ● ●
class MissileBase extends Tower
{
var isEconomic, isResearch;
function MissileBase () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.missileBase = true;
}
function onUnload() {
Research.missileBase = false;
}
static function missileBaseIcon(target, xPos, yPos) {
if (Research.militaryBase && (!Research.missileBase)) {
target.attachMovie("missileBase_i", "missileBase_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.missileBase_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = MissileBase.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (MissileBase.people[1][0] * Game.peopleProduction_GA) - MissileBase.people[0][0];
var _local3 = (MissileBase.heat[1][0] * Game.heatProduction_GA) - MissileBase.heat[0][0];
var _local8 = (MissileBase.magic[1][0] * Game.magicProduction_GA) - MissileBase.magic[0][0];
var _local9 = (MissileBase.energy[1][0] * Game.energyProduction_GA) - MissileBase.energy[0][0];
var _local15 = MissileBase.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = MissileBase.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(MissileBase.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(MissileBase.poison[2][0]) + " poison stored";
var _local17 = [MissileBase.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.missileBase_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.missileBase_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = MissileBase.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("missileBase", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function ammoMk3Research(target, xPos, yPos) {
if (Research.missileBase && (Research.ammoMk2 == 2)) {
target.attachMovie("ammoMk3", "ammoMk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "ammoMk3");
target.ammoMk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Military Ammo Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Military Ammo based technology. \n";
var _local4 = "Missile Base [B]";
var _local3 = "Military Ammo [R]";
var _local9 = "Flak Tower [D]";
var _local8 = "Rocket Tower [D]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.ammoMk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.ammoMk3) {
target.ammoMk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Military Ammo research.", gTimer:60});
Research.ammoMk3 = 1;
var _local2 = [Game.researchTime, "ammoMk3", "Advanced Military Ammo"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "ammoMk3");
delete target.ammoMk3.onPress;
}
};
}
}
}
static function heatMk3Research(target, xPos, yPos) {
if (Research.missileBase && (Research.heatMk2 == 2)) {
target.attachMovie("heatMk3", "heatMk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "heatMk3");
target.heatMk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Military Heat Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Military Heat based technology. \n";
var _local4 = "Missile Base [B]";
var _local3 = "Military Heat [R]";
var _local9 = "Rocket Tower [D]";
var _local8 = "Inferno Tower [D]";
var _local7 = "Beam Tower [D]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.heatMk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.heatMk3) {
target.heatMk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Military Heat research.", gTimer:60});
Research.heatMk3 = 1;
var _local2 = [Game.researchTime, "heatMk3", "Advanced Military Heat"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "heatMk3");
delete target.heatMk3.onPress;
}
};
}
}
}
static var BASE_COST = 5000;
static var baseName = "Missile Base";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(50, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1103 MovieClip [__Packages.LaserBase] Frame 0 (7.84 KiB) ● ●
class LaserBase extends Tower
{
var isEconomic, isResearch;
function LaserBase () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.laserBase = true;
}
function onUnload() {
Research.laserBase = false;
}
static function laserBaseIcon(target, xPos, yPos) {
if (Research.militaryBase && (!Research.laserBase)) {
target.attachMovie("laserBase_i", "laserBase_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.laserBase_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = LaserBase.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (LaserBase.people[1][0] * Game.peopleProduction_GA) - LaserBase.people[0][0];
var _local3 = (LaserBase.heat[1][0] * Game.heatProduction_GA) - LaserBase.heat[0][0];
var _local8 = (LaserBase.magic[1][0] * Game.magicProduction_GA) - LaserBase.magic[0][0];
var _local9 = (LaserBase.energy[1][0] * Game.energyProduction_GA) - LaserBase.energy[0][0];
var _local15 = LaserBase.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = LaserBase.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(LaserBase.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(LaserBase.poison[2][0]) + " poison stored";
var _local17 = [LaserBase.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.laserBase_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.laserBase_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = LaserBase.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("laserBase", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function heatMk3Research(target, xPos, yPos) {
if ((Research.laserBase && (Research.heatMk2 == 2)) && (!Research.missileBase)) {
target.attachMovie("heatMk3", "heatMk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "heatMk3");
target.heatMk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Military Heat Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Military Heat based technology. \n";
var _local4 = "Laser Base [B]";
var _local3 = "Military Heat [R]";
var _local9 = "Rocket Tower [D]";
var _local8 = "Inferno Tower [D]";
var _local7 = "Beam Tower [D]";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.heatMk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.heatMk3) {
target.heatMk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Military Heat research.", gTimer:60});
Research.heatMk3 = 1;
var _local2 = [Game.researchTime, "heatMk3", "Advanced Military Heat"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "heatMk3");
delete target.heatMk3.onPress;
}
};
}
}
}
static function energyMk3Research(target, xPos, yPos) {
if (Research.laserBase && (Research.energyMk2 == 2)) {
target.attachMovie("energyMk3", "energyMk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "energyMk3");
target.energyMk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Military Energy Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Military Energy based technology. \n";
var _local4 = "Laser Base [B]";
var _local3 = "Military Energy [R]";
var _local9 = "Shock Tower [D]";
var _local8 = "Beam Tower [D]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.energyMk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.energyMk3) {
target.energyMk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Military Energy research.", gTimer:60});
Research.energyMk3 = 1;
var _local2 = [Game.researchTime, "energyMk3", "Advanced Military Energy"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "energyMk3");
delete target.energyMk3.onPress;
}
};
}
}
}
static var BASE_COST = 5000;
static var baseName = "Laser Base";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(50, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1104 MovieClip [__Packages.Underground] Frame 0 (5.92 KiB) ● ●
class Underground extends Tower
{
var isEconomic, isResearch;
function Underground () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.underground = true;
}
function onUnload() {
Research.underground = false;
}
static function undergroundIcon(target, xPos, yPos) {
if ((!Research.underground) && (Research.militaryBase)) {
target.attachMovie("underground_i", "underground_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.underground_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = Underground.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (Underground.people[1][0] * Game.peopleProduction_GA) - Underground.people[0][0];
var _local3 = (Underground.heat[1][0] * Game.heatProduction_GA) - Underground.heat[0][0];
var _local8 = (Underground.magic[1][0] * Game.magicProduction_GA) - Underground.magic[0][0];
var _local9 = (Underground.energy[1][0] * Game.energyProduction_GA) - Underground.energy[0][0];
var _local15 = Underground.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = ((5 * Underground.poison[1][0]) * Game.poisonProduction_GA) - Underground.poison[0][0];
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(Underground.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(Underground.poison[2][0]) + " poison stored";
var _local17 = [Underground.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.underground_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.underground_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Underground.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("underground", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function poisonMk3Research(target, xPos, yPos) {
if (Research.underground && (Research.poisonMk2 == 2)) {
target.attachMovie("poisonMk3", "poisonMk3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "poisonMk3");
target.poisonMk3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Poison Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Poison based technology. \n";
var _local4 = "Underground [B]";
var _local3 = "Military Poison [R]";
var _local9 = "Poison Center [B]";
var _local8 = "Vile Tower [D]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.poisonMk3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.poisonMk3) {
target.poisonMk3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Poison research.", gTimer:60});
Research.poisonMk3 = 1;
var _local2 = [Game.researchTime, "poisonMk3", "Advanced Poison"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "poisonMk3");
delete target.poisonMk3.onPress;
}
};
}
}
}
static var BASE_COST = 3000;
static var baseName = "Underground";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(0, 1.3, 1);
static var peopleCost = new Array(50, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(15, 1.26, 0.99);
static var poisonStore = new Array(70, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1105 MovieClip [__Packages.MagicAcademy] Frame 0 (7.89 KiB) ● ●
class MagicAcademy extends Tower
{
var isEconomic, isResearch;
function MagicAcademy () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = true;
Research.magicAcademy = true;
}
function onUnload() {
Research.magicAcademy = false;
}
static function magicAcademyIcon(target, xPos, yPos) {
if ((!Research.magicAcademy) && (Research.magicUniversity)) {
target.attachMovie("magicAcademy_i", "magicAcademy_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.magicAcademy_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = MagicAcademy.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (MagicAcademy.people[1][0] * Game.peopleProduction_GA) - MagicAcademy.people[0][0];
var _local3 = (MagicAcademy.heat[1][0] * Game.heatProduction_GA) - MagicAcademy.heat[0][0];
var _local8 = (MagicAcademy.magic[1][0] * Game.magicProduction_GA) - MagicAcademy.magic[0][0];
var _local9 = (MagicAcademy.energy[1][0] * Game.energyProduction_GA) - MagicAcademy.energy[0][0];
var _local15 = MagicAcademy.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = MagicAcademy.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(MagicAcademy.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(MagicAcademy.poison[2][0]) + " poison stored";
var _local17 = [MagicAcademy.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.magicAcademy_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.magicAcademy_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = MagicAcademy.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("magicAcademy", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static function magick3Research(target, xPos, yPos) {
if (Research.magicAcademy && (Research.magick2 == 2)) {
target.attachMovie("magick3", "magick3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "magick3");
target.magick3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Ancient Magic Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Ancient Magic based technology. \n";
var _local4 = "Magic Academy [B]";
var _local3 = "Advanced Magic [R]";
var _local9 = "Money Tower [D]";
var _local8 = "Blizzard Tower [D]";
var _local7 = "";
var _local6 = "";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.magick3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.magick3) {
target.magick3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Ancient Magic research.", gTimer:60});
Research.magick3 = 1;
var _local2 = [Game.researchTime, "magick3", "Ancient Magic"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "magick3");
delete target.magick3.onPress;
}
};
}
}
}
static function magicEle3Research(target, xPos, yPos) {
if (Research.magicAcademy && (Research.magicEle2 == 2)) {
target.attachMovie("magicEle3", "magicEle3", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
Research.setupProgressBar(target, "magicEle3");
target.magicEle3.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = 12500;
_local2 = _local2 * Game.researchCost_GA;
var _local5 = "Advanced Elemental Magic Research";
var _local11 = Math.round(_local2) + " gold";
var _local12 = "This researches Advanced Elemental Magic based technology. \n";
var _local4 = "Magic Academy [B]";
var _local3 = "Elemental Magic [R]";
var _local9 = "Blitz Tower [D]";
var _local8 = "Stun Tower [D]";
var _local7 = "Stasis Tower [D]";
var _local6 = "Chaos Tower [D]";
var _local10 = [_local5, _local11, _local12, "Prerequisites:", _local4, _local3, "Allows:", _local9, _local8, _local7, _local6];
Research.towerStats(_local10);
};
target.magicEle3.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
if (!Research.magicEle3) {
target.magicEle3.onPress = function () {
var _local1 = 12500;
_local1 = _local1 * Game.researchCost_GA;
if (_local1 > Game.goldAvailable) {
Game.goldShortage();
} else {
Game.goldAvailable = Game.goldAvailable - Math.round(_local1);
Game.totalWorth = Game.totalWorth - Math.round(_local1);
Game.gMessQueue.push({gMess:"You have paid for Advanced Elemental Magic research.", gTimer:60});
Research.magicEle3 = 1;
var _local2 = [Game.researchTime, "magicEle3", "Advanced Elemental Magic"];
Research.currentResearch.push(_local2);
Research.setupProgressBar(target, "magicEle3");
delete target.magicEle3.onPress;
}
};
}
}
}
static var BASE_COST = 5000;
static var baseName = "Magic Academy";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 1);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(11, 1.3, 1);
static var peopleCost = new Array(50, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(125, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1106 MovieClip [__Packages.AdvAmmoFactory] Frame 0 (4.02 KiB) ●
class AdvAmmoFactory extends Tower
{
var isEconomic, isResearch;
function AdvAmmoFactory () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function advAmmoFactoryIcon(target, xPos, yPos) {
if (Research.missileResearchFac && (Research.ammoEk3 == 2)) {
target.attachMovie("advAmmoFactory_i", "advAmmoFactory_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.advAmmoFactory_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = AdvAmmoFactory.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (AdvAmmoFactory.people[1][0] * Game.peopleProduction_GA) - AdvAmmoFactory.people[0][0];
var _local3 = (AdvAmmoFactory.heat[1][0] * Game.heatProduction_GA) - AdvAmmoFactory.heat[0][0];
var _local8 = (AdvAmmoFactory.magic[1][0] * Game.magicProduction_GA) - AdvAmmoFactory.magic[0][0];
var _local9 = (AdvAmmoFactory.energy[1][0] * Game.energyProduction_GA) - AdvAmmoFactory.energy[0][0];
var _local15 = ((3 * AdvAmmoFactory.ammo[1][0]) * Game.ammoProduction_GA) - AdvAmmoFactory.ammo[0][0];
var _local14 = ((5 * AdvAmmoFactory.poison[1][0]) * Game.poisonProduction_GA) - AdvAmmoFactory.poison[0][0];
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(AdvAmmoFactory.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(AdvAmmoFactory.poison[2][0]) + " poison stored";
var _local17 = [AdvAmmoFactory.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.advAmmoFactory_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.advAmmoFactory_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = AdvAmmoFactory.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("advAmmoFactory", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 625;
static var baseName = "Adv Ammo Factory";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(300, 1.4, 1.005);
static var peopleCost = new Array(25, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(2, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(5, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(177, 1.26, 0.99);
static var ammoStore = new Array(1770, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1107 MovieClip [__Packages.RobotAmmoFactory] Frame 0 (4.03 KiB) ●
class RobotAmmoFactory extends Tower
{
var isEconomic, isResearch;
function RobotAmmoFactory () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function robotAmmoFactoryIcon(target, xPos, yPos) {
if ((Research.missileResearchFac && (Research.ammoEk3 == 2)) && (Research.heatEk3 == 2)) {
target.attachMovie("robotAmmoFactory_i", "robotAmmoFactory_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.robotAmmoFactory_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = RobotAmmoFactory.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (RobotAmmoFactory.people[1][0] * Game.peopleProduction_GA) - RobotAmmoFactory.people[0][0];
var _local3 = (RobotAmmoFactory.heat[1][0] * Game.heatProduction_GA) - RobotAmmoFactory.heat[0][0];
var _local8 = (RobotAmmoFactory.magic[1][0] * Game.magicProduction_GA) - RobotAmmoFactory.magic[0][0];
var _local9 = (RobotAmmoFactory.energy[1][0] * Game.energyProduction_GA) - RobotAmmoFactory.energy[0][0];
var _local15 = RobotAmmoFactory.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = RobotAmmoFactory.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(RobotAmmoFactory.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(RobotAmmoFactory.poison[2][0]) + " poison stored";
var _local17 = [RobotAmmoFactory.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.robotAmmoFactory_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.robotAmmoFactory_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = RobotAmmoFactory.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("robotAmmoFactory", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 750;
static var baseName = "Robot Ammo Factory";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(300, 1.45, 1.01);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(4, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(25, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(202, 1.26, 0.99);
static var ammoStore = new Array(1010, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1108 MovieClip [__Packages.AdvHeatPlant] Frame 0 (3.93 KiB) ●
class AdvHeatPlant extends Tower
{
var isEconomic, isResearch;
function AdvHeatPlant () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function advHeatPlantIcon(target, xPos, yPos) {
if ((Research.laserResearchFac || (Research.missileResearchFac)) && (Research.heatEk3 == 2)) {
target.attachMovie("advHeatPlant_i", "advHeatPlant_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.advHeatPlant_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = AdvHeatPlant.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (AdvHeatPlant.people[1][0] * Game.peopleProduction_GA) - AdvHeatPlant.people[0][0];
var _local3 = (AdvHeatPlant.heat[1][0] * Game.heatProduction_GA) - AdvHeatPlant.heat[0][0];
var _local8 = (AdvHeatPlant.magic[1][0] * Game.magicProduction_GA) - AdvHeatPlant.magic[0][0];
var _local9 = (AdvHeatPlant.energy[1][0] * Game.energyProduction_GA) - AdvHeatPlant.energy[0][0];
var _local15 = AdvHeatPlant.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = AdvHeatPlant.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(AdvHeatPlant.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(AdvHeatPlant.poison[2][0]) + " poison stored";
var _local17 = [AdvHeatPlant.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.advHeatPlant_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.advHeatPlant_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = AdvHeatPlant.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("advHeatPlant", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 625;
static var baseName = "Adv Heat Plant";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(300, 1.4, 1.005);
static var peopleCost = new Array(25, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(184, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(10, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1109 MovieClip [__Packages.Biodome] Frame 0 (3.8 KiB) ●
class Biodome extends Tower
{
var isEconomic, isResearch;
function Biodome () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function biodomeIcon(target, xPos, yPos) {
if ((Research.missileResearchFac || (Research.laserResearchFac)) && (Research.heatEk3 == 2)) {
target.attachMovie("biodome_i", "biodome_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.biodome_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = Biodome.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (Biodome.people[1][0] * Game.peopleProduction_GA) - Biodome.people[0][0];
var _local3 = (Biodome.heat[1][0] * Game.heatProduction_GA) - Biodome.heat[0][0];
var _local8 = (Biodome.magic[1][0] * Game.magicProduction_GA) - Biodome.magic[0][0];
var _local9 = (Biodome.energy[1][0] * Game.energyProduction_GA) - Biodome.energy[0][0];
var _local15 = Biodome.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = Biodome.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(Biodome.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(Biodome.poison[2][0]) + " poison stored";
var _local17 = [Biodome.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.biodome_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.biodome_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Biodome.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("biodome", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 1250;
static var baseName = "Biodome";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(625, 1.4, 1.005);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(327, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(5, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(25, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1110 MovieClip [__Packages.AdvEnergyPlant] Frame 0 (3.94 KiB) ●
class AdvEnergyPlant extends Tower
{
var isEconomic, isResearch;
function AdvEnergyPlant () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function advEnergyPlantIcon(target, xPos, yPos) {
if (Research.laserResearchFac && (Research.energyEk3 == 2)) {
target.attachMovie("advEnergyPlant_i", "advEnergyPlant_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.advEnergyPlant_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = AdvEnergyPlant.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (AdvEnergyPlant.people[1][0] * Game.peopleProduction_GA) - AdvEnergyPlant.people[0][0];
var _local3 = (AdvEnergyPlant.heat[1][0] * Game.heatProduction_GA) - AdvEnergyPlant.heat[0][0];
var _local8 = (AdvEnergyPlant.magic[1][0] * Game.magicProduction_GA) - AdvEnergyPlant.magic[0][0];
var _local9 = (AdvEnergyPlant.energy[1][0] * Game.energyProduction_GA) - AdvEnergyPlant.energy[0][0];
var _local15 = AdvEnergyPlant.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = AdvEnergyPlant.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(AdvEnergyPlant.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(AdvEnergyPlant.poison[2][0]) + " poison stored";
var _local17 = [AdvEnergyPlant.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.advEnergyPlant_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.advEnergyPlant_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = AdvEnergyPlant.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("advEnergyPlant", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 625;
static var baseName = "Adv Energy Plant";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(300, 1.4, 1.005);
static var peopleCost = new Array(25, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(5, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(169, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1111 MovieClip [__Packages.RobotEnergyPlant] Frame 0 (4.03 KiB) ●
class RobotEnergyPlant extends Tower
{
var isEconomic, isResearch;
function RobotEnergyPlant () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function robotEnergyPlantIcon(target, xPos, yPos) {
if ((Research.laserResearchFac && (Research.energyEk3 == 2)) && (Research.heatEk3 == 2)) {
target.attachMovie("robotEnergyPlant_i", "robotEnergyPlant_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.robotEnergyPlant_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = RobotEnergyPlant.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (RobotEnergyPlant.people[1][0] * Game.peopleProduction_GA) - RobotEnergyPlant.people[0][0];
var _local3 = (RobotEnergyPlant.heat[1][0] * Game.heatProduction_GA) - RobotEnergyPlant.heat[0][0];
var _local8 = (RobotEnergyPlant.magic[1][0] * Game.magicProduction_GA) - RobotEnergyPlant.magic[0][0];
var _local9 = (RobotEnergyPlant.energy[1][0] * Game.energyProduction_GA) - RobotEnergyPlant.energy[0][0];
var _local15 = RobotEnergyPlant.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = RobotEnergyPlant.poison[0][0] * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(RobotEnergyPlant.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(RobotEnergyPlant.poison[2][0]) + " poison stored";
var _local17 = [RobotEnergyPlant.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.robotEnergyPlant_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.robotEnergyPlant_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = RobotEnergyPlant.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("robotEnergyPlant", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 15;
static var baseName = "Robot Energy Plant";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(4, 4);
static var upgradeCost = new Array(300, 1.45, 1.01);
static var peopleCost = new Array(0, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(25, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(153, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1112 MovieClip [__Packages.PoisonCenter] Frame 0 (3.89 KiB) ●
class PoisonCenter extends Tower
{
var isEconomic, isResearch;
function PoisonCenter () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison);
isEconomic = true;
isResearch = false;
}
static function poisonCenterIcon(target, xPos, yPos) {
if (Research.underground && (Research.poisonMk3 == 2)) {
target.attachMovie("poisonCenter_i", "poisonCenter_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.poisonCenter_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local2 = PoisonCenter.BASE_COST;
_local2 = _local2 * Game.economicCost_GA;
var _local7 = (PoisonCenter.people[1][0] * Game.peopleProduction_GA) - PoisonCenter.people[0][0];
var _local3 = (PoisonCenter.heat[1][0] * Game.heatProduction_GA) - PoisonCenter.heat[0][0];
var _local8 = (PoisonCenter.magic[1][0] * Game.magicProduction_GA) - PoisonCenter.magic[0][0];
var _local9 = (PoisonCenter.energy[1][0] * Game.energyProduction_GA) - PoisonCenter.energy[0][0];
var _local15 = PoisonCenter.ammo[0][0] * Game.ammoProduction_GA;
var _local14 = (5 * PoisonCenter.poison[1][0]) * Game.poisonProduction_GA;
var _local4 = Math.round(_local2) + " gold";
var _local5 = Math.round(_local7) + " people";
var _local10 = Math.round(_local3) + " heat";
var _local13 = Math.round(_local8) + " magic";
var _local12 = Math.round(_local9) + " energy";
var _local6 = Math.round(_local15) + " ammo produced";
var _local18 = Math.round(PoisonCenter.ammo[2][0]) + " ammo stored";
var _local11 = Math.round(_local14) + " poison produced";
var _local16 = Math.round(PoisonCenter.poison[2][0]) + " poison stored";
var _local17 = [PoisonCenter.baseName, _local4, _local5, _local10, _local13, _local12, _local6, _local18, _local11, _local16];
Research.towerStats(_local17);
};
target.poisonCenter_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.poisonCenter_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = PoisonCenter.BASE_COST;
_local3 = _local3 * Game.economicCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("poisonCenter", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:true});
Game.towerNumber++;
}
};
}
}
static var BASE_COST = 425;
static var baseName = "Poison Center";
static var bullet_mc = "alphaBullet";
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(3, 3);
static var upgradeCost = new Array(225, 1.4, 1.005);
static var peopleCost = new Array(25, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(5, 1.3, 0.99);
static var heatProd = new Array(0, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(5, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(26, 1.26, 0.99);
static var poisonStore = new Array(100, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
}
Symbol 1113 MovieClip [__Packages.Transitions] Frame 0 (18.61 KiB) ● ● ●
class Transitions
{
function Transitions () {
}
static function showBackButton(xPos, yPos, _call1, _call2, _call3) {
_root.attachMovie("backButton", "backButton", _root.getNextHighestDepth(), {_x:-150, _y:yPos, _alpha:50});
Tween2.easeOut(_root.backButton, "_x", xPos, 4, "easeFin");
_root.backButton.easeFin = function () {
_root.backButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.backButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.backButton.onPress = function () {
Transitions.callFunctions(_call1, _call2, _call3);
};
};
}
static function callFunctions(call1, call2, call3) {
Transitions[call1]();
Transitions[call2]();
Transitions[call3]();
}
static function removeBack() {
_root.backButton.removeMovieClip();
}
static function removeGame() {
delete _global.newGame;
}
static function showTitle() {
_root.attachMovie("titleName", "titleName", _root.getNextHighestDepth(), {_x:100, _y:-200});
_root.attachMovie("newGameButton", "newGameButton", _root.getNextHighestDepth(), {_x:-250, _y:200});
_root.attachMovie("instructionButton", "instrButton", _root.getNextHighestDepth(), {_x:-350, _y:300});
_root.attachMovie("techTreeButton", "techTreeButton", _root.getNextHighestDepth(), {_x:-300, _y:400});
_root.attachMovie("cgdc5Button", "cgdc5Button", _root.getNextHighestDepth(), {_x:500, _y:300});
Tween2.easeOut(_root.titleName, "_y", 25, 7);
Tween2.easeOut(_root.newGameButton, "_x", 50, 7, "easeFin");
Tween2.easeOut(_root.instrButton, "_x", 50, 7, "easeFin");
Tween2.easeOut(_root.techTreeButton, "_x", 50, 7, "easeFin");
_root.newGameButton.easeFin = function () {
_root.newGameButton.onPress = function () {
Transitions.removeTitle();
_global.newGame = new Game();
Transitions.setupTick();
};
};
_root.instrButton.easeFin = function () {
_root.instrButton.onPress = function () {
Transitions.removeTitle();
_global.instructions = new Instructions();
};
};
_root.techTreeButton.easeFin = function () {
_root.techTreeButton.onPress = function () {
Transitions.removeTitle();
_global.techTree = new TechTree();
};
};
}
static function setupTick() {
_root.onEnterFrame = function () {
_global.newGame.tick();
};
}
static function removeTitle() {
delete _root.newGameButton.onPress;
delete _root.instrButton.onPress;
delete _root.techTreeButton.onPress;
_root.cgdc5Button.removeMovieClip();
Tween2.easeOut(_root.titleName, "_y", -200, 3, "removeMovieClip");
Tween2.easeOut(_root.newGameButton, "_x", -450, 3, "removeMovieClip");
Tween2.easeOut(_root.instrButton, "_x", -450, 3, "removeMovieClip");
Tween2.easeOut(_root.techTreeButton, "_x", -450, 3, "removeMovieClip");
}
static function showMapSelect() {
_root.attachMovie("mapSelectButton", "mapSelectButton", _root.getNextHighestDepth(), {_x:-175, _y:2, _alpha:100});
_root.attachMovie("easyButton", "easyButton", _root.getNextHighestDepth(), {_x:4, _y:44, _alpha:0});
_root.attachMovie("mediumButton", "mediumButton", _root.getNextHighestDepth(), {_x:235, _y:44, _alpha:0});
_root.attachMovie("hardButton", "hardButton", _root.getNextHighestDepth(), {_x:466, _y:44, _alpha:0});
_root.attachMovie("loopButton", "loopButton", _root.getNextHighestDepth(), {_x:4, _y:195, _alpha:0});
_root.attachMovie("cornerButton", "cornerButton", _root.getNextHighestDepth(), {_x:235, _y:195, _alpha:0});
_root.attachMovie("spiralButton", "spiralButton", _root.getNextHighestDepth(), {_x:466, _y:195, _alpha:0});
_root.attachMovie("circleButton", "circleButton", _root.getNextHighestDepth(), {_x:235, _y:346, _alpha:0});
_root.attachMovie("zigButton", "zigButton", _root.getNextHighestDepth(), {_x:466, _y:346, _alpha:0});
Tween2.easeOut(_root.mapSelectButton, "_x", 200, 6);
showBackButton(0, 450, "removeMapSelect", "showTitle", "removeGame");
}
static function removeMapSelect() {
delete _root.easyButton.onRollOver;
delete _root.easyButton.onRollOut;
delete _root.easyButton.onPress;
delete _root.mediumButton.onRollOver;
delete _root.mediumButton.onRollOut;
delete _root.mediumButton.onPress;
delete _root.hardButton.onRollOver;
delete _root.hardButton.onRollOut;
delete _root.hardButton.onPress;
delete _root.loopButton.onRollOver;
delete _root.loopButton.onRollOut;
delete _root.loopButton.onPress;
delete _root.cornerButton.onRollOver;
delete _root.cornerButton.onRollOut;
delete _root.cornerButton.onPress;
delete _root.spiralButton.onRollOver;
delete _root.spiralButton.onRollOut;
delete _root.spiralButton.onPress;
delete _root.circleButton.onRollOver;
delete _root.circleButton.onRollOut;
delete _root.circleButton.onPress;
delete _root.zigButton.onRollOver;
delete _root.zigButton.onRollOut;
delete _root.zigButton.onPress;
Tween2.easeOut(_root.mapSelectButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.easyButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.mediumButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.hardButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.loopButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.cornerButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.spiralButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.circleButton, "_alpha", 0, 3, "removeMovieClip");
Tween2.easeOut(_root.zigButton, "_alpha", 0, 3, "removeMovieClip");
removeBack();
}
static function showFactionSelect() {
Game.factionDescribe = _root.attachMovie("factionDescribePanel", "factionDescribePanel", _root.getNextHighestDepth(), {_x:374, _y:50, _alpha:0});
Tween2.easeOut(_root.factionDescribePanel, "_alpha", 75, 10);
Game.factionDescribe.createTextField("factionDescription", Game.factionDescribe.getNextHighestDepth(), 9, 9, 282, 382);
Game.factionDescribe.factionDescription.setNewTextFormat(Game.format3);
Game.factionDescribe.factionDescription.multiline = true;
Game.factionDescribe.factionDescription.wordWrap = true;
_root.attachMovie("factionSelectButton", "factionSelectButton", _root.getNextHighestDepth(), {_x:-200, _y:0, _alpha:100});
_root.attachMovie("junkyardButton", "junkyardButton", _root.getNextHighestDepth(), {_x:-400, _y:60, _alpha:50});
_root.attachMovie("ironShieldButton", "ironShieldButton", _root.getNextHighestDepth(), {_x:-400, _y:120, _alpha:50});
_root.attachMovie("omnicorpButton", "omnicorpButton", _root.getNextHighestDepth(), {_x:-400, _y:180, _alpha:50});
_root.attachMovie("orderButton", "orderButton", _root.getNextHighestDepth(), {_x:-400, _y:240, _alpha:50});
_root.attachMovie("remnantsButton", "remnantsButton", _root.getNextHighestDepth(), {_x:-400, _y:300, _alpha:50});
_root.attachMovie("unityButton", "unityButton", _root.getNextHighestDepth(), {_x:-400, _y:360, _alpha:50});
Tween2.easeOut(_root.factionSelectButton, "_x", 350, 8);
showBackButton(0, 450, "removeBack", "removeFactionSelect", "showMapSelect");
}
static function removeFactionSelect() {
delete _root.ironShieldButton.onRollOver;
delete _root.unityButton.onRollOver;
delete _root.omnicorpButton.onRollOver;
delete _root.remnantsButton.onRollOver;
delete _root.orderButton.onRollOver;
delete _root.junkyardButton.onRollOver;
delete _root.backButton.onRollOver;
delete _root.ironShieldButton.onRollOut;
delete _root.unityButton.onRollOut;
delete _root.omnicorpButton.onRollOut;
delete _root.remnantsButton.onRollOut;
delete _root.orderButton.onRollOut;
delete _root.junkyardButton.onRollOut;
delete _root.backButton.onRollOut;
delete _root.ironShieldButton.onPress;
delete _root.unityButton.onPress;
delete _root.omnicorpButton.onPress;
delete _root.remnantsButton.onPress;
delete _root.orderButton.onPress;
delete _root.junkyardButton.onPress;
delete _root.backButton.onPress;
Game.factionDescribe.removeMovieClip();
Tween2.easeOut(_root.factionSelectButton, "_x", 900, 5, "removeMovieClip");
Tween2.easeOut(_root.junkyardButton, "_x", 850, 7, "removeMovieClip");
Tween2.easeOut(_root.ironShieldButton, "_x", 850, 7, "removeMovieClip");
Tween2.easeOut(_root.omnicorpButton, "_x", 850, 7, "removeMovieClip");
Tween2.easeOut(_root.orderButton, "_x", 850, 7, "removeMovieClip");
Tween2.easeOut(_root.remnantsButton, "_x", 850, 7, "removeMovieClip");
Tween2.easeOut(_root.unityButton, "_x", 850, 7, "removeMovieClip");
removeBack();
}
static function showMenuPanel() {
delete _root.onEnterFrame;
_root.attachMovie("menuPanel", "menuPanel", _root.getNextHighestDepth(), {_x:41, _y:20, _alpha:0});
Tween2.easeOut(_root.menuPanel, "_alpha", 100, 5);
_root.menuPanel.continueButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.menuPanel.continueButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.menuPanel.continueButton.onPress = function () {
Transitions.setupTick();
_root.menuPanel.removeMovieClip();
};
_root.menuPanel.backTitleButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.menuPanel.backTitleButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.menuPanel.backTitleButton.onPress = function () {
Transitions.endGame();
_root.menuPanel.removeMovieClip();
Mouse.show();
Transitions.showTitle();
};
setupRolls(_root.menuPanel.generButton);
_root.menuPanel.generButton.onPress = function () {
_root.menuPanel.stats.removeMovieClip();
_root.menuPanel.attachMovie("generalStats", "stats", _root.menuPanel.getNextHighestDepth());
_root.menuPanel.stats.totWorthTxt.text = Math.round(Game.totalWorth);
_root.menuPanel.stats.intRateTxt.text = Math.round(Game.goldInterest * 1000) / 1000;
_root.menuPanel.stats.monGoldTxt.text = Math.round(Game.goldFromMonsters * 1000) / 1000;
_root.menuPanel.stats.resTimeTxt.text = Math.round(Game.researchTime);
_root.menuPanel.stats.towWorthTxt.text = Math.round(Game.towerWorth * 1000) / 1000;
};
setupRolls(_root.menuPanel.costButton);
_root.menuPanel.costButton.onPress = function () {
_root.menuPanel.stats.removeMovieClip();
_root.menuPanel.attachMovie("costStats", "stats", _root.menuPanel.getNextHighestDepth());
_root.menuPanel.stats.defCost.text = Math.round(Game.defenseCost_GA * 1000) / 1000;
_root.menuPanel.stats.defUpg.text = Math.round(Game.defenseUpgrade_GA * 1000) / 1000;
_root.menuPanel.stats.ecoCost.text = Math.round(Game.economicCost_GA * 1000) / 1000;
_root.menuPanel.stats.ecoUpg.text = Math.round(Game.economicUpgrade_GA * 1000) / 1000;
_root.menuPanel.stats.resCost.text = Math.round(Game.researchCost_GA * 1000) / 1000;
};
setupRolls(_root.menuPanel.effButton);
_root.menuPanel.effButton.onPress = function () {
_root.menuPanel.stats.removeMovieClip();
_root.menuPanel.attachMovie("effectStats", "stats", _root.menuPanel.getNextHighestDepth());
_root.menuPanel.stats.effPerc.text = Math.round(Game.effectPercent_GA * 1000) / 1000;
_root.menuPanel.stats.effRange.text = Math.round(Game.effectRange_GA * 1000) / 1000;
_root.menuPanel.stats.effDur.text = Math.round(Game.effectDuration_GA * 1000) / 1000;
_root.menuPanel.stats.effChance.text = Math.round(Game.effectChance_GA * 1000) / 1000;
};
setupRolls(_root.menuPanel.shotButton);
_root.menuPanel.shotButton.onPress = function () {
_root.menuPanel.stats.removeMovieClip();
_root.menuPanel.attachMovie("shotStats", "stats", _root.menuPanel.getNextHighestDepth());
_root.menuPanel.stats.shotDam.text = Math.round(Game.shotDamage_GA * 1000) / 1000;
_root.menuPanel.stats.shotRange.text = Math.round(Game.shotRange_GA * 1000) / 1000;
_root.menuPanel.stats.shotRate.text = Math.round(Game.shotRate_GA * 1000) / 1000;
};
setupRolls(_root.menuPanel.prodButton);
_root.menuPanel.prodButton.onPress = function () {
_root.menuPanel.stats.removeMovieClip();
_root.menuPanel.attachMovie("prodStats", "stats", _root.menuPanel.getNextHighestDepth());
_root.menuPanel.stats.peopleProd.text = Math.round(Game.peopleProduction_GA * 1000) / 1000;
_root.menuPanel.stats.energyProd.text = Math.round(Game.energyProduction_GA * 1000) / 1000;
_root.menuPanel.stats.heatProd.text = Math.round(Game.heatProduction_GA * 1000) / 1000;
_root.menuPanel.stats.magicProd.text = Math.round(Game.magicProduction_GA * 1000) / 1000;
_root.menuPanel.stats.ammoProd.text = Math.round(Game.ammoProduction_GA * 1000) / 1000;
_root.menuPanel.stats.poisonProd.text = Math.round(Game.poisonProduction_GA * 1000) / 1000;
};
}
static function setupRolls(obj) {
obj.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
obj.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
}
static function endGame() {
_root[Game.difficulty + "Path"].removeMovieClip();
Game.towerDescribe.removeMovieClip();
_root.nextWaveButton.removeMovieClip();
Game.goldCount.removeMovieClip();
Game.lifeCount.removeMovieClip();
_root.menuButton.removeMovieClip();
_root.upgradeButton.removeMovieClip();
_root.sellButton.removeMovieClip();
Game.peopleCount.removeMovieClip();
Game.ammoCount.removeMovieClip();
Game.energyCount.removeMovieClip();
Game.heatCount.removeMovieClip();
Game.magicCount.removeMovieClip();
Game.poisonCount.removeMovieClip();
_root.waveIndicator.removeMovieClip();
_root.waveHighlight1.removeMovieClip();
_root.waveHighlight2.removeMovieClip();
_root.militaryButton.removeMovieClip();
_root.economyButton.removeMovieClip();
_root.researchButton.removeMovieClip();
_root.pageButton.removeMovieClip();
Game.globalMessage.globalText.removeTextField();
delete _root.towerPanel;
Game.deleteWave();
Research.reloadTowerPanel();
var _local5 = Game.towerNumber;
var _local3 = 0;
while (_local3 < _local5) {
_root["tower" + _local3].removeMovieClip();
_local3++;
}
var _local4 = Wave.monsterNumber;
_local3 = 0;
while (_local3 < _local4) {
_root["baddie" + _local3].removeMovieClip();
_local3++;
}
resetGameValues();
delete _global.newGame;
}
static function resetGameValues() {
Game.goldAvailable = 300;
Game.livesLeft = 20;
Game.goldInterest = 0.15;
Game.goldFromMonsters = 1;
Game.towerWorth = 0.5;
Game.researchTime = 2;
Game.defenseCost_GA = 1;
Game.defenseUpgrade_GA = 1;
Game.economicCost_GA = 1;
Game.economicUpgrade_GA = 1;
Game.researchCost_GA = 1;
Game.effectRange_GA = 1;
Game.effectPercent_GA = 1;
Game.effectChance_GA = 1;
Game.effectDuration_GA = 1;
Game.shotDamage_GA = 1;
Game.shotRange_GA = 1;
Game.shotRate_GA = 1;
Game.peopleProduction_GA = 1;
Game.energyProduction_GA = 1;
Game.ammoProduction_GA = 1;
Game.heatProduction_GA = 1;
Game.magicProduction_GA = 1;
Game.poisonProduction_GA = 1;
Game.peopleAvailable = 0;
Game.energyAvailable = 0;
Game.ammoAvailable = 0;
Game.ammoProduced = 0;
Game.ammoStorable = 0;
Game.heatAvailable = 0;
Game.magicAvailable = 0;
Game.poisonAvailable = 0;
Game.poisonProduced = 0;
Game.poisonStorable = 0;
Game.waveNumber = 0;
Game.economicNumber = 0;
Game.towerNumber = 0;
Game.gMessQueue = [];
Game.gMessTimer = 0;
Wave.monsterCount = 0;
Wave.monstersRemoved = 0;
Wave.monsterClock = 0;
Wave.monsterNumber = 0;
Wave.monArr = [];
Research.basicResearch = false;
Research.militaryBase = false;
Research.missileBase = false;
Research.laserBase = false;
Research.underground = false;
Research.economicCenter = false;
Research.missileResearchFac = false;
Research.laserResearchFac = false;
Research.corporateHQ = false;
Research.magicSchool = false;
Research.magicUniversity = false;
Research.magicAcademy = false;
Research.ammoEk1 = 0;
Research.ammoEk2 = 0;
Research.ammoEk3 = 0;
Research.ammoMk2 = 0;
Research.ammoMk3 = 0;
Research.energyEk1 = 0;
Research.energyEk3 = 0;
Research.energyMk2 = 0;
Research.energyMk3 = 0;
Research.energyHeatEk2 = 0;
Research.heatEk1 = 0;
Research.heatEk3 = 0;
Research.heatMk2 = 0;
Research.heatMk3 = 0;
Research.magick2 = 0;
Research.magick3 = 0;
Research.magicMk1 = 0;
Research.magicMk2 = 0;
Research.magicMk3 = 0;
Research.magicEle2 = 0;
Research.magicEle3 = 0;
Research.poisonMk2 = 0;
Research.poisonMk3 = 0;
Research.goldk1 = 0;
Research.goldplusk2 = 0;
Research.goldmultk2 = 0;
Research.currentResearch = [];
delete Game.economicFocus;
delete Tower.focus;
var _local5 = 40;
var _local4 = 36;
var _local3 = 0;
while (_local3 < _local5) {
var _local2 = 0;
while (_local2 < _local4) {
_root.mapGrid[_local3][_local2] = 0;
_local2++;
}
_local3++;
}
var _local8 = Game.wayPoint_x.length;
var _local7 = Game.wayPoint_x;
var _local6 = Game.wayPoint_y;
_local3 = 0;
while (_local3 < _local8) {
_local7[_local3] = _local7[_local3] - Game.LEFT_MARGIN;
_local6[_local3] = _local6[_local3] - Game.TOP_MARGIN;
_local3++;
}
}
static function removeTechTree() {
_root.techTree.removeMovieClip();
_root.basicTT.removeMovieClip();
_root.basicResearchTT.removeMovieClip();
_root.magicSchoolTT.removeMovieClip();
_root.intermediateTT.removeMovieClip();
_root.economicCenterTT.removeMovieClip();
_root.militaryBaseTT.removeMovieClip();
_root.magicUniversityTT.removeMovieClip();
_root.advancedTT.removeMovieClip();
_root.missileResFacTT.removeMovieClip();
_root.laserResFacTT.removeMovieClip();
_root.corporateHQTT.removeMovieClip();
_root.missileBaseTT.removeMovieClip();
_root.laserBaseTT.removeMovieClip();
_root.undergroundTT.removeMovieClip();
_root.magicAcademyTT.removeMovieClip();
delete _global.techTree;
}
static function removeInstructions() {
_root.instructions.removeMovieClip();
_root.pageIB.removeMovieClip();
_root.page1IB.removeMovieClip();
_root.page2IB.removeMovieClip();
_root.page3IB.removeMovieClip();
_root.page4IB.removeMovieClip();
_root.monstIB.removeMovieClip();
delete _global.instructions;
}
static function showLeaderBoard() {
var _local1 = Math.round(Game.totalWorth);
mochi.MochiScores.showLeaderboard({boardID:"ec36c038cc7cdd2e", score:_local1, onClose:LeaderBoardClosed});
}
static function LeaderBoardClosed() {
stop();
endGame();
showTitle();
}
}
Symbol 1114 MovieClip [__Packages.Instructions] Frame 0 (959 B)
class Instructions
{
function Instructions () {
_root.attachMovie("pageIB", "pageIB", _root.getNextHighestDepth(), {_x:500, _y:0});
setupPage("page1", 1);
setupPage("page2", 2);
setupPage("page3", 3);
setupPage("page4", 4);
setupPage("monst", 5);
Transitions.showBackButton(0, 450, "removeInstructions", "removeBack", "showTitle");
}
static function setupPage(_pageNum, pos) {
var _local3 = _pageNum + "IB";
_root.attachMovie(_local3, _local3, _root.getNextHighestDepth(), {_x:500, _y:pos * 33, _alpha:50});
_root[_local3].onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root[_local3].onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root[_local3].onPress = function () {
_root.instructions.removeMovieClip();
_root.attachMovie(_pageNum + "Instr", "instructions", _root.getNextHighestDepth());
};
}
}
Symbol 1115 MovieClip [__Packages.TechTree] Frame 0 (1.38 KiB) ●
class TechTree
{
function TechTree () {
_root.attachMovie("basicTT", "basicTT", _root.getNextHighestDepth(), {_x:500, _y:0});
setupTech("basicResearch", 1);
setupTech("magicSchool", 2);
_root.attachMovie("intermediateTT", "intermediateTT", _root.getNextHighestDepth(), {_x:500, _y:99});
setupTech("economicCenter", 4);
setupTech("militaryBase", 5);
setupTech("magicUniversity", 6);
_root.attachMovie("advancedTT", "advancedTT", _root.getNextHighestDepth(), {_x:500, _y:231});
setupTech("missileResFac", 8);
setupTech("laserResFac", 9);
setupTech("corporateHQ", 10);
setupTech("missileBase", 11);
setupTech("laserBase", 12);
setupTech("underground", 13);
setupTech("magicAcademy", 14);
Transitions.showBackButton(0, 450, "removeTechTree", "removeBack", "showTitle");
}
static function setupTech(_resName, pos) {
var _local3 = _resName + "TT";
_root.attachMovie(_local3, _local3, _root.getNextHighestDepth(), {_x:500, _y:pos * 33, _alpha:50});
_root[_local3].onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root[_local3].onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root[_local3].onPress = function () {
_root.techTree.removeMovieClip();
_root.attachMovie(_resName + "Tech", "techTree", _root.getNextHighestDepth());
};
}
}
Symbol 1116 MovieClip [__Packages.mochi.MochiScores] Frame 0 (3.2 KiB) ●
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.childClip._target == undefined)) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.clip.stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.clip.play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 1117 MovieClip [__Packages.mochi.MochiServices] Frame 0 (7.33 KiB) ● ●
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.31");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 1118 MovieClip [__Packages.Missile] Frame 0 (2.06 KiB) ●
class Missile
{
function Missile (bullet_mc, towerSize, fireTarget, towerLevel, damage, splash, firedFrom_x, firedFrom_y, slow1, slow2, dot, multiply, stun, armor, gold, bulletMovement) {
var missile_mc = _root.attachMovie(bullet_mc, bullet_mc + _root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:firedFrom_x + ((Game.TILE_SIZE * towerSize[0]) / 2), _y:firedFrom_y + ((Game.TILE_SIZE * towerSize[1]) / 2)});
missile_mc.speed = bulletMovement[0] + (((Math.random() - 0.5) * 2) * bulletMovement[2]);
missile_mc.accel = bulletMovement[1] + (((Math.random() - 0.5) * 2) * bulletMovement[3]);
missile_mc.dist_x = 1;
missile_mc.dist_y = 1;
missile_mc.firingAt = fireTarget;
missile_mc.damage = damage;
Wave.monArr[fireTarget].projDamage = Wave.monArr[fireTarget].projDamage + ((damage * Wave.monArr[fireTarget].damageResist) - Wave.monArr[fireTarget].damageArmor);
missile_mc.onEnterFrame = function () {
this.dist_x = Wave.monArr[this.firingAt]._x - this._x;
this.dist_y = Wave.monArr[this.firingAt]._y - this._y;
this._rotation = (Math.atan2(this.dist_y, this.dist_x) * 180) / Math.PI;
this.speed = this.speed + this.accel;
if (Math.sqrt((this.dist_x * this.dist_x) + (this.dist_y * this.dist_y)) < this.speed) {
Minion.missileHit(towerLevel, damage, eval ("baddie" + this.firingAt), this.firingAt, splash, slow1, slow2, dot, multiply, stun, armor, gold);
this.removeMovieClip();
} else {
this._x = this._x + (Math.cos((this._rotation * Math.PI) / 180) * this.speed);
this._y = this._y + (Math.sin((this._rotation * Math.PI) / 180) * this.speed);
}
if ((((this._x < Game.LEFT_MARGIN) or (this._x > (Game.LEFT_MARGIN + Game.PLAY_WIDTH))) or (this._y < Game.TOP_MARGIN)) or (this._y > (Game.TOP_MARGIN + Game.PLAY_HEIGHT))) {
this.removeMovieClip();
}
};
missile_mc.onUnload = function () {
Wave.monArr[this.firingAt].projDamage = Wave.monArr[this.firingAt].projDamage - ((this.damage * Wave.monArr[this.firingAt].damageResist) - Wave.monArr[this.firingAt].damageArmor);
};
}
}
Symbol 1119 MovieClip [__Packages.Minion] Frame 0 (11.17 KiB) ● ●
class Minion extends MovieClip
{
var damageResist, damageArmor, health, effectResist, effectArmor, speed, maxHealth, minionGold, regen, gotoPoint, endPoint, slow1Effect, slow1Timer, slow2Effect, slow2Timer, dotEffect, dotTimer, stunEffect, stunTimer, armorEffect, armorHalfLife, armorTimer, goldModifier, goldAddition, projDamage, dist_x, _x, dist_y, _y, _rotation, removeMovieClip, creepID;
function Minion (damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate) {
super();
this.damageResist = 1 / damageResist;
this.damageArmor = this.health * damageArmor;
this.effectResist = 1 / effectResist;
this.effectArmor = 1 / effectArmor;
this.speed = speed;
maxHealth = Math.round(health * healthMod);
this.health = maxHealth;
this.minionGold = minionGold * goldMod;
regen = this.health * regenMod;
gotoPoint = 1;
endPoint = Game.wayPoint_x.length;
slow1Effect = 1;
slow1Timer = 0;
slow2Effect = 1;
slow2Timer = 0;
dotEffect = 0;
dotTimer = 0;
stunEffect = 1;
stunTimer = 0;
armorEffect = 0;
armorHalfLife = 1;
armorTimer = 0;
goldModifier = 1;
goldAddition = 0;
Wave.monsterClock = spawnRate;
Wave.monsterCount = Wave.monsterCount + (Wave.MAX_MONSTERS / waveSize);
projDamage = 0;
}
function minionTick() {
dist_x = (Game.wayPoint_x[gotoPoint] + Game.TILE_SIZE) - _x;
dist_y = (Game.wayPoint_y[gotoPoint] + Game.TILE_SIZE) - _y;
regenTick();
effectTick();
minionMove();
}
function regenTick() {
health = health + regen;
if (health > maxHealth) {
health = maxHealth;
}
}
function minionMove() {
var _local4 = ((speed * slow1Effect) * slow2Effect) * stunEffect;
var _local2 = _local4;
var _local3;
if ((Math.abs(dist_x) + Math.abs(dist_y)) < _local2) {
_x = Game.wayPoint_x[gotoPoint] + ((Game.TILE_SIZE * Game.ROAD_SIZE) / 2);
_y = Game.wayPoint_y[gotoPoint] + ((Game.TILE_SIZE * Game.ROAD_SIZE) / 2);
gotoPoint++;
} else {
_local3 = Math.atan2(dist_y, dist_x);
_x = _x + (_local2 * Math.cos(_local3));
_y = _y + (_local2 * Math.sin(_local3));
_rotation = ((_local3 / Math.PI) * 180) - 90;
}
if (gotoPoint == endPoint) {
minionEscaped();
}
}
function minionEscaped() {
Wave.monstersRemoved++;
removeMovieClip();
Game.livesLeft = Game.livesLeft - 1;
if (Game.livesLeft == 0) {
Game.gameOver();
}
}
static function missileHit(towerLevel, damage, creepTarget, creep_ID, splash, slow1, slow2, dot, multiply, stun, armor, gold) {
if (splash[2][0] != 0) {
creepTarget.splashCalculation(towerLevel, damage, splash, slow1, slow2, dot, multiply, stun, armor, gold);
}
creepTarget.damageCalculation(towerLevel, damage, slow1, slow2, dot, multiply, stun, armor, gold);
}
function splashCalculation(towerLevel, damage, splash, slow1, slow2, dot, multiply, stun, armor, gold) {
var splashChance = Tower.calculateValue(splash[2][0], splash[2][1], splash[2][2], towerLevel);
splashChance = splashChance * Game.effectChance_GA;
if (Math.random() < splashChance) {
var splashDist_x;
var splashDist_y;
var creepHit;
var splashDamage = Tower.calculateValue(splash[0][0], splash[0][1], splash[0][2], towerLevel);
var splashRange = Tower.calculateValue(splash[1][0], splash[1][1], splash[1][2], towerLevel);
splashDamage = splashDamage * Game.effectPercent_GA;
splashRange = splashRange * Game.effectRange_GA;
damage = damage * splashDamage;
var i = 0;
while (i < Wave.monsterNumber) {
if (i != creepID) {
splashDist_x = Math.abs(Wave.monArr[creepID]._x - Wave.monArr[i]._x);
splashDist_y = Math.abs(Wave.monArr[creepID]._y - Wave.monArr[i]._y);
if (Math.sqrt((splashDist_x * splashDist_x) + (splashDist_y * splashDist_y)) < splashRange) {
creepHit = eval ("baddie" + i);
creepHit.damageCalculation(towerLevel, damage, slow1, slow2, dot, multiply, stun, armor, gold);
}
}
i++;
}
}
}
function damageCalculation(towerLevel, damage, slow1, slow2, dot, multiply, stun, armor, gold) {
var _local9 = 1;
var _local7 = Tower.calculateValue(multiply[0][0], multiply[0][1], multiply[0][2], towerLevel);
var _local6 = Tower.calculateValue(multiply[1][0], multiply[1][1], multiply[1][2], towerLevel);
_local7 = _local7 * Game.effectPercent_GA;
_local6 = _local6 * Game.effectChance_GA;
if (Math.random() < _local6) {
var _local8 = "critEff";
var _local5 = _local8 + _root.getNextHighestDepth();
_root.attachMovie(_local8, _local5, _root.getNextHighestDepth(), {_x:_x, _y:_y});
Tween2.easeOut(_root[_local5], "_y", _root[_local5]._y - 20, 8, "removeMovieClip");
_local9 = _local7;
}
armorTest(towerLevel, armor);
health = health - ((((damage * _local9) * damageResist) + armorEffect) - damageArmor);
killTest(towerLevel, gold);
dotTest(towerLevel, dot);
slow1Test(towerLevel, slow1);
slow2Test(towerLevel, slow2);
stunTest(towerLevel, stun);
}
function armorTest(towerLevel, armor) {
var _local7 = Tower.calculateValue(armor[0][0], armor[0][1], armor[0][2], towerLevel);
var _local4 = Tower.calculateValue(armor[1][0], armor[1][1], armor[1][2], towerLevel);
var _local6 = Tower.calculateValue(armor[2][0], armor[2][1], armor[2][2], towerLevel);
_local7 = _local7 * (Game.effectPercent_GA * effectResist);
_local4 = _local4 * (Game.effectDuration_GA * effectArmor);
_local6 = _local6 * Game.effectChance_GA;
_local4 = Math.round(_local4);
if (Math.random() < _local6) {
armorEffect = armorEffect + _local7;
if (_local4 > armorHalfLife) {
var _local8 = "pierceEff";
var _local5 = _local8 + _root.getNextHighestDepth();
_root.attachMovie(_local8, _local5, _root.getNextHighestDepth(), {_x:_x, _y:_y});
Tween2.easeOut(_root[_local5], "_y", _root[_local5]._y - 20, 8, "removeMovieClip");
armorHalfLife = _local4;
}
}
}
function dotTest(towerLevel, dot) {
var _local6 = Tower.calculateValue(dot[0][0], dot[0][1], dot[0][2], towerLevel);
var _local4 = Tower.calculateValue(dot[1][0], dot[1][1], dot[1][2], towerLevel);
var _local8 = Tower.calculateValue(dot[2][0], dot[2][1], dot[2][2], towerLevel);
_local6 = _local6 * (Game.effectPercent_GA * effectResist);
_local4 = _local4 * (Game.effectDuration_GA * effectArmor);
_local8 = _local8 * Game.effectChance_GA;
_local4 = Math.round(_local4);
if (Math.random() < _local8) {
if (_local6 > dotEffect) {
var _local7 = "poisonEff";
var _local5 = _local7 + _root.getNextHighestDepth();
_root.attachMovie(_local7, _local5, _root.getNextHighestDepth(), {_x:_x, _y:_y});
Tween2.easeOut(_root[_local5], "_y", _root[_local5]._y - 20, 8, "removeMovieClip");
dotEffect = _local6;
}
if (_local4 > dotTimer) {
dotTimer = _local4;
}
}
}
function slow1Test(towerLevel, slow1) {
var _local6 = Tower.calculateValueType2(slow1[0][0], slow1[0][1], slow1[0][2], towerLevel);
var _local4 = Tower.calculateValue(slow1[1][0], slow1[1][1], slow1[1][2], towerLevel);
var _local7 = Tower.calculateValue(slow1[2][0], slow1[2][1], slow1[2][2], towerLevel);
_local6 = _local6 / (Game.effectPercent_GA * effectResist);
_local4 = _local4 * (Game.effectDuration_GA * effectArmor);
_local7 = _local7 * Game.effectChance_GA;
_local4 = Math.round(_local4);
if (Math.random() < _local7) {
if (_local6 < slow1Effect) {
var _local8 = "freezeEff";
var _local5 = _local8 + _root.getNextHighestDepth();
_root.attachMovie(_local8, _local5, _root.getNextHighestDepth(), {_x:_x, _y:_y});
Tween2.easeOut(_root[_local5], "_y", _root[_local5]._y - 20, 8, "removeMovieClip");
slow1Effect = _local6;
}
if (_local4 > slow1Timer) {
slow1Timer = _local4;
}
}
}
function slow2Test(towerLevel, slow2) {
var _local6 = Tower.calculateValueType2(slow2[0][0], slow2[0][1], slow2[0][2], towerLevel);
var _local4 = Tower.calculateValue(slow2[1][0], slow2[1][1], slow2[1][2], towerLevel);
var _local7 = Tower.calculateValue(slow2[2][0], slow2[2][1], slow2[2][2], towerLevel);
_local6 = _local6 / (Game.effectPercent_GA * effectResist);
_local4 = _local4 * (Game.effectDuration_GA * effectArmor);
_local7 = _local7 * Game.effectChance_GA;
_local4 = Math.round(_local4);
if (Math.random() < _local7) {
if (_local6 < slow2Effect) {
var _local8 = "slowEff";
var _local5 = _local8 + _root.getNextHighestDepth();
_root.attachMovie(_local8, _local5, _root.getNextHighestDepth(), {_x:_x, _y:_y});
Tween2.easeOut(_root[_local5], "_y", _root[_local5]._y - 20, 8, "removeMovieClip");
slow2Effect = _local6;
}
if (_local4 > slow2Timer) {
slow2Timer = _local4;
}
}
}
function stunTest(towerLevel, stun) {
var _local3 = Tower.calculateValue(stun[0][0], stun[0][1], stun[0][2], towerLevel);
var _local6 = Tower.calculateValue(stun[1][0], stun[1][1], stun[1][2], towerLevel);
_local3 = _local3 * (Game.effectDuration_GA * effectArmor);
_local6 = _local6 * Game.effectChance_GA;
_local3 = Math.round(_local3);
if (Math.random() < _local6) {
if (_local3 > stunTimer) {
var _local7 = "stunEff";
var _local5 = _local7 + _root.getNextHighestDepth();
_root.attachMovie(_local7, _local5, _root.getNextHighestDepth(), {_x:_x, _y:_y});
Tween2.easeOut(_root[_local5], "_y", _root[_local5]._y - 20, 8, "removeMovieClip");
stunEffect = 0;
stunTimer = _local3;
}
}
}
function effectTick() {
if (dotEffect != 0) {
dotTick();
}
if (slow1Effect != 1) {
slow1Tick();
}
if (slow2Effect != 1) {
slow2Tick();
}
if (stunEffect == 0) {
stunTick();
}
if (armorEffect != 0) {
armorTick();
}
}
function armorTick() {
if (armorTimer == armorHalfLife) {
armorEffect = armorEffect / 2;
armorHalfLife--;
armorTimer = 0;
} else {
armorTimer++;
}
}
function dotTick() {
if (dotTimer == 0) {
dotEffect = 0;
} else {
health = health - dotEffect;
killTest();
dotTimer--;
}
}
function slow1Tick() {
if (slow1Timer == 0) {
slow1Effect = 1;
} else {
slow1Timer--;
}
}
function slow2Tick() {
if (slow2Timer == 0) {
slow2Effect = 1;
} else {
slow2Timer--;
}
}
function stunTick() {
if (stunTimer == 0) {
stunEffect = 1;
} else {
stunTimer--;
}
}
function killTest(towerLevel, gold) {
if (health < 0) {
goldTest(towerLevel, gold);
Game.goldAvailable = Game.goldAvailable + Math.round((minionGold * goldModifier) + goldAddition);
Game.totalWorth = Game.totalWorth + Math.round((minionGold * goldModifier) + goldAddition);
Wave.monstersRemoved++;
_root.sounds.deathSound.start();
removeMovieClip();
}
}
function goldTest(towerLevel, gold) {
var _local6 = Tower.calculateValue(gold[0][0], gold[0][1], gold[0][2], towerLevel);
var _local5 = Tower.calculateValue(gold[1][0], gold[1][1], gold[1][2], towerLevel);
var _local4 = Tower.calculateValue(gold[2][0], gold[2][1], gold[2][2], towerLevel);
if (Math.random() < _local4) {
goldModifier = _local5;
goldAddition = _local6;
}
}
static var START_SPEED = 2;
}
Symbol 1120 MovieClip [__Packages.Alpha] Frame 0 (5.73 KiB) ● ●
class Alpha extends Tower
{
var isEconomic, isResearch;
function Alpha () {
super(baseName, bullet_mc, defaultAttackType, towerLevel, towerSize, BASE_COST, upgradeCost, people, heat, magic, energy, ammo, poison, shot, targets, splash, dot, damage, slow1, slow2, stun, armor, gold, boost, bulletMove, bullet_sfx);
isEconomic = false;
isResearch = false;
}
static function alphaTowerIcon(target, xPos, yPos) {
target.attachMovie("alphaTower_i", "alphaTower_i", target.getNextHighestDepth(), {_alpha:50, _x:(Research.TOWER_PANEL_SPACING * xPos) + Research.TOWER_PANEL_MARGIN, _y:(Research.TOWER_PANEL_SPACING * yPos) + Research.TOWER_PANEL_MARGIN});
target.alphaTower_i.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
var _local3 = Math.round(Alpha.BASE_COST * Game.defenseCost_GA) + " gold \n";
var _local4 = Math.round(Alpha.people[1][0] - Alpha.people[0][0]) + " people";
var _local6 = Math.round(Alpha.heat[1][0] - Alpha.heat[0][0]) + " heat";
var _local9 = Math.round(Alpha.magic[1][0] - Alpha.magic[0][0]) + " magic";
var _local8 = Math.round(Alpha.energy[1][0] - Alpha.energy[0][0]) + " energy";
var _local5 = Math.round(Alpha.ammo[0][0]) + " ammo per shot";
var _local7 = Math.round(Alpha.poison[0][0]) + " poison per shot";
var _local11 = "";
var _local10 = "";
var _local2 = [Alpha.baseName, _local3, _local4, _local6, _local9, _local8, _local5, _local7, _local11, _local10];
Research.towerStats(_local2, Alpha.shot);
};
target.alphaTower_i.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
target.alphaTower_i.onPress = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
var _local3 = Alpha.BASE_COST;
_local3 = _local3 * Game.defenseCost_GA;
if (Game.goldAvailable > _local3) {
_root.attachMovie("alphaTower", "tower" + Game.towerNumber, _root.getNextHighestDepth(), {_x:_root._xmouse, _y:_root._ymouse, isEconomic:false});
Game.towerNumber++;
}
};
}
static var BASE_COST = 15;
static var baseName = "Rock Tower";
static var bullet_mc = "alphaBullet";
static var bullet_sfx = "shotSound1";
static var bulletMove = [5, 0.1, 1, 0];
static var defaultAttackType = 0;
static var towerLevel = new Array(1, 10);
static var towerSize = new Array(2, 2);
static var upgradeCost = new Array(11, 1.3, 1);
static var peopleCost = new Array(1, 1.2, 0.99);
static var peopleProd = new Array(0, 1.26, 0.99);
static var people = new Array(peopleCost, peopleProd);
static var heatCost = new Array(0, 1.3, 0.99);
static var heatProd = new Array(1, 1.26, 0.99);
static var heat = new Array(heatCost, heatProd);
static var magicCost = new Array(0, 1, 1);
static var magicProd = new Array(0, 1, 1);
static var magic = new Array(magicCost, magicProd);
static var energyCost = new Array(0, 1.3, 0.99);
static var energyProd = new Array(0, 1.26, 0.99);
static var energy = new Array(energyCost, energyProd);
static var ammoCost = new Array(0, 1.3, 0.99);
static var ammoProd = new Array(0, 1.26, 0.99);
static var ammoStore = new Array(0, 1.26, 0.99);
static var ammo = new Array(ammoCost, ammoProd, ammoStore);
static var poisonCost = new Array(0, 1.2, 0.99);
static var poisonProd = new Array(0, 1.26, 0.99);
static var poisonStore = new Array(0, 1.26, 0.99);
static var poison = new Array(poisonCost, poisonProd, poisonStore);
static var shotDamage = new Array(6, 1.43, 1);
static var shotRange = new Array(150, 1.04, 1);
static var shotRate = new Array(20, 1, 1);
static var shot = new Array(shotDamage, shotRange, shotRate);
static var targetsNumber = new Array(1, 1, 1);
static var targetsChance = new Array(1, 1, 1);
static var targets = new Array(targetsNumber, targetsChance);
static var splashDamage = new Array(0, 1, 1);
static var splashRange = new Array(0, 1, 1);
static var splashChance = new Array(0, 1, 1);
static var splash = new Array(splashDamage, splashRange, splashChance);
static var dotDamage = new Array(0, 1, 1);
static var dotDuration = new Array(0, 1, 1);
static var dotChance = new Array(0, 1, 1);
static var dot = new Array(dotDamage, dotDuration, dotChance);
static var damageMultiplier = new Array(1, 1, 1);
static var damageChance = new Array(0, 1, 1);
static var damage = new Array(damageMultiplier, damageChance);
static var slow1Percent = new Array(1, 1, 1);
static var slow1Duration = new Array(0, 1, 1);
static var slow1Chance = new Array(0, 1, 1);
static var slow1 = new Array(slow1Percent, slow1Duration, slow1Chance);
static var slow2Percent = new Array(1, 1, 1);
static var slow2Duration = new Array(0, 1, 1);
static var slow2Chance = new Array(0, 1, 1);
static var slow2 = new Array(slow2Percent, slow2Duration, slow2Chance);
static var stunDuration = new Array(0, 1, 1);
static var stunChance = new Array(0, 1, 1);
static var stun = new Array(stunDuration, stunChance);
static var armorEffect = new Array(0, 1, 1);
static var armorDuration = new Array(0, 1, 1);
static var armorChance = new Array(0, 1, 1);
static var armor = new Array(armorEffect, armorDuration, armorChance);
static var goldAdd = new Array(0, 1, 1);
static var goldMultiply = new Array(1, 1, 1);
static var goldChance = new Array(0, 1, 1);
static var gold = new Array(goldAdd, goldMultiply, goldChance);
static var boostDamagePercent = new Array(0, 1, 1);
static var boostDamageRange = new Array(0, 1, 1);
static var boostShotRatePercent = new Array(0, 1, 1);
static var boostShotRateRange = new Array(0, 1, 1);
static var boostRangePercent = new Array(0, 1, 1);
static var boostRangeRange = new Array(0, 1, 1);
static var boost = new Array(boostDamagePercent, boostDamageRange, boostShotRatePercent, boostShotRateRange, boostRangePercent, boostRangeRange);
}
Symbol 1121 MovieClip [__Packages.EasyMap] Frame 0 (827 B)
class EasyMap extends MovieClip
{
function EasyMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.easyButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.easyButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.easyButton.onPress = function () {
Game.difficulty = EasyMap.DIFF_LABEL;
Game.wayPoint_x = EasyMap.WAYPOINT_X;
Game.wayPoint_y = EasyMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Easy");
Game.endWave = 90;
Game.factionSelect();
};
}
static var DIFF_LABEL = "easy";
static var WAYPOINT_X = [48, 48, 336, 336, 120, 120, 408, 408];
static var WAYPOINT_Y = [0, 360, 360, 204, 204, 48, 48, 431];
}
Symbol 1122 MovieClip [__Packages.MediumMap] Frame 0 (828 B)
class MediumMap extends MovieClip
{
function MediumMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.mediumButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.mediumButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.mediumButton.onPress = function () {
Game.difficulty = MediumMap.DIFF_LABEL;
Game.wayPoint_x = MediumMap.WAYPOINT_X;
Game.wayPoint_y = MediumMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Medium");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "medium";
static var WAYPOINT_X = [48, 48, 228, 228, 408, 408];
static var WAYPOINT_Y = [0, 360, 360, 48, 48, 431];
}
Symbol 1123 MovieClip [__Packages.HardMap] Frame 0 (790 B)
class HardMap extends MovieClip
{
function HardMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.hardButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.hardButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.hardButton.onPress = function () {
Game.difficulty = HardMap.DIFF_LABEL;
Game.wayPoint_x = HardMap.WAYPOINT_X;
Game.wayPoint_y = HardMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Hard");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "hard";
static var WAYPOINT_X = [48, 48, 408, 408];
static var WAYPOINT_Y = [0, 204, 204, 431];
}
Symbol 1124 MovieClip [__Packages.IronShield] Frame 0 (1.54 KiB) ●
class IronShield extends MovieClip
{
function IronShield () {
super();
Tween2.easeOut(this, "_x", 0, 6, "easeFin");
}
function easeFin() {
_root.ironShieldButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Game.factionDescribe.factionDescription.text = "The Iron Shield \n \n The Iron Shield is a vast interstellar military force, widely acknowledged as the most powerful out of any faction. As such, their weapons are much deadlier and varied than the ones possessed by other factions. However, as they have been historically funded by the government of the day as well as interest groups and private benefactors, their economic abilities are not up to scratch when forced to survive in space on their own.";
};
_root.ironShieldButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Game.factionDescribe.factionDescription.text = "";
};
_root.ironShieldButton.onPress = function () {
Game.faction = "Iron Shield";
Game.goldAvailable = 270;
Game.totalWorth = Game.goldAvailable;
Game.livesLeft = 25;
Game.goldInterest = 0.1475;
Game.towerWorth = 0.55;
Game.defenseCost_GA = 1.01;
Game.effectPercent_GA = 0.99;
Game.effectChance_GA = 0.99;
Game.effectDuration_GA = 0.99;
Game.shotDamage_GA = 1.05;
Game.shotRange_GA = 0.99;
Game.shotRate_GA = 1.02;
Game.energyProduction_GA = 1.25;
Game.ammoProduction_GA = 1.25;
Game.magicProduction_GA = 0.9;
Game.mapfactSetup();
};
}
}
Symbol 1125 MovieClip [__Packages.JunkyardGang] Frame 0 (1.5 KiB) ●
class JunkyardGang extends MovieClip
{
function JunkyardGang () {
super();
Tween2.easeOut(this, "_x", 0, 6, "easeFin");
}
function easeFin() {
_root.junkyardButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Game.factionDescribe.factionDescription.text = "The Junkyard Gang \n \n The Junkyard Gang are a band of thieves, hooligans, pirates, thugs and other ne'er-do-wells from the shadiest sections of society. Rebelling from the Iron Shield centuries ago, their life, which consists of scavenging from the vast emptiness of space and making do with very limited resources has subsequently made their ability to construct buildings much more developed than the other factions, as well as being able to make the most out of the gold dropped by creeps.";
};
_root.junkyardButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Game.factionDescribe.factionDescription.text = "";
};
_root.junkyardButton.onPress = function () {
Game.faction = "Junkyard Gang";
Game.totalWorth = Game.goldAvailable;
Game.goldInterest = 0.1505;
Game.goldFromMonsters = 1.05;
Game.researchTime = 4;
Game.defenseCost_GA = 0.95;
Game.defenseUpgrade_GA = 1.08;
Game.economicCost_GA = 0.75;
Game.researchCost_GA = 0.75;
Game.effectChance_GA = 1.05;
Game.effectDuration_GA = 0.95;
Game.peopleProduction_GA = 1.25;
Game.poisonProduction_GA = 1.25;
Game.mapfactSetup();
};
}
}
Symbol 1126 MovieClip [__Packages.Omnicorp] Frame 0 (1.52 KiB) ●
class Omnicorp extends MovieClip
{
function Omnicorp () {
super();
Tween2.easeOut(this, "_x", 0, 6, "easeFin");
}
function easeFin() {
_root.omnicorpButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Game.factionDescribe.factionDescription.text = "Omnicorp \n \n Omnicorp is a massive conglomerate of different corporations formed out of the dying ashes of Earth. Their motto is simple: Profit. Omnicorp has the strongest economy out of all the factions due to their corporate disposition, however, being primarily a business, they have the weakest towers out of any faction. This is tempered by the fact that they can use their vast wealth to solve problems unlike most other factions.";
};
_root.omnicorpButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Game.factionDescribe.factionDescription.text = "";
};
_root.omnicorpButton.onPress = function () {
Game.faction = "Omnicorp";
Game.goldAvailable = 310;
Game.totalWorth = Game.goldAvailable;
Game.livesLeft = 15;
Game.goldInterest = 0.1525;
Game.goldFromMonsters = 1.1;
Game.towerWorth = 0.45;
Game.defenseCost_GA = 0.95;
Game.economicCost_GA = 0.95;
Game.shotDamage_GA = 0.97;
Game.peopleProduction_GA = 1.05;
Game.energyProduction_GA = 1.05;
Game.ammoProduction_GA = 1.05;
Game.heatProduction_GA = 1.05;
Game.magicProduction_GA = 1.05;
Game.poisonProduction_GA = 1.05;
Game.mapfactSetup();
};
}
}
Symbol 1127 MovieClip [__Packages.Unity] Frame 0 (1.33 KiB) ●
class Unity extends MovieClip
{
function Unity () {
super();
Tween2.easeOut(this, "_x", 0, 6, "easeFin");
}
function easeFin() {
_root.unityButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Game.factionDescribe.factionDescription.text = "The Unity \n \n A collection of scientists and intellectuals that worship a long dead alien race, The Unity has by far the fastest research time of any faction, desiring first and foremost for their weapons to be at the pinnacle of technology. But unfortunately, being a society of researchers have left them without much economic management skills, so their towers cost more gold to upgrade.";
};
_root.unityButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Game.factionDescribe.factionDescription.text = "";
};
_root.unityButton.onPress = function () {
Game.faction = "The Unity";
Game.totalWorth = Game.goldAvailable;
Game.towerWorth = 0.51;
Game.researchTime = 0;
Game.defenseCost_GA = 1.01;
Game.defenseUpgrade_GA = 1.05;
Game.shotDamage_GA = 1.025;
Game.shotRange_GA = 1.025;
Game.peopleProduction_GA = 0.9;
Game.heatProduction_GA = 0.9;
Game.magicProduction_GA = 1.1;
Game.poisonProduction_GA = 0.9;
Game.mapfactSetup();
};
}
}
Symbol 1128 MovieClip [__Packages.Remnants] Frame 0 (1.7 KiB) ●
class Remnants extends MovieClip
{
function Remnants () {
super();
Tween2.easeOut(this, "_x", 0, 6, "easeFin");
}
function easeFin() {
_root.remnantsButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Game.factionDescribe.factionDescription.text = "The Remnants \n \n These peoples are the remnant of a past society based on superiority through bioengineering. Seen as monsters and freaks by the other factions, they were forced on the run and have only recently returned to the Home Cluster. They retain the technological knowledge of their past society, but because of the wide gulf of time seperating past society with theirs, The Remnant have difficulty deciphering the ancient documents. However, while they may research slowly, the wait is worth it for it is said that their past society had the most advanced weapons of any faction.";
};
_root.remnantsButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Game.factionDescribe.factionDescription.text = "";
};
_root.remnantsButton.onPress = function () {
Game.faction = "The Remnants";
Game.goldAvailable = 295;
Game.totalWorth = Game.goldAvailable;
Game.goldInterest = 0.1495;
Game.towerWorth = 0.52;
Game.researchTime = 10;
Game.defenseCost_GA = 0.95;
Game.defenseUpgrade_GA = 0.95;
Game.economicCost_GA = 0.95;
Game.economicUpgrade_GA = 0.95;
Game.researchCost_GA = 0.95;
Game.effectChance_GA = 0.97;
Game.effectDuration_GA = 1.05;
Game.shotRate_GA = 1.02;
Game.ammoProduction_GA = 0.9;
Game.heatProduction_GA = 0.9;
Game.poisonProduction_GA = 0.85;
Game.mapfactSetup();
};
}
}
Symbol 1129 MovieClip [__Packages.TheOrder] Frame 0 (1.46 KiB) ●
class TheOrder extends MovieClip
{
function TheOrder () {
super();
Tween2.easeOut(this, "_x", 0, 6, "easeFin");
}
function easeFin() {
_root.orderButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
Game.factionDescribe.factionDescription.text = "The Order \n \n A secret society based wholly underground, these shadowy figures from humanity's past have recently reemerged to deal with the creep threat. Eschewing the direct damage towers used by the other factions, The Order prefers special effect weapons. Due to their being underground, The Order has lagged behind in the technological stakes, having a slower research time than other factions, as well as starting with less gold.";
};
_root.orderButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
Game.factionDescribe.factionDescription.text = "";
};
_root.orderButton.onPress = function () {
Game.faction = "The Order";
Game.goldAvailable = 257;
Game.totalWorth = Game.goldAvailable;
Game.livesLeft = 15;
Game.goldFromMonsters = 1.2;
Game.towerWorth = 0.51;
Game.researchTime = 5;
Game.economicCost_GA = 1.1;
Game.effectRange_GA = 1.025;
Game.effectPercent_GA = 1.01;
Game.effectChance_GA = 1.01;
Game.effectDuration_GA = 1.01;
Game.shotDamage_GA = 0.95;
Game.shotRate_GA = 0.99;
Game.magicProduction_GA = 1.25;
Game.mapfactSetup();
};
}
}
Symbol 1130 MovieClip [__Packages.Regenerator] Frame 0 (529 B)
class Regenerator extends Minion
{
var health, minionGold;
function Regenerator () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 1;
static var damageArmor = 0;
static var effectResist = 1;
static var effectArmor = 1;
static var speed = 2;
static var healthMod = 1;
static var goldMod = 1.3;
static var regenMod = 0.001;
static var waveSize = 10;
static var spawnRate = 20;
}
Symbol 1131 MovieClip [__Packages.Immune] Frame 0 (526 B)
class Immune extends Minion
{
var health, minionGold;
function Immune () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 0.85;
static var damageArmor = 0;
static var effectResist = 1.55;
static var effectArmor = 1.5;
static var speed = 1.8;
static var healthMod = 0.9;
static var goldMod = 1.1;
static var regenMod = 0;
static var waveSize = 9;
static var spawnRate = 31;
}
Symbol 1132 MovieClip [__Packages.Fast] Frame 0 (513 B)
class Fast extends Minion
{
var health, minionGold;
function Fast () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 0.7;
static var damageArmor = 0;
static var effectResist = 1;
static var effectArmor = 1;
static var speed = 4;
static var healthMod = 0.7;
static var goldMod = 1;
static var regenMod = 0;
static var waveSize = 10;
static var spawnRate = 25;
}
Symbol 1133 MovieClip [__Packages.Group] Frame 0 (517 B)
class Group extends Minion
{
var health, minionGold;
function Group () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 1;
static var damageArmor = 0;
static var effectResist = 0.7;
static var effectArmor = 0.8;
static var speed = 1.7;
static var healthMod = 1;
static var goldMod = 1.3;
static var regenMod = 0;
static var waveSize = 9;
static var spawnRate = 8;
}
Symbol 1134 MovieClip [__Packages.Healthy] Frame 0 (516 B)
class Healthy extends Minion
{
var health, minionGold;
function Healthy () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 1;
static var damageArmor = 0;
static var effectResist = 1;
static var effectArmor = 1;
static var speed = 1.8;
static var healthMod = 2;
static var goldMod = 1;
static var regenMod = 0;
static var waveSize = 8;
static var spawnRate = 40;
}
Symbol 1135 MovieClip [__Packages.Armored] Frame 0 (525 B)
class Armored extends Minion
{
var health, minionGold;
function Armored () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 2;
static var damageArmor = 0.001;
static var effectResist = 0.9;
static var effectArmor = 1;
static var speed = 2;
static var healthMod = 0.9;
static var goldMod = 1.1;
static var regenMod = 0;
static var waveSize = 10;
static var spawnRate = 45;
}
Symbol 1136 MovieClip [__Packages.Barrager] Frame 0 (523 B)
class Barrager extends Minion
{
var health, minionGold;
function Barrager () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 0.8;
static var damageArmor = 0;
static var effectResist = 1;
static var effectArmor = 1;
static var speed = 1.6;
static var healthMod = 0.8;
static var goldMod = 1;
static var regenMod = 0;
static var waveSize = 20;
static var spawnRate = 25;
}
Symbol 1137 MovieClip [__Packages.Resiliant] Frame 0 (527 B)
class Resiliant extends Minion
{
var health, minionGold;
function Resiliant () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 2;
static var damageArmor = 0;
static var effectResist = 2;
static var effectArmor = 0.5;
static var speed = 1;
static var healthMod = 1.25;
static var goldMod = 1.25;
static var regenMod = 0;
static var waveSize = 10;
static var spawnRate = 25;
}
Symbol 1138 MovieClip [__Packages.Rusher] Frame 0 (517 B)
class Rusher extends Minion
{
var health, minionGold;
function Rusher () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 1;
static var damageArmor = 0;
static var effectResist = 1;
static var effectArmor = 1;
static var speed = 3;
static var healthMod = 1.5;
static var goldMod = 1.1;
static var regenMod = 0;
static var waveSize = 10;
static var spawnRate = 50;
}
Symbol 1139 MovieClip [__Packages.Boss] Frame 0 (518 B)
class Boss extends Minion
{
var health, minionGold;
function Boss () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 1.25;
static var damageArmor = 0;
static var effectResist = 1.25;
static var effectArmor = 2;
static var speed = 0.5;
static var healthMod = 10;
static var goldMod = 10;
static var regenMod = 0;
static var waveSize = 1;
static var spawnRate = 25;
}
Symbol 1140 MovieClip [__Packages.LoopMap] Frame 0 (826 B)
class LoopMap extends MovieClip
{
function LoopMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.loopButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.loopButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.loopButton.onPress = function () {
Game.difficulty = LoopMap.DIFF_LABEL;
Game.wayPoint_x = LoopMap.WAYPOINT_X;
Game.wayPoint_y = LoopMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Loop");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "loop";
static var WAYPOINT_X = [48, 48, 408, 408, 48, 48, 408, 408];
static var WAYPOINT_Y = [0, 360, 360, 48, 48, 360, 360, 431];
}
Symbol 1141 MovieClip [__Packages.CircleMap] Frame 0 (888 B)
class CircleMap extends MovieClip
{
function CircleMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.circleButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.circleButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.circleButton.onPress = function () {
Game.difficulty = CircleMap.DIFF_LABEL;
Game.wayPoint_x = CircleMap.WAYPOINT_X;
Game.wayPoint_y = CircleMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Circle");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "circle";
static var WAYPOINT_X = [48, 48, 264, 264, 192, 192, 264, 264, 192, 192, 408, 408];
static var WAYPOINT_Y = [0, 204, 204, 96, 96, 204, 204, 312, 312, 204, 204, 431];
}
Symbol 1142 MovieClip [__Packages.CornerMap] Frame 0 (884 B)
class CornerMap extends MovieClip
{
function CornerMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.cornerButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.cornerButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.cornerButton.onPress = function () {
Game.difficulty = CornerMap.DIFF_LABEL;
Game.wayPoint_x = CornerMap.WAYPOINT_X;
Game.wayPoint_y = CornerMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Corner");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "corner";
static var WAYPOINT_X = [48, 48, 96, 96, 48, 48, 228, 228, 96, 96, 408, 408];
static var WAYPOINT_Y = [0, 312, 312, 204, 204, 360, 360, 312, 312, 360, 360, 431];
}
Symbol 1143 MovieClip [__Packages.SpiralMap] Frame 0 (960 B)
class SpiralMap extends MovieClip
{
function SpiralMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.spiralButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.spiralButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.spiralButton.onPress = function () {
Game.difficulty = SpiralMap.DIFF_LABEL;
Game.wayPoint_x = SpiralMap.WAYPOINT_X;
Game.wayPoint_y = SpiralMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Spiral");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "spiral";
static var WAYPOINT_X = [48, 48, 24, 24, 372, 372, 144, 144, 252, 252, 204, 204, 312, 312, 84, 84, 432, 432, 408, 408];
static var WAYPOINT_Y = [0, 36, 36, 372, 372, 96, 96, 252, 252, 204, 204, 156, 156, 312, 312, 36, 36, 372, 372, 431];
}
Symbol 1144 MovieClip [__Packages.ZigMap] Frame 0 (914 B)
class ZigMap extends MovieClip
{
function ZigMap () {
super();
Tween2.easeOut(this, "_alpha", 50, 6, "easeFin");
}
function easeFin() {
_root.zigButton.onRollOver = function () {
Tween2.easeOut(this, "_alpha", 100, 10);
_root.sounds.buttonMouseOver.start();
};
_root.zigButton.onRollOut = function () {
Tween2.easeOut(this, "_alpha", 50, 10);
};
_root.zigButton.onPress = function () {
Game.difficulty = ZigMap.DIFF_LABEL;
Game.wayPoint_x = ZigMap.WAYPOINT_X;
Game.wayPoint_y = ZigMap.WAYPOINT_Y;
_root.kongregateScores.setMode("Zig");
Game.endWave = 100;
Game.factionSelect();
};
}
static var DIFF_LABEL = "zig";
static var WAYPOINT_X = [48, 48, 96, 96, 144, 144, 192, 192, 228, 228, 264, 264, 312, 312, 360, 360, 408, 408];
static var WAYPOINT_Y = [0, 48, 48, 96, 96, 144, 144, 192, 192, 216, 216, 264, 264, 312, 312, 360, 360, 431];
}
Symbol 1145 MovieClip [__Packages.Normal] Frame 0 (513 B)
class Normal extends Minion
{
var health, minionGold;
function Normal () {
super(damageResist, damageArmor, effectResist, effectArmor, speed, health, healthMod, regenMod, minionGold, goldMod, waveSize, spawnRate);
}
static var damageResist = 1;
static var damageArmor = 0;
static var effectResist = 1;
static var effectArmor = 1;
static var speed = 2;
static var healthMod = 1;
static var goldMod = 1;
static var regenMod = 0;
static var waveSize = 10;
static var spawnRate = 25;
}