X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/a4e15cb67b375952ca62d9dcfc95095b8e99b5e3..HEAD:/sc-units-lotv.inc.pl diff --git a/sc-units-lotv.inc.pl b/sc-units-lotv.inc.pl index b2d61e6..9a2433d 100644 --- a/sc-units-lotv.inc.pl +++ b/sc-units-lotv.inc.pl @@ -1,6 +1,7 @@ use utf8; use strict; +my $V = v5.0.11; my $RT = 1.4; # real-time speed factor to faster my $hots = do 'sc-units-hots.inc.pl' or die $!; @@ -8,47 +9,454 @@ my %unit; for my $row (@{$hots}) { ref $row eq 'HASH' or next; for ($row, @{ $row->{special} }, @{ $row->{upgrade} }) { - $_ *= $RT for $_->{speed}; - $_ /= $RT for $_->{build}, $_->{warp} // (); - $_->{cooldown} /= $RT for @{ $_->{attack} // [] }; + $_ *= $RT for $_->{speed} // (); + $_ /= $RT for $_->{build} // (), $_->{transform} // (), $_->{warp} // (), $_->{cooldown} // (); + $_->{cooldown} and $_->{cooldown} /= $RT for @{ $_->{attack} // [] }; } $unit{ lc $row->{name} =~ tr/ /_/r } = $row; } [ -'patch 4.1.4', +sprintf('patch %vd', $V), # protoss $unit{probe}, + $unit{photon_cannon}, -$unit{mothership}, -$unit{nexus}, -$unit{zealot}, -$unit{sentry}, -$unit{stalker}, + +{ + %{ $unit{mothership} }, + speed => 2.62, + special => [ + $unit{mothership}->{special}->[0], # cf + $unit{mothership}->{special}->[1], # mr + { + %{ $unit{mothership}->{special}->[2] }, # tw + desc => $V lt v4.11.0 ? 'create a temporal field which slows ground units by 50%' + : 'create a temporal field which slows ground and air units by 50%', + }, + ], +}, + +{ + %{ $unit{nexus} }, + attack => [], + energy => 50, + capacity => 200, + special => [ + $unit{nexus}->{special}->[0], # chrono boost + { + name => $V lt v4.7.1 ? 'Mass Recall' : 'Strategic Recall', + abbr => 'sr', + desc => 'recalls units owned by the player in the target area to the Nexus', + cost => 50, + cooldown => $V lt v4.7.1 || $V ge v4.10.1 ? 130 : 85, + radius => $V lt v4.7.1 ? 6.5 : 2.5, + duration => 3.6, # +.7 warp in + }, + $V lt v4.12.0 ? () : { + name => 'Battery Overcharge', + abbr => 'bo', + desc => sprintf( + 'increase target Shield Battery restoration rate by %d%% and function without consuming energy for 14s', + $V ge v5.0.11 ? 50 : 100, + ), + cost => 50, + duration => 14, + cooldown => 60, # shared by all nexuses + range => 8, # within any friendly nexus + }, + ], +}, + +{ + %{ $unit{zealot} }, + special => [ + { + name => 'Charge', + abbr => 'ch', + desc => 'on attack, increases movement speed to 8.47 for 2.5s and deals 8 damage on hit', + min => 100, # changed in 3.14.0 + gas => 100, + build => 100, + speed => .5, + range => 4, + duration => 2.5, + cooldown => 7, + }, + ], + upgrade => [ + { + name => 'Charge', + speed => $V lt v4.11.0 ? .98 : 1.57, + }, + ], +}, + +{ + %{ $unit{sentry} }, + build => $V ge v5.0.11 ? 22.9 : 26.4, + speed => $V ge v5.0.11 ? 3.5 : 3.15, + special => [ + $unit{sentry}->{special}->[0], # ff + { + %{ $unit{sentry}->{special}->[1] }, # gs + radius => $V lt v4.7.1 ? 4 : 4.5, + }, + { + %{ $unit{sentry}->{special}->[2] }, # hl + cost => $V lt v4.7.1 ? 100 : 75, + }, + ], +}, + +{ + %{ $unit{stalker} }, + attack => [ + { + %{ $unit{stalker}->{attack}->[0] }, # particle disruptors + damage => 13, + bonus => { + armored => 5, + -armored => 1, + }, + cooldown => 1.34, + }, + ], +}, + { race => 'protoss', cat => 'gateway', name => 'Adept', + pop => 2, + min => 100, + gas => 25, + build => $V lt v4.8.2 ? 27 : 30, + warp => 20, + size => 1, + cargo => 2, + armor => 1, + hp => 70, + shield => 70, + attr => { + light => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => undef, #TODO + damage => 10, + upgrade => 1, + bonus => { + light => 12, + -light => 1, + }, + type => 'projectile', #XXX: assumption + cooldown => 1.61, + range => 4, + }, + ], + speed => 3.5, + sight => 9, + special => [ + { + name => 'Psionic Transfer', + abbr => 'pt', + desc => 'project shade, teleport after 7s', + cooldown => 11, + + alt => 'Shade', + build => 0, + size => 0, + cargo => 0, + hp => -1, + attack => [], #TODO: indicate diff from parent + speed => 5, #XXX: faster than 3.5 + range => 7, #XXX: calculate from speed + sight => 4, + }, + ], + upgrade => [ + { + name => 'Resonating Glaives', + min => 100, + gas => 100, + build => 100, + attack => [ + { + cooldown => $V lt v4.11.0 || $V ge v4.11.3 ? -.5 : -.6, # +45%/60% + }, + ], + }, + ], }, -$unit{high_templar}, -$unit{dark_templar}, + +{ + %{ $unit{high_templar} }, + speed => $V ge v5.0.11 ? 2.82 : 2.63, + attack => [ + { + anti => 1, + name => '?', #XXX + damage => 4, + upgrade => 1, + cooldown => 1.25, + range => 6, + }, + ], + special => [ + { + $unit{high_templar}->{special}->[0], # fb + range => $V lt v4.12.0 ? 9 : 10, + }, + $unit{high_templar}->{special}->[1], # ps + ], +}, + +{ + %{ $unit{dark_templar} }, + special => [ + $unit{dark_templar}->{special}->[0], # cl + { + name => 'Shadow Stride', + abbr => 'bl', + desc => sprintf('teleport to visible location, %.2fs attack delay afterwards', $V ge v5.0.11 ? .71 : .75), + min => 100, + gas => 100, + build => $V lt v4.7.1 ? 121 : 100, + range => 8, + cooldown => $V lt v4.7.1 ? 21 : 14, + }, + ], +}, + $unit{archon}, -$unit{observer}, -$unit{warp_prism}, + +{ + %{ $unit{observer} }, + speed => $V ge v5.0.11 ? 2.82 : $V lt v4.8.2 || $V ge v4.11.0 ? 2.63 : 3.01, + size => $V ge v5.0.11 ? 1.1 : 1, + special => [ + $unit{observer}->{special}->[0], # cloak + { + name => 'Surveillance Mode', + abbr => 'sm', + desc => 'gain 25% vision while immobilized', + speed => 0, + sight => 2.75, # +25% + transform => .54, + }, + ], +}, + +{ + %{ $unit{warp_prism} }, + hp => 80, + min => $V lt v4.10.1 ? 200 : 250, + range => $V lt v4.10.1 ? 6 : 5, # pickup + upgrade => [ + { + %{ $unit{warp_prism}->{special}->[0] }, # gravitic drive + speed => 1.23, + }, + ], +}, + $unit{immortal}, -$unit{colossus}, + +{ + %{ $unit{colossus} }, + attack => [ + { + %{ $unit{colossus}->{attack}->[0] }, # thermal lances + damage => 10, + upgrade => 1, + bonus => { + light => 5, + -light => 1, + }, +# cooldown => 1.18, #XXX + }, + ], +}, + { race => 'protoss', cat => 'robotic', name => 'Disruptor', + pop => 3, + min => 150, + gas => 150, + build => 36, + size => 1, + cargo => 4, + armor => 1, + hp => 100, + shield => 100, + attr => { + armored => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => 'Purification Nova', + damage => 145, + bonus => { + shields => 55, + }, + type => 'trans', #TODO: indicate + splash => $V ge v5.0.11 ? 1.375 : 1.5, + cooldown => 14.3, + range => 13, # 2s + }, + ], + speed => 3.15, + sight => 9, }, + $unit{phoenix}, -$unit{void_ray}, -$unit{oracle}, -$unit{tempest}, -$unit{carrier}, + +{ + %{ $unit{void_ray} }, + min => $V lt v5.0.9 && $V ge v5.0.2 ? 200 : 250, + speed => $V lt v5.0.2 ? 3.5 : 3.85, + build => $V lt v5.0.9 && $V ge v5.0.2 ? 37 : 43, + upgrade => [ + { + name => 'Flux Vanes', + min => 100, + gas => 100, + build => 57, + speed => $V lt v5.0.2 ? 1.15 : .798, + }, + ], +}, + +{ + %{ $unit{oracle} }, + build => 37, + attr => { + $V lt v4.8.2 ? 'light' : 'armored' => 1, + mech => 1, + psionic => 1, + flying => 1, + }, + attack => [ + { + %{ $unit{oracle}->{attack}->[0] }, # pulsar beam + bonus => { + light => 7, + }, + }, + ], + special => [ + { + name => 'Revelation', + abbr => 'rv', + desc => 'hit enemy units and buildings are revealed for ½ minute', + cost => $V lt v4.12.0 ? 50 : 25, + range => 9, + cooldown => $V lt v4.12.0 ? 2 : 10, + duration => $V lt v4.12.0 ? 30 : $V lt v5.0.2 ? 15 : 20, + radius => 6, + detect => 1, + }, + { + name => 'Stasis Ward', + abbr => 'sw', + desc => 'places ward for 170s', + cost => 50, + range => 6, + build => 3.58, + duration => 170, + alt => 'Stasis Ward', + hp => 30, + shield => 30, + armor => 0, + attr => { + light => 1, + structure => 1, + }, + sight => 0, + speed => 0, + special => [ + { + name => 'Permanent Cloak', + abbr => 'cl', + desc => 'cloaked at all times', + duration => -1, + }, + { + name => 'Stasis Trap', + abbr => 'st', + desc => 'triggered by nearby ground units, trapping them for 21½s', + }, + ], + }, + ], +}, + +{ + %{ $unit{tempest} }, + hp => $V lt v4.7.1 ? 300 : $V lt v4.11.0 ? 150 : 200, + shield => $V lt v4.7.1 ? 150 : $V lt v4.11.0 ? 125 : 100, + min => $V lt v4.7.1 ? 300 : 250, + gas => $V lt v4.7.1 ? 200 : 175, + pop => $V lt v4.7.1 ? 6 : 5, + speed => $V lt v4.7.1 ? 2.63 : $V lt v4.8.2 ? 3.5 : 3.15, + attack => [ + { + %{ $unit{tempest}->{attack}->[0] }, # kinetic overload + bonus => { + massive => 22, + -massive => 2, + }, + range => $V lt v4.11.0 ? 15 : 14, + }, + { + %{ $unit{tempest}->{attack}->[1] }, # resonance coil + bonus => { + structure => 0, + }, + damage => 40, + upgrade => 4, + }, + ], + upgrade => [ + $V lt v5.0.2 ? () : { + name => 'Tectonic Destabilizers', + attack => [ + {}, + { + bonus => { + structure => 40, + }, + }, + ], + min => 150, + gas => 150, + build => 100, + }, + ], +}, + +{ + %{ $unit{carrier} }, + hp => $V lt v4.7.1 ? 250 : 300, + build => $V lt v4.7.1 ? 86 : 64, + special => [ + { + %{ $unit{carrier}->{special}->[0] }, # interceptor + min => 5, + build => $V lt v4.7.1 ? 6 : $V lt v4.10.1 ? 11 : 9, + }, + ], + $V lt v4.7.1 ? () : (upgrade => []), # remove Graviton Catapult +}, # terran @@ -56,62 +464,706 @@ $unit{scv}, $unit{mule}, $unit{missile_turret}, $unit{planetary_fortress}, + $unit{marine}, -$unit{marauder}, -$unit{reaper}, -$unit{ghost}, -$unit{hellion}, -$unit{hellbat}, -$unit{widow_mine}, -$unit{siege_tank}, + +{ + %{ $unit{marauder} }, + attack => [ + { + %{ $unit{marauder}->{attack}->[0] }, # punisher grenades + count => $V lt v4.3.0 ? 2 : 1, + damage => $V lt v4.3.0 ? 5 : 10, + upgrade => 1, + bonus => { + armored => $V lt v4.3.0 ? 5 : 10, + -armored => $V lt v4.3.0 ? 0 : 1, + }, + }, + ], +}, + +{ + %{ $unit{reaper} }, + build => 32, +}, + +{ + %{ $unit{ghost} }, + min => 150, + gas => 125, + speed => 3.94, + special => [ + { + # replaces Sniper Round + name => 'Steady Targeting', + abbr => 'st', + desc => '170 damage ignoring armor to a biological unit after 1.43s without damage', + cost => 50, + range => 10, # kept until 14 + duration => 1.43, + }, + { + %{ $unit{ghost}->{special}->[1] }, # emp round + radius => $V ge v5.0.11 ? 1.75 : $V lt v4.10.1 ? 1.5 : 2, + }, + $unit{ghost}->{special}->[2], # cloak + $unit{ghost}->{special}->[3], # tac nuke strike + ], + upgrade => [ + $V ge v5.0.11 || $V lt v4.10.1 ? () : { + name => 'Enhanced Shockwaves', + min => 150, + gas => 150, + build => 79, + special => [ + {}, + { radius => .5 }, # emp + {}, + {}, + ], + }, + ], +}, + +{ + %{ $unit{hellion} }, + attack => [ + { + %{ $unit{hellion}->{attack}->[0] }, # infernal flamethrower + bonus => { + light => 5, + -light => 0, + }, + }, + ], + #TODO smart servos +}, + +{ + %{ $unit{hellbat} }, + special => [ + $unit{hellbat}->{special}->[0], # Hellion Mode + { + name => 'Smart Servos', + min => 100, + gas => 100, + build => 79, + transform => -1.43, # halve #TODO: alter special duration? + }, + ], +}, + +{ + %{ $unit{widow_mine} }, + build => 21, + attack => [ + { + %{ $unit{widow_mine}->{attack}->[0] }, # Sentinel Missiles + bonus => { + shields => 25, + }, + transform => $V lt v5.0.9 ? .71 : 1.07, + }, + ], +}, + +{ + %{ $unit{siege_tank} }, + hp => 175, + special => [ + { + %{ $unit{siege_tank}->{special}->[0] }, # siege mode + attack => [ + { + %{ $unit{siege_tank}->{special}->[0]->{attack}->[0] }, # shock cannon + damage => 40, + upgrade => 4, + bonus => { + armored => 30, + -armored => 1, + }, + cooldown => 2.14, + }, + ], + }, + ], +}, + { race => 'terran', cat => 'factory', name => 'Cyclone', + pop => 3, + min => 150, + gas => 100, + build => 32, + size => 1.5, + cargo => 3, + armor => 1, + hp => $V lt v4.7.1 ? 180 : 120, + attr => { + armored => 1, + mech => 1, + }, + attack => [ + { + anti => 1, + name => $V lt v4.7.1 ? 'Tornado Blaster' : 'Typhoon Missile Pod', + damage => $V lt v4.7.1 ? 3 : 18, + upgrade => $V lt v4.7.1 ? 1 : 2, + bonus => $V ge v4.7.1 ? {} : { + armored => 2, + -armored => 0, + }, + cooldown => $V lt v4.7.1 ? .1 : .71, + range => $V lt v4.7.1 ? 6 : 5, + }, + ], + speed => $V lt v4.7.1 ? 4.13 : 4.73, + sight => 11, + special => [ + { + name => 'Lock On', + abbr => 'lo', + desc => ( + $V ge v5.0.11 ? 'deal 400 damage (600 after upgrade) over 14 seconds' : + $V ge v4.7.1 ? 'deal 400 damage (double to armored after upgrade) over 14 seconds' : + 'target air for 160 damage ignoring armor while visible and within 15 range' + ), + range => 7, + duration => 14.3, + cooldown => 4, + }, + $V ge v4.7.1 ? () : { + name => 'Rapid Fire Launchers', + abbr => 'rf', + desc => 'rapid first 12 Lock On shots', + min => 75, + gas => 75, + build => 79, + }, + ], + upgrade => [ + $V lt v4.7.1 ? () : { + name => 'Mag-Field Accelerator', + min => 100, + gas => 100, + build => $V lt v4.8.2 ? 79 : 100, + desc => 'increases lock-on damage by '.($V ge v5.0.11 ? '50%' : '100% vs armored'), + }, + ], }, -$unit{thor}, -$unit{viking}, -$unit{medivac}, + +{ + %{ $unit{thor} }, + armor => $V ge v3.14.0 && $V lt v4.7.1 ? 2 : 1, + attack => [ + $unit{thor}->{attack}->[0], # thor's hammer + $unit{thor}->{attack}->[1], # javelin missiles + { + %{ $unit{thor}->{attack}->[2] }, # punisher cannons + name => 'High Impact Payload', + damage => $V lt v4.7.1 ? 35 : $V lt v4.11.0 ? 40 : 25, + upgrade => 3, + bonus => { + $V lt v4.7.1 ? 'armored' : 'massive' => $V lt v4.11.0 ? 15 : 10, + $V lt v4.7.1 ? '-armored' : '-massive' => 2, + }, + cooldown => $V lt v4.7.1 ? 2.14 : $V lt v4.11.0 ? 1.71 : .9, + range => $V lt v4.8.2 ? 10 : 11, + }, + ], + #TODO smart servos +}, + +{ + %{ $unit{viking} }, + hp => $V lt v4.3.0 ? 125 : 135, +}, + +{ + %{ $unit{medivac} }, + special => [ + $unit{medivac}->{special}->[0], # heal + { + %{ $unit{medivac}->{special}->[1] }, # ignite afterburners + desc => 'boost speed and accelleration to 4.25 for 8s', + speed => 5.94, + duration => $V lt v4.7.1 ? 6.43 : 4.29, + cooldown => $V lt v4.11.0 ? 20 : 14, + -cooldown => 9, + }, + ], + upgrade => [ + { + name => 'Rapid Reignition System', + min => 100, + gas => 100, + build => 57, + speed => .63, + }, + ], +}, + { race => 'terran', cat => 'starport', name => 'Liberator', + + pop => 3, + min => 150, + gas => $V ge v5.0.11 ? 125 : 150, + build => 43, + size => 1.5, + armor => 0, + hp => 180, + attr => { + armored => 1, + mech => 1, + flying => 1, + }, + attack => [ + { + anti => 2, + name => 'Lexington Rockets', + damage => 5, + upgrade => 1, + type => 'projectile', + cooldown => 1.29, + count => 2, + range => 5, + }, + ], + special => [ + { + name => 'Defender Mode', + abbr => 'dm', + transform => 2.88, # 1.46s to revert + alt => 'Defender Liberator', + attack => [ + { + anti => 1, + name => 'Concord Cannon', + desc => 'within 5 diameter circle', + damage => 75, + upgrade => 5, + cooldown => 1.14, + range => 10, + }, + ], + speed => 0, + sight => 15, # only targeted area + upgrade => [ + { + name => 'Advanced Ballistics', + min => 150, + gas => 150, + build => 79, + attack => [ + { + range => 4, + }, + ], + sight => 4, + }, + ], + }, + ], + speed => 4.72, + sight => 10, +}, + +{ + %{ $unit{banshee} }, + speed => 3.85, + upgrade => [ + { + name => 'Hyperflight Rotors', + speed => 1.4, + min => $V ge v5.0.11 ? 125 : $V ge v4.7.1 ? 150 : 200, + gas => $V ge v5.0.11 ? 125 : $V ge v4.7.1 ? 150 : 200, + build => $V ge v5.0.11 ? 100 : 121.4, + }, + ], +}, + +{ + %{ $unit{raven} }, + gas => $V ge v5.0.11 ? 150 : 200, + build => $V ge v5.0.11 ? 34.3 : 42.9, + speed => $V lt v4.11.0 ? 3.85 : 4.13, + upgrade => $V ge v5.0.11 ? [] : $unit{raven}->{upgrade}, # corvid reactor + special => [ + { + %{ $unit{raven}->{special}->[0] }, # auto-turret + attack => [ + { + anti => 3, + name => '12 mm Gauss Cannon', + damage => 18, + cooldown => .57, + range => 6, + }, + ], + hp => $V ge v5.0.11 ? 100 : 150, + armor => $V ge v5.0.11 ? 0 : 1, + range => $V lt v4.3.0 ? 1 : 2, + duration => $V ge v5.0.11 ? 7.9 : 10, + upgrade => [ + $unit{raven}->{special}->[0]->{upgrade}->[0], # hi-sec auto tracking + $unit{raven}->{special}->[0]->{upgrade}->[1], # structure armor + # no more durable materials + ], + }, + { + name => 'Interference Matrix', + abbr => 'im', + desc => 'disable target mech or psionic unit rendering it unable to attack or cast', + cost => $V lt v4.11.0 ? 50 : 75, + range => 9, + duration => $V lt v4.11.0 ? 7.9 : 11, + }, + { + name => 'Anti-Armor Missile', + abbr => 'aa', + desc => sprintf('launches missile %s reduce armor by %d', + $V lt v4.7.1 ? 'to do splash damage and' : 'to', + $V ge v5.0.11 ? 2 : 3, + ), + range => 10, + size => 2.88, + attack => [ + { + damage => $V lt v4.3.0 ? 30 : $V lt v4.7.1 ? 15 : 0, + splash => 1, + }, + ], + cost => 75, + duration => 21, + }, + ], +}, + +{ + %{ $unit{battlecruiser} }, + attack => [ + $unit{battlecruiser}->{attack}->[0], # ats laser + { + %{ $unit{battlecruiser}->{attack}->[1] }, # ata laser + damage => $V lt v4.7.1 ? 6 : 5, + }, + ], + special => [ + { + name => 'Tactical Jump', + abbr => 'tj', + desc => 'warps to the target location after 5s (invulnerable after 1s)', + duration => 4, + cooldown => 71, + }, + { + %{ $unit{battlecruiser}->{special}->[0] }, # yc + desc => '240 damage to a single target', + attack => [ + { + damage => 240, + }, + ], + cost => undef, + cooldown => 71, + }, + ], + upgrade => [], }, -$unit{banshee}, -$unit{raven}, -$unit{battlecruiser}, # zerg -$unit{larva}, $unit{drone}, -$unit{queen}, -$unit{overlord}, -$unit{overseer}, + +{ + %{ $unit{queen} }, + attack => [ + $unit{queen}->{attack}->[0], # claws + { + %{ $unit{queen}->{attack}->[1] }, # acid spines + range => $V lt v4.12.0 ? 8 : 7, + }, + ], + range => 8, +}, + +{ + %{ $unit{overlord} }, + speed => .902, # changed in 4.0.0 + upgrade => [ + { + %{ $unit{overlord}->{upgrade}->[0] }, # carapace + speed => 2.63-.902, + }, + $unit{overlord}->{upgrade}->[1], # sacs + ], +}, + +{ + %{ $unit{overseer} }, + special => [ + { + name => 'Oversight Mode', + abbr => 'om', + desc => 'gain 25% vision while immobilized', + speed => 0, + sight => 11 * 1.25, + transform => .54, + }, + @{ $unit{overseer}->{special} }, # changeling, contaminate + ], +}, + $unit{larva}, $unit{spine_crawler}, -$unit{spore_crawler}, + +{ + %{ $unit{spore_crawler} }, + attack => [ + { + %{ $unit{spore_crawler}->{attack}->[0] }, # seeker spores + bonus => { + organic => 15, + }, + }, + ], + speed => (1.5), + creep => 2.6, +}, + $unit{zergling}, -$unit{baneling}, -$unit{roach}, + +{ + %{ $unit{baneling} }, + min => 25, + attack => [ + { + %{ $unit{baneling}->{attack}->[0] }, # volatile burst + damage => $V lt v4.12.0 ? 20 : $V lt v5.0.2 ? 18 : 15, + bonus => { + light => $V lt v4.12.0 ? 15 : $V lt v5.0.2 ? 17 : 20, + -light => 2, + structure => 80, + -structure => 5, + }, + splash => 1, + range => 0, + }, + ], + upgrade => [ + { + %{ $unit{baneling}->{upgrade}->[0] }, # centrifugal hooks + hp => 5, + }, + ], +}, + +{ + %{ $unit{roach} }, + special => [ + { + %{ $unit{roach}->{special}->[0] }, # rapid regeneration + desc => 'regenerates health at 7 HP/s while burrowed', + }, + { + %{ $unit{roach}->{special}->[1] }, # tunneling claws + min => $V lt v4.7.1 ? 150 : 100, + gas => $V lt v4.7.1 ? 150 : 100, + build => 79, + desc => 'move while burrowed at speed of 2.8', + }, + ], +}, + { race => 'zerg', cat => 'hatchery', name => 'Ravager', + base => ['Roach'], + pop => 3, + min => 25, + gas => 75, + build => $V ge v5.0.11 ? 12.14 : 8.57+.36, # added max random + size => 1.5, + cargo => 4, + armor => 1, + hp => 120, + attr => { + organic => 1, + }, + attack => [ + { + anti => 1, + name => '?', + damage => 16, + upgrade => 2, + type => 'projectile', + cooldown => 1.14, + range => 6, + }, + ], + speed => 3.85, + creep => 1.3, + sight => 9, +}, + +{ + %{ $unit{hydralisk} }, + hp => 90, + upgrade => [ + { + %{ $unit{hydralisk}->{upgrade}->[0] }, # grooved spines + attack => [ + { + range => 2, + }, + ], + }, + $unit{hydralisk}->{upgrade}->[1], # muscular augments + ], }, -$unit{hydralisk}, + { race => 'zerg', cat => 'lair', name => 'Lurker', + base => ['Hydralisk'], + pop => 3, + min => 50, + gas => 100, + build => 18, + cargo => 4, + armor => 1, + hp => 200, + attr => { + armored => 1, + organic => 1, + }, + attack => [ + { + anti => 1, + name => 'Spines', + damage => 20, + upgrade => 2, + splash => 'line', + cooldown => 1.43, + range => $V lt v4.11.0 ? 9 : 8, + bonus => { + armored => 10, + -armored => 1, + }, + }, + ], + transform => 2.0, + upgrade => [ + $V lt v4.11.0 ? () : { + name => 'Seismic Spines', + attack => [ + { + range => 2, + }, + ], + req => 'Hive', + min => 150, + gas => 150, + build => 57, + }, + { + name => 'Adaptive Talons', + desc => 'halves burrow time and increases movement speed', + speed => .413, + transform => $V lt v5.0.9 ? .71 : 1.07, + }, + ], + speed => 4.13, + creep => 1.3, + sight => 10, }, -$unit{infestor}, -$unit{nydus_worm}, -$unit{swarm_host}, + +{ + %{ $unit{infestor} }, + special => [ + { + %{ $unit{infestor}->{special}->[0] }, # neural parasite + range => $V lt v4.11.0 ? 9 : 8, + }, + $unit{infestor}->{special}->[1], # fungal growth + { + name => 'Microbial Shroud', + abbr => 'ms', + desc => 'reduce damage from air by 50% to ground units in target area', + cost => $V lt v4.11.3 ? 100 : 75, + min => $V lt v4.11.3 ? 150 : undef, + gas => $V lt v4.11.3 ? 150 : undef, + build => $V lt v4.11.3 ? 79 : undef, + req => $V lt v4.11.3 ? 'Hive' : undef, + range => 9, + duration => 11, + radius => $V lt v4.11.3 ? 3 : 3.5, + }, + $V ge v4.11.0 ? () : { + %{ $unit{infestor}->{special}->[2] }, # infested terran + attack => [ + { + %{ $unit{infestor}->{special}->[2]->{attack}->[0] }, # rockets + cooldown => $V lt v4.10.1 ? .95 : 1.14, + }, + ], + }, + ], +}, + +{ + % {$unit{nydus_worm} }, + min => $V lt v4.7.1 ? 100 : $V lt v4.11.0 ? 50 : 75, # Nydus Network costs 150/150 + gas => $V lt v4.7.1 ? 100 : $V lt v4.11.0 ? 50 : 75, + cooldown => $V lt v4.11.0 ? 0 : 14, # Summon Nydus Worm +}, + +{ + %{ $unit{swarm_host} }, + gas => 75, + special => [ + { + %{ $unit{swarm_host}->{special}->[0] }, # locust + hp => 50, + upgrade => [], # no flying + }, + ], + upgrade => [], +}, + $unit{mutalisk}, $unit{corruptor}, -$unit{brood_lord}, + +{ + %{ $unit{brood_lord} }, + speed => $V ge v5.0.11 ? 2.24 : 1.97, +}, + $unit{viper}, -$unit{ultralisk}, + +{ + %{ $unit{ultralisk} }, + armor => 2, + size => $V ge v5.0.11 ? 1.75 : 2, + upgrade => [ + $unit{ultralisk}->{upgrade}->[0], # chitinous plating + { + name => 'Anabolic Synthesis', + min => 150, + gas => 150, + build => 42.85, + speed => $V lt v4.8.2 ? .41 : .82, + creep => -.215, # reverse speed increase + }, + ], +}, ]