use strict;
my $V = v5.0.2; # some patch data for invisible attributes
+my $GATHER = "gather 5 minerals (7 gold) after 4s (upto 60/minute)\n or 4 gas (8 rich) after 3s (53/min)"; # lotv time scale
[
'patch 2.1.9+',
min => 50,
gas => 0,
build => 17,
- size => 0.75,
+ size => $V ge v5.0.13 ? 0.625 : 0.75,
cargo => 1,
armor => 0,
hp => 20,
name => 'Particle Beam',
damage => 5,
cooldown => 1.5,
- range => 0,
+ range => $V ge v5.0.13 ? 0.2 : 0.1,
},
],
speed => 2.8125,
sight => 8,
+ special => [
+ {
+ name => 'worker',
+ abbr => '⚒',
+ desc => "warp-in buildings\n- $GATHER",
+ },
+ ],
},
{
min => 100,
gas => 100,
build => 80,
- speed => 0.9375,
+ speed => $V ge v5.0.11 ? 1 : 0.9375, # 50% increase
},
],
},
{
name => 'Prismatic Alignment',
abbr => 'pa',
- desc => 'increases damage to armored by 6 for 20 seconds',
+ desc => 'increases damage to armored by 6 (while reducing speed by 25%) for 20 seconds',
duration => 20,
cooldown => 60,
attack => [
min => 50,
gas => 0,
build => 17,
- size => 0.75,
+ size => $V ge v5.0.13 ? 0.625 : 0.75,
cargo => 1,
armor => 0,
hp => 45,
name => 'Fusion Cutter',
damage => 5,
cooldown => 1.5,
- range => 0,
+ range => $V ge v5.0.13 ? 0.2 : 0.1,
},
],
speed => 2.8125,
sight => 8,
+ special => [
+ {
+ name => 'worker',
+ abbr => '⚒',
+ desc => join("\n- ",
+ 'construct buildings',
+ 'repair mechanical units and buildings (speed as build time but 25% cost)',
+ $GATHER,
+ ),
+ },
+ ],
},
{
cargo => 0,
min => 0,
build => 0,
- size => 0.75,
+ size => $V ge v5.0.13 ? 0.625 : 0.75,
armor => 0,
hp => 60,
attr => {
},
speed => 2.8,
sight => 8,
+ special => [
+ {
+ name => 'limited worker',
+ abbr => '⛏',
+ desc => join("\n- ",
+ 'repair like an SCV (but cannot build)',
+ 'gather 25 minerals after 6s: 200-225 over its 64s lifetime (equilavent to 3½ SCVs)',
+ ),
+ duration => 64,
+ energy => 50,
+ },
+ ],
},
{
],
speed => 2.25,
sight => 11,
- energy => 75,
+ energy => $V ge v4.1.4 || $V lt v4.0.0 ? 75 : 50,
+ upgrade => [
+ $V ge v4.1.4 || $V lt v4.0.0 ? () : {
+ name => 'Moebius Reactor',
+ min => 100,
+ gas => 100,
+ build => 80,
+ energy => 25,
+ },
+ ],
capacity => 200,
special => [
{
desc => 'reveals cloaked units and removes up to 100 shields and energy',
cost => 75,
range => 10,
- radius => 1.5,
+ radius => 1.5, # 2 after upgrade
+ detect => 1,
},
{
name => 'Personal Cloaking',
splash => 1,
cooldown => 40,
range => 5,
+ transform => 1.0, # time to burrow
},
],
speed => 2.8125,
],
special => [
{
- name => 'siege mode',
- abbr => 'sg',
+ name => 'Siege Mode',
+ abbr => 'sm',
alt => 'Sieged Tank',
cargo => 0,
attack => [
min => 50,
gas => 0,
build => 17,
- size => 0.75,
+ size => $V ge v5.0.13 ? 0.625 : 0.75,
cargo => 1,
armor => 0,
hp => 40,
name => 'Claws',
damage => 5,
cooldown => 1.5,
- range => 0,
+ range => $V ge v5.0.13 ? 0.2 : 0.1,
},
],
speed => 2.8125,
creep => 1.0,
sight => 8,
+ special => [
+ {
+ name => 'worker',
+ abbr => '⚒',
+ desc => "morph into buildings\n- $GATHER",
+ },
+ ],
},
{
{
race => 'zerg',
- cat => 'base',
+ cat => 'base', # hatchery
name => 'Overlord',
pop => -9,
min => 100,
abbr => 'gc',
desc => 'place Zerg creep at current location',
duration => 15,
+ delay => $V ge v5.0.12 ? 1.07 : 1.43,
radius => 2,
req => 'Lair',
},
{
race => 'zerg',
- cat => 'base',
+ cat => 'base', # lair
+ req => 'lair',
name => 'Overseer',
base => ['Overlord'],
pop => -9,
special => [
{
name => 'Spawn Changeling',
+ abbr => 'sc',
alt => 'Changeling',
cost => 50,
duration => 150,
speed => 2.25,
creep => 1.0,
sight => 8,
+ range => 0,
},
{
name => 'Contaminate',
upgrade => [
{
name => 'Grooved Spines',
- min => 150,
- gas => 150,
- build => 80,
+ min => 100,
+ gas => 100,
+ build => 100,
attack => [
{
range => 1,
build => 100,
speed => 0.5625,
creep => -0.302,
+ speed => $V ge v5.0.11 ? .98 : .79, #TODO
},
],
},
range => 10,
duration => 4,
radius => 2.0,
+ detect => 1,
},
{
alt => 'Infested Terran',
special => [
{
name => 'Swarm Seeds',
- abbr => 'ss',
desc => 'Broodlings are spawned upon each attack',
- duration => -1,
+ duration => $V ge v5.0.11 ? 2.55 : 4,
alt => 'Broodling',
pop => 0,
# build => 1,