home *** CD-ROM | disk | FTP | other *** search
Wrap
class UpgradeTree { var arrNodes; var startNode; var currentNode; var arrPointReqs; function UpgradeTree() { this.arrNodes = new Array(27); var _loc2_ = 0; while(_loc2_ < this.arrNodes.length) { this.arrNodes[_loc2_] = new MapNode(); this.arrNodes[_loc2_].SetLabel("State " + _loc2_); _loc2_ = _loc2_ + 1; } this.startNode = this.arrNodes[1]; this.currentNode = this.arrNodes[1]; this.AttachNodes(); this.arrPointReqs = new Array(); this.arrPointReqs.push({min:0,max:75}); this.arrPointReqs.push({min:75,max:200}); this.arrPointReqs.push({min:200,max:400}); this.arrPointReqs.push({min:400,max:800}); this.arrPointReqs.push({min:800,max:1300}); this.arrPointReqs.push({min:1300,max:999999}); this.SetNodeStates(); } function RemoveFirstNode() { this.arrNodes.shift(); } function GetNodeWithID(intID) { var _loc3_ = undefined; var _loc2_ = 0; while(_loc2_ < this.arrNodes.length) { if(intID == this.arrNodes[_loc2_].nodeData._id) { _loc3_ = this.arrNodes[_loc2_]; break; } _loc2_ = _loc2_ + 1; } return _loc3_; } function SetNodeWithID(intID) { var _loc3_ = undefined; var _loc2_ = 0; while(_loc2_ < this.arrNodes.length) { if(intID == this.arrNodes[_loc2_].nodeData._id) { _loc3_ = this.arrNodes[_loc2_]; break; } _loc2_ = _loc2_ + 1; } this.currentNode = _loc3_; } function Upgrade(moveTo) { var _loc2_ = undefined; this.currentNode.Reset(); if(moveTo == "second_mc") { this.currentNode.NextChild(); } else if(moveTo == "third_mc") { this.currentNode.NextChild(); this.currentNode.NextChild(); } _loc2_ = this.currentNode.GetChild(); _loc2_.SetParent(this.currentNode); this.currentNode = _loc2_; } function UpgradeAlreadySelected() { var _loc2_ = undefined; this.currentNode.Reset(); _loc2_ = this.currentNode.GetChild(); if(_loc2_.nodeData._selected == true) { this.currentNode = _loc2_; return true; } while(this.currentNode.NextChild()) { _loc2_ = this.currentNode.GetChild(); if(_loc2_.nodeData._selected == true) { this.currentNode = _loc2_; return true; } } return false; } function DownGrade(moveTo) { this.currentNode = this.currentNode.GetParent(); } function AttachNodes() { this.arrNodes[1].PointToNode(this.arrNodes[2]); this.arrNodes[1].PointToNode(this.arrNodes[3]); this.arrNodes[1].PointToNode(this.arrNodes[4]); this.arrNodes[2].PointToNode(this.arrNodes[5]); this.arrNodes[2].PointToNode(this.arrNodes[6]); this.arrNodes[3].PointToNode(this.arrNodes[6]); this.arrNodes[3].PointToNode(this.arrNodes[7]); this.arrNodes[4].PointToNode(this.arrNodes[7]); this.arrNodes[4].PointToNode(this.arrNodes[8]); this.arrNodes[5].PointToNode(this.arrNodes[9]); this.arrNodes[5].PointToNode(this.arrNodes[10]); this.arrNodes[5].PointToNode(this.arrNodes[11]); this.arrNodes[6].PointToNode(this.arrNodes[10]); this.arrNodes[6].PointToNode(this.arrNodes[11]); this.arrNodes[6].PointToNode(this.arrNodes[12]); this.arrNodes[7].PointToNode(this.arrNodes[11]); this.arrNodes[7].PointToNode(this.arrNodes[12]); this.arrNodes[7].PointToNode(this.arrNodes[13]); this.arrNodes[8].PointToNode(this.arrNodes[12]); this.arrNodes[8].PointToNode(this.arrNodes[13]); this.arrNodes[8].PointToNode(this.arrNodes[14]); this.arrNodes[9].PointToNode(this.arrNodes[15]); this.arrNodes[9].PointToNode(this.arrNodes[16]); this.arrNodes[10].PointToNode(this.arrNodes[15]); this.arrNodes[10].PointToNode(this.arrNodes[16]); this.arrNodes[10].PointToNode(this.arrNodes[17]); this.arrNodes[11].PointToNode(this.arrNodes[16]); this.arrNodes[11].PointToNode(this.arrNodes[17]); this.arrNodes[11].PointToNode(this.arrNodes[18]); this.arrNodes[12].PointToNode(this.arrNodes[17]); this.arrNodes[12].PointToNode(this.arrNodes[18]); this.arrNodes[12].PointToNode(this.arrNodes[19]); this.arrNodes[13].PointToNode(this.arrNodes[18]); this.arrNodes[13].PointToNode(this.arrNodes[19]); this.arrNodes[13].PointToNode(this.arrNodes[20]); this.arrNodes[14].PointToNode(this.arrNodes[19]); this.arrNodes[14].PointToNode(this.arrNodes[20]); this.arrNodes[15].PointToNode(this.arrNodes[21]); this.arrNodes[15].PointToNode(this.arrNodes[22]); this.arrNodes[16].PointToNode(this.arrNodes[21]); this.arrNodes[16].PointToNode(this.arrNodes[22]); this.arrNodes[16].PointToNode(this.arrNodes[23]); this.arrNodes[17].PointToNode(this.arrNodes[22]); this.arrNodes[17].PointToNode(this.arrNodes[23]); this.arrNodes[17].PointToNode(this.arrNodes[24]); this.arrNodes[18].PointToNode(this.arrNodes[23]); this.arrNodes[18].PointToNode(this.arrNodes[24]); this.arrNodes[18].PointToNode(this.arrNodes[25]); this.arrNodes[19].PointToNode(this.arrNodes[24]); this.arrNodes[19].PointToNode(this.arrNodes[25]); this.arrNodes[19].PointToNode(this.arrNodes[26]); this.arrNodes[20].PointToNode(this.arrNodes[25]); this.arrNodes[20].PointToNode(this.arrNodes[26]); } function SetNodeStates() { this.arrNodes[1].nodeData._name = "Basic Tank"; this.arrNodes[1].nodeData._id = 1; this.arrNodes[1].nodeData._arrPrimaryWeapons.push({type:1,name:"gun_1",delay:15}); this.arrNodes[1].nodeData._minPoints = this.arrPointReqs[0].min; this.arrNodes[1].nodeData._maxPoints = this.arrPointReqs[0].max; this.arrNodes[1].nodeData._description = "This is your starting tank."; this.arrNodes[1].nodeData._primary = "Basic Cannon"; this.arrNodes[1].nodeData._secondary = "None"; this.arrNodes[1].nodeData._primaryDescription = "Fires single bubble rounds."; this.arrNodes[1].nodeData._secondaryDescription = "-"; this.arrNodes[2].nodeData._name = "Fighter #1"; this.arrNodes[2].nodeData._id = 2; this.arrNodes[2].nodeData._speed = 1.1; this.arrNodes[2].nodeData._arrPrimaryWeapons.push({type:1,name:"gun_1",delay:4}); this.arrNodes[2].nodeData._minPoints = this.arrPointReqs[1].min; this.arrNodes[2].nodeData._maxPoints = this.arrPointReqs[1].max; this.arrNodes[2].nodeData._description = "A small, fast, and agile tank with fast fire rate."; this.arrNodes[2].nodeData._primary = "Machine Gun"; this.arrNodes[2].nodeData._secondary = "None"; this.arrNodes[2].nodeData._primaryDescription = "Fires single bubble rounds in rapid succession."; this.arrNodes[2].nodeData._secondaryDescription = "-"; this.arrNodes[3].nodeData._name = "Balanced #1"; this.arrNodes[3].nodeData._id = 3; this.arrNodes[3].nodeData._arrPrimaryWeapons.push({type:2,name:"gun_1",delay:8}); this.arrNodes[3].nodeData._minPoints = this.arrPointReqs[1].min; this.arrNodes[3].nodeData._maxPoints = this.arrPointReqs[1].max; this.arrNodes[3].nodeData._description = "A balance between speed and strength."; this.arrNodes[3].nodeData._primary = "2 Shot Parallel"; this.arrNodes[3].nodeData._secondary = "None"; this.arrNodes[3].nodeData._primaryDescription = "Fires 2 rounds in side by side fashion."; this.arrNodes[3].nodeData._secondaryDescription = "-"; this.arrNodes[4].nodeData._name = "Heavy #1"; this.arrNodes[4].nodeData._id = 4; this.arrNodes[4].nodeData._speed = 0.85; this.arrNodes[4].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_1",delay:16}); this.arrNodes[4].nodeData._minPoints = this.arrPointReqs[1].min; this.arrNodes[4].nodeData._maxPoints = this.arrPointReqs[1].max; this.arrNodes[4].nodeData._description = "Slightly slower and less agile, but packs a bigger punch."; this.arrNodes[4].nodeData._primary = "Heavy Cannon"; this.arrNodes[4].nodeData._secondary = "None"; this.arrNodes[4].nodeData._primaryDescription = "Fires a single, heavy bubble round that does substantial damage."; this.arrNodes[4].nodeData._secondaryDescription = "-"; this.arrNodes[5].nodeData._name = "Fighter #2"; this.arrNodes[5].nodeData._id = 5; this.arrNodes[5].nodeData._speed = 1.2; this.arrNodes[5].nodeData._arrPrimaryWeapons.push({type:4,name:"gun_1",delay:6}); this.arrNodes[5].nodeData._arrSecondaryWeapons.push({type:8,name:"---",delay:60}); this.arrNodes[5].nodeData._minPoints = this.arrPointReqs[2].min; this.arrNodes[5].nodeData._maxPoints = this.arrPointReqs[2].max; this.arrNodes[5].nodeData._description = "An even better version of the fighter, speed and agility are its trademarks."; this.arrNodes[5].nodeData._primary = "3 Bullet Spread"; this.arrNodes[5].nodeData._secondary = "Shield"; this.arrNodes[5].nodeData._primaryDescription = "Fires 3 bullets spread out."; this.arrNodes[5].nodeData._secondaryDescription = "The shield can be summoned in rapid bursts to protect you from all incoming damage."; this.arrNodes[6].nodeData._name = "Balanced Fighter #1"; this.arrNodes[6].nodeData._id = 6; this.arrNodes[6].nodeData._arrPrimaryWeapons.push({type:5,name:"gun_1",delay:8}); this.arrNodes[6].nodeData._arrSecondaryWeapons.push({type:8,name:"---",delay:60}); this.arrNodes[6].nodeData._minPoints = this.arrPointReqs[2].min; this.arrNodes[6].nodeData._maxPoints = this.arrPointReqs[2].max; this.arrNodes[6].nodeData._description = "A balanced tank slightly in favor of speed and agility."; this.arrNodes[6].nodeData._primary = "3 Shot Parallel"; this.arrNodes[6].nodeData._secondary = "Shield"; this.arrNodes[6].nodeData._primaryDescription = "Fires 3 bullets in side by side fashion."; this.arrNodes[6].nodeData._secondaryDescription = "The shield can be summoned in rapid bursts to protect you from all incoming damage."; this.arrNodes[7].nodeData._name = "Balanced Heavy #1"; this.arrNodes[7].nodeData._id = 7; this.arrNodes[7].nodeData._speed = 0.9; this.arrNodes[7].nodeData._arrPrimaryWeapons.push({type:5,name:"gun_1",delay:8}); this.arrNodes[7].nodeData._arrSecondaryWeapons.push({type:6,name:"gun_2",delay:40}); this.arrNodes[7].nodeData._minPoints = this.arrPointReqs[2].min; this.arrNodes[7].nodeData._maxPoints = this.arrPointReqs[2].max; this.arrNodes[7].nodeData._description = "A balanced tank slightly in favor of heavy weaponry, but lighter than the Heavy Tank."; this.arrNodes[7].nodeData._primary = "3 Shot Parallel"; this.arrNodes[7].nodeData._secondary = "Mines"; this.arrNodes[7].nodeData._primaryDescription = "Fires 3 bullets in side by side fashion."; this.arrNodes[7].nodeData._secondaryDescription = "Mines can be laid and will dish out heavy damage when an enemy wanders over them."; this.arrNodes[8].nodeData._name = "Heavy #2"; this.arrNodes[8].nodeData._id = 8; this.arrNodes[8].nodeData._speed = 0.7; this.arrNodes[8].nodeData._arrPrimaryWeapons.push({type:7,name:"gun_1",delay:8}); this.arrNodes[8].nodeData._arrSecondaryWeapons.push({type:6,name:"gun_2",delay:40}); this.arrNodes[8].nodeData._minPoints = this.arrPointReqs[2].min; this.arrNodes[8].nodeData._maxPoints = this.arrPointReqs[2].max; this.arrNodes[8].nodeData._description = "A large and slow tank, but heavily armed."; this.arrNodes[8].nodeData._primary = "5 Shot Parallel"; this.arrNodes[8].nodeData._secondary = "Mines"; this.arrNodes[8].nodeData._primaryDescription = "Fires 5 bullets in side by side fashion."; this.arrNodes[8].nodeData._secondaryDescription = "Mines can be laid and will dish out heavy damage when an enemy wanders over them."; this.arrNodes[9].nodeData._name = "Sniper #1"; this.arrNodes[9].nodeData._id = 9; this.arrNodes[9].nodeData._speed = 1.2; this.arrNodes[9].nodeData._arrPrimaryWeapons.push({type:9,name:"gun_1",delay:20}); this.arrNodes[9].nodeData._arrSecondaryWeapons.push({type:10,name:"---",delay:80}); this.arrNodes[9].nodeData._minPoints = this.arrPointReqs[3].min; this.arrNodes[9].nodeData._maxPoints = this.arrPointReqs[3].max; this.arrNodes[9].nodeData._description = "A nimble fighter that fires single, powerful rounds."; this.arrNodes[9].nodeData._primary = "Pierce Shot"; this.arrNodes[9].nodeData._secondary = "Teleport"; this.arrNodes[9].nodeData._primaryDescription = "The pierce shot has a long recharge rate, but deals a lot of damage and can pass through multiple enemies."; this.arrNodes[9].nodeData._secondaryDescription = "Pressing the secondary fire button will instantly transport you to wherever your mouse cursor is located."; this.arrNodes[9].nodeData._locked = true; this.arrNodes[10].nodeData._name = "Fighter #3"; this.arrNodes[10].nodeData._id = 10; this.arrNodes[10].nodeData._speed = 1.2; this.arrNodes[10].nodeData._arrPrimaryWeapons.push({type:11,name:"gun_1",delay:4}); this.arrNodes[10].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_2",delay:100}); this.arrNodes[10].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_3",delay:100}); this.arrNodes[10].nodeData._minPoints = this.arrPointReqs[3].min; this.arrNodes[10].nodeData._maxPoints = this.arrPointReqs[3].max; this.arrNodes[10].nodeData._description = "3rd generation fighter. Focus is on speed and agility."; this.arrNodes[10].nodeData._primary = "Upgraded Machine Gun"; this.arrNodes[10].nodeData._secondary = "Seekers"; this.arrNodes[10].nodeData._primaryDescription = "The upgraded machine gun has a very fast fire rate with increased damage over the standard machine gun."; this.arrNodes[10].nodeData._secondaryDescription = "Launch 2 bubble missiles that will seek out and follow your enemies."; this.arrNodes[11].nodeData._name = "Bal. Fighter #2"; this.arrNodes[11].nodeData._id = 11; this.arrNodes[11].nodeData._speed = 1; this.arrNodes[11].nodeData._arrPrimaryWeapons.push({type:13,name:"gun_1",delay:9}); this.arrNodes[11].nodeData._arrSecondaryWeapons.push({type:14,name:"gun_2",delay:120}); this.arrNodes[11].nodeData._minPoints = this.arrPointReqs[3].min; this.arrNodes[11].nodeData._maxPoints = this.arrPointReqs[3].max; this.arrNodes[11].nodeData._description = "Balanced tank slightly in favor of speed and agility."; this.arrNodes[11].nodeData._primary = "5 Bullet Spread"; this.arrNodes[11].nodeData._secondary = "Short Stun Burst"; this.arrNodes[11].nodeData._primaryDescription = "Fires 5 bullets spread out."; this.arrNodes[11].nodeData._secondaryDescription = "A pulse is issued out from the tank that stuns surrounding enemies for a short period of time."; this.arrNodes[12].nodeData._name = "Bal. Heavy #2"; this.arrNodes[12].nodeData._id = 12; this.arrNodes[12].nodeData._speed = 0.95; this.arrNodes[12].nodeData._arrPrimaryWeapons.push({type:13,name:"gun_1",delay:9}); this.arrNodes[12].nodeData._arrSecondaryWeapons.push({type:15,name:"gun_2",delay:100}); this.arrNodes[12].nodeData._minPoints = this.arrPointReqs[3].min; this.arrNodes[12].nodeData._maxPoints = this.arrPointReqs[3].max; this.arrNodes[12].nodeData._description = "A balanced tank slightly in favor of heavy weaponry, but lighter than the Heavy Tank."; this.arrNodes[12].nodeData._primary = "5 Bullet Spread"; this.arrNodes[12].nodeData._secondary = "Area Burst"; this.arrNodes[12].nodeData._primaryDescription = "Fires 5 bullets spread out."; this.arrNodes[12].nodeData._secondaryDescription = "A burst is emitted from the tank that damages all nearby enemies."; this.arrNodes[13].nodeData._name = "Heavy #3"; this.arrNodes[13].nodeData._id = 13; this.arrNodes[13].nodeData._speed = 0.4; this.arrNodes[13].nodeData._turnMode = 2; this.arrNodes[13].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_1",delay:16}); this.arrNodes[13].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_2",delay:16}); this.arrNodes[13].nodeData._arrSecondaryWeapons.push({type:16,name:"gun_3",delay:20}); this.arrNodes[13].nodeData._minPoints = this.arrPointReqs[3].min; this.arrNodes[13].nodeData._maxPoints = this.arrPointReqs[3].max; this.arrNodes[13].nodeData._description = "Large and slow tank that boasts heavy weaponry and brute force."; this.arrNodes[13].nodeData._primary = "2 Large Cannons"; this.arrNodes[13].nodeData._secondary = "Sticky Cannon"; this.arrNodes[13].nodeData._primaryDescription = "Fires 2 large bullets simultaneously."; this.arrNodes[13].nodeData._secondaryDescription = "Secondary fire button launches sticky bullets that render the target immobile."; this.arrNodes[14].nodeData._name = "BFT #1"; this.arrNodes[14].nodeData._id = 14; this.arrNodes[14].nodeData._speed = 0.35; this.arrNodes[14].nodeData._turnMode = 2; this.arrNodes[14].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_1",delay:13}); this.arrNodes[14].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_2",delay:13,target:""}); this.arrNodes[14].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_3",delay:13,target:""}); this.arrNodes[14].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_4",delay:100}); this.arrNodes[14].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_5",delay:100}); this.arrNodes[14].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_6",delay:100}); this.arrNodes[14].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_7",delay:100}); this.arrNodes[14].nodeData._hasAutoGuns = true; this.arrNodes[14].nodeData._minPoints = this.arrPointReqs[3].min; this.arrNodes[14].nodeData._maxPoints = this.arrPointReqs[3].max; this.arrNodes[14].nodeData._description = "Very large and slow tank that seeks enemies to destroy."; this.arrNodes[14].nodeData._primary = "1 B. Shot, 2 Sm. Auto"; this.arrNodes[14].nodeData._secondary = "Seekers"; this.arrNodes[14].nodeData._primaryDescription = "You have control of a large cannon while 2 smaller cannons will seek out enemy targets and fire automatically."; this.arrNodes[14].nodeData._secondaryDescription = "Pressing the secondary fire button will launch 4 seeking bubble missiles at the nearest enemy."; this.arrNodes[14].nodeData._locked = true; this.arrNodes[15].nodeData._name = "Sniper #2"; this.arrNodes[15].nodeData._id = 15; this.arrNodes[15].nodeData._speed = 1.35; this.arrNodes[15].nodeData._arrPrimaryWeapons.push({type:18,name:"gun_1",delay:25}); this.arrNodes[15].nodeData._arrSecondaryWeapons.push({type:10,name:"---",delay:15}); this.arrNodes[15].nodeData._minPoints = this.arrPointReqs[4].min; this.arrNodes[15].nodeData._maxPoints = this.arrPointReqs[4].max; this.arrNodes[15].nodeData._description = "A nimble fighter that fires single, powerful rounds."; this.arrNodes[15].nodeData._primary = "Strong Pierce"; this.arrNodes[15].nodeData._secondary = "Upgraded Teleport"; this.arrNodes[15].nodeData._primaryDescription = "The pierce shot has a long recharge rate, but deals a lot of damage and can pass through multiple enemies."; this.arrNodes[15].nodeData._secondaryDescription = "Pressing the secondary fire button will instantly transport you to wherever your mouse cursor is located."; this.arrNodes[15].nodeData._locked = true; this.arrNodes[16].nodeData._name = "Fighter #4"; this.arrNodes[16].nodeData._id = 16; this.arrNodes[16].nodeData._speed = 1.3; this.arrNodes[16].nodeData._arrPrimaryWeapons.push({type:2,name:"gun_1",delay:3}); this.arrNodes[16].nodeData._arrSecondaryWeapons.push({type:19,name:"gun_2",delay:150}); this.arrNodes[16].nodeData._minPoints = this.arrPointReqs[4].min; this.arrNodes[16].nodeData._maxPoints = this.arrPointReqs[4].max; this.arrNodes[16].nodeData._description = "A small and agile tank that can dish out rapid fire."; this.arrNodes[16].nodeData._primary = "2 Shot MG"; this.arrNodes[16].nodeData._secondary = "Star Burst Cannon"; this.arrNodes[16].nodeData._primaryDescription = "2 small bullets are fired side by side in rapid succession."; this.arrNodes[16].nodeData._secondaryDescription = "The Star Burst Cannon fires a bullet that explodes after a short timer, emitting 360 degrees of pierce shots."; this.arrNodes[17].nodeData._name = "Bal. Fighter #3"; this.arrNodes[17].nodeData._id = 17; this.arrNodes[17].nodeData._speed = 1; this.arrNodes[17].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_1",delay:11}); this.arrNodes[17].nodeData._arrPrimaryWeapons.push({type:1,name:"gun_2",delay:11}); this.arrNodes[17].nodeData._arrPrimaryWeapons.push({type:1,name:"gun_3",delay:11}); this.arrNodes[17].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_4",delay:100}); this.arrNodes[17].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_5",delay:100}); this.arrNodes[17].nodeData._arrSecondaryWeapons.push({type:12,name:"gun_6",delay:100}); this.arrNodes[17].nodeData._minPoints = this.arrPointReqs[4].min; this.arrNodes[17].nodeData._maxPoints = this.arrPointReqs[4].max; this.arrNodes[17].nodeData._description = "A medium sized tank that\'s fast yet powerful."; this.arrNodes[17].nodeData._primary = "2 Sm., 1 B. Gun"; this.arrNodes[17].nodeData._secondary = "Seekers"; this.arrNodes[17].nodeData._primaryDescription = "Fire 2 small guns and 1 large cannon simultaneously."; this.arrNodes[17].nodeData._secondaryDescription = "Launch 3 bubble missiles that will seek out and follow your enemies."; this.arrNodes[18].nodeData._name = "Bal. Heavy #3"; this.arrNodes[18].nodeData._id = 18; this.arrNodes[18].nodeData._speed = 0.85; this.arrNodes[18].nodeData._arrPrimaryWeapons.push({type:20,name:"gun_1",delay:6}); this.arrNodes[18].nodeData._arrSecondaryWeapons.push({type:21,name:"gun_2",delay:100}); this.arrNodes[18].nodeData._minPoints = this.arrPointReqs[4].min; this.arrNodes[18].nodeData._maxPoints = this.arrPointReqs[4].max; this.arrNodes[18].nodeData._description = "A balanced tank slightly in favor of heavy weaponry, but faster than the Heavy Tank."; this.arrNodes[18].nodeData._primary = "2 Large Shell MG"; this.arrNodes[18].nodeData._secondary = "Area Burst Cannon"; this.arrNodes[18].nodeData._primaryDescription = "Fires 2 large cannons in side by side fashion at a rapid speed."; this.arrNodes[18].nodeData._secondaryDescription = "A large shell is fired that eplodes upon contact with the enemy, damaging others nearby."; this.arrNodes[19].nodeData._name = "Heavy #4"; this.arrNodes[19].nodeData._id = 19; this.arrNodes[19].nodeData._speed = 0.4; this.arrNodes[19].nodeData._turnMode = 2; this.arrNodes[19].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_1",delay:16}); this.arrNodes[19].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_2",delay:16}); this.arrNodes[19].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_3",delay:10,target:""}); this.arrNodes[19].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_4",delay:10,target:""}); this.arrNodes[19].nodeData._arrSecondaryWeapons.push({type:22,name:"gun_5",delay:100}); this.arrNodes[19].nodeData._hasAutoGuns = true; this.arrNodes[19].nodeData._minPoints = this.arrPointReqs[4].min; this.arrNodes[19].nodeData._maxPoints = this.arrPointReqs[4].max; this.arrNodes[19].nodeData._description = "Large and slow tank that boasts heavy weaponry and brute force."; this.arrNodes[19].nodeData._primary = "2 B. Shot, 2 Sm. Auto"; this.arrNodes[19].nodeData._secondary = "Sticky Burst"; this.arrNodes[19].nodeData._primaryDescription = "You have control of 2 large cannons while 2 smaller cannons will seek out enemy targets and fire automatically."; this.arrNodes[19].nodeData._secondaryDescription = "Many sticky bullets are launched from the tank in all directions making enemies immobile."; this.arrNodes[20].nodeData._name = "BFT #2"; this.arrNodes[20].nodeData._id = 20; this.arrNodes[20].nodeData._speed = 0.35; this.arrNodes[20].nodeData._turnMode = 2; this.arrNodes[20].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_1",delay:16}); this.arrNodes[20].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_2",delay:16}); this.arrNodes[20].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_3",delay:15,target:""}); this.arrNodes[20].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_4",delay:15,target:""}); this.arrNodes[20].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_5",delay:15,target:""}); this.arrNodes[20].nodeData._arrSecondaryWeapons.push({type:23,name:"gun_6",delay:125}); this.arrNodes[20].nodeData._hasAutoGuns = true; this.arrNodes[20].nodeData._minPoints = this.arrPointReqs[4].min; this.arrNodes[20].nodeData._maxPoints = this.arrPointReqs[4].max; this.arrNodes[20].nodeData._description = "Very large and slow tank that stuns and kills."; this.arrNodes[20].nodeData._primary = "2 B. Shot, 3 Sm. Auto"; this.arrNodes[20].nodeData._secondary = "Large Stun Burst"; this.arrNodes[20].nodeData._primaryDescription = "You have control 2 large cannons while 3 smaller cannons will seek out enemy targets and fire automatically."; this.arrNodes[20].nodeData._secondaryDescription = "A large pulse is issued out from the tank that stuns surrounding enemies for a short period of time."; this.arrNodes[20].nodeData._locked = true; this.arrNodes[21].nodeData._name = "Ghost Sniper"; this.arrNodes[21].nodeData._id = 21; this.arrNodes[21].nodeData._speed = 1.4; this.arrNodes[21].nodeData._arrPrimaryWeapons.push({type:25,name:"gun_1",delay:35}); this.arrNodes[21].nodeData._arrSecondaryWeapons.push({type:24,name:"---",delay:1}); this.arrNodes[21].nodeData._minPoints = this.arrPointReqs[5].min; this.arrNodes[21].nodeData._maxPoints = this.arrPointReqs[5].max; this.arrNodes[21].nodeData._description = "Very fast and agile tank that can come apart and reform at will."; this.arrNodes[21].nodeData._primary = "Explosive Pierce Shot"; this.arrNodes[21].nodeData._secondary = "Disassemble"; this.arrNodes[21].nodeData._primaryDescription = "Long recharge rate, but deals a lot of damage, explodes on impact, and can pass through multiple enemies."; this.arrNodes[21].nodeData._secondaryDescription = "Hold secondary fire to cause the tank to break apart, making it invincible but incapable of firing. Release to reform."; this.arrNodes[21].nodeData._locked = true; this.arrNodes[22].nodeData._name = "Super Fighter"; this.arrNodes[22].nodeData._id = 22; this.arrNodes[22].nodeData._speed = 1.35; this.arrNodes[22].nodeData._arrPrimaryWeapons.push({type:5,name:"gun_1",delay:4}); this.arrNodes[22].nodeData._arrSecondaryWeapons.push({type:26,name:"gun_2",delay:12}); this.arrNodes[22].nodeData._minPoints = this.arrPointReqs[5].min; this.arrNodes[22].nodeData._maxPoints = this.arrPointReqs[5].max; this.arrNodes[22].nodeData._description = "A small and agile tank that can dish out rapid fire and seekers."; this.arrNodes[22].nodeData._primary = "3 Shot MG"; this.arrNodes[22].nodeData._secondary = "Orbital Seekers"; this.arrNodes[22].nodeData._primaryDescription = "Fires 3 shots side by side in rapid succession."; this.arrNodes[22].nodeData._secondaryDescription = "Drones will automatically spawn and surround you. They will leave you and damage enemies that get too close."; this.arrNodes[23].nodeData._name = "Leecher Tank"; this.arrNodes[23].nodeData._id = 23; this.arrNodes[23].nodeData._speed = 1.1; this.arrNodes[23].nodeData._arrPrimaryWeapons.push({type:29,name:"gun_1",delay:10}); this.arrNodes[23].nodeData._arrSecondaryWeapons.push({type:30,name:"gun_2",delay:200}); this.arrNodes[23].nodeData._minPoints = this.arrPointReqs[5].min; this.arrNodes[23].nodeData._maxPoints = this.arrPointReqs[5].max; this.arrNodes[23].nodeData._description = "This tank sucks life from enemies and can infect them with virus bubbles."; this.arrNodes[23].nodeData._primary = "Leeching Bullets"; this.arrNodes[23].nodeData._secondary = "Doomsday Infect"; this.arrNodes[23].nodeData._primaryDescription = "Whenever these bullets hit, they send the life taken from the enemy back to you."; this.arrNodes[23].nodeData._secondaryDescription = "Pressing the secondary fire button will launch a virus drone. It will attack, infect, then explode the enemy to spawn."; this.arrNodes[24].nodeData._name = "Drone Tank"; this.arrNodes[24].nodeData._id = 24; this.arrNodes[24].nodeData._speed = 0.9; this.arrNodes[24].nodeData._arrPrimaryWeapons.push({type:31,name:"gun_1",delay:80}); this.arrNodes[24].nodeData._arrSecondaryWeapons.push({type:32,name:"gun_2",delay:100}); this.arrNodes[24].nodeData._minPoints = this.arrPointReqs[5].min; this.arrNodes[24].nodeData._maxPoints = this.arrPointReqs[5].max; this.arrNodes[24].nodeData._description = "This tanks is the master of seeker drones."; this.arrNodes[24].nodeData._primary = "Mitosis Seekers"; this.arrNodes[24].nodeData._secondary = "Drone Conversion"; this.arrNodes[24].nodeData._primaryDescription = "Mitosis seekers split to form many more seeker drones."; this.arrNodes[24].nodeData._secondaryDescription = "A pulse is emitted from your tank that converts all enemy drones into seekers that turn on your enemies"; this.arrNodes[25].nodeData._name = "Super Heavy"; this.arrNodes[25].nodeData._id = 25; this.arrNodes[25].nodeData._speed = 0.3; this.arrNodes[25].nodeData._turnMode = 2; this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_7",delay:16}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_8",delay:16}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:28,name:"gun_9",delay:16}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_1",delay:10,target:""}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_2",delay:10,target:""}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_3",delay:10,target:""}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_4",delay:10,target:""}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_5",delay:10,target:""}); this.arrNodes[25].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_6",delay:10,target:""}); this.arrNodes[25].nodeData._arrSecondaryWeapons.push({type:27,name:"gun_10",delay:100}); this.arrNodes[25].nodeData._hasAutoGuns = true; this.arrNodes[25].nodeData._minPoints = this.arrPointReqs[5].min; this.arrNodes[25].nodeData._maxPoints = this.arrPointReqs[5].max; this.arrNodes[25].nodeData._description = "A massive behemoth of a bubble tank."; this.arrNodes[25].nodeData._primary = "2 B. S, 6 Sm. A, 1 BB"; this.arrNodes[25].nodeData._secondary = "Massive Cannon"; this.arrNodes[25].nodeData._primaryDescription = "6 small cannons fire automatically while you control the 2 large cannons and \'bullet buster\' which blocks bullets."; this.arrNodes[25].nodeData._secondaryDescription = "Pressing the secondary fire button will fire the biggest bubble cannon in the game!"; this.arrNodes[26].nodeData._name = "BFT Carrier"; this.arrNodes[26].nodeData._id = 26; this.arrNodes[26].nodeData._speed = 0.3; this.arrNodes[26].nodeData._turnMode = 2; this.arrNodes[26].nodeData._arrPrimaryWeapons.push({type:3,name:"gun_5",delay:12}); this.arrNodes[26].nodeData._arrPrimaryWeapons.push({type:28,name:"gun_6",delay:12}); this.arrNodes[26].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_1",delay:10,target:""}); this.arrNodes[26].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_2",delay:10,target:""}); this.arrNodes[26].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_3",delay:10,target:""}); this.arrNodes[26].nodeData._arrPrimaryWeapons.push({type:17,name:"gun_4",delay:10,target:""}); this.arrNodes[26].nodeData._arrSecondaryWeapons.push({type:33,name:"gun_7",delay:200}); this.arrNodes[26].nodeData._arrSecondaryWeapons.push({type:33,name:"gun_8",delay:200}); this.arrNodes[26].nodeData._arrSecondaryWeapons.push({type:33,name:"gun_9",delay:200}); this.arrNodes[26].nodeData._arrSecondaryWeapons.push({type:33,name:"gun_10",delay:200}); this.arrNodes[26].nodeData._arrSecondaryWeapons.push({type:33,name:"gun_11",delay:200}); this.arrNodes[26].nodeData._arrSecondaryWeapons.push({type:33,name:"gun_12",delay:200}); this.arrNodes[26].nodeData._hasAutoGuns = true; this.arrNodes[26].nodeData._minPoints = this.arrPointReqs[5].min; this.arrNodes[26].nodeData._maxPoints = this.arrPointReqs[5].max; this.arrNodes[26].nodeData._description = "Giant tank that sends out swarms of fighters."; this.arrNodes[26].nodeData._primary = "1 B. S, 4 Sm. A, 1 BB"; this.arrNodes[26].nodeData._secondary = "Ally Swarm"; this.arrNodes[26].nodeData._primaryDescription = "4 small cannons fire automatically while you control the one large cannon and \'bullet buster\' which blocks bullets."; this.arrNodes[26].nodeData._secondaryDescription = "Launch ally fighter tanks which will swarm around your mouse pointer and destroy nearby enemies."; this.arrNodes[26].nodeData._locked = true; } }