X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/eafb56c1518b50cb958caa4dcf4f7f97c8a665d6..1c6039264da1010372c1bcb4688556255becef0d:/sc-units-hots.inc.pl diff --git a/sc-units-hots.inc.pl b/sc-units-hots.inc.pl index fe82fba..524ed12 100644 --- a/sc-units-hots.inc.pl +++ b/sc-units-hots.inc.pl @@ -11,7 +11,7 @@ use strict; race => 'protoss', cat => 'base', name => 'Probe', - unit => 1, + pop => 1, min => 50, gas => 0, build => 17, @@ -20,16 +20,19 @@ use strict; armor => 0, hp => 20, shield => 20, - suit => 1, # light - organic => 0, # mech - attack => { - ground => { + attr => { + light => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => 'Particle Beam', damage => 5, - dps => 3.3, cooldown => 1.5, + range => 0, }, - range => 0, - }, + ], speed => 2.8125, sight => 8, }, @@ -38,7 +41,6 @@ use strict; race => 'protoss', cat => 'base', name => 'Photon Cannon', - unit => 0, min => 150, gas => 0, build => 40, @@ -46,26 +48,30 @@ use strict; armor => 1, hp => 150, shield => 150, - suit => 3, # armored - structure => 1, - attack => { - ground => { + attr => { + armored => 1, + structure => 1, + }, + attack => [ + { + anti => 3, + name => 'Phase Disruptor', damage => 20, - dps => 16, cooldown => 1.25, + type => 'projectile', + range => 7, }, - air => 'ground', - range => 7, - }, + ], speed => 0, sight => 11, + detect => 1, }, { race => 'protoss', cat => 'base', name => 'Mothership Core', - unit => 2, + pop => 2, min => 100, gas => 100, build => 30, @@ -74,27 +80,60 @@ use strict; armor => 1, hp => 130, shield => 60, - suit => 3, # armored - organic => 0, # mech - psionic => 1, - attack => { - ground => { - damage => [8 .. 11], - dps => [9.4, 10.6, 11.8, 13.0], + attr => { + armored => 1, + mech => 1, + psionic => 1, + flying => 1, + }, + attack => [ + { + anti => 1, + name => 'Repulsor Cannon', + damage => 8, + upgrade => 1, type => 'projectile', cooldown => 0.85, + range => 5, }, - range => 5, - }, + ], speed => 1.875, sight => 9, + energy => 50, + capacity => 200, + special => [ + { + name => 'Photon Overcharge', + abbr => 'po', + desc => 'activate Nexus weapon for 1 minute', + cost => 100, + range => 10, + }, + { + name => 'Mass Recall', + abbr => 'mr', + desc => 'teleports itself and nearby units to targeted Nexus', + cost => 100, + duration => 2, + radius => 7, + }, + { + name => 'Time Warp', + abbr => 'tw', + desc => 'create a temporal field which slows ground units by 50%', + cost => 100, + radius => 3.5, + range => 9, + duration => 10, + }, + ], }, { race => 'protoss', cat => 'base', name => 'Mothership', - unit => 8, + pop => 8, min => 300, gas => 300, build => 100, @@ -102,29 +141,60 @@ use strict; armor => 2, hp => 350, shield => 350, - suit => 3, # armored - organic => 0, # mech - psionic => 1, - massive => 1, - attack => { - ground => { - damage => [6 .. 9], - dps => [16.3, 19.0, 21.7, 24.4], + attr => { + armored => 1, + mech => 1, + psionic => 1, + massive => 1, + flying => 1, + }, + attack => [ + { + anti => 3, + name => 'Purifier Beams', + damage => 6, + upgrade => 1, cooldown => 2.21, count => 6, + range => 7, }, - air => 'ground', - range => 7, - }, + ], speed => 1.4062, sight => 14, + energy => 50, + capacity => 200, + special => [ + { + name => 'Cloaking Field', + abbr => 'cf', + desc => 'cloaks all nearby friendly units and buildings', + radius => 5, + duration => -1, + }, + { + name => 'Mass Recall', + abbr => 'mr', + desc => 'teleports itself and nearby units to targeted Nexus', + cost => 100, + duration => 2, + radius => 7, + }, + { + name => 'Time Warp', + abbr => 'tw', + desc => 'create a temporal field which slows ground units by 50%', + cost => 100, + radius => 3.5, + range => 9, + duration => 30, + }, + ], }, { race => 'protoss', cat => 'base', name => 'Nexus', - unit => 0, min => 400, gas => 0, build => 100, @@ -133,26 +203,40 @@ use strict; armor => 1, hp => 1000, shield => 1000, - suit => 3, # armored - structure => 1, - attack => { - ground => { + attr => { + armored => 1, + structure => 1, + }, + attack => [ + { + anti => 3, + name => 'Photon Overcharge', damage => 20, - dps => 16, cooldown => 1.25, + type => 'projectile', + range => 13, }, - air => 'ground', - range => 13, - }, + ], speed => 0, sight => 11, + energy => 0, + capacity => 100, + special => [ + { + name => 'Chrono Boost', + abbr => 'cb', + desc => '50% faster production speed at a targeted building', + cost => 25, + duration => 20, + }, + ], }, { race => 'protoss', cat => 'gateway', name => 'Zealot', - unit => 2, + pop => 2, min => 100, gas => 0, build => 38, @@ -162,31 +246,44 @@ use strict; armor => 1, hp => 100, shield => 50, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [8 .. 11], - dps => [13.3, 15.0, 16.7, 18.4], + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Psi Blades', + damage => 8, + upgrade => 1, cooldown => 1.2, count => 2, + range => 0, }, - range => 0, - }, + ], speed => 2.25, - upgrade => [ + sight => 9, + special => [ { + name => 'Charge', + abbr => 'ch', + desc => 'on attack, increases movement speed to 6.05 for 3.5s', + min => 200, + gas => 200, + build => 140, speed => .5, + range => 4, + duration => 3.5, + cooldown => 10, }, ], - sight => 9, }, { race => 'protoss', cat => 'gateway', name => 'Sentry', - unit => 2, + pop => 2, min => 50, gas => 100, build => 37, @@ -196,27 +293,59 @@ use strict; armor => 1, hp => 40, shield => 40, - suit => 1, # light - organic => 0, # mech - psionic => 1, - attack => { - ground => { - damage => [6 .. 9], - dps => [6 .. 9], + attr => { + light => 1, + mech => 1, + psionic => 1, + }, + attack => [ + { + anti => 3, + name => 'Disruption Beam', + damage => 6, + upgrade => 1, cooldown => 1.0, + range => 5, }, - air => 'ground', - }, + ], speed => 2.25, - range => 5, sight => 10, + energy => 50, + capacity => 200, + special => [ + { + name => 'Force Field', + abbr => 'ff', + desc => 'erect a barries that impedes ground movement for 15s', + cost => 50, + range => 9, + radius => 1.7, + duration => 15, + }, + { + name => 'Guardian Shield', + abbr => 'gs', + desc => 'reduces ranged damage by 2 for friendly units within 4 radius', + cost => 75, + radius => 4, + duration => 15, + }, + { + name => 'Hallucination', + abbr => 'hl', + desc => 'create fake replica of a protoss unit for one minute', + cost => 100, + duration => 60, + range => 0, + }, + ], }, { race => 'protoss', cat => 'gateway', name => 'Stalker', - unit => 2, + pop => 2, min => 125, gas => 50, build => 42, @@ -226,28 +355,45 @@ use strict; armor => 1, hp => 80, shield => 80, - suit => 3, # armored - organic => 0, # mech - attack => { - ground => { - damage => [10 .. 13], - dps => [6.9, 7.6, 8.3, 9.0], - #bonus => +4 A, + attr => { + armored => 1, + mech => 1, + }, + attack => [ + { + anti => 3, + name => 'Particle Disruptors', + damage => 10, + upgrade => 1, + bonus => { + armored => 4, + }, type => 'projectile', cooldown => 1.44, + range => 6, }, - air => 'ground', - range => 6, - }, + ], speed => 2.9531, sight => 10, + special => [ + { + name => 'Blink', + abbr => 'bl', + desc => 'teleport to visible location', + min => 150, + gas => 150, + build => 170, + range => 8, + cooldown => 10, + }, + ], }, { race => 'protoss', cat => 'gateway', name => 'High Templar', - unit => 2, + pop => 2, min => 50, gas => 150, build => 55, @@ -257,18 +403,44 @@ use strict; armor => 0, hp => 40, shield => 40, - suit => 1, # light - organic => 1, - psionic => 1, + attr => { + light => 1, + psionic => 1, + organic => 1, + }, speed => 1.875, sight => 10, + energy => 50, + capacity => 200, + special => [ + { + name => 'Feedback', + abbr => 'fb', + desc => 'target will lose its energy and receive damage equal to that amount', + cost => 50, + range => 9, + }, + { + name => 'Psionic Storm', + abbr => 'ps', + desc => 'deals 80 damage over 4 seconds to units in targeted area', + cost => 75, + cooldown => 2, + duration => 4, + radius => 1.5, + range => 9, + min => 200, + gas => 200, + build => 110, + }, + ], }, { race => 'protoss', cat => 'gateway', name => 'Dark Templar', - unit => 2, + pop => 2, min => 125, gas => 125, build => 55, @@ -278,28 +450,40 @@ use strict; armor => 1, hp => 40, shield => 80, - suit => 1, # light - organic => 1, - psionic => 1, - attack => { - ground => { - damage => [45, 50, 55, 60], - dps => [26.6, 29.6, 32.6, 35.6], + attr => { + light => 1, + organic => 1, + psionic => 1, + }, + attack => [ + { + anti => 1, + name => 'Warp Blade', + damage => 45, + upgrade => 5, cooldown => 1.694, + range => 0, }, - range => 0, - }, + ], speed => 2.8125, sight => 8, + special => [ + { + name => 'Permanent Cloak', + abbr => 'cl', + desc => 'cloaked at all times', + duration => -1, + }, + ], }, { race => 'protoss', cat => 'gateway', name => 'Archon', - min => 100, - gas => 300, - unit => 4, + min => 100, # or 175 or 250 + gas => 300, # or 275 or 250 + pop => 4, build => 12, base => ['Templar', 'Templar'], size => 1.5, @@ -307,19 +491,25 @@ use strict; armor => 0, hp => 10, shield => 350, - psionic => 1, - massive => 1, - attack => { - ground => { - damage => [25, 28, 31, 34], - dps => [14.3, 16.0, 17.7, 19.4], - #bonus => +10 (+1) B, + attr => { + psionic => 1, + massive => 1, + }, + attack => [ + { + anti => 3, + name => 'Psionic Shockwave', + damage => 25, + upgrade => 3, + bonus => { + organic => 10, + -organic => 1, + }, splash => 1, cooldown => 1.754, + range => 3, }, - air => 'ground', - range => 3, - }, + ], speed => 2.8125, sight => 9, }, @@ -328,7 +518,7 @@ use strict; race => 'protoss', cat => 'robotic', name => 'Immortal', - unit => 4, + pop => 4, min => 250, gas => 100, build => 55, @@ -337,26 +527,41 @@ use strict; armor => 1, hp => 200, shield => 100, - suit => 3, # armored - organic => 0, # mech - attack => { - ground => { - damage => [20, 22, 24, 26], - #bonus => +30 (+3) A, - dps => [13.8, 15.2, 16.6, 18.0], + attr => { + armored => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => 'Phase Disruptors', + damage => 20, + upgrade => 2, + bonus => { + armored => 30, + -armored => 3, + }, cooldown => 1.45, + range => 6, }, - range => 6, - }, + ], speed => 2.25, sight => 9, + special => [ + { + name => 'Hardened Shield', + abbr => 'hs', + desc => 'reduce all damage on shields to a maximum of 10', + duration => -1, + }, + ], }, { race => 'protoss', cat => 'robotic', name => 'Colossus', - unit => 6, + pop => 6, min => 300, gas => 200, build => 75, @@ -365,33 +570,46 @@ use strict; armor => 1, hp => 200, shield => 150, - suit => 3, # armored - organic => 0, # mech - massive => 1, - attack => { - ground => { - damage => [15, 17, 19, 21], - dps => [18.2, 20.6, 23.0, 25.4], + attr => { + armored => 1, + mech => 1, + massive => 1, + jump => 'Cliff Walk', + }, + attack => [ + { + anti => 1, + name => 'Thermal Lances', + damage => 15, + upgrade => 2, splash => 'line', cooldown => 1.65, count => 2, + range => 6, }, - range => 6, - }, + ], + speed => 2.25, + sight => 10, upgrade => [ { - range => 3, + name => 'Extended Thermal Lance', + min => 200, + gas => 200, + build => 140, + attack => [ + { + range => 3, + }, + ], }, ], - speed => 2.25, - sight => 10, }, { race => 'protoss', cat => 'robotic', name => 'Observer', - unit => 1, + pop => 1, min => 25, gas => 75, build => 30, @@ -400,47 +618,77 @@ use strict; armor => 0, hp => 40, shield => 20, - suit => 1, # light - organic => 0, # mech + attr => { + light => 1, + mech => 1, + flying => 1, + }, speed => 1.875, + sight => 11, + detect => 1, + special => [ + { + name => 'Permanent Cloak', + abbr => 'cl', + desc => 'cloaked at all times', + duration => -1, + }, + ], upgrade => [ { + name => 'Gravitic Boosters', + min => 100, + gas => 100, + build => 80, speed => 0.9375, }, ], - sight => 11, }, { race => 'protoss', cat => 'robotic', name => 'Warp Prism', - unit => 2, + pop => 2, min => 200, gas => 0, build => 50, size => 1.75, - cargo => 0, + cargo => -8, armor => 0, hp => 100, shield => 100, - suit => 3, # armored - organic => 0, # mech - psionic => 1, + attr => { + armored => 1, + mech => 1, + psionic => 1, + flying => 1, + }, speed => 2.9531, + sight => 10, + special => [ + { + name => 'Phasing Mode', + abbr => 'pm', + desc => 'basically transforms into a hovering pylon', + }, + ], upgrade => [ { + name => 'Gravitic Drive', + min => 100, + gas => 100, + build => 80, speed => 0.422, }, ], - sight => 10, }, { race => 'protoss', cat => 'stargate', name => 'Phoenix', - unit => 2, + pop => 2, min => 150, gas => 100, build => 35, @@ -449,24 +697,51 @@ use strict; armor => 0, hp => 120, shield => 60, - suit => 1, # light - organic => 0, # mech - attack => { - air => { - damage => [5 .. 8], - dps => [9, 10.8, 12.6, 14.4], - #bonus => +5 L, + attr => { + light => 1, + mech => 1, + flying => 1, + }, + attack => [ + { + anti => 2, + name => 'Ion Cannons', + damage => 5, + upgrade => 1, + bonus => { + light => 5, + }, type => 'projectile', cooldown => 1.11, count => 2, + range => 5, }, - range => 5, - }, + ], speed => 4.25, sight => 10, + energy => 50, + capacity => 200, + special => [ + { + name => 'Graviton Beam', + abbr => 'gb', + desc => 'lifts a ground unit into the air for 10s', + cost => 50, + range => 4, + duration => 10, + }, + ], upgrade => [ { - range => 2, + name => 'Anion Pulse-Crystals', + min => 150, + gas => 150, + build => 90, + attack => [ + { + range => 2, + }, + ], }, ], }, @@ -475,7 +750,7 @@ use strict; race => 'protoss', cat => 'stargate', name => 'Void Ray', - unit => 4, + pop => 4, min => 250, gas => 150, build => 60, @@ -484,27 +759,50 @@ use strict; armor => 0, hp => 150, shield => 100, - suit => 3, # armored - organic => 0, # mech - attack => { - ground => { - damage => [6 .. 9], - #bonus => +4 (+1), +10 (+1) A, - dps => [12, 14, 16, 18], + attr => { + armored => 1, + mech => 1, + flying => 1, + }, + attack => [ + { + anti => 3, + name => 'Prismatic Beam', + damage => 6, + upgrade => 1, + bonus => { + armored => 4, + -armored => 1, + }, cooldown => 0.5, + range => 6, # keeps firing until range 8 }, - air => 'ground', - range => 6, - }, + ], speed => 2.25, sight => 10, + special => [ + { + name => 'Prismatic Alignment', + abbr => 'pa', + desc => 'increases damage to armored by 6 for 20 seconds', + duration => 20, + cooldown => 60, + attack => [ + { + bonus => { + armored => 6, + }, + }, + ], + }, + ], }, { race => 'protoss', cat => 'stargate', name => 'Oracle', - unit => 3, + pop => 3, min => 150, gas => 150, build => 50, @@ -513,29 +811,58 @@ use strict; armor => 0, hp => 100, shield => 60, - suit => 1, # light - organic => 0, # mech - psionic => 1, - attack => { - ground => { + attr => { + light => 1, + mech => 1, + psionic => 1, + flying => 1, + }, + attack => [ + { + anti => 1, name => 'Pulsar Beam', damage => 15, # costs energy - #bonus => +10 L, - dps => 17.4, + bonus => { + light => 10, + }, cooldown => 0.86, + cost => 25, + maint => 1.4, + range => 5, #XXX 4? }, - range => 5, - }, + ], speed => 4, sight => 10, + energy => 50, #XXX + capacity => 200, + special => [ + { + name => 'Revelation', + abbr => 'rv', + desc => 'hit enemy units and buildings are revealed for 1 minute', + cost => 75, + range => 9, + cooldown => 3, + duration => 60, + radius => 6, + }, + { + name => 'Envision', + abbr => 'ev', + desc => 'temporary detection within sight range', + cost => 50, + range => 14, + duration => 60, + }, + ], }, { race => 'protoss', cat => 'stargate', name => 'Tempest', - unit => 4, + pop => 4, min => 300, gas => 200, build => 60, @@ -544,20 +871,36 @@ use strict; armor => 2, hp => 120, shield => 60, - suit => 3, # armored - organic => 0, # mech - massive => 1, - attack => { - ground => { - damage => [30, 33, 36, 39], - #bonus => +14 Ma Air, - dps => [9.1, 10.0, 10.9, 11.8], + attr => { + armored => 1, + mech => 1, + massive => 1, + flying => 1, + }, + attack => [ + { + anti => 2, + name => 'Kinetic Overload', + damage => 30, + upgrade => 3, + bonus => { + massive => 14, + -massive => 2, + }, type => 'projectile', cooldown => 3.3, + range => 15, }, - air => 'ground', - range => 15, - }, + { + anti => 1, + name => 'Resonance Coil', + damage => 30, + upgrade => 3, + type => 'projectile', + cooldown => 3.3, + range => 15, + }, + ], speed => 1.875, sight => 12, }, @@ -566,7 +909,7 @@ use strict; race => 'protoss', cat => 'stargate', name => 'Carrier', - unit => 6, + pop => 6, min => 350, gas => 250, build => 120, @@ -575,18 +918,27 @@ use strict; armor => 2, hp => 300, shield => 150, - suit => 3, # armored - organic => 0, # mech - massive => 1, - attack => { - range => 8, + attr => { + armored => 1, + mech => 1, + massive => 1, + flying => 1, }, + attack => [ + { + anti => 3, + count => 8, + range => 8, # leash range 14 + dps => [26.7, undef, undef, 42.6], + cooldown => 0.5, + }, + ], speed => 1.875, sight => 12, special => [ { alt => 'Interceptor', - unit => 0, + pop => 0, min => 25, gas => 0, build => 8, @@ -595,24 +947,40 @@ use strict; armor => 0, hp => 40, shield => 40, - suit => 1, # light - organic => 0, # mech - attack => { - ground => { - damage => [5 .. 8], -# dps => 26.7 (+5.3), - dps => [3.3, 4.0, 4.7, 5.4], -# cooldown => 0.5 (0.125/ 0.25), + attr => { + light => 1, + mech => 1, + flying => 1, + }, + attack => [ + { + anti => 3, + name => 'Interceptor Beams', + damage => 5, + upgrade => 1, cooldown => 3.0, count => 2, + range => 2, }, - air => 'ground', - range => 2, - }, + ], speed => 7.5, sight => 7, }, ], + upgrade => [ + { + name => 'Graviton Catapult', + min => 150, + gas => 150, + build => 80, + desc => 'increases Interceptor launch speed from 2/s to 4-8/s', + attack => [ + { + cooldown => -0.375, # -0.25 + }, + ], + }, + ], }, # terran @@ -620,8 +988,8 @@ use strict; { race => 'terran', cat => 'base', - name => 'SCV', - unit => 1, + name => 'SCV', # T-280 Space Construction Vehicle + pop => 1, min => 50, gas => 0, build => 17, @@ -629,17 +997,20 @@ use strict; cargo => 1, armor => 0, hp => 45, - suit => 1, # light - organic => 1, - organic => 0, # mech - attack => { - ground => { + attr => { + light => 1, + organic => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => 'Fusion Cutter', damage => 5, - dps => 3.3, cooldown => 1.5, + range => 0, }, - range => 0, - }, + ], speed => 2.8125, sight => 8, }, @@ -648,14 +1019,17 @@ use strict; race => 'terran', cat => 'base', name => 'Mule', - unit => 0, + pop => 0, + cargo => 0, min => 0, build => 0, size => 0.75, armor => 0, hp => 60, - suit => 1, # light - organic => 0, # mech + attr => { + light => 1, + mech => 1, + }, speed => 2.8, sight => 8, }, @@ -664,7 +1038,6 @@ use strict; race => 'terran', cat => 'base', name => 'Missile Turret', - unit => 0, min => 100, gas => 0, build => 25, @@ -672,25 +1045,43 @@ use strict; cargo => 0, armor => 0, hp => 250, - suit => 3, # armored - organic => 0, # mech - structure => 1, - attack => { - air => { + attr => { + armored => 1, + mech => 1, + structure => 1, + }, + attack => [ + { + anti => 2, + name => 'Longbolt Missiles', damage => 12, - dps => 27.9, cooldown => 0.8608, count => 2, + type => 'projectile', + range => 7, }, - range => 7, - }, + ], speed => 0, sight => 11, + detect => 1, upgrade => [ { - attack => { - range => 1, - }, + name => 'Hi-Sec Auto Tracking', + min => 100, + gas => 100, + build => 80, + attack => [ + { + range => 1, + }, + ], + }, + { + name => 'Building Armor', + min => 150, + gas => 150, + build => 140, + armor => 2, }, ], }, @@ -700,7 +1091,7 @@ use strict; cat => 'base', name => 'Planetary Fortress', base => ['Command Center'], - unit => 0, + pop => -11, min => 150, gas => 150, build => 50, @@ -708,28 +1099,48 @@ use strict; cargo => 0, armor => 3, hp => 1500, - suit => 3, # armored - organic => 0, # mech - structure => 1, - attack => { - ground => { + attr => { + armored => 1, + mech => 1, + structure => 1, + }, + attack => [ + { + anti => 1, + name => 'Ibiks Cannon', damage => 40, - dps => 20, splash => 1, cooldown => 2, + range => 6, }, - range => 6, - }, + ], speed => 0, sight => 11, upgrade => [ { + name => 'Neosteel Frame', + min => 100, + gas => 100, + build => 110, + desc => 'increase load space by 5', + }, + { + name => 'Building Armor', + min => 150, + gas => 150, + build => 140, armor => 2, }, { - attack => { - range => 1, - }, + name => 'Hi-Sec Auto Tracking', + min => 100, + gas => 100, + build => 80, + attack => [ + { + range => 1, + }, + ], }, ], }, @@ -738,7 +1149,7 @@ use strict; race => 'terran', cat => 'barracks', name => 'Marine', - unit => 1, + pop => 1, min => 50, gas => 0, build => 25, @@ -746,38 +1157,49 @@ use strict; cargo => 1, armor => 0, hp => 45, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [6 .. 9], - dps => [7, 8.2, 9.4, 10.6], + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 3, + name => 'C-14 Rifle', + damage => 6, + upgrade => 1, cooldown => 0.8608, + range => 5, }, - air => 'ground', - range => 5, - }, + ], speed => 2.25, upgrade => [ { + name => 'Combat Shield', + min => 100, + gas => 100, + build => 110, hp => 10, }, ], special => [ { - name => 'stim pack', + name => 'Stim Pack', abbr => 'sp', - alt => 'Stimmed Marine', - desc => 'increases attack and movement speed for a few seconds at the cost of 10 health', - speed => 2.25 + 1.125, - attack => { - ground => { - dps => [10.5, 12.2, 13.9, 15.6], + desc => 'increases attack and movement speed by 50% for 15s at the cost of 10 health', + speed => 1.125, + min => 100, + gas => 100, + build => 170, + attack => [ + { + anti => 3, + damage => 6, + upgrade => 1, cooldown => 0.5739, + range => 5, }, - air => 'ground', - }, - duration => undef, #XXX + ], + duration => 15, }, ], sight => 9, @@ -787,7 +1209,7 @@ use strict; race => 'terran', cat => 'barracks', name => 'Marauder', - unit => 2, + pop => 2, min => 100, gas => 25, build => 30, @@ -795,31 +1217,60 @@ use strict; cargo => 2, armor => 1, hp => 125, - suit => 3, # armored - organic => 1, - attack => { - ground => { - damage => [10 .. 13], - #bonus => +10 (+1) A, - dps => [6.7, 7.4, 8.1, 8.8], + attr => { + armored => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Punisher Grenades', + damage => 10, + upgrade => 1, + bonus => { + armored => 10, + -armored => 1, + }, type => 'projectile', cooldown => 1.5, + range => 6, }, - range => 6, - }, + ], special => [ { - name => 'stim pack', + name => 'Stim Pack', abbr => 'sp', - desc => 'increases attack and movement speed for a few seconds at the cost of 10 health', - speed => 2.25 + 1.125, - attack => { - ground => { - dps => [10 .. 13], + desc => 'increases attack and movement speed by 50% for 15s at the cost of 10 health', + speed => 1.125, + min => 100, + gas => 100, + build => 170, + attack => [ + { + anti => 1, + damage => 10, + upgrade => 1, + bonus => { + armored => 10, + -armored => 1, + }, + type => 'projectile', cooldown => 1.0, + range => 6, }, - }, - duration => undef, #XXX + ], + duration => 15, + }, + ], + upgrade => [ + { + name => 'Concussive Shells', + abbr => 'cs', + desc => 'slows non-massive enemy movement speed by 50% for 1.5s when hit', + min => 50, + gas => 50, + build => 60, + duration => -1, }, ], speed => 2.25, @@ -830,7 +1281,7 @@ use strict; race => 'terran', cat => 'barracks', name => 'Reaper', - unit => 1, + pop => 1, min => 50, gas => 50, build => 40, @@ -838,26 +1289,39 @@ use strict; cargo => 1, armor => 0, hp => 60, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [4 .. 7], - dps => [7.3, 9.1, 10.9, 12.7], + attr => { + light => 1, + organic => 1, + jump => 'Jet Pack', + }, + attack => [ + { + anti => 1, + name => 'P-45 Reaper Pistol', + damage => 4, + upgrade => 1, cooldown => 1.1, count => 2, + range => 4.5, }, - range => 4.5, - }, + ], speed => 3.75, sight => 9, + special => [ + { + name => 'Combat Drugs', + abbr => 'cd', + desc => 'heal 2 HP per second after 10 seconds out of combat', + duration => -1, + }, + ], }, { race => 'terran', cat => 'barracks', name => 'Ghost', - unit => 2, + pop => 2, min => 200, gas => 100, build => 40, @@ -865,27 +1329,69 @@ use strict; cargo => 2, armor => 0, hp => 100, - organic => 1, - psionic => 1, - attack => { - ground => { - damage => [10 .. 13], - #bonus => +10 (+1) L, - dps => [6.7, 7.4, 8.1, 8.8], + attr => { + organic => 1, + psionic => 1, + }, + attack => [ + { + anti => 3, + name => 'C-10 Rifle', + damage => 10, + upgrade => 1, + bonus => { + light => 10, + -light => 1, + }, cooldown => 1.5, + range => 6, }, - air => 'ground', - range => 6, - }, + ], speed => 2.25, sight => 11, + energy => 75, + capacity => 200, + special => [ + { + name => 'Sniper Round', + abbr => 'sr', + desc => '25 damage to a single biological unit, or 50 to psionic', + cost => 25, + range => 10, + }, + { + name => 'EMP Round', + abbr => 'ep', + desc => 'reveals cloaked units and removes up to 100 shields and energy', + cost => 75, + range => 10, + radius => 1.5, + }, + { + name => 'Personal Cloaking', + abbr => 'cl', + desc => 'has the ability to cloak', + cost => 25, + maint => .9, # /s + min => 150, + gas => 150, + build => 120, + }, + { + name => 'Nuclear Strike', + abbr => 'ns', + desc => 'guides a nuclear missile which will do 300 damage plus 200 to buildings', + duration => 20, + range => 12, + }, + ], }, { race => 'terran', cat => 'factory', name => 'Hellion', - unit => 2, + pop => 2, min => 100, gas => 0, build => 30, @@ -893,27 +1399,60 @@ use strict; cargo => 2, armor => 0, hp => 90, - suit => 1, # light - organic => 0, # mech - attack => { - ground => { - damage => [8 .. 11], - dps => [3.2, 3.6, 4.0, 4.4], - #bonus => +6 (+1), +11 (+1) L, + attr => { + light => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => 'Infernal Flamethrower', + damage => 8, + upgrade => 1, + bonus => { + light => 6, + -light => 1, + }, splash => 'line', cooldown => 2.5, + range => 5, }, - range => 5, - }, + ], speed => 4.25, sight => 10, + special => [ + { + name => 'Hellbat Mode', + abbr => 'hm', + desc => 'transform to Hellbat', + duration => 4, + }, + ], + upgrade => [ + { + name => 'Infernal Pre-Igniter', + min => 150, + gas => 150, + build => 110, + attack => [ + { + damage => 6, + upgrade => 1, + bonus => { + light => 5, + -light => 0, + }, + }, + ], + }, + ], }, { race => 'terran', cat => 'factory', name => 'Hellbat', - unit => 2, + pop => 2, min => 100, gas => 0, build => 30, @@ -921,28 +1460,55 @@ use strict; cargo => 4, armor => 0, hp => 135, - suit => 1, # light - organic => 1, - organic => 0, # mech - attack => { - ground => { - damage => [18, 20, 22, 24], - #bonus => +12 (+1) L, - dps => [9 .. 12], + attr => { + light => 1, + organic => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => 'Napalm Spray', + damage => 18, + upgrade => 2, splash => 1, cooldown => 2, + range => 2, }, - range => 2, - }, + ], speed => 2.25, sight => 10, + special => [ + { + name => 'Hellion Mode', + abbr => 'hm', + desc => 'transform to Hellion', + duration => 4, + }, + ], + upgrade => [ + { + name => 'Infernal Pre-Igniter', + min => 150, + gas => 150, + build => 110, + attack => [ + { + bonus => { + light => 12, + -light => 1, + }, + }, + ], + }, + ], }, { race => 'terran', cat => 'factory', name => 'Widow Mine', - unit => 2, + pop => 2, min => 75, gas => 25, build => 40, @@ -950,26 +1516,42 @@ use strict; cargo => 2, armor => 0, hp => 90, - suit => 1, # light - organic => 0, # mech - attack => { - ground => { + attr => { + light => 1, + mech => 1, + }, + attack => [ + { + anti => 3, + name => 'Sentinel Missiles', damage => 125, - #bonus => +35 Shield, + bonus => { + shields => 40, + }, splash => 1, cooldown => 40, + range => 5, }, - range => 5, - }, + ], speed => 2.8125, sight => 7, + upgrade => [ + { + name => 'Drilling Claws', + abbr => 'dc', + desc => 'decreases burrow time from 3 to 1 second', + min => 150, + gas => 150, + build => 110, + }, + ], }, { race => 'terran', cat => 'factory', name => 'Siege Tank', - unit => 3, + pop => 3, min => 150, gas => 125, build => 45, @@ -977,34 +1559,47 @@ use strict; cargo => 4, armor => 1, hp => 160, - suit => 3, # armored - organic => 0, # mech - attack => { - ground => { - damage => [15, 17, 19, 21], - #bonus => +10 (+1)A, - dps => [14.4, 16.3, 18.2, 20.1], + attr => { + armored => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => '90 mm Twin Cannon', + damage => 15, + upgrade => 2, + bonus => { + armored => 10, + -armored => 1, + }, cooldown => 1.04, + range => 7, }, - range => 7, - }, + ], special => [ { name => 'siege mode', abbr => 'sg', alt => 'Sieged Tank', cargo => 0, - attack => { - ground => { - damage => [35, 38, 41, 44], - #bonus => 15 (+2)A, - dps => [11.7, 12.7, 13.7, 14.7], + attack => [ + { + anti => 1, + name => '120 mm Shock Cannon', + damage => 35, + upgrade => 3, + bonus => { + armored => 15, + -armored => 2, + }, splash => 1, cooldown => 3, + range => 13, }, - range => 13, - }, + ], speed => 0, + duration => 4, }, ], speed => 2.25, @@ -1015,7 +1610,7 @@ use strict; race => 'terran', cat => 'factory', name => 'Thor', - unit => 6, + pop => 6, min => 300, gas => 200, build => 60, @@ -1023,36 +1618,47 @@ use strict; cargo => 8, armor => 1, hp => 400, - suit => 3, # armored - organic => 0, # mech - massive => 1, - attack => { - ground => { - damage => [30, 33, 36, 39], - dps => [46.9, 51.6, 56.3, 61.0], + attr => { + armored => 1, + mech => 1, + massive => 1, + }, + attack => [ + { + anti => 1, + name => "Thor's Hammer", + damage => 30, + upgrade => 3, cooldown => 1.28, range => 7, count => 2, }, - air => { - name => 'Explosive Payload', - damage => [6 .. 9], - #bonus => +6 (+1) L Air, - dps => [8, 9.3, 10.6, 11.9], + { + anti => 2, + name => 'Javelin Missiles', +# name => 'Explosive Payload', + damage => 6, + upgrade => 1, + bonus => { + light => 6, + -light => 1, + }, splash => 1, type => 'projectile', cooldown => 3, range => 10, count => 4, }, - air => { - name => 'High Impact Payload', - damage => [24, 26, 28, 30], - dps => [12 .. 15], + { + anti => 2, + name => 'Punisher Cannons', +# name => 'High Impact Payload', + damage => 24, + upgrade => 2, cooldown => 2, range => 10, }, - }, + ], speed => 1.875, sight => 11, }, @@ -1061,7 +1667,7 @@ use strict; race => 'terran', cat => 'starport', name => 'Viking', - unit => 2, + pop => 2, min => 150, gas => 75, build => 42, @@ -1069,34 +1675,43 @@ use strict; cargo => 0, armor => 0, hp => 125, - suit => 3, # armored - organic => 0, # mech - attack => { - air => { - damage => [10 .. 13], - #bonus => +4A, - dps => [10 .. 13], + attr => { + armored => 1, + mech => 1, + flying => 1, + }, + attack => [ + { + anti => 2, + name => 'Lanzer Torpedoes', + damage => 10, + upgrade => 1, + bonus => { + armored => 4, + }, type => 'projectile', cooldown => 2, count => 2, + range => 9, }, - range => 9, - }, + ], special => [ { + name => 'Assault Mode', + abbr => 'am', + build => 3, # transformation time + alt => 'Landed Viking', cargo => 2, - attack => { - name => 'Assault Mode', - abbr => 'am', - build => 3, # transformation time - alt => 'Landed Viking', - ground => { - damage => [12 .. 15], - dps => [12 .. 15], + attack => [ + { + anti => 1, + name => 'Twin Gatling Cannon', + damage => 12, + upgrade => 1, cooldown => 1, + range => 6, }, - range => 6, - }, + ], }, ], speed => 2.75, @@ -1107,30 +1722,56 @@ use strict; race => 'terran', cat => 'starport', name => 'Medivac', - unit => 2, + pop => 2, min => 100, gas => 100, build => 42, size => 1.5, - cargo => 0, + cargo => -8, armor => 1, hp => 150, - suit => 3, # armored - organic => 0, # mech + attr => { + armored => 1, + mech => 1, + flying => 1, + }, speed => 2.5, - upgrade => [ + energy => 50, + capacity => 200, + special => [ { + name => 'Heal', + abbr => 'hl', + desc => 'automatically heals nearby biological allies for 9 HP per second', + range => 4, + cost => 3, + }, + { + name => 'Ignite Afterburners', + abbr => 'ia', + desc => 'boost speed and accelleration to 4.25 for 8s', speed => 4.25, + duration => 8, + cooldown => 20, }, ], sight => 11, + upgrade => [ + { + name => 'Caduceus Reactor', + min => 100, + gas => 100, + build => 80, + energy => 25, + }, + ], }, { race => 'terran', cat => 'starport', - name => 'Banshee', - unit => 3, + name => 'Banshee', # AH/G-24 + pop => 3, min => 150, gas => 100, build => 60, @@ -1138,27 +1779,46 @@ use strict; cargo => 0, armor => 0, hp => 140, - suit => 1, # light - organic => 0, # mech - attack => { - ground => { - damage => [12 .. 15], - dps => [19.2, 20.8, 22.4, 24.0], + attr => { + light => 1, + mech => 1, + flying => 1, + }, + attack => [ + { + anti => 1, + name => 'Backlash Rockets', + damage => 12, + upgrade => 1, type => 'projectile', cooldown => 1.25, count => 2, + range => 6, }, - range => 6, - }, + ], speed => 2.75, sight => 10, + energy => 50, + capacity => 200, + special => [ + { + name => 'Cloak', + abbr => 'cl', + desc => 'has the ability to cloak', + cost => 25, + maint => .9, + min => 100, + gas => 100, + build => 110, + }, + ], }, { race => 'terran', cat => 'starport', name => 'Raven', - unit => 2, + pop => 2, min => 100, gas => 200, build => 60, @@ -1166,62 +1826,143 @@ use strict; cargo => 0, armor => 1, hp => 140, - suit => 1, # light - organic => 0, # mech + attr => { + light => 1, + mech => 1, + flying => 1, + }, speed => 2.25, sight => 11, + detect => 1, + energy => 50, + capacity => 200, special => [ { alt => 'Auto-Turret', +# abbr => 'at', + cost => 50, size => 2, cargo => 0, armor => 1, hp => 150, - suit => 3, # armored - organic => 0, # mech - structure => 1, - attack => { - ground => { + attr => { + armored => 1, + mech => 1, + structure => 1, + }, + attack => [ + { + anti => 3, + name => '12 mm Gauss Cannon', damage => 8, - dps => 10, cooldown => 0.8, + range => 6, }, - air => 'ground', - range => 6, - }, + ], speed => 0, sight => 7, upgrade => [ { - attack => { - range => 1, - }, + name => 'Hi-Sec Auto Tracking', + min => 100, + gas => 100, + build => 80, + attack => [ + { + range => 1, + }, + ], + }, + { + name => 'Building Armor', + min => 150, + gas => 150, + build => 140, + armor => 2, }, ], }, { alt => 'Point Defense Drone', +# abbr => 'pd', + cost => 100, size => 1.2, cargo => 0, armor => 0, hp => 50, - suit => 1, # light - organic => 0, # mech - structure => 1, - cooldown => 0, - attack => { - range => 8, + attr => { + light => 1, + mech => 1, + structure => 1, + flying => 1, }, + cooldown => 0, + attack => [ + { + name => 'Point Defense Laser', + range => 8, + }, + ], sight => 7, upgrade => [ { - attack => { - range => 1, - }, + name => 'Hi-Sec Auto Tracking', + min => 100, + gas => 100, + build => 80, + attack => [ + { + range => 1, + }, + ], + }, + { + name => 'Building Armor', + min => 150, + gas => 150, + build => 140, + armor => 2, }, ], duration => 20, }, + { + name => 'Seeker Missile', + abbr => 'sm', + desc => 'launches missile to do 100 damage plus splash' + . ' unless targeted unit moves to 13 range within 5 seconds of charging', + range => 10, + attack => [ + { + damage => 100, + splash => 1, + }, + ], + cost => 75, + }, + ], + upgrade => [ + { + name => 'Durable Materials', + min => 150, + gas => 150, + build => 110, +# special => { +# at => { +# duration => 240, +# }, +# pd => { +# duration => 30, +# }, +# }, + }, + { + name => 'Corvid Reactor', + min => 150, + gas => 150, + build => 110, + energy => 25, + }, ], }, @@ -1229,7 +1970,7 @@ use strict; race => 'terran', cat => 'starport', name => 'Battlecruiser', - unit => 6, + pop => 6, min => 400, gas => 300, build => 90, @@ -1237,24 +1978,63 @@ use strict; cargo => 0, armor => 3, hp => 550, - suit => 3, # armored - organic => 0, # mech - massive => 1, - attack => { - ground => { - damage => [8 .. 11], - dps => [35.6, 40.0, 44.4, 48.8], + attr => { + armored => 1, + mech => 1, + massive => 1, + flying => 1, + }, + attack => [ + { + anti => 1, + name => 'ATS Laser Batteries', + damage => 8, + upgrade => 1, cooldown => 0.225, + type => 'projectile', + range => 6, }, - air => { - damage => [6 .. 9], - dps => [26.7, 31.1, 35.5, 39.9], + { + anti => 2, + name => 'ATS Laser Batteries', + damage => 6, + upgrade => 1, cooldown => 0.225, + type => 'projectile', + range => 6, }, - range => 6, - }, + ], speed => 1.875, sight => 12, + energy => 50, + capacity => 200, + special => [ + { + name => 'Yamato Cannon', + abbr => 'yc', + desc => '300 damage to a single target', + min => 150, + gas => 150, + build => 60, + duration => 3, + range => 10, + cost => 100, + attack => [ + { + damage => 300, + }, + ], + }, + ], + upgrade => [ + { + name => 'Behemoth Reactor', + min => 150, + gas => 150, + build => 80, + energy => 25, + }, + ], }, # zerg @@ -1263,7 +2043,7 @@ use strict; race => 'zerg', cat => 'base', name => 'Drone', - unit => 1, + pop => 1, min => 50, gas => 0, build => 17, @@ -1271,16 +2051,19 @@ use strict; cargo => 1, armor => 0, hp => 40, - suit => 1, # light - organic => 1, - attack => { - ground => { + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Claws', damage => 5, - dps => 3.3, cooldown => 1.5, + range => 0, }, - range => 0, - }, + ], speed => 2.8125, creep => 1.0, sight => 8, @@ -1290,7 +2073,7 @@ use strict; race => 'zerg', cat => 'base', name => 'Queen', - unit => 2, + pop => 2, min => 150, gas => 0, build => 50, @@ -1298,51 +2081,110 @@ use strict; cargo => 2, armor => 1, hp => 175, - organic => 1, - psionic => 1, - attack => { - ground => { - damage => [4 .. 7], - dps => [8, 10, 12, 14], + attr => { + organic => 1, + psionic => 1, + }, + attack => [ + { + anti => 1, + name => 'Claws', + damage => 4, + upgrade => 1, cooldown => 1.0, - type => 'projectile', + type => 'projectile', # except if range < 3 range => 5, count => 2, }, - air => { - damage => [9 .. 12], - dps => [9 .. 12], + { + anti => 2, + name => 'Acid Spines', + damage => 9, + upgrade => 1, cooldown => 1.0, - type => 'projectile', + type => 'projectile', # except if range < 3 range => 7, }, - }, + ], speed => 0.9375, creep => 2.7, sight => 9, + energy => 25, + capacity => 200, + special => [ + { + name => 'Spawn Larva', + abbr => 'sl', + desc => 'injects a Hatchery to produce 4 Larvae after 40 seconds', + cost => 25, + range => 1, + cooldown => 2.5, + duration => 40, + }, + { + name => 'Spawn Creep Tumor', + abbr => 'sc', + desc => 'place a tumor on creep which will expand it', + cost => 25, + range => 1, + duration => 15, + }, + { + name => 'Transfusion', + abbr => 'tf', + desc => 'heal a friendly biological unit or building for 125 HP', + cost => 50, + range => 7, + cooldown => 1, + }, + ], }, { race => 'zerg', cat => 'base', name => 'Overlord', - unit => -9, + pop => -9, min => 100, gas => 0, build => 25, size => 0, - cargo => -8, + cargo => 0, armor => 0, hp => 200, - suit => 3, # armored - organic => 1, + attr => { + armored => 1, + organic => 1, + flying => 1, + }, speed => 0.586, - creep => 0, sight => 11, + special => [ + { + name => 'Generate Creep', + abbr => 'gc', + desc => 'place Zerg creep at current location', + duration => 15, + radius => 2, + req => 'Lair', + }, + ], upgrade => [ { + name => 'Pneumatized Carapace', + min => 100, + gas => 100, + build => 60, speed => 1.294, }, + { + name => 'Ventral Sacs', + min => 200, + gas => 200, + build => 130, + cargo => -8, + req => 'Lair', + }, ], }, @@ -1351,7 +2193,7 @@ use strict; cat => 'base', name => 'Overseer', base => ['Overlord'], - unit => -9, + pop => -9, min => 100+50, gas => 50, build => 17, @@ -1359,29 +2201,51 @@ use strict; cargo => 0, armor => 1, hp => 200, - suit => 3, # armored - organic => 1, + attr => { + armored => 1, + organic => 1, + flying => 1, + }, speed => 1.875, - creep => 0, sight => 11, + detect => 1, + energy => 50, + capacity => 200, special => [ { + name => 'Spawn Changeling', alt => 'Changeling', + cost => 50, + duration => 150, build => 1, size => 0.75, cargo => 0, armor => 0, hp => 5, - suit => 1, # light - organic => 1, + attr => { + light => 1, + organic => 1, + }, speed => 2.25, creep => 1.0, sight => 8, }, + { + name => 'Contaminate', + abbr => 'ct', + desc => 'covers an enemy structure in slime, preventing production and research for 30 seconds', + cost => 125, + range => 3, + duration => 30, + }, ], upgrade => [ { - speed => 0.875, + name => 'Pneumatized Carapace', + min => 100, + gas => 100, + build => 60, + speed => 3.375 - 1.875, }, ], }, @@ -1390,24 +2254,38 @@ use strict; race => 'zerg', cat => 'creep', name => 'Larva', - unit => 0, + pop => 0, build => 15, size => 0.25, cargo => 0, armor => 10, hp => 25, - suit => 1, # light - organic => 1, + attr => { + light => 1, + organic => 1, + }, speed => 0.5625, creep => 1.0, sight => 5, + special => [ + { + alt => 'Cocoon', + attr => { + organic => 1, + }, + hp => 200, + armor => 10, + size => 0.75, + sight => 5, + speed => 0, + }, + ], }, { race => 'zerg', cat => 'creep', name => 'Spine Crawler', - unit => 0, min => 100, gas => 0, build => 50, @@ -1415,18 +2293,23 @@ use strict; cargo => 0, armor => 2, hp => 300, - suit => 3, # armored - organic => 1, - structure => 1, - attack => { - ground => { + attr => { + armored => 1, + organic => 1, + structure => 1, + }, + attack => [ + { + anti => 1, + name => 'Impaler Tentacle', damage => 25, - #bonus => +5A, - dps => 13.5, + bonus => { + armored => 5, + }, cooldown => 1.85, + range => 7, }, - range => 7, - }, + ], speed => (1.0), creep => 2.5, sight => 11, @@ -1436,7 +2319,6 @@ use strict; race => 'zerg', cat => 'creep', name => 'Spore Crawler', - unit => 0, min => 75, gas => 0, build => 30, @@ -1444,29 +2326,35 @@ use strict; cargo => 0, armor => 1, hp => 400, - suit => 3, # armored - organic => 1, - structure => 1, - attack => { - air => { + attr => { + armored => 1, + organic => 1, + structure => 1, + }, + attack => [ + { + anti => 2, + name => 'Seeker Spores', damage => 15, - #bonus => + 30 B, - dps => 17.4, + bonus => { + organic => 30, + }, type => 'projectile', cooldown => 0.8608, + range => 7, }, - range => 7, - }, + ], speed => (1.0), creep => 2.5, sight => 11, + detect => 1, }, { race => 'zerg', cat => 'hatchery', name => 'Zergling', - unit => 0.5, + pop => 0.5, min => 25, gas => 0, build => 24, @@ -1474,29 +2362,42 @@ use strict; cargo => 1, armor => 0, hp => 35, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [5 .. 8], - dps => [7.2, 8.6, 10.0, 11.4], + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Claws', + damage => 5, + upgrade => 1, cooldown => 0.696, }, - }, + ], speed => 2.9531, creep => 1.3, range => 0, sight => 8, upgrade => [ { - attack => { - ground => { - dps => [8.5, 10.2, 11.9, 13.6], - cooldown => 0.587, + name => 'Adrenal Glands', + min => 200, + gas => 200, + build => 130, + attack => [ + { + anti => 1, + cooldown => -0.109, }, - }, + ], + req => 'Hive', }, { + name => 'Metabolic Boost', + min => 100, + gas => 100, + build => 110, speed => 1.746, }, ], @@ -1507,7 +2408,7 @@ use strict; cat => 'hatchery', name => 'Baneling', base => ['Zergling'], - unit => 0.5, + pop => 0.5, min => 25+25, gas => 25, build => 20, @@ -1515,21 +2416,36 @@ use strict; cargo => 2, armor => 0, hp => 30, - organic => 1, - attack => { - ground => { - damage => [20, 22, 24, 26], - #bonus => +15 (+2)L / +60 (+3)S, + attr => { + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Volatile Burst', + damage => 20, + upgrade => 2, + bonus => { + light => 15, + -light => 2, + structure => 60, + -structure => 3, + }, splash => 1, + range => 0, }, - range => 0, - }, + ], speed => 2.5, creep => 1.3, sight => 8, upgrade => [ { + name => 'Centrifugal Hooks', + min => 150, + gas => 150, + build => 110, speed => 0.4531, + req => 'Lair', }, ], }, @@ -1538,7 +2454,7 @@ use strict; race => 'zerg', cat => 'hatchery', name => 'Roach', - unit => 2, + pop => 2, min => 75, gas => 25, build => 27, @@ -1546,22 +2462,49 @@ use strict; cargo => 2, armor => 1, hp => 145, - suit => 3, # armored - organic => 1, - attack => { - ground => { - damage => [16, 18, 20, 22], - dps => [8 .. 11], + attr => { + armored => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Acid Saliva', # Claws melee + damage => 16, + upgrade => 2, cooldown => 2.0, }, - }, + ], speed => 2.25, creep => 1.3, range => 4, sight => 9, + special => [ + { + name => 'Rapid Regeneration', + abbr => 'rr', + desc => 'regenerates health at 5 HP/s while burrowed', + duration => -1, + }, + { + name => 'Tunneling Claws', + min => 150, + gas => 150, + build => 110, + abbr => 'tc', + desc => 'move while burrowed at speed of 2.0 and increase regeneration to 10 HP/s', + duration => -1, + req => 'Lair', + }, + ], upgrade => [ { + name => 'Glial Reconstitution', + min => 100, + gas => 100, + build => 110, speed => 0.75, + req => 'Lair', }, ], }, @@ -1570,7 +2513,7 @@ use strict; race => 'zerg', cat => 'lair', name => 'Hydralisk', - unit => 2, + pop => 2, min => 100, gas => 50, build => 33, @@ -1578,30 +2521,43 @@ use strict; cargo => 2, armor => 0, hp => 80, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [12 .. 15], - dps => [16, 17.3, 18.6, 19.9], - type => 'projectile', + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 3, + name => 'Needle Spines', # Scythe melee + damage => 12, + upgrade => 1, + type => 'projectile', # except melee cooldown => 0.75, + range => 5, }, - air => 'ground', - range => 5, - }, + ], speed => 2.25, creep => 1.5, sight => 9, upgrade => [ { - speed => 0.5625, - creep => -0.302, + name => 'Grooved Spines', + min => 150, + gas => 150, + build => 80, + attack => [ + { + range => 1, + }, + ], }, { - attack => { - range => 1, - }, + name => 'Muscular Augments', + min => 150, + gas => 150, + build => 100, + speed => 0.5625, + creep => -0.302, }, ], }, @@ -1610,7 +2566,7 @@ use strict; race => 'zerg', cat => 'lair', name => 'Infestor', - unit => 2, + pop => 2, min => 100, gas => 150, build => 50, @@ -1618,43 +2574,79 @@ use strict; cargo => 2, armor => 0, hp => 90, - suit => 3, # armored - organic => 1, - psionic => 1, + attr => { + armored => 1, + organic => 1, + psionic => 1, + }, speed => 2.25, creep => 1.3, sight => 10, + energy => 50, + capacity => 200, special => [ + { + name => 'Neural Parasite', + abbr => 'np', + desc => 'take control of target enemy unit for 15s (while within 14 range)', + cost => 100, + range => 7, + duration => 15, + min => 150, + gas => 150, + build => 110, + }, + { + name => 'Fungal Growth', + abbr => 'fg', + desc => 'for 4 seconds, immobilize enemy units in target area and deal 30 damage', + cost => 75, + range => 10, + duration => 4, + radius => 2.0, + }, { alt => 'Infested Terran', + cost => 25, + range => 9, + duration => 30, build => 5, size => 0.75, cargo => 0, armor => 0, hp => 50, - suit => 1, # light - organic => 1, - attack => { - ground => { + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 3, damage => 8, - dps => 9.3, cooldown => 0.8608, + range => 5, }, - air => 'ground', - range => 5, - }, + ], speed => 0.9375, creep => 1.3, sight => 9, }, ], + upgrade => [ + { + name => 'Pathogen Glands', + min => 150, + gas => 150, + build => 80, + energy => 25, + }, + ], }, { race => 'zerg', cat => 'lair', name => 'Nydus Worm', - unit => 0, min => 100, gas => 100, build => 20, @@ -1662,9 +2654,11 @@ use strict; cargo => 0, armor => 1, hp => 200, - suit => 3, # armored - organic => 1, - structure => 1, + attr => { + armored => 1, + organic => 1, + structure => 1, + }, speed => 0, sight => 10, }, @@ -1673,7 +2667,7 @@ use strict; race => 'zerg', cat => 'lair', name => 'Swarm Host', - unit => 4, + pop => 4, min => 100, gas => 200, build => 40, @@ -1681,15 +2675,21 @@ use strict; cargo => 4, armor => 1, hp => 160, - suit => 3, # armored - organic => 1, - attack => { - ground => { - dps => [27.9, 30.2, 32.5, 34.8], + attr => { + armored => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + dps => [16.7, undef, undef, 20.8], # 20/.6 * 2 /60*25 type => 'projectile', - cooldown => 0.86, + count => 2, + cooldown => 60, + duration => 25, + range => 3*25, # locust speed * duration = theoretical walk limit }, - }, + ], speed => 2.95, creep => 1.3, sight => 10, @@ -1701,21 +2701,38 @@ use strict; cargo => 0, armor => 0, hp => 65, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [12 .. 15], - dps => [14.0, 15.2, 16.4, 17.6], + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Acid Spit', + damage => 12, + upgrade => 1, type => 'projectile', cooldown => 0.6, + range => 3, }, - range => 3, - }, + ], speed => 1.875, creep => 1.4, sight => 6, duration => 25, + cooldown => 60, + count => 2, + }, + ], + upgrade => [ + { + name => 'Flying Locusts', + min => 200, + gas => 200, + build => 160, + attr => { + flying => 1, + }, }, ], }, @@ -1724,7 +2741,7 @@ use strict; race => 'zerg', cat => 'lair', name => 'Mutalisk', - unit => 2, + pop => 2, min => 100, gas => 100, build => 33, @@ -1732,28 +2749,40 @@ use strict; cargo => 0, armor => 0, hp => 120, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [9 .. 12], - dps => [5.9, 6.6, 7.3, 8.0], + attr => { + light => 1, + organic => 1, + flying => 1, + }, + attack => [ + { + anti => 3, + name => 'Glaive Wurm', + damage => 9, + upgrade => 1, splash => 'bounce', + type => 'projectile', psionic => 1, cooldown => 1.5246, + range => 3, }, - air => 'ground', - range => 3, - }, + ], speed => 4, sight => 11, + upgrade => [ + { + name => 'Tissue Regeneration', + abbr => 'tr', + desc => 'health regeneration rate increased to 1 HP per second', + }, + ], }, { race => 'zerg', cat => 'lair', name => 'Corruptor', - unit => 2, + pop => 2, min => 150, gas => 100, build => 40, @@ -1761,20 +2790,37 @@ use strict; cargo => 0, armor => 2, hp => 200, - suit => 3, # armored - organic => 1, - attack => { - air => { - damage => [14 .. 17], - #bonus => +6 (+1)Ma, - dps => [7.4, 7.9, 8.4, 8.9], + attr => { + armored => 1, + organic => 1, + flying => 1, + }, + attack => [ + { + anti => 2, + name => 'Parasite Spores', + damage => 14, + upgrade => 1, + bonus => { + massive => 6, + -massive => 1, + }, type => 'projectile', cooldown => 1.9, + range => 6, }, - range => 6, - }, + ], speed => 2.9531, sight => 10, + special => [ + { + name => 'Corruption', + desc => 'target unit takes 20% more damage for 30 seconds', + cooldown => 45, + range => 6, + duration => 40, + }, + ], }, { @@ -1782,7 +2828,7 @@ use strict; cat => 'hive', name => 'Brood Lord', base => ['Corruptor'], - unit => 4, + pop => 4, min => 150+150, gas => 100+150, build => 34, @@ -1790,43 +2836,61 @@ use strict; cargo => 0, armor => 1, hp => 225, - suit => 3, # armored - organic => 1, - massive => 1, - attack => { - ground => { - damage => [20, 22, 24, 26], - dps => [8.0, 8.8, 9.6, 10.4], + attr => { + armored => 1, + organic => 1, + massive => 1, + flying => 1, + }, + attack => [ + { + anti => 1, + name => 'Broodling Strike', + damage => 20, + upgrade => 2, cooldown => 2.5, + range => 9.5, }, - range => 9.5, - }, + ], speed => 1.4062, sight => 12, special => [ { + name => 'Swarm Seeds', + abbr => 'ss', + desc => 'Broodlings are spawned upon each attack', + duration => -1, alt => 'Broodling', - unit => 0, - min => 0, - build => 1, + pop => 0, +# build => 1, size => 0.75, cargo => 0, armor => 0, hp => 30, - suit => 1, # light - organic => 1, - attack => { - ground => { - damage => [4 .. 7], - dps => [6.2, 7.7, 9.2, 10.7], + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Claws', + damage => 4, + upgrade => 1, cooldown => 0.6455, + range => 0, }, - range => 0, - }, + ], speed => 3.836, creep => 1.0, sight => 7, }, + { + name => 'Frenzied', + abbr => 'fz', + desc => 'immune to snare, stun, mind control, and movement altering effects', + duration => -1, + }, ], }, @@ -1834,7 +2898,7 @@ use strict; race => 'zerg', cat => 'hive', name => 'Viper', - unit => 3, + pop => 3, min => 100, gas => 200, build => 40, @@ -1842,18 +2906,51 @@ use strict; cargo => 0, armor => 1, hp => 150, - suit => 3, # armored - organic => 1, - psionic => 1, + attr => { + armored => 1, + organic => 1, + psionic => 1, + flying => 1, + }, speed => 2.9531, sight => 11, + energy => 50, #XXX + capacity => 200, + special => [ + { + name => 'Blinding Cloud', + abbr => 'bc', + desc => 'all attacks from within cloud are reduced to melee range', + cost => 100, + range => 11, + duration => 14, + radius => 2, + }, + { + name => 'Abduct', + abbr => 'ad', + desc => 'pull target unit to Viper\'s location', + cost => 75, + range => 9, + duration => 10, + }, + { + name => 'Consume', + abbr => 'cs', + desc => 'leaches 200 life of friendly building over 20s to gain 50 energy', + cost => -50, + duration => 20, + range => 7, + cooldown => 1, + }, + ], }, { race => 'zerg', cat => 'hive', name => 'Ultralisk', - unit => 6, + pop => 6, min => 300, gas => 200, build => 55, @@ -1861,23 +2958,39 @@ use strict; cargo => 8, armor => 1, hp => 500, - suit => 3, # armored - organic => 1, - massive => 1, - attack => { - ground => { - damage => [35, 38, 41, 44], - dps => [40.7, 44.2, 47.7, 51.2], + attr => { + armored => 1, + organic => 1, + massive => 1, + }, + attack => [ + { + anti => 1, + name => 'Kaiser Blades', + damage => 35, + upgrade => 3, splash => 1, cooldown => 0.861, + range => 1, }, - range => 1, - }, + ], speed => 2.9531, creep => 1.3, sight => 9, + special => [ + { + name => 'Frenzied', + abbr => 'fz', + desc => 'immune to snare, stun, mind control, and movement altering effects', + duration => -1, + }, + ], upgrade => [ { + name => 'Chitinous Plating', + min => 150, + gas => 150, + build => 110, armor => 2, }, ],