index: release v1.18 with only altgr index linked
[sheet.git] / sc-units-lotv.inc.pl
index 9d99fcc0ce4bf182563bbd64d49881c327a229fd..9a2433dc254cc965b583aa3904bf48f8e38695b1 100644 (file)
@@ -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 $!;
@@ -16,7 +17,7 @@ for my $row (@{$hots}) {
 }
 
 [
-'patch 4.1.4',
+sprintf('patch %vd', $V),
 
 # protoss
 
@@ -27,9 +28,47 @@ $unit{photon_cannon},
 {
        %{ $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},
+{
+       %{ $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} },
@@ -50,12 +89,27 @@ $unit{nexus},
        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,
+       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} },
@@ -79,7 +133,7 @@ $unit{sentry},
        pop => 2,
        min => 100,
        gas => 25,
-       build => 27,
+       build => $V lt v4.8.2 ? 27 : 30,
        warp => 20,
        size => 1,
        cargo => 2,
@@ -118,9 +172,7 @@ $unit{sentry},
                        build => 0,
                        size => 0,
                        cargo => 0,
-                       attr => {
-                               trans => 1,
-                       },
+                       hp => -1,
                        attack => [], #TODO: indicate diff from parent
                        speed => 5, #XXX: faster than 3.5
                        range => 7, #XXX: calculate from speed
@@ -135,7 +187,7 @@ $unit{sentry},
                        build => 100,
                        attack => [
                                {
-                                       cooldown => -.5, # +45%
+                                       cooldown => $V lt v4.11.0 || $V ge v4.11.3 ? -.5 : -.6, # +45%/60%
                                },
                        ],
                },
@@ -144,6 +196,7 @@ $unit{sentry},
 
 {
        %{ $unit{high_templar} },
+       speed => $V ge v5.0.11 ? 2.82 : 2.63,
        attack => [
                {
                        anti => 1,
@@ -154,15 +207,56 @@ $unit{sentry},
                        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} },
+       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
@@ -215,7 +309,7 @@ $unit{immortal},
                                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
                },
@@ -228,12 +322,29 @@ $unit{phoenix},
 
 {
        %{ $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
@@ -247,11 +358,12 @@ $unit{phoenix},
                        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',
@@ -290,8 +402,12 @@ $unit{phoenix},
 
 {
        %{ $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,
        attack => [
                {
                        %{ $unit{tempest}->{attack}->[0] }, # kinetic overload
@@ -299,24 +415,47 @@ $unit{phoenix},
                                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
@@ -333,12 +472,12 @@ $unit{marine},
        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,
                        },
                },
        ],
@@ -361,13 +500,30 @@ $unit{marine},
                        abbr => 'st',
                        desc => '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.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
+                               {},
+                               {},
+                       ],
+               },
+       ],
 },
 
 {
@@ -407,6 +563,7 @@ $unit{marine},
                        bonus => {
                                shields => 25,
                        },
+                       transform => $V lt v5.0.9 ? .71 : 1.07,
                },
        ],
 },
@@ -444,7 +601,7 @@ $unit{marine},
        size => 1.5,
        cargo => 3,
        armor => 1,
-       hp => 180,
+       hp => $V lt v4.7.1 ? 180 : 120,
        attr => {
                armored => 1,
                mech => 1,
@@ -452,29 +609,33 @@ $unit{marine},
        attack => [
                {
                        anti => 1,
-                       name => 'Typhoon Blaster',
-                       damage => 3,
-                       upgrade => 1,
-                       bonus => {
+                       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 => .1,
-                       range => 6,
+                       cooldown => $V lt v4.7.1 ? .1 : .71,
+                       range => $V lt v4.7.1 ? 6 : 5,
                },
        ],
-       speed => 4.13,
+       speed => $V lt v4.7.1 ? 4.13 : 4.73,
        sight => 11,
        special => [
                {
                        name => 'Lock On',
                        abbr => 'lo',
-                       desc => 'target air for 160 damage ignoring armor while visible and within 15 range',
+                       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,
+                       duration => 14.3,
                        cooldown => 4,
                },
-               {
+               $V ge v4.7.1 ? () : {
                        name => 'Rapid Fire Launchers',
                        abbr => 'rf',
                        desc => 'rapid first 12 Lock On shots',
@@ -483,30 +644,67 @@ $unit{marine},
                        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} },
-       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 => [
+               {
+                       name => 'Rapid Reignition System',
+                       min => 100,
+                       gas => 100,
+                       build => 57,
+                       speed => .63,
+               },
+       ],
+},
 
 {
        race => 'terran',
@@ -515,7 +713,7 @@ $unit{medivac},
 
        pop => 3,
        min => 150,
-       gas => 150,
+       gas => $V ge v5.0.11 ? 125 : 150,
        build => 43,
        size => 1.5,
        armor => 0,
@@ -576,11 +774,26 @@ $unit{medivac},
        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
@@ -593,8 +806,10 @@ $unit{banshee},
                                        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
@@ -605,19 +820,22 @@ $unit{banshee},
                        name => 'Interference Matrix',
                        abbr => 'im',
                        desc => 'disable target mech or psionic unit rendering it unable to attack or cast',
-                       cost => 50,
+                       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,
                                },
                        ],
@@ -627,7 +845,37 @@ $unit{banshee},
        ],
 },
 
-$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
 
@@ -639,7 +887,7 @@ $unit{drone},
                $unit{queen}->{attack}->[0], # claws
                {
                        %{ $unit{queen}->{attack}->[1] }, # acid spines
-                       range => 8,
+                       range => $V lt v4.12.0 ? 8 : 7,
                },
        ],
        range => 8,
@@ -657,7 +905,20 @@ $unit{drone},
        ],
 },
 
-$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},
@@ -681,6 +942,20 @@ $unit{zergling},
 {
        %{ $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
@@ -689,7 +964,22 @@ $unit{zergling},
        ],
 },
 
-$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',
@@ -699,7 +989,7 @@ $unit{roach},
        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,
@@ -758,25 +1048,83 @@ $unit{roach},
        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 => '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{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} },
@@ -785,6 +1133,7 @@ $unit{nydus_worm},
                {
                        %{ $unit{swarm_host}->{special}->[0] }, # locust
                        hp => 50,
+                       upgrade => [], # no flying
                },
        ],
        upgrade => [],
@@ -792,12 +1141,29 @@ $unit{nydus_worm},
 
 $unit{mutalisk},
 $unit{corruptor},
-$unit{brood_lord},
+
+{
+       %{ $unit{brood_lord} },
+       speed => $V ge v5.0.11 ? 2.24 : 1.97,
+},
+
 $unit{viper},
 
 {
        %{ $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
+               },
+       ],
 },
 
 ]