# playertank

description:
The Silver is an entry-level fighting unit that combines offensive punch and defensive protection in a simple, easy-to-use package. A trio of guns in a lightning-fast turret complement the four-part shield, making the Silver an excellent choice for new recruits and veterans alike.


description:
The Corsair mounts its main short-range cannon in a full-rotation turret. The turret also includes a pair of coaxial ranging guns, allowing the pilot the flexibility to trade off damage output for additional safety. The shield systems bestow all-around protection with an extra boost in front.


description:
The Mustang's three turrets provide all-around offensive capability and interlocking fields of fire. The forward-mounted main gun covers the frontal half-circle, while the two aft quarter guns guard the flanks and rear. Multiple overlapping shields give outstanding flank protection, granting the Mustang excellent broadside performance.


description:
The Trailblazer sacrifices offensive weaponry for a quadruple supercharged engine and high-efficiency, rapid-recharge shield emitters. Designed to operate deep in enemy territory, the Trailblazer excels at scouting.


description:
The Avenger mounts three powerful but short-range laser cannons in its main turret. Six edgelinked shields allow the Avenger to absorb damage from multiple foes or face down a single target while rotating. A forward mounted auxiliary cannon provides some standoff firepower.


description:
The Phantom is made to tangle. Its six blaster cannon cover every angle; its four layered halfshields protect all quarters. Although it cannot concentrate fire on a single target, the Phantom has no weak points and does its best work when surrounded.


description:
The Predator is a main assault tank, mounting twin ion lasers in its primary forward turret. A pair of heavy shield generators protect the bow, supplemented by a thinner flank shield. A small-caliber rear gun fends off nuisance attacks.


description:
The Valkyrie's arms loadout consists of a powerful turret-mounted scatterblast howitzer plus two forward mounted light cannon. A trio of edgelinked shields provide all-around coverage, with extra resistance at front and sides. This versatile layout allows the Valkyrie to perform multiple roles, including crowd control, single target burndown and solo recon.


description:
The Viking employs twin high-caliber cannon in its main turret, using eight-round magazines to achieve high burst damage. A secondary turret covers the front arc, while a left-right shield pair rounds out the package.


description:
The Hurricane's full-circle plasma generator provides excellent crowd-control fire. Although its single-target performance is limited, against multiple marks the Hurricane's damage output is unparalleled. The left-right configured twin shield emitters enable unlimited endurance via battle rotation.


description:
The Hornet features a long-range, high-output graviton-tachyon laser cannon. Although this weapon precludes any forward-mounted shield emitters, side and rear deflectors provide ample protection.


description:
The Hercules heavy tank is designed to absorb punishment and keep on going. It boasts the most powerful full-coverage shield generator available, and pairs it with an extra heavy duty chassis. Its armament is no slouch either: a twin-cannon main turret and a rear mounted cluster bomb dispenser. Hercules is made to get into the middle of the melee and hit the enemy where it hurts.


description:
The Wolverine sports a medium-range main cannon, while four corner-mounted point-defense guns provide all-around supporting fire. The protection system consists of four edgelinked shields, diagonally set.


description:
The Fury uses four side-mounted ruby-cadmium lasers to create intense lateral killzones. The five-segment shield emitters provide extra protection on the sides while keeping vulnerable front and rear areas protected.


description:
The Spectre's unusual equipment configuration enables flexible threat management. The powerful long range cannon fires forward and starboard, while the most powerful shielding faces forward and port. This arrangement allows the Spectre to excel at single-target frontal encounters while giving it a fighting chance in larger-scale engagements.


description:
The Wildfire offers two weapon systems in the same versatile vehicle. The twin lasers torch anything up front, while the plasma generator targets up to three enemies in the near vicinity. A trio of edgelinked shields provide protection, with emphasis on the flanks and rear.


description:
The Paladin excels as a support unit in pursuit teams. Its tough frame, heavy rechargeable frontal shielding and boostable power plant give it intercept capability, while its repairbeam and disablers bolster the team.


description:
The Cutlass provides air cover for any situation. Its three antiaircraft cannon cover all angles, while a central laser turret engages ground targets as well. A three-segment shield and a mix of offensive and defensive triggers wrap up the package, making the Cutlass an ideal antiaircraft platform.


description:
The Minotaur bulls its way through heavy ground defenses with ease. The main gun blasts frontal ground enemies while the secondary turret handles AA duties and full-circle protection. A bomb dispenser and blast port round out the weapons systems. Defensively, the Minotaur sports a beefy, rechargeable front shield and damage absorbing warp field generator.


description:
The Kraken specializes in the destruction of enemy vehicles. It shreds enemy aircraft and tanks with a fast-swivel main cannon, a minelayer and a burst attack. A secondary gun takes on structures and vehicles in the frontal kill zone. The Kraken's defenses include a boostable front shield array and a squadron repair function.


description:
The Vindicator mounts an experimental radiation emitter that increases its output as the tank loses hull integrity. Other features include an instant-action shield recharger, a repair facility and a weaponized short-range teleporter. Four corner-mounted turrets provide supplemental armament.


description:
The Thunderbolt represents a new generation of multipurpose fighting vehicles. In sharpshooter battlemode it activates long-range forward-firing weapons and bow defenses. In close-combat battlemode, it focuses on all-around offense and full-circle protection. This flexibility ensures that the Thunderbolt can meet any threat.


description:
The Dragon burns down enemy forces with a forward-mounted plasma generator. A pair of auxiliary lasers provides extra offensive punch. The rest of the trigger suite gives the Dragon the staying power it needs to let the plasma stream do its work and an escape option for when the job is done.


description:
The Guardian combines a localized squad repair ability with a high-caliber main gun. Designed for team support against fortified enemies, the Guardian boasts good survivability and high damage output against heavy opposition.


description:
The Scorpion specializes in standoff damage dealing. Its primary armament consists of missiles, with a point-defense laser as backup. Defensive systems include front-biased shields and a cloaking device.


# shape

name: cc3b
points:
-10,-50,-10,-30,10,-30,10,-10,-10,-10,-50,30,-10,-10,10,-10,10,30,30,30,30,50,30,30,10,30,10,10,-10,10,-10,50,-10,30,-30,30,-30,50


name: pool 1
points:
11,-28,-2,-26,-12,-35,-22,-34,-24,-22,-31,-13,-30,0,-23,6,-14,5,-9,-2,-4,-11,2,-6,15,-8,18,-19,11,-28


name: pool 1
points:
-24,26,-32,22,-33,12,-38,-1,-33,-9,-24,-13,-16,-17,-8,-14,-8,-2,-15,5,-11,16,-4,23,-8,31,-17,34,-24,26


name: pool 1
points:
-29,29,-30,20,-29,10,-33,-3,-31,-14,-21,-12,-13,-19,-5,-15,0,-5,-9,2,-6,14,-1,24,-11,31,-20,37,-29,29


name: ads_turret
points:
65,30,75,35,50,50,60,55,25,65,30,75,0,70,0,80,-35,65,-35,75,-50,50,-60,55,-65,30,-75,35,-70,0,-80,0,-65,-30,-75,-35,-55,-45,-60,-55,-30,-65,-35,-75,0,-70,0,-80,30,-60,35,-70,55,-45,60,-55,75,-35,65,-30,15,-30,15,30,65,30


name: body
points:
100,-10,70,30,80,60,20,70,10,100,-30,70,-60,80,-70,30,-100,20,-70,-30,-80,-60,-30,-70,-10,-100,30,-70,60,-80,70,-30,100,-10


name: turret
points:
60,10,40,20,30,50,20,40,-10,60,-20,40,-50,30,-40,20,-60,-10,-40,-20,-30,-50,-20,-40,10,-60,20,-40,50,-30,40,-20,60,10


name: Aft Pods
points:
-106,21,-43,17,-11,27,8,4,-5,31,2,39,26,84,19,119,2,156,-71,157,-90,147,-72,143,-104,120,-106,134,-122,121,-149,73,-132,37


name: Hull
points:
63,14,52,30,46,37,48,26,44,19,35,20,26,24,19,34,20,41,26,46,41,42,33,49,15,58,3,61,-13,58,-26,50,-38,37,-47,19,-48,4,-43,14


name: Ring Detail
points:
105,8,85,14,81,35,95,50,86,64,65,57,34,78,41,102,3,109,3,86,-34,78,-50,100,-72,81,-55,62,-80,20,-106,23


# tankdef

name: Nova Power Unit
deathsound: TestExplosion
behaviors: NovaHeal
script:
function script()\r  while 1 do\r    wait(5.0)\r    targets = me:playersWithin(10000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Tormentor Orb\", bearing, false)\r      me:launch(\"Tormentor Orb\", bearing + 50, false)\r      me:launch(\"Tormentor Orb\", bearing - 50, false)\r    end\r  end\rend\r\rscripts = { script }\r\r


name: Drill Annex
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(7 + math.random(5))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Drill Bomb\", bearing, dist,\r                         3.0, 300, 2000, 16755015)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Grid Control Tower
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3)\r    targets = me:playersWithin(7100)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Grid Control Tower Bomb\", bearing, dist,\r                         1.0, 250, 2500, 16711833)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Delta Inner Diamond
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0 + math.random(2))\r    targets = me:playersWithin(12000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Tormentor Orb\", bearing, false)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Zeta Outpost
deathsound: TestExplosion
behaviors: ZetaComplexBombToss
script:
function healScript()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(20000, 20000)\r  if target == nil then return end\r  me:healTarget(target, 1000)\rend\r\rscripts = { healScript }\r


name: Omicron Battery
deathsound: TestExplosion
script:
function healScript()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(20000, 20000)\r  if target == nil then return end\r  me:healTarget(target, 1000)\rend\r\rscripts = { healScript }


name: T.60 Subcommander
deathsound: TestExplosion
behaviors: T60
script:
function script()\r  f = 0\r  while 1 do\r    wait(1.0)\r    if me:playerWithin(8000) then\r      me:launch(\"Tormentor Orb\", f, false)\r      me:launch(\"Tormentor Orb\", f + 900, false)\r      me:launch(\"Tormentor Orb\", f + 1800, false)\r      me:launch(\"Tormentor Orb\", f + 2700, false)\r      f = f + 300\r    end\r  end\rend\r\rscripts = { script }\r


name: T.60 Barrier
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2.5 + math.random() * 5.0)\r    doHeal()\r  end\rend\r\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(15000, 5000)\r  if target == nil then return end\r  me:healTarget(target, 250)\rend\r\rscripts = { script }


name: Scorpion Homing Missile
deathsound: TestExplosion
behaviors:
SelfDestruct(lifetime=30.0);ProximityMine(armtime=.5,detonationradius=200,explosionradius=1500,damage=80,explosioncolor=8978176)


name: Scorpion Big Missile
deathsound: TestExplosion
behaviors:
SelfDestruct(lifetime=30.0);ProximityMine(armtime=.5,detonationradius=200,explosionradius=5500,damage=400,explosioncolor=16746496)


name: Scorpion Salvo Missile
deathsound: TestExplosion
behaviors:
SelfDestruct(lifetime=30.0);ProximityMine(armtime=.5,detonationradius=200,explosionradius=2000,damage=50,explosioncolor=8978176)


name: Annihilation-class Warp Relay
deathsound: TestExplosion
script:
function script()\r  while not (me:playerWithin(15000)) do\r    wait(0.5)\r  end\r  me:say(\"ENEMY DETECTED. INITIATING DEFENSIVE EXPLOSIVE WARP ROUTINE.\")\r  while me:hitpointFrac() > .25 do\r    for i = 1, 40 do\r      wait(0.25)\r      warpInGrenade()\r      warpInGrenade()\r    end\r    wait(4)\r    if me:hitpointFrac() < .25 then break end\r    bearing = math.random(3600)\r    for i= 1, 40 do\r      wait(0.25)\r      me:launch(\"Annihilation Missile\", bearing, true)\r      bearing = bearing + 360 - 45\r    end\r  end\r  while 1 do\r    bearing = math.random(3600)\r    for i = 1, 40 do\r      wait(0.25)\r      warpInGrenade()\r      warpInGrenade()\r      me:launch(\"Annihilation Missile\", bearing, true)\r      bearing = bearing + 90\r    end\r    wait(4)\r  end\rend\r\rfunction warpInGrenade()\r    warpX = math.random(10)\r    warpY = math.random(10)\r    warpX = me:x() + (warpX - 5.5) * 1000\r    warpY = me:y() + (warpY - 5.5) * 1000\r    me:spawnObject(\"Annihilation Grenade\", warpX, warpY, 3.0, false, false, false, 0)\rend\r\rfunction healScript()\r  while 1 do\r    wait(0.5)\r    me:heal(20)\r  end\rend\rscripts = { script, healScript }


name: Annihilation Grenade
deathsound: TestExplosion
script:
function script()\r wait(2.0)\r me:explode(1800, 300, 16727551)\r me:kill()\rend\r\rscripts = { script }\r\r


name: Sinistron Bot
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3.0 + math.random(3))\r    targets = me:playersWithin(6000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Sinistron Orb\", bearing, false)\r    end\r  end\rend\r\rscripts = { script }\r


name: Contagion-class Despoilment Annex
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    makeShooter()\r    wait(3.0)\r  end\rend\r\rfunction makeShooter()\r  target = randomTarget(12000)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  dist = me:distTo(target) + 1500\r  targetX = me:x() + dist * cos(bearing)\r  targetY = me:y() + dist * sin(bearing)\r  me:spawnObject(\"Contagion Shooter\", targetX, targetY, 6.0, false, false, false, 0)\rend\r\rscripts = { script }\r\r


name: Contagion Shooter
deathsound: TestExplosion
script:
function script()\r  spread = 100\r  while 1 do\r    wait(1.0)\r    shoot()\r  end\rend\r\rfunction shoot()\r  target = randomTarget(9000)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  me:launch(\"Tormentor Orb\", bearing + spread, false)\r  me:launch(\"Tormentor Orb\", bearing - spread, false)\r  wait(.1)\r  me:launch(\"Tormentor Orb\", bearing, false)\rend\r\rscripts = { script }


name: Q7 Subcommander
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0)\r    if me:playerWithin(14000) then\r      shootSalvos()\r    end\r  end\rend\r\rfunction shootSalvos()\r  shoot(0)\r  wait(.5)\r  shoot(100)\r  wait(.5)\r  shoot(200)\rend\r\rfunction shoot(bearing)\r    numShots = 12\r    for i = 1, numShots do\r      me:launch(\"Q7 Orb\", bearing, false)\r      bearing = bearing + 3600 / numShots\r    end\rend\r\rscripts = { script }\r\r


name: Q7 Repair Unit
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    heal()\r    wait(4.0 + math.random(2))\r  end\rend\r\rfunction heal()\r  target = closestHurtOtherFriendly(10000)\r  if target == nil then return end\r  me:healTarget(target, 1000)\rend\r\rscripts = { script }


name: Q7 Bomb Unit
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(2))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Q7 Bomb\", bearing, dist, 3.0, 350, 3500, 16715775)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Q7 Patrol
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3.0 + math.random(3))\r    targets = me:playersWithin(6000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Q7 Missile\", bearing, true)\r    end\r  end\rend\r\rscripts = { script }\r


name: MX:10 Subcommander
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    me:spawnObject(\"MX:10 Orbiter\", me:x(), me:y(), 30.0, false, false, false, 0)\r    wait(10.0)\r  end\rend\r\rscripts = { script }


name: MX:10 Outpost
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2)\r    shoot()\r  end\rend\r\rfunction shoot()\r  target = randomTarget(6000)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  me:launch(\"MX:10 Orb\", bearing, false)\rend\r\rfunction healScript()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r    healed = me:heal(600)\r    if healed > 0 then\r      me:showBurst(16777215, 50, 150, 1500, 1.0)\r    end\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 8000)\r  if target == nil then return end\r  me:healTarget(target, 1000)\rend\r\rscripts = { script, healScript }\r


name: MX:10 Guard
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3)\r    shoot()\r  end\rend\r\rfunction shoot()\r  target = randomTarget(6000)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  me:launch(\"MX:10 Orb\", bearing, false)\r  me:launch(\"MX:10 Orb\", bearing - 100, false)\r  me:launch(\"MX:10 Orb\", bearing + 100, false)\rend\r\rfunction healScript()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r    healed = me:heal(600)\r    if healed > 0 then\r      me:showBurst(16777215, 50, 150, 1500, 1.0)\r    end\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 8000)\r  if target == nil then return end\r  me:healTarget(target, 1000)\rend\r\rscripts = { script, healScript }\r


name: MX:10 Orbiter
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(1)\r    if me:playerWithin(14000) then\r      shootSalvos(6, 0)\r    end\r    if me:playerWithin(14000) then\r      shootSalvos(6, 900)\r    end\r  end\rend\r\rfunction shootSalvos(salvos, bearing)\r  for i=1,salvos do\r    shoot(bearing)\r    wait(.5)\r  end\rend\r\rfunction shoot(bearing)\r  numShots = 2\r  for i = 1, numShots do\r    me:launch(\"MX:10 Orb\", bearing, false)\r    bearing = bearing + 3600 / numShots\r  end\rend\r\r\rfunction desiredPosition(t)\r  if xfactor == nil then\r    xfactor = 1 + math.random()\r    yfactor = 1 + math.random()\r    radius = 3000 + math.random(4000)\r  end\r  return math.cos(t / xfactor) * radius, math.sin(t / yfactor) * radius\rend\r\rscripts = { script }\r


name: Omega Complex
deathsound: TestExplosion
script:
function script()\r  factor1 = 1\r  factor2 = 0\r  while 1 do\r    wait(5.0)\r    if me:playerWithin(14000) then\r      factor1 = math.random(0, 4)\r      factor2 = math.random(0, 1) * 2 - 1\r      shootSalvos(factor2 * factor1 * 50)\r    end\r  end\rend\r\rfunction shootSalvos(increment)\r  shoot(0)\r  wait(.5)\r  shoot(increment)\r  wait(.5)\r  shoot(2 * increment)\r  wait(.5)\r  shoot(3 * increment)\rend\r\rfunction shoot(bearing)\r    numShots = 12\r    for i = 1, numShots do\r      me:launch(\"Omega Blaster\", bearing, false)\r      bearing = bearing + 3600 / numShots\r    end\rend\r\r\rfunction rageScript()\r  waitThenToss(.5)\r  waitThenToss(.45)\r  waitThenToss(.4)\r  waitThenToss(.35)\r  waitThenToss(.3)\r  waitThenToss(.25)\r  waitThenToss(.2)\r  waitThenToss(.15)\r  waitThenToss(.1)\r  waitThenToss(.05)\rend\r\rfunction waitThenToss(frac)\r  while me:hitpointFrac() >= frac do\r    wait(1.0)\r  end\r  toss()\rend\r\rfunction toss()\r    shots = 18\r    dist = 1000 * math.random(3,10)\r    delay = 3.0\r    for i = 1,shots do\r      bearing = i * 3600 / shots\r      me:tossBomb(\"Omega Bomb\", bearing, dist, delay, 350, 3500, 65280)\r    end\rend\r\rscripts = { script, rageScript }


name: Omega Bastion
deathsound: TestExplosion
script:
function script()\r  waitThenToss(1)\r  waitThenToss(.9)\r  waitThenToss(.8)\r  waitThenToss(.7)\r  waitThenToss(.6)\r  waitThenToss(.5)\r  waitThenToss(.4)\r  waitThenToss(.3)\r  waitThenToss(.2)\r  waitThenToss(.1)\rend\r\rfunction waitThenToss(frac)\r  while me:hitpointFrac() >= frac do\r    wait(1.0)\r  end\r  toss()\rend\r\rfunction toss()\r    targets = me:playersWithin(14000)\r    shots = 15\r    for i = 1,shots do\r      bearing = i * 3600 / shots\r      dist = 1000 * math.random(2,8)\r      delay = 2.0 + .2 * math.random(0,5)\r      me:tossBomb(\"Omega Bomb\", bearing, dist, delay, 350, 3500, 65280)\r    end\rend\r\r\rfunction healScript()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(20000, 20000)\r  if target == nil then return end\r  me:healTarget(target, 2000)\rend\r\rfunction onDestroy()\r  toss()\rend\r\rscripts = { script, healScript }


name: Omega Outwork
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    me:spawnObject(\"Omega Exploder\", me:x(), me:y(), 30, false, false, true, 0)\r    wait(30)\r  end\rend\r\r\rfunction rageScript()\r  waitThenToss(.75)\r  waitThenToss(.5)\r  waitThenToss(.25)\rend\r\rfunction waitThenToss(frac)\r  while me:hitpointFrac() >= frac do\r    wait(1.0)\r  end\r  toss()\rend\r\rfunction toss()\r    targets = me:playersWithin(14000)\r    shots = 8\r    for i = 1,shots do\r      bearing = i * 3600 / shots\r      dist = 1000 * math.random(2,6)\r      delay = 2.0 + .2 * math.random(0,5)\r      me:tossBomb(\"Omega Bomb\", bearing, dist, delay, 350, 3500, 65280)\r    end\rend\r\rfunction onDestroy()\r  toss()\rend\r\rscripts = { script, rageScript }


name: Omega Exploder
deathsound: TestExplosion
behaviors: PeriodicExplosion(radius=2400,damage=350,cooldown=.5,color=16715775)
script:
function script()\r  while 1 do\r    wait(10)\r  end\rend\r\rfunction desiredPosition(t)\r  if inc == nil then\r    inc = math.random() * .5\r  end\r  r = 1200 + t * 150\r  theta = t * (.5 + inc)\r  return math.cos(theta) * r, math.sin(theta) * r\rend\r\rscripts = { script }


name: Crippler Inner Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 1000)\r  if target == nil then return end\r  me:healTarget(target, 750)\rend\r\rscripts = { script }


name: Crippler Outer Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    while not (me:playerWithin(15000)) do\r      wait(1.0)\r    end\r    target = randomTarget(15000)\r    bearing = me:bearingTo(target)\r    for i = 1, 3 do\r      wait(0.25)\r      me:launch(\"Crippler Missile\", bearing, true)\r    end\r    wait(4.0 + math.random(3))\r  end\rend\r\rscripts = { script }


name: Pathogen Inner Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 2000)\r  if target == nil then return end\r  me:healTarget(target, 750)\rend\r\rscripts = { script }


name: Pathogen Outer Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(7 + math.random(5))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Pathogen Bomb\", bearing, dist,\r                         3.0, 200, 2000, 16711808)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Pathogen Mothership
deathsound: TestExplosion
script:
function script()\r  \rend\r\r\rfunction onDestroy()\r  spawn(0)\r  spawn(1800)\rend\r\rfunction spawn(angle)\r  me:makeSwarmer(\"Pathogen Daughtership\", 60, angle)\rend\r\rscripts = { script }


name: Pathogen Bomb
deathsound: TestExplosion
script:
function script()\rend\r\rfunction onDestroy()\r  shots = 4\r  for i = 1, shots do\r    bearing = me:f() + i * 3600 / shots\r    me:tossBomb(\"Pathogen Bomblet\", bearing,\r                        2000, 1.0, 350, 2500,\r                        16711808)\r  end\rend\r\rscripts = { script }


name: Necrosis-class Terrorbase
deathsound: TestExplosion
script:
function script()\r  num = 6\r  for i = 1, num do\r    theta = i * 2 * math.pi / num\r    radius = 0\r    x = me:x() + radius * math.cos(theta)\r    y = me:y() + radius * math.sin(theta)\r    me:spawnObject(\"Necrosis Pusher\", x, y, 0, true, false, true, rad2ddeg(theta))\r  end\r\r  while 1 do\r    wait(1.0)\r    shoot()\r  end\rend\r\rfunction shoot()\r  if not me:playerWithin(8000) then\r    return\r  end\r  num = 3\r  for i = 1, num do\r    facing = 600 + i * 3600 / num\r    me:shotgun(8000, 450, facing, 450, 16711680)\r  end\rend\r\r\rscripts = { script }


name: Necrosis Pusher
deathsound: TestExplosion
script:
function script()\r  \rend\r\rfunction desiredPosition(t)\r  if initialTheta == nil then\r    initialTheta = 0\r  end\r  radius = 3000\r  period = 10.0\r  amplitude = math.pi / 3\r  theta = initialTheta + amplitude * math.sin(t * 2 * math.pi / period)\r  return math.cos(theta) * radius, math.sin(theta) * radius\rend\r\rfunction desiredFacing(t)\r  return theta / 2 / math.pi * 3600\rend\r\rfunction receiveParam(param)\r  initialTheta = ddeg2rad(param)\rend\r\rscripts = { script }


name: Necrosis Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(1.0 + math.random(2))\r    target = randomTarget(15000)\r    if target ~= nil then\r      bearing = me:bearingTo(target)\r      shoot(bearing)\r    end\r  end\rend\r\rfunction shoot(bearing)\r  me:launch(\"Necrosis Orb\", bearing + 100, false)\r  me:launch(\"Necrosis Orb\", bearing - 100, false)\r  wait(.1)\r  me:launch(\"Necrosis Orb\", bearing + 50, false)\r  me:launch(\"Necrosis Orb\", bearing - 50, false)\r  wait(.1)\r  me:launch(\"Necrosis Orb\", bearing, false)\rend\r\rscripts = { script }


name: Necrosis Fighter
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendly(10000)\r  if target == nil then return end\r  me:healTarget(target, 750)\rend\r\rfunction shootScript()\r  while 1 do\r    wait(3.0)\r    shoot()\r  end\rend\r\rfunction shoot()\r  target = randomTarget(8000)\rend\r\rscripts = { script, shootScript }


name: 9D9 Subcommander
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0)\r    if me:playerWithin(14000) then\r      shootSalvos()\r    end\r  end\rend\r\rfunction shootSalvos()\r  numShots = 12\r  baseAngle = math.random(1800)\r  for i = 1,numShots do\r    inc = i * 875 / numShots\r    shoot(baseAngle + inc)\r    shoot(baseAngle + 1800 - inc)\r    shoot(baseAngle + 1800 + inc)\r    shoot(baseAngle - inc)\r    wait(.1)\r  end\r  shoot(baseAngle + 900)\r  shoot(baseAngle - 900)\r  shoot(baseAngle + 950)\r  shoot(baseAngle - 950)\r  shoot(baseAngle + 1000)\r  shoot(baseAngle - 1000)\r  shoot(baseAngle + 850)\r  shoot(baseAngle - 850)\r  shoot(baseAngle + 800)\r  shoot(baseAngle - 800)\rend\r\rfunction shoot(bearing)\r  me:launch(\"9D9 Orb\", bearing, false)\rend\r\rscripts = { script }\r


name: 9D9 Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(5000, 5000)\r  if target == nil then return end\r  me:healTarget(target, 300)\rend\r\rfunction onDestroy()\r  me:tossBomb(\"9D9 Bomb\", 0, 0, 2.5, 350, 3500, 65420)\rend\r\rscripts = { script }\r


name: Exploiter-class Doombase
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3.0)\r    targets = me:playersWithin(12000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Tormentor Orb\", bearing, false)\r    end\r  end\rend\r\rscripts = { script }\r


name: Intimidator-class Doombase
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(5))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Intimidator Bomb\", bearing,\r                         dist, 3.0, 150, 2000, 16755216)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Intimidator Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(12 + math.random(5))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Intimidator Bomb\", bearing,\r                         dist, 3.0, 150, 2000, 16755216)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Mothership
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    while not (me:playerWithin(15000)) do\r      wait(1.0)\r    end\r    target = randomTarget(15000)\r    bearing = me:bearingTo(target)\r    for i = 1, 3 do\r      wait(0.25)\r      me:launch(\"Mothership Missile\", bearing, true)\r    end\r    wait(4.0 + math.random(3))\r  end\rend\r\rscripts = { script }


name: Escape Pod
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(4.0 + math.random(3))\r    while not (me:playerWithin(15000)) do\r      wait(1.0)\r    end\r    target = randomTarget(15000)\r    bearing = me:bearingTo(target)\r    for i = 1, 3 do\r      wait(0.25)\r      me:launch(\"Mothership Missile\", bearing, true)\r    end\r  end\rend\r\rscripts = { script }


name: Zetaplane Bomb Tower
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(7 + math.random(5))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Zetaplane Bomb\", bearing, dist,\r                         3.0, 300, 2000, 16711828)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Zetaplane Orb Complex
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0)\r    targets = me:playersWithin(10000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Zetaplane Orb\", bearing, false)\r      me:launch(\"Zetaplane Orb\", bearing + 50, false)\r      me:launch(\"Zetaplane Orb\", bearing - 50, false)\r    end\r  end\rend\r\rscripts = { script }\r\r


name: Zetaplane Orb Outpost
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0)\r    targets = me:playersWithin(10000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Zetaplane Orb\", bearing, false)\r      me:launch(\"Zetaplane Orb\", bearing + 50, false)\r      me:launch(\"Zetaplane Orb\", bearing - 50, false)\r    end\r  end\rend\r\rscripts = { script }\r


name: Zetaplane Orb Repeater
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(1.0)\r    me:launch(\"Zetaplane Orb\", me:f(), false)\r  end\rend\r\rscripts = { script }\r


name: Zetaplane Orb Barrager
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2 + math.random(2))\r    salvo()\r  end\rend\r\rfunction salvo()\r  direction = math.random(2)\r  if direction == 2 then direction = -1 end\r  numShots = 12\r  inc = 900 / numShots\r  start = -direction * inc * numShots / 2\r  for i = 0,numShots do\r    fire(start + direction * i * inc)\r    wait(.1)\r  end\rend\r\rfunction fire(bearing)\r  me:launch(\"Zetaplane Orb\", me:f() + bearing, false)\rend\r\rscripts = { script }\r


name: Zetaplane Fortress
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(7 + math.random(5))\r    target = randomTarget(14000)\r    if target ~= nil then shoot(target) end\r  end\rend\r\rfunction shoot(target)\r  numShots = 4\r  numAngles = 6\r  bearing = me:bearingTo(target)\r  inc = 3600 / numAngles\r  for i = 1,numAngles do\r    for j = 1, numShots do\r      me:tossBomb(\"Zetaplane Bomb\",\r                          bearing + inc * i,\r                          2000 + 2000 * j,\r                          1.5 + .75 * j, 300, 2000, 16711828)\r    end\r  end\rend\r\rscripts = { script }


name: Zetaplane Commander
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    salvo()\r    launchfireships()\r  end\rend\r\rfunction salvo()\r  direction = randomDir()\r  numShots = 36\r  inc = 3600 / numShots\r  start = math.random(3600)\r  for i = 0,numShots do\r    for j = 0,4 do\r      fire(start + direction * i * inc + 900 * j)\r    end\r    wait(.1)\r  end\rend\r\rfunction launchfireships()\r  direction = math.random(36) * 100\r  for i = 0,4 do\r    direction = direction + 900\r    me:launch(\"Zetaplane Fireship\", me:f() + direction, false)\r  end\rend\r\r\rfunction fire(bearing)\r  me:launch(\"Zetaplane Orb\", me:f() + bearing, false)\rend\r\rscripts = { script }\r


name: Malevolence-class Barrier Unit
deathsound: TestExplosion
behaviors: ReceivePowerHeal
script:
function script()\r  while 1 do\r    wait(3.0)\r    target = randomTarget(10000)\r    if target ~= nil then\r      dir = randomDir()\r      angle = me:bearingTo(target)\r      fire(angle)\r      wait(.3)\r      fire(angle + dir * 65)\r      wait(.3)\r      fire(angle + dir * 130)\r    end\r  end\rend\r\rfunction fire(baseBearing)\r  numShots = 12\r  for i = 1,numShots do\r    bearing = baseBearing + i * 3600 / numShots\r    me:launch(\"Tormentor Orb\", bearing, false)\r  end\rend\r\rscripts = { script }\r\r


name: Contagion Orb Emitter
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(1.0)\r    targets = me:playersWithin(14000)\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      me:launch(\"Contagion Orb\", bearing, false)\r    end\r  end\rend\r\rscripts = { script }\r


name: Contagion Missile Base
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    while not (me:playerWithin(15000)) do\r      wait(1.0)\r    end\r    target = randomTarget(15000)\r    bearing = me:bearingTo(target)\r    for i = 1, 3 do\r      wait(0.25)\r      me:launch(\"Contagion Missile\", bearing, true)\r    end\r    wait(4.0 + math.random(3))\r  end\rend\r\rscripts = { script }


name: Contagion Bomb Station
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2.0 + math.random(3))\r    targets = me:playersWithin(14000)\r    for i = 1, #targets do\r      if math.random(2) == 2 then\r        foreAftToss(targets[i])\r      else\r        sideToss(targets[i])\r      end\r    end\r  end\rend\r\rfunction sideToss(target)\r    bearing = me:bearingTo(target)\r    dist = me:distTo(target)\r    delay = 3.0\r    me:tossBomb(\"Contagion Bomb\", bearing, dist, delay, 350, 3500, 16776985)\r    me:tossBomb(\"Contagion Bomb\", bearing + 100, dist, delay, 350, 3000, 16776985)\r    me:tossBomb(\"Contagion Bomb\", bearing - 100, dist, delay, 350, 3000, 16776985)\rend\r\rfunction foreAftToss(target)\r    bearing = me:bearingTo(target)\r    dist = me:distTo(target)\r    delay = 3.0\r    me:tossBomb(\"Contagion Bomb\", bearing, dist, delay, 350, 3500, 16776985)\r    me:tossBomb(\"Contagion Bomb\", bearing, dist * 1.2, delay, 350, 3000, 16776985)\r    me:tossBomb(\"Contagion Bomb\", bearing, dist * .8, delay, 350, 3000, 16776985)\rend\r\rscripts = { script }\r


name: Pilferer Escort
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(3))\r    doHeal()\r  end\rend\r\rfunction doHeal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 10000)\r  if target == nil then return end\r  me:healTarget(target, 750)\rend\r\rscripts = { script }


name: Decimator Beamship
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(.5)\r    shoot()\r  end\rend\r\rfunction shoot()\r  if not me:playerWithin(8000) then return end\r  num = 4\r  halfArc = 3600 / num / 2 / 2 / 2\r  for i = 1, num do\r    facing = me:f() + i * 3600 / num\r    me:shotgun(8000, 150, facing, halfArc, 16733998)\r  end\rend\r\r\rscripts = { script }


name: Decimator Mine Tower
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2 + math.random(2))\r    shoot()\r  end\rend\r\r\rfunction shoot()\r  target = randomTarget(14000)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  dist = me:distTo(target)\r  me:tossMine(\"Decimator Mine\", bearing, dist,\r                     3.0, 300, 2000, 15138631)\rend\r\rscripts = { script }


name: Decimator Missileship
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2 + math.random(2))\r    shoot()\r  end\rend\r\rfunction shoot()\r  if not me:playerWithin(8000) then return end\r  num = 3\r  for i = 1, num do\r    me:launch(\"Decimator Missile\", me:f(), true)\r    wait(.3)\r  end\rend\r\r\rscripts = { script }


name: Decimator Repair Station
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    heal()\r    wait(4.0 + math.random(2))\r  end\rend\r\rfunction heal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 1000)\r  if target == nil then return end\r  me:healTarget(target, 400)\rend\r\rscripts = { script }


name: Decimator Orb Artillery
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0)\r    if me:playerWithin(15000) then\r      shoot(4)\r      shoot(8)\r      shoot(16)\r      shoot(32)\r      shoot(64)\r    end\r  end\rend\r\rfunction shoot(num)\r  baseAngle = math.random(3600)\r  inc = 3600 / num\r  for i = 1, num do\r    me:launch(\"Decimator Orb\", baseAngle + i * inc, false)\r  end\r  wait(1.5)\rend\r\rscripts = { script }\r


name: Annihilation Citadel
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2 + math.random(2))\r    target = randomTarget(14000)\r    shoot(target)\r  end\rend\r\rfunction shoot(target)\r  if target == nil then return end\r  for i = 1, 3 do\r    bearing = me:bearingTo(target)\r    dist = me:distTo(target)\r    me:tossBomb(\"Annihilation Bomb\", bearing, dist,\r                       3.0, 300, 2000, 16727551)\r    wait(.25)\r  end\rend\r\rscripts = { script }


name: Annihilation Missile Base
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    bearing = math.random(3600)\r    me:launch(\"Annihilation Missile\", bearing, true)\r    wait(4)\r  end\rend\r\rscripts = { script }


name: Flayer Orb Tank
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3.0 + math.random(3))\r    target = randomTarget(6000)\r    for i = 1, 3 do fire(target) end\r  end\rend\r\rfunction fire(target)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  me:launch(\"Flayer Orb\", bearing, false)\r  wait(.5)\rend\r\rscripts = { script }\r


name: Flayer-class Terrorbase
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5.0)\r    if me:playerWithin(10000) then\r      for i = 1, 5 do\r        me:explode(4000, 150, 16722217)\r        wait(.5)\r      end\r    end\r  end\rend\r\r\rscripts = { script }


name: Flayer-class Mortar Emplacement
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(5 + math.random(2))\r    targets = me:playersWithin(14000)\r    shots = 0\r    for i = 1, #targets do\r      bearing = me:bearingTo(targets[i])\r      dist = me:distTo(targets[i])\r      me:tossBomb(\"Flayer Bomb\", bearing, dist, 3.0, 250, 3500, 16722217)\r      shots = shots + 1\r      if shots > 3 then\r        break\r      end\r    end\r  end\rend\r\rscripts = { script }


name: Flayer Repaircraft
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    heal()\r    wait(4.0 + math.random(2))\r  end\rend\r\rfunction heal()\r  target = closestHurtOtherFriendly(10000)\r  if target == nil then return end\r  me:healTarget(target, 500)\rend\r\rscripts = { script }


name: Ripper Small Redoubt
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2.0)\r    target = randomTarget(10000)\r    if target ~= nil then\r      bearing = me:bearingTo(target)\r      me:launch(\"Ripper Orb\", bearing, false)\r    end\r  end\rend\r\rscripts = { script }\r


name: Ripper-class Deathbase
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2.0)\r    target = randomTarget(10000)\r    if target ~= nil then\r      bearing = me:bearingTo(target)\r      me:launch(\"Ripper Orb\", bearing, false)\r      me:launch(\"Ripper Orb\", bearing - 50, false)\r      me:launch(\"Ripper Orb\", bearing + 50, false)\r    end\r  end\rend\r\rscripts = { script }\r


name: Lasher-class Doombase
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3.0)\r    target = randomTarget(10000)\r    if target ~= nil then\r      bearing = me:bearingTo(target)\r      dist = me:distTo(target)\r      me:tossBomb(\"Lasher Bomb\", bearing, dist, 3.0, 150, 3000, 16711875)\r    end\r  end\rend\r\rscripts = { script }\r


name: Lasher-class Extermination Base
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(2 + math.random(2))\r    shoot()\r  end\rend\r\r\rfunction shoot()\r  target = randomTarget(14000)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  dist = me:distTo(target)\r  me:tossMine(\"Lasher Mine\", bearing, dist,\r                     3.0, 300, 2000, 15138631)\rend\r\rscripts = { script }


name: Lasher Heavy Wing
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3.0 + math.random(3))\r    target = randomTarget(6000)\r    for i = 1, 5 do fire(target) end\r  end\rend\r\rfunction fire(target)\r  if target == nil then return end\r  bearing = me:bearingTo(target)\r  me:launch(\"Lasher Orb\", bearing, false)\r  wait(.5)\rend\r\rscripts = { script }\r


name: K-1000 Subcommander
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    me:spawnObject(\"K-1000 Orbiter\", me:x(), me:y(), 30.0, false, true, false, 0)\r    wait(10.0)\r  end\rend\r\r\rfunction blast()\r  while 1 do\r    wait(5.0)\r    if me:playerWithin(19000) then\r      for i = 1, 10 do\r        me:explode(2000 + 1000 * i, 150,\r                         16722217)\r        wait(.5)\r      end\r    end\r  end\rend\r\r\rscripts = { script, blast }


name: K-1000 Repair Station
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    heal()\r    wait(4.0 + math.random(2))\r  end\rend\r\rfunction heal()\r  target = closestHurtOtherFriendlyLargerThan(10000, 8000)\r  if target == nil then return end\r  me:healTarget(target, 600)\rend\r\rscripts = { script }


name: K-1000 Orbiter
deathsound: TestExplosion
script:
function script()\r  while 1 do\r    wait(3)\r    if me:playerWithin(14000) then\r      for i =1, 5 do\r        shoot()\r      end\r    end\r  end\rend\r\rfunction shoot(bearing)\r  targets = me:playersWithin(14000)\r  for i = 1, #targets do\r    bearing = me:bearingTo(targets[i]) +\r                                      plusMinus(100)\r    orb = pickOrb()\r    me:launch(orb, bearing, false)\r  end\r  wait(.3)\rend\r\rfunction pickOrb()\r  choice = math.random(3)\r  if choice == 1 then return \"Flayer Orb\"\r  elseif choice == 2 then return \"Ripper Orb\"\r  else return \"Lasher Orb\"\r  end\rend\r\rfunction desiredPosition(t)\r  if xfactor == nil then\r    xfactor = 1 + math.random()\r    yfactor = 1 + math.random()\r    radius = 7000 + math.random(4000)\r  end\r  return math.cos(t / xfactor) * radius, math.sin(t / yfactor) * radius\rend\r\rscripts = { script }\r


# triggerdef

name: Hyperruby Crystal Overdrive
effect: server
args: icon=overdrive,burstcolor=8947967
description:
Applies a massive electrical potential to the Hornet's main hyperruby, greatly boosting damage and range of the main gun.


name: Symmetric Neutrino Blast
effect: shotgun
args: range=7000,damage=300,facing=800,doubled=1,arc=900,color=65280
description:
Activates a controlled neutrino reaction, chanelling the positive and negative lobes of the explosion profile in opposite directions.


name: Magnetic Reserve Shunt
effect: server
args: icon=sideshields
description:
Activates magnetic repair fields while simultaneously diverting all excess power into the Mustang's flank shields.


name: Negative Reality Mirror
effect: server
args: icon=cloak
description:
Reflects visible light signatures through an alternate dimension, rendering the Phantom temporarily invisible.


name: Core Worm
effect: shotgun
args: range=2500,arc=3600,color=16711935,disarm=1,durationms=5000
description:
Transmits a microcode-enabled, cache-resident virus which temporarily disables enemy weapon systems.


name: Matrix Shear
effect: shotgun
args: range=3000,damage=125,arc=900,color=43520,buildingDmgMod=3.0,minionDmgMod=.5
description:
Manipulates the grid substrate, damaging enemies in a cone-shaped area and doing additional damage to enemy structures.


name: Tachyon Burst
effect: shotgun
args: range=2500,damage=100,arc=3600,color=12320699,buildingDmgMod=.5,minionDmgMod=3.0,offsetDist=4000
description:
Initiates a blast of charged particles in the area forward of the Predator; the blast is especially effective against vehicles.


name: Omnicharge
description:
Uses hyperwave resonance to recharge the Corsair's front shield and render it temporarily impregnable.


name: Tripolar Induction
effect: server
args: icon=shieldrefill
description:
Builds up an electric field with three polarities, shunting the discharge runoff into the Avenger's three weakest shields.


name: Micronova
effect: shotgun
args: range=4000,damage=125,facing=900,doubled=1,arc=900,color=43690
description:
Ignites a small-scale stellar nova, channeling the burst in two directions and starting plasma fires on all targets.


name: Chronoton Hyperboost
effect: server
args: icon=overdrive,burstcolor=8947967
description:
Distorts the local dimensionless time field to boost rate of fire, damage, and turn rate of all turrets.


name: Mass-Energy Transform
effect: server
args: icon=shieldrefill
description:
Converts small amounts of environmental matter into nonpolarized energy, partially refilling the Fury's outer shields.


name: Mass Projection
effect: shotgun
args: range=6600,damage=300,arc=100,color=16776960
description:
Accelerates ordinary matter to high velocity, pulverizing the atomic structure and projecting the resulting blast into a narrow cone.


name: Positive Target Lock
description:
Uses infrared hyperwave signatures to double the plasma projector's range and target tracking capability.


name: Dimensional Shift
effect: server
args: icon=cloak
description:
Shifts the Wildfire's molecular matrix into orthogonal space, causing a cloaking-device effect and initiating shield regeneration.


name: Plasma Injection
effect: server
args: icon=overdrive,burstcolor=8978431
description:
Floods the forward laser power actuators with nonaligned plasma particles, boosting damage and fire rate.


name: Stasis Web
effect: server
args: icon=immobilize
description:
Uses orthogonally modulated electrical pulses to immobilize any target hit by the Valkyrie's lasers.


name: Damped Radiation Burst
description:
Ejects a pulse of cosmic radiation, inflicting greatly increased damage when the Vindicator's structure is compromised.


name: Explosive Displacement
effect: leapburst
args: distance=5000,direction=0,range=1500,damage=450,color=52258
description:
Teleports the Vindicator forward, creating explosive singularities at the source and destination points.


# turretdef

name: Juggernaut Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=HomingBulletTank,cooldown=.75,clipsize=4,reloadtime=5.0,range=7000,mustlock=1,homing=1)


name: Electrocutor Missile Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Electrocutor Missile,cooldown=3.5,range=10000,mustlock=1,homing=0)


name: Butcher-class Missile Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Butcher Missile,cooldown=2.0,range=15000,mustlock=1,homing=1)


name: Exterminator Orb Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Exterminator Orb,cooldown=1,clipsize=5,reloadtime=2,range=12000,mustlock=1)


name: Desolation Missile Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Desolation Missile,cooldown=4.0,range=8000,mustlock=1,homing=1)


name: Brimstone Missile Launcher
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Brimstone Missile,cooldown=1.5,range=15000,mustlock=1,homing=1,clipsize=3,reloadtime=2.5)


name: Necrosis Fighter Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Necrosis Seeker,cooldown=4.0,range=12000,mustlock=1,homing=1)


name: Gamma Processor Missile Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Gamma Processor Missile,cooldown=2.0,range=15000,mustlock=1,homing=1)


name: Zetaplane Gluon Torpedo Launcher
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Zetaplane Gluon Torpedo,cooldown=2.0,range=15000,mustlock=1,homing=1)


name: Zetaplane Missile Launcher
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Zetaplane Missile,cooldown=1.5,range=15000,mustlock=1,homing=1)


name: Flayer Missile Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Flayer Missile,cooldown=4.0,range=8000,mustlock=1,homing=1)


name: Ripper Missile Turret
behaviors:
TurnToTarget;ProjectileLauncher(tankname=Ripper Missile,cooldown=4.0,range=8000,mustlock=1,homing=1)


