use utf8;
use strict;
+my $V = v5.0.13;
my $RT = 1.4; # real-time speed factor to faster
my $hots = do 'sc-units-hots.inc.pl' or die $!;
}
[
-'patch 4.1.4',
+sprintf('patch %vd', $V),
# protoss
{
%{ $unit{mothership} },
- speed => 2.62,
+ pop => $V ge v5.0.12 ? 6 : 8,
+ min => $V ge v5.0.12 ? 300 : 400,
+ gas => $V ge v5.0.12 ? 300 : 400,
+ build => $V ge v5.0.12 ? 79 : 114,
+ size => $V ge v5.0.12 ? 2.475 : 2.75,
+ hp => $V ge v5.0.12 ? 250 : 350,
+ shield => $V ge v5.0.12 ? 250 : 350,
+ speed => $V ge v5.0.12 ? 2.83 : 2.62, # rotation speed also increased
+ energy => $V ge v5.0.12 ? 0 : 50,
+ special => [
+ {
+ %{ $unit{mothership}->{special}->[0] }, # cf
+ $V lt v5.0.12 ? () : (
+ cooldown => 50,
+ duration => 20,
+ desc => $unit{mothership}->{special}->[0]->{desc} . ' for 20s',
+ ),
+ },
+ {
+ %{ $unit{mothership}->{special}->[1] }, # mr
+ cost => $V ge v5.0.12 ? 0 : 100,
+ cooldown => $V ge v5.0.12 ? 89 : 0,
+ radius => $V ge v5.0.12 ? 5 : 6.5,
+ },
+ {
+ %{ $unit{mothership}->{special}->[2] }, # tw
+ desc => $V lt v4.11.0 ? 'create a temporal field which slows ground units by 50%' :
+ $V lt v5.0.12 ? 'create a temporal field which slows ground and air units by 50%' :
+ 'create a temporal field which slows ground and air units by 40%',
+ cost => $V ge v5.0.12 ? 0 : 100,
+ cooldown => $V ge v5.0.12 ? 60 : 0,
+ radius => $V ge v5.0.12 ? 3.75 : 4,
+ delay => $V ge v5.0.12 ? .71 : 1.79,
+ },
+ ],
},
-$unit{nexus},
+{
+ %{ $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} },
upgrade => [
{
name => 'Charge',
- speed => .98,
+ speed => $V lt v4.11.0 ? .98 : 1.57,
},
],
},
-$unit{sentry},
+{
+ %{ $unit{sentry} },
+ build => $V ge v5.0.11 ? 22.9 : 26.4,
+ speed => $V ge v5.0.11 ? 3.5 : 3.15,
+ attr => {
+ %{ $unit{sentry}->{attr} },
+ light => $V ge v5.0.13 ? 0 : 1,
+ },
+ attack => [
+ {
+ %{ $unit{sentry}->{attack}->[0] }, # beam
+ bonus => {
+ $V ge v5.0.13 ? (shields => 4) : (),
+ },
+ },
+ ],
+ special => [
+ $unit{sentry}->{special}->[0], # ff
+ {
+ %{ $unit{sentry}->{special}->[1] }, # gs
+ radius => $V lt v4.7.1 ? 4 : 4.5,
+ duration => $V ge v5.0.12 ? 12.86 : 10.71,
+ },
+ {
+ %{ $unit{sentry}->{special}->[2] }, # hl
+ cost => $V lt v4.7.1 ? 100 : 75,
+ },
+ ],
+},
{
%{ $unit{stalker} },
pop => 2,
min => 100,
gas => 25,
- build => 27,
+ build => $V lt v4.8.2 ? 27 : 30,
warp => 20,
size => 1,
cargo => 2,
build => 100,
attack => [
{
- cooldown => -.5, # +45%
+ cooldown => $V lt v4.11.0 || $V ge v4.11.3 ? -.5 : -.6, # +45%/60%
},
],
},
{
%{ $unit{high_templar} },
+ speed => $V ge v5.0.11 ? 2.82 : 2.63,
attack => [
{
anti => 1,
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{dark_templar},
$unit{archon},
-$unit{observer},
+
+{
+ %{ $unit{observer} },
+ build => $V ge v5.0.13 ? 17.9 : 21.4,
+ shield => $V ge v5.0.13 ? 30 : 20,
+ 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.13 ? 1 : $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
],
},
-$unit{immortal},
+{
+ %{ $unit{immortal} },
+ min => $V ge v4.8.2 ? 275 : 250,
+ special => [
+ {
+ name => 'Barrier',
+ abbr => 'br',
+ desc => 'block initial damage, then absorb up to 100 damage for 2s',
+ duration => 2,
+ cooldown => $V ge v3.8.0 ? 32 : 43,
+ },
+ ],
+},
{
%{ $unit{colossus} },
race => 'protoss',
cat => 'robotic',
name => 'Disruptor',
- pop => 3,
+ pop => $V ge v5.0.12 ? 4 : 3,
min => 150,
gas => 150,
build => 36,
- size => 1,
+ size => $V ge v5.0.12 ? 1.25 : 1, # much larger model
cargo => 4,
armor => 1,
hp => 100,
shields => 55,
},
type => 'trans', #TODO: indicate
- splash => 1.5,
+ splash => $V ge v5.0.11 ? 1.375 : 1.5,
cooldown => 14.3,
range => 13, # 2s
},
{
%{ $unit{void_ray} },
- speed => 3.5,
+ 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
name => 'Revelation',
abbr => 'rv',
desc => 'hit enemy units and buildings are revealed for ½ minute',
- cost => 50,
+ cost => $V lt v4.12.0 ? 50 : 25,
range => 9,
- cooldown => 2.2,
- duration => 30,
+ 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',
light => 1,
structure => 1,
},
- sight => 0,
+ sight => $V ge v5.0.12 ? 7 : 4,
speed => 0,
special => [
{
{
%{ $unit{tempest} },
- hp => 300,
- shield => 150,
+ 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,
+ # acceleration increased in v5.0.12
+ size => $V ge v5.0.12 ? 2.25 : 2.5,
attack => [
{
%{ $unit{tempest}->{attack}->[0] }, # kinetic overload
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 => 250,
+ 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
attack => [
{
%{ $unit{marauder}->{attack}->[0] }, # punisher grenades
- count => 2,
- damage => 5,
+ count => $V lt v4.3.0 ? 2 : 1,
+ damage => $V lt v4.3.0 ? 5 : 10,
upgrade => 1,
bonus => {
- armored => 5,
- -armored => 0,
+ armored => $V lt v4.3.0 ? 5 : 10,
+ -armored => $V lt v4.3.0 ? 0 : 1,
},
},
],
# replaces Sniper Round
name => 'Steady Targeting',
abbr => 'st',
- desc => '170 damage ignoring armor to a biological unit after 1.43s without damage',
+ desc => ($V ge v5.0.12 ? '130 damage (+40 psionic)' : '170 damage') .
+ ' ignoring armor to a biological unit after 1.43s without damage',
cost => 50,
- range => 10,
+ range => 10, # kept until 14
duration => 1.43,
},
- $unit{ghost}->{special}->[1], # emp round
+ {
+ %{ $unit{ghost}->{special}->[1] }, # emp round
+ radius => $V ge v5.0.12 || $V lt v4.10.1 ? 1.5 : $V lt v5.0.11 ? 2 : 1.75,
+ },
$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
+ {},
+ {},
+ ],
+ },
+ ],
},
{
transform => -1.43, # halve #TODO: alter special duration?
},
],
+ upgrade => [
+ {
+ %{ $unit{hellbat}->{upgrade}->[0] }, # Pre-Igniter
+ attack => [
+ {
+ bonus => {
+ light => 12,
+ -light => $V ge v5.0.12 ? 0 : 1,
+ },
+ },
+ ],
+ },
+ ],
},
{
attack => [
{
%{ $unit{widow_mine}->{attack}->[0] }, # Sentinel Missiles
+ splash => $V ge v5.0.13 ? 1.5 : 1.75, # radius
bonus => {
shields => 25,
},
+ transform => $V lt v5.0.9 ? .71 : 1.07,
+ },
+ ],
+ upgrade => [
+ {
+ %{ $unit{widow_mine}->{upgrade}->[0] }, # drilling claws
+ desc => 'halves burrow/unburrow time from upto 2½/1 to 1½/½ seconds' .
+ ($V ge v5.0.13 && ', and cloaks while reloading'),
},
],
},
cat => 'factory',
name => 'Cyclone',
pop => 3,
- min => 150,
- gas => 100,
+ min => $V ge v5.0.12 ? 125 : 150,
+ gas => $V ge v5.0.12 ? 50 : 100,
build => 32,
size => 1.5,
- cargo => 3,
- armor => 1,
- hp => 180,
+ cargo => $V ge v5.0.12 ? 2 : 3,
+ armor => $V ge v5.0.12 ? 0 : 1,
+ hp => $V ge v5.0.13 ? 130 : $V ge v5.0.12 ? 110 : $V ge v4.7.1 ? 120 : 180,
attr => {
armored => 1,
mech => 1,
attack => [
{
anti => 1,
- name => 'Typhoon Blaster',
- damage => 3,
- upgrade => 1,
- bonus => {
- armored => 2,
+ name => $V lt v4.7.1 ? 'Tornado Blaster' : 'Typhoon Missile Pod',
+ damage => $V ge v5.0.12 ? 11 : $V ge v4.7.1 ? 18 : 3,
+ upgrade => $V lt v4.7.1 ? 1 : 2,
+ bonus => $V ge v4.7.1 ? {} : {
+ armored => $V ge v5.0.12 ? 0 : 2,
-armored => 0,
+ mech => $V ge v5.0.12 ? 3 : 0,
},
- cooldown => .1,
- range => 6,
+ cooldown => $V ge v5.0.13 ? .58 : $V ge v5.0.12 ? .481 : $V ge v4.7.1 ? .71 : .1,
+ range => $V ge v5.0.12 || $V lt v4.7.1 ? 6 : 5,
},
],
- speed => 4.13,
+ speed => $V ge v5.0.12 ? 3.94 : $V ge v4.7.1 ? 4.73 : 4.13,
sight => 11,
special => [
{
name => 'Lock On',
abbr => 'lo',
- desc => 'target air for 160 damage ignoring armor while visible and within 15 range',
- range => 7,
- duration => 14,
- cooldown => 4,
+ desc => (
+ $V ge v5.0.12 ? 'attack single target while within 9 range' :
+ $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 => $V lt v5.0.12 ? 7 : 6,
+ duration => $V lt v5.0.12 ? 14.3 : 0,
+ cooldown => $V ge v5.0.13 ? 2.86 : $V ge v5.0.12 ? 0 : 4,
},
- {
+ $V ge v4.7.1 ? () : {
name => 'Rapid Fire Launchers',
abbr => 'rf',
desc => 'rapid first 12 Lock On shots',
build => 79,
},
],
+ upgrade => [
+ $V ge v5.0.12 || $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'),
+ },
+ $V lt v5.0.12 ? () : {
+ name => 'Hurricane Engines',
+ speed => .79,
+ min => 100,
+ gas => 100,
+ build => 100,
+ },
+ ],
},
{
%{ $unit{thor} },
- armor => 2,
+ armor => $V ge v3.14.0 && $V lt v4.7.1 ? 2 : 1,
attack => [
- $unit{thor}->{attack}->[0],
- $unit{thor}->{attack}->[1],
+ $unit{thor}->{attack}->[0], # thor's hammer
+ $unit{thor}->{attack}->[1], # javelin missiles
{
- %{ $unit{thor}->{attack}->[2] }, # high impact
- damage => 35,
+ %{ $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 => {
- armored => 15,
- -armored => 2,
+ $V lt v4.7.1 ? 'armored' : 'massive' => $V lt v4.11.0 ? 15 : 10,
+ $V lt v4.7.1 ? '-armored' : '-massive' => 2,
},
- cooldown => 2.14,
+ 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},
-$unit{medivac},
+{
+ %{ $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 => [
+ $V ge v5.0.12 ? {
+ name => 'Caduceus Reactor',
+ desc => 'double energy regeneration rate',
+ min => 100,
+ gas => 100,
+ build => 53.57,
+ } : {
+ name => 'Rapid Reignition System',
+ min => 100,
+ gas => 100,
+ build => 57,
+ speed => .63,
+ },
+ ],
+},
{
race => 'terran',
pop => 3,
min => 150,
- gas => 150,
+ gas => $V ge v5.0.11 ? 125 : 150,
build => 43,
size => 1.5,
armor => 0,
build => 79,
attack => [
{
- range => 4,
+ range => $V ge v5.0.13 ? 2 : $V ge v4.11.0 ? 3 : 4,
},
],
sight => 4,
sight => 10,
},
-$unit{banshee},
+{
+ %{ $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} },
- speed => 3.85,
+ 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
range => 6,
},
],
- range => 1,
- duration => 10,
+ 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
name => 'Interference Matrix',
abbr => 'im',
desc => 'disable target mech or psionic unit rendering it unable to attack or cast',
- cost => 50,
+ $V lt v5.0.12 ? () : (
+ min => 50,
+ gas => 50,
+ build => 57.14,
+ ),
+ cost => $V lt v4.11.0 ? 50 : 75,
range => 9,
- duration => 7.9,
+ duration => $V lt v4.11.0 ? 7.9 : 11,
},
{
name => 'Anti-Armor Missile',
abbr => 'aa',
- desc => 'launches missile to do 30 splash damage and reduces armor by 3',
+ 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 => 30,
+ damage => $V lt v4.3.0 ? 30 : $V lt v4.7.1 ? 15 : 0,
splash => 1,
},
],
],
},
-$unit{battlecruiser},
+{
+ %{ $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 => [],
+},
# zerg
$unit{queen}->{attack}->[0], # claws
{
%{ $unit{queen}->{attack}->[1] }, # acid spines
- range => 8,
+ range => $V lt v4.12.0 ? 8 : 7,
},
],
range => 8,
{
%{ $unit{overlord} },
- speed => .902, # changed in 4.0.0
+ speed => .9023, # changed in 4.0.0
+ # deceleration speed increased in v5.0.12
+ upgrade => [
+ {
+ %{ $unit{overlord}->{upgrade}->[0] }, # carapace
+ speed => ($V ge v5.0.12 ? 2.83 : 2.63)-.9023,
+ },
+ # ventral sacs became an individual mutation
+ ],
+},
+
+{
+ race => 'zerg',
+ cat => 'base',
+ req => 'lair',
+ name => 'Dropperlord',
+ base => ['Overlord'],
+ pop => -9,
+ min => 100+25,
+ gas => 25,
+ build => 15,
+ size => 0,
+ cargo => -8,
+ armor => 0,
+ hp => 200,
+ attr => {
+ armored => 1,
+ organic => 1,
+ flying => 1,
+ },
+ speed => $V ge v5.0.13 ? 1.28 : $V ge v5.0.12 ? 1.099 : .9023,
+ sight => 11,
+ special => $unit{overlord}->{special}, # generate creep
upgrade => [
{
%{ $unit{overlord}->{upgrade}->[0] }, # carapace
- speed => 2.63-.902,
+ speed => $V ge v5.0.13 ? 3-1.28 : $V ge v5.0.12 ? 2.83-1.099 : 2.63-.9023,
},
- $unit{overlord}->{upgrade}->[1], # sacs
],
},
-$unit{overseer},
+{
+ %{ $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{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 => $V ge v5.0.12 ? 0 : 2,
+ structure => 80,
+ -structure => 5,
+ },
+ splash => 1,
+ range => 0,
+ },
+ ],
upgrade => [
{
%{ $unit{baneling}->{upgrade}->[0] }, # centrifugal hooks
- hp => 5,
+ $V ge v5.0.12 ? (
+ min => 100,
+ gas => 100,
+ build => 71,
+ ) : (
+ hp => 5,
+ ),
},
],
},
-$unit{roach},
+{
+ %{ $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',
pop => 3,
min => 25,
gas => 75,
- build => 9,
+ build => $V ge v5.0.11 ? 12.14 : 8.57+.36, # added max random
size => 1.5,
cargo => 4,
armor => 1,
upgrade => [
{
%{ $unit{hydralisk}->{upgrade}->[0] }, # grooved spines
+ min => $V ge v5.0.12 ? 75 : 100,
+ gas => $V ge v5.0.12 ? 75 : 100,
+ build => $V ge v5.0.12 ? 50 : 71,
attack => [
{
range => 2,
},
],
},
- $unit{hydralisk}->{upgrade}->[1], # muscular augments
+ {
+ %{ $unit{hydralisk}->{upgrade}->[1] }, # muscular augments
+ build => $V ge v5.0.12 ? 64 : 71,
+ },
],
},
attack => [
{
anti => 1,
- name => '?',
+ name => 'Spines',
damage => 20,
upgrade => 2,
splash => 'line',
cooldown => 1.43,
- range => 9,
+ 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 => $V ge v5.0.12 ? 'halves burrow time from 2 seconds to 1' :
+ 'halves burrow time and increases movement speed',
+ speed => $V ge v5.0.12 ? 0 : .413,
+ transform => $V lt v5.0.9 ? .71 : 1.07,
+ min => $V ge v5.0.12 ? 100 : 150,
+ gas => $V ge v5.0.12 ? 100 : 150,
+ build => 57,
+ },
+ ],
speed => 4.13,
creep => 1.3,
sight => 10,
},
-$unit{infestor},
-$unit{nydus_worm},
+{
+ %{ $unit{infestor} },
+ energy => $V ge v5.0.12 ? 75 : 50,
+ special => [
+ {
+ %{ $unit{infestor}->{special}->[0] }, # neural parasite
+ range => $V lt v4.11.0 ? 9 : 8,
+ },
+ {
+ %{ $unit{infestor}->{special}->[1] }, # fungal growth
+ desc => 'for 4 seconds, immobilize enemy units in target area and deal '.($V lt v5.0.12 ? 30 : 25).' damage',
+ range => $V ge v5.0.13 || $V lt v5.0.12 ? 10 : 9,
+ },
+ {
+ 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,
+ },
+ ],
+ },
+ ],
+ upgrade => [
+ $V lt v5.0.12 ? $unit{infestor}->{upgrade}->[0] : (), # Pathogen Glands
+ ],
+},
+
+{
+ % {$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} },
{
%{ $unit{swarm_host}->{special}->[0] }, # locust
hp => 50,
+ upgrade => [], # no flying
},
],
upgrade => [],
$unit{mutalisk},
$unit{corruptor},
-$unit{brood_lord},
-$unit{viper},
+
+{
+ %{ $unit{brood_lord} },
+ speed => $V ge v5.0.12 ? 2.62 : $V ge v5.0.11 ? 2.24 : 1.97,
+ special => [
+ {
+ %{ $unit{brood_lord}->{special}->[0] }, # broodling
+ attack => [
+ {
+ %{ $unit{brood_lord}->{special}->[0]->{attack}->[0] }, # claws
+ cooldown => $V ge v5.0.12 ? .57 : .46,
+ },
+ ],
+ hp => $V ge v5.0.12 ? 20 : 30,
+ speed => $V ge v5.0.12 ? 4.13 : 5.37,
+ },
+ $unit{brood_lord}->{special}->[1], # fz
+ ],
+},
+
+{
+ %{ $unit{viper} },
+ special => [
+ $unit{viper}->{special}->[0], # bc
+ $unit{viper}->{special}->[1], # ad
+ {
+ %{ $unit{viper}->{special}->[2] }, # consume
+ desc => 'leaches '.($V ge v5.0.12 ? 150 : 200).' life of friendly building over 20s to gain 50 energy',
+ },
+ ],
+},
{
%{ $unit{ultralisk} },
+ min => $V ge v5.0.12 ? 275 : 300,
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
+ },
+ ],
},
]