use utf8;
use strict;
-# time in fastest game seconds
-my $FPS = 24; # frames per second
-# toss shield += .65 per second
-# zerg regen += .37 per second
+my $PPT = 32; # tile size in pixels
+my $FPS = 1000 / 56; # frames per second on fast
+# energy += 8HP/frame ≈ .74 per second
+# toss shield += 7HP/frame ≈ .65/s
+# zerg regen += 4HP/frame ≈ .37/s
+my $SM = $FPS / $PPT; # pixels per frame to tiles per second multiplication
[
'<span title="no known changes as of v1.16.1">version≥1.08</span>',
gas => 0,
build => 20,
suit => 1,
-unit => 1,
+size => 23 / $PPT,
+pop => 1,
+cargo => 1,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 20,
shield => 20,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
name => "Particle Beam",
damage => 5,
- cooldown => 22,
+ cooldown => 22 / $FPS,
+ range => 1,
},
- range => 1,
-},
+],
sight => 8,
-speed => 14,
+speed => 4.92 * $SM,
counter => ['vulture', 'dark templar'],
},
gas => 0,
build => 50,
suit => 3,
+size => 2, # 41x33
race => 'protoss',
+attr => {
+ structure => 1,
+},
hp => 100,
shield => 100,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 3,
+ name => 'STS/A Photon Cannon',
damage => 20,
- cooldown => 22,
+ cooldown => 22 / $FPS,
+ range => 7,
},
- air => 'ground',
- range => 7,
-},
+],
sight => 11,
detect => 1,
speed => 0,
gas => 0,
build => 40,
suit => 1,
-unit => 2,
+size => 23 / $PPT, # x19
+pop => 2,
+cargo => 2,
race => 'protoss',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 100,
shield => 60,
armor => 1,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
name => "Psi Blades",
- damage => [16, 18, 20, 22],
- cooldown => 22,
+ damage => 8,
+ count => 2,
+ upgrade => 1,
+ cooldown => 22 / $FPS,
+ range => 15 / $PPT,
},
- range => 1,
-},
+],
sight => 7,
-speed => 11,
+speed => 4 * $SM,
upgrade => [
{
name => 'Leg Enhancements',
- speed => 16 - 11,
+ speed => (6 - 4) * $SM,
min => 150,
gas => 150,
build => 133,
gas => 50,
build => 50,
suit => 3,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 4,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 100,
shield => 80,
armor => 1,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 3,
name => "Phase Disruptor",
- damage => [20, 22, 24, 26],
+ damage => 20,
+ upgrade => 2,
type => 'explosive',
- cooldown => 30,
+ cooldown => 30 / $FPS,
+ range => 4,
},
- air => 'ground',
- range => 4,
-},
+],
sight => 8,
-speed => 15,
+speed => 5 * $SM,
upgrade => [
{
name => 'Singularity Charge',
min => 150,
gas => 150,
build => 166,
- attack => {
- range => 6 - 4,
- },
+ attack => [
+ {
+ range => 6 - 4,
+ },
+ ],
},
],
counter => ['zergling', 'zealot', 'tank'],
gas => 150,
build => 50,
suit => 1,
-unit => 2,
+size => 24 / $PPT,
+pop => 2,
+cargo => 2,
race => 'protoss',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 40,
shield => 40,
armor => 0,
sight => 7,
-speed => 9,
-energy => 200,
+speed => 3.2 * $SM,
+energy => 50,
+capacity => 200,
upgrade => [
{
name => "Khaydarin Amulet",
min => 150,
gas => 150,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
special => [
gas => 100,
build => 50,
suit => 1,
-unit => 2,
+size => 25 / $PPT, # 24x26
+pop => 2,
+cargo => 2,
race => 'protoss',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 80,
shield => 40,
armor => 1,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
name => "Warp Blades",
- damage => [40, 43, 46, 49],
- cooldown => 30,
+ damage => 40,
+ upgrade => 3,
+ cooldown => 30 / $FPS,
+ range => 15 / $PPT,
},
- range => 1,
-},
+],
sight => 7,
-speed => 15,
+speed => 4.92 * $SM,
special => [
{
name => 'Cloaked',
build => 20,
base => ['templar', 'templar'],
suit => 3,
-unit => 4,
+size => 32 / $PPT,
+pop => 4,
+cargo => 4,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 10,
shield => 350,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 3,
name => "Psionic Shockwave",
- damage => [30, 33, 36, 39],
- cooldown => 20,
+ damage => 30,
+ upgrade => 3,
+ cooldown => 20 / $FPS,
splash => 1,
+ range => 2,
},
- air => 'ground',
- range => 2,
-},
+],
sight => 8,
-speed => 14,
+speed => 4.92 * $SM,
},
{
build => 20,
base => ['dark templar', 'dark templar'],
suit => 3,
-unit => 4,
+size => 32 / $PPT,
+pop => 4,
+cargo => 4,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 25,
shield => 200,
armor => 1,
-attack => {
-},
sight => 10,
-speed => 14,
-energy => 200,
+speed => 4.92 * $SM,
+energy => 50,
+capacity => 200,
upgrade => [
{
name => "Argus Talisman",
min => 150,
gas => 150,
build => 166,
- energy => 250-200,
+ capacity => 250-200,
},
],
special => [
gas => 125,
build => 80,
suit => 3,
-unit => 3,
+size => 36 / $PPT, # x32
+pop => 3,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 150,
shield => 100,
armor => 0,
-attack => {
- ground => {
- damage => [8, 9, 10, 11],
- cooldown => 30,
+attack => [
+ {
+ anti => 1,
+ name => 'Dual Photon Blasters',
+ damage => 8,
+ upgrade => 1,
+ cooldown => 30 / $FPS,
+ range => 4,
},
- air => {
- damage => [28, 30, 32, 34],
+ {
+ anti => 2,
+ name => 'Anti-Matter Missiles',
+ damage => 14,
+ count => 2,
+ upgrade => 1,
type => 'explosive',
- cooldown => 22,
+ cooldown => 22 / $FPS,
+ range => 4,
},
- range => 4,
-},
+],
sight => 8,
-speed => 13,
+speed => 5 * $SM,
upgrade => [
{
name => 'Apial Sensors',
min => 200,
gas => 200,
build => 166,
- speed => 18 - 13,
+ speed => (6.67 - 5) * $SM,
},
],
},
gas => 100,
build => 40,
suit => 2,
-unit => 2,
+size => 36 / $PPT, # x32
+pop => 2,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 100,
shield => 80,
armor => 1,
-attack => {
- air => {
- damage => [5, 6, 7, 8],
- cooldown => 8,
+attack => [
+ {
+ anti => 2,
+ name => 'Neutron Flare',
+ damage => 5,
+ upgrade => 1,
+ cooldown => 8 / $FPS,
splash => 1,
type => 'explosive',
+ range => 5,
},
- range => 5,
-},
+],
sight => 9,
-speed => 17,
-energy => 200,
+speed => 6.67 * $SM,
+energy => 50,
+capacity => 200,
upgrade => [
{
name => 'Argus Jewel',
min => 100,
gas => 100,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
special => [
{
- name => 'Disruption web',
+ name => 'Disruption Web',
abbr => 'dw',
min => 200,
gas => 200,
build => 80,
desc => 'creates a field in which no ground unit/structure can attack',
range => 9,
- cost => 62-50,
- duration => undef, #XXX
+ cost => 125,
+ duration => 24,
},
],
counter => ['devourer', 'valkyrie'],
gas => 250,
build => 140,
suit => 3,
-unit => 6,
+size => 64 / $PPT,
+pop => 6,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
hp => 300,
shield => 150,
armor => 4,
-attack => {
- ground => {
- dps => [17, undef, undef, 49],
+attack => [
+ {
+ anti => 3,
+ dps => [17, undef, undef, 25],
count => 4,
+ range => 8,
},
- air => 'ground',
- range => 8,
-},
+],
sight => 11,
-speed => 10,
+speed => 3.33 * $SM,
special => [
{
name => 'Build Interceptor',
min => 25,
build => 20,
suit => 1,
- unit => 0,
+ size => 16 / $PPT,
+ pop => 0,
race => 'protoss',
- organic => 0,
+ attr => {
+ mech => 1,
+ flying => 1,
+ },
hp => 40,
shield => 40,
armor => 0,
- attack => {
- ground => {
- damage => [6, 7, 8, 9],
- cooldown => 43, # approximately 37 according to liquipedia
+ attack => [
+ {
+ anti => 3,
+ name => 'Pulse Cannon',
+ damage => 6,
+ upgrade => 1,
+ cooldown => 43 / $FPS, # approximately 37 according to liquipedia
build => 20,
+ range => 4,
},
- air => 'ground',
- range => 0,
- },
- sight => 0,
- range => 0,
+ ],
+ sight => 6,
+ speed => 13.33 * $SM,
},
],
upgrade => [
{
name => 'Carrier Capacity',
- damage => {
- count => 8-4,
- },
+ attack => [
+ {
+ dps => [17, undef, undef, 24],
+ count => 8-4,
+ },
+ ],
},
],
counter => ['wraith', 'corsair', 'scourge'],
gas => 350,
build => 160,
suit => 3,
-unit => 4,
+size => 44 / $PPT,
+pop => 4,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 200,
shield => 150,
armor => 1,
-attack => {
- ground => {
- damage => [10, 11, 12, 13],
- cooldown => 45,
+attack => [
+ {
+ anti => 3,
+ name => 'Phase Disruptor Cannon',
+ damage => 10,
+ upgrade => 1,
+ cooldown => 45 / $FPS,
type => 'explosive',
+ range => 5,
},
- air => 'ground',
- range => 5,
-},
+],
sight => 9,
-speed => 12,
-energy => 200,
+speed => 5 * $SM,
+energy => 50,
+capacity => 200,
upgrade => [
{
name => 'Khaydarin Core',
min => 150,
gas => 150,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
special => [
gas => 100,
build => 70,
suit => 3,
-unit => 4,
+size => 32 / $PPT,
+pop => 4,
+cargo => 4,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 100,
shield => 80,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
damage => 100,
- cooldown => 60,
+ cooldown => 60 / $FPS, # 30 after drop
splash => 1,
- cost => 15,
+ min => 15,
build => 7,
max => 5,
+ range => 8,
},
- range => 8,
-},
+],
sight => 10,
-speed => 5,
+speed => 1.78 * $SM,
upgrade => [
{
name => 'Scarab Damage',
min => 200,
gas => 200,
build => 166,
- attack => {
- ground => {
+ attack => [
+ {
damage => 125 - 100,
},
- },
+ ],
},
{
- attack => {
- ground => {
+ attack => [
+ {
splash => 2 - 1,
},
- },
+ ],
},
{
name => 'Increased Reaver Capacity',
min => 200,
gas => 200,
build => 166,
- attack => {
- ground => {
+ attack => [
+ {
max => 10-5,
},
- },
+ ],
},
],
},
gas => 75,
build => 40,
suit => 1,
-unit => 1,
+size => 32 / $PPT,
+pop => 1,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 40,
shield => 20,
armor => 0,
sight => 9,
detect => 1,
-speed => 9,
+speed => 3.33 * $SM,
upgrade => [
{
name => "Sensor Array",
min => 150,
gas => 150,
build => 166,
- speed => 13 - 9,
+ speed => (5 - 3.33) * $SM,
},
],
special => [
gas => 0,
build => 60,
suit => 3,
-unit => 2,
+size => 40 / $PPT, # x32
+pop => 2,
+cargo => -8,
race => 'protoss',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 80,
shield => 60,
armor => 1,
-attack => {
-},
sight => 8,
-speed => 13,
+speed => 4.43 * $SM,
transport => 1,
upgrade => [
{
min => 200,
gas => 200,
build => 166,
- speed => 19 - 13,
+ speed => (6.67 - 4.43) * $SM,
}
],
},
gas => 0,
build => 20,
suit => 1,
-unit => 1,
+size => 23 / $PPT,
+pop => 1,
+cargo => 1,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+ organic => 1,
+},
hp => 60,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
+ name => 'Fusion Cutter',
damage => 5,
- cooldown => 15,
+ cooldown => 15 / $FPS,
+ range => 10 / $PPT,
},
- range => 1,
-},
+],
sight => 7,
-speed => 15,
+speed => 4.92 * $SM,
},
{
gas => 0,
build => 30,
suit => 3,
+size => 2, # 33x49
race => 'terran',
+attr => {
+ structure => 1,
+},
hp => 200,
armor => 0,
-attack => {
- air => {
+attack => [
+ {
+ anti => 2,
+ name => 'Longbolt Missile',
damage => 20,
- cooldown => 15,
+ cooldown => 15 / $FPS,
type => 'explosive',
+ range => 7,
},
- range => 7,
-},
+],
sight => 11,
detect => 1,
speed => 0,
gas => 0,
build => 24,
suit => 1,
-unit => 1,
+size => 17 / $PPT, # x20
+pop => 1,
+cargo => 1,
race => 'terran',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 40,
armor => 0,
-attack => {
- ground => {
- damage => [6, 7, 8, 9],
- cooldown => 15,
+attack => [
+ {
+ anti => 3,
+ name => 'Gauss Rifle',
+ damage => 6,
+ upgrade => 1,
+ cooldown => 15 / $FPS,
+ range => 4,
},
- air => 'ground',
- range => 4,
-},
+],
sight => 7,
-speed => 11,
+speed => 4 * $SM,
upgrade => [
{
name => 'U-238 Shells',
min => 150,
gas => 150,
build => 100,
- attack => {
- range => 5 - 4,
- },
+ attack => [
+ {
+ range => 5 - 4,
+ },
+ ],
},
],
special => [
{
- name => 'stim pack',
+ name => 'Stim Pack',
abbr => 'sp',
min => 100,
gas => 100,
build => 80,
desc => 'doubles attack speed and faster movement for a few seconds at the cost of 10 health',
- speed => 17,
- attack => {
- ground => {
- cooldown => 7.5,
+ speed => (6 - 4) * $SM,
+ attack => [
+ {
+ anti => 3,
+ cooldown => 7.5 / $FPS,
},
- air => 'ground',
- },
+ ],
duration => 220 / $FPS,
},
],
gas => 25,
build => 24,
suit => 1,
-unit => 1,
+size => 23 / $PPT, # x22
+pop => 1,
+cargo => 1,
race => 'terran',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 50,
armor => 1,
-attack => {
- ground => {
- damage => [16, 18, 20, 22],
- cooldown => 22,
+attack => [
+ {
+ anti => 1,
+ name => 'Flame Thrower',
+ damage => 16,
+ upgrade => 2,
+ cooldown => 22 / $FPS,
splash => 1,
type => 'implosive',
+ range => 1,
},
- range => 2,
-},
+],
sight => 7,
-speed => 11,
+speed => 4 * $SM,
upgrade => [
],
special => [
gas => 100,
build => 80,
desc => 'doubles attack speed and faster movement for a few seconds at the cost of 10 health',
- speed => 17,
- attack => {
- ground => {
- cooldown => 11,
+ speed => (6 - 4) * $SM,
+ attack => [
+ {
+ anti => 1,
+ cooldown => 11 / $FPS,
},
- },
+ ],
duration => 220 / $FPS,
},
],
gas => 75,
build => 50,
suit => 1,
-unit => 1,
+size => 15 / $PPT, # x22
+pop => 1,
+cargo => 1,
race => 'terran',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 45,
armor => 0,
-attack => {
- ground => {
- damage => [10, 11, 12, 13],
- cooldown => 22,
+attack => [
+ {
+ anti => 3,
+ name => 'C-10 Canister Rifle',
+ damage => 10,
+ upgrade => 1,
+ cooldown => 22 / $FPS,
type => 'implosive',
+ range => 7,
},
- air => 'ground',
- range => 7,
-},
+],
sight => 9,
-speed => 11,
+speed => 4 * $SM,
+energy => 50,
+capacity => 200,
upgrade => [
{
name => 'Ocular Implants',
gas => 150,
build => 166,
sight => 11 - 9,
- special => {
- ns => {
- # nuke
- range => 10-8,
- },
- },
+# special => {
+# ns => {
+# # nuke
+# range => 10-8,
+# },
+# },
},
{
name => 'Moebius Reactor',
min => 150,
gas => 150,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
-energy => 200,
special => [
{
name => 'Personal Cloaking',
abbr => 'ns',
min => 200,
gas => 200,
- unit => 8,
+ pop => 8,
desc => 'guides a nuclear missile which will do 500 damage',
duration => 14+3,
range => 8,
gas => 25,
build => 30,
suit => 1,
-unit => 1,
+size => 17 / $PPT, # x20
+pop => 1,
+cargo => 1,
race => 'terran',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 60,
armor => 1,
-attack => {
-},
sight => 9,
-speed => 11,
-energy => 200,
-update => [
+speed => 4 * $SM,
+energy => 50,
+capacity => 200,
+upgrade => [
{
name => 'Caduceus Reactor',
min => 150,
gas => 150,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
special => [
gas => 0,
build => 30,
suit => 2,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 2,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 80,
armor => 0,
-attack => {
- ground => {
- damage => [20, 22, 24, 26],
- cooldown => 30,
+attack => [
+ {
+ anti => 1,
+ name => 'Fragmentation Grenade',
+ damage => 20,
+ upgrade => 2,
+ cooldown => 30 / $FPS,
type => 'implosive',
+ range => 5,
},
- range => 5,
-},
+],
sight => 8,
-speed => 20,
+speed => 6.4 * $SM,
upgrade => [
{
name => 'Ion Thrusters',
min => 100,
gas => 100,
build => 100,
- speed => 28 - 20,
+ speed => (10 - 6.4) * $SM,
},
],
special => [
alt => 'Spider Mine',
desc => 'burrows a mine which will automaticaly target non-hovering enemy units',
amount => 3,
- organic => 0,
+ attr => {
+ mech => 1,
+ },
hp => 20,
suit => 1,
+ size => 15 / $PPT,
armor => 0,
- attack => {
- ground => {
+ attack => [
+ {
+ anti => 1,
damage => 125,
splash => 1,
type => 'explosive',
+ range => 3, # to walk, melee to explode
},
- range => 3,
- },
+ ],
sight => 3,
- speed => 25,
+ speed => 16 * $SM,
},
],
},
gas => 100,
build => 50,
suit => 3,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 4,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 150,
armor => 1,
-attack => {
- ground => {
- damage => [30, 33, 36, 39],
- cooldown => 37,
+attack => [
+ {
+ anti => 1,
+ name => 'Arclite Cannon',
+ damage => 30,
+ upgrade => 3,
+ cooldown => 37 / $FPS, # 15 after drop
type => 'explosive',
+ range => 7,
},
- range => 7,
-},
+],
sight => 10,
-speed => 12,
+speed => 4 * $SM,
special => [
{
name => 'Siege Mode',
gas => 150,
build => 80,
alt => 'Sieged Tank',
- attack => {
- ground => {
- damage => [70, 75, 80, 85],
- cooldown => 75,
+ attack => [
+ {
+ anti => 1,
+ name => 'Arclite Shock Cannon',
+ damage => 70,
+ upgrade => 5,
+ cooldown => 75 / $FPS,
splash => 1,
type => 'explosive',
+ range => 12, # minimum 2
},
- range => 12,
- },
+ ],
speed => 0,
},
],
gas => 50,
build => 40,
suit => 3,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 2,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+},
hp => 125,
armor => 1,
-attack => {
- ground => {
- damage => [12, 13, 14, 15],
- cooldown => 22,
+attack => [
+ {
+ anti => 1,
+ name => 'Twin Autocannons',
+ damage => 12,
+ upgrade => 1,
+ cooldown => 22 / $FPS, # 15 after drop
+ range => 6,
},
- air => {
- damage => [20, 24, 28, 32],
+ {
+ anti => 2,
+ name => 'Hellfire Missile Pack',
+ damage => 10,
+ count => 2,
+ upgrade => 2,
type => 'explosive',
- cooldown => 22,
+ cooldown => 22 / $FPS,
+ range => 5,
},
- range => 5,
-},
+],
sight => 8,
-speed => 13,
+speed => 4.57 * $SM,
upgrade => [
{
name => 'Charon Boosters',
min => 100,
gas => 100,
build => 133,
- attack => {
-# air => {
+ attack => [
+ {},
+ {
range => 8 - 5,
-# },
- },
+ },
+ ],
},
],
},
gas => 100,
build => 60,
suit => 3,
-unit => 2,
+size => 38 / $PPT, # x30
+pop => 2,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 120,
armor => 0,
-attack => {
- ground => {
- damage => [8, 9, 10, 11],
- cooldown => 30,
- },
- air => {
- damage => [20, 22, 24, 26],
- cooldown => 22,
+attack => [
+ {
+ anti => 1,
+ name => 'Burst Lasers',
+ damage => 8,
+ upgrade => 1,
+ cooldown => 30 / $FPS,
+ range => 5,
+ },
+ {
+ anti => 2,
+ name => 'Gemini Missiles',
+ damage => 20,
+ upgrade => 2,
+ cooldown => 22 / $FPS,
type => 'explosive',
+ range => 5,
},
- range => 5,
-},
+],
sight => 7,
-speed => 17,
-energy => 200,
+speed => 6.67 * $SM,
+energy => 50,
+capacity => 200,
special => [
{
name => 'Cloak',
min => 200,
gas => 200,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
},
gas => 300,
build => 133,
suit => 3,
-unit => 6,
+size => 75 / $PPT, # x59
+pop => 6,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 500,
armor => 3,
-attack => {
- ground => {
- damage => [25, 28, 31, 34],
- cooldown => 30,
+attack => [
+ {
+ anti => 3,
+ name => 'ATS/A Laser Battery',
+ damage => 25,
+ upgrade => 3,
+ cooldown => 30 / $FPS,
+ range => 6,
},
- air => 'ground',
- range => 6,
-},
+],
sight => 11,
-speed => 7,
-energy => 200,
+speed => 2.5 * $SM,
+energy => 50,
+capacity => 200,
special => [
{
name => 'Yamato Gun',
min => 100,
gas => 100,
build => 120,
- desc => 'blast doing 260 damage to a target',
- attack => {
- ground => {
+ desc => 'blast doing 260 explosive damage to a target',
+ attack => [
+ {
+ anti => 3,
damage => 260,
+ type => 'explosive',
+ range => 10,
},
- air => 'ground',
- range => 10,
- },
+ ],
cost => 150,
},
],
min => 150,
gas => 150,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
},
gas => 225,
build => 80,
suit => 3,
-unit => 2,
+size => 65 / $PPT, # x50
+pop => 2,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 200,
armor => 1,
sight => 10,
detect => 1,
-speed => 15,
-energy => 200,
+speed => 5 * $SM,
+energy => 50,
+capacity => 200,
special => [
{
name => 'Defensive Matrix',
min => 150,
gas => 150,
build => 166,
- energy => 250-200,
+ energy => 62.5-50,
+ capacity => 250-200,
},
],
},
gas => 125,
build => 50,
suit => 3,
-unit => 3,
+size => 49 / $PPT, # x37
+pop => 3,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 200,
armor => 2,
-attack => {
- air => {
- damage => [6, 7, 8, 9],
- cooldown => 64,
+attack => [
+ {
+ anti => 2,
+ name => 'Halo Rockets',
+ damage => 6,
+ upgrade => 1,
+ cooldown => 64 / $FPS,
splash => 1,
type => 'explosive',
count => 8,
+ range => 6,
},
- range => 6,
-},
+],
sight => 8,
-speed => 19,
+speed => 6.6 * $SM,
},
{
gas => 100,
build => 50,
suit => 3,
-unit => 2,
+size => 49 / $PPT, # x37
+pop => 2,
+cargo => -8,
race => 'terran',
-organic => 0,
+attr => {
+ mech => 1,
+ flying => 1,
+},
air => 1,
hp => 150,
armor => 1,
sight => 8,
-speed => 15,
+speed => 5.47 * $SM,
transport => 1,
},
gas => 0,
build => 20,
suit => 1,
-unit => 1,
+size => 23 / $PPT,
+pop => 1,
+cargo => 1,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 40,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
+ name => 'Spines',
damage => 5,
- cooldown => 22,
+ cooldown => 22 / $FPS,
+ range => 1,
},
- range => 1,
-},
+],
sight => 7,
-speed => 14,
+speed => 4.92 * $SM,
},
{
gas => 0,
build => 40,
suit => 3,
-unit => -9,
+size => 50 / $PPT,
+pop => -9,
+cargo => 0,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+ flying => 1,
+},
air => 1,
hp => 200,
armor => 0,
cargo => 0,
sight => 9,
detect => 1,
-speed => 2,
+speed => .83 * $SM,
transport => 1,
upgrade => [
{
min => 150,
gas => 150,
build => 133,
- speed => 10 - 2,
+ speed => (3.33 - .83) * $SM,
},
],
},
},
build => 20,
suit => 1,
-unit => 0,
+size => 16 / $PPT,
+pop => 0,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 25,
armor => 10,
sight => 4,
gas => 0,
build => 20,
suit => 3,
+size => 2, # 48x48
race => 'zerg',
+attr => {
+ structure => 1,
+},
hp => 300,
armor => 2,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
+ name => 'Subterranean Tentacle',
damage => 40,
- cooldown => 32,
+ cooldown => 32 / $FPS,
type => 'explosive',
+ range => 7,
},
- range => 7,
-},
+],
sight => 10,
speed => 0,
},
gas => 0,
build => 20,
suit => 3,
+size => 2, # 48x48
race => 'zerg',
+attr => {
+ structure => 1,
+},
hp => 400,
armor => 0,
-attack => {
- air => {
+attack => [
+ {
+ anti => 2,
+ name => 'Seeker Spores',
damage => 15,
- cooldown => 15,
+ cooldown => 15 / $FPS,
+ range => 7,
},
- range => 7,
-},
+],
sight => 10,
detect => 1,
speed => 0,
gas => 0,
build => 28, # for 2
suit => 1,
-unit => 0.5,
+size => 16 / $PPT,
+pop => 0.5,
+cargo => 1,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 35,
armor => 0,
-attack => {
- ground => {
- damage => [5, 6, 7, 8],
- cooldown => 8,
+attack => [
+ {
+ anti => 1,
+ name => 'Claws',
+ damage => 5,
+ upgrade => 1,
+ cooldown => 8 / $FPS,
+ range => 15 / $PPT,
},
- range => 1,
-},
+],
sight => 5,
-speed => 14,
+speed => 5.49 * $SM,
upgrade => [
{
name => 'Metabolic Boost',
min => 100,
gas => 100,
build => 80,
- speed => 22 - 14,
+ speed => (8.36 - 5.49) * $SM,
},
{
name => 'Adrenal Glands',
min => 200,
gas => 200,
build => 80,
- attack => {
- ground => {
- cooldown => 6,
+ attack => [
+ {
+ cooldown => (6 - 8) / $FPS,
},
- },
+ ],
},
],
counter => ['archon', 'templar', 'firebat'],
gas => 25,
build => 28,
suit => 2,
-unit => 1,
+size => 21 / $PPT, # x23
+pop => 1,
+cargo => 2,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 80,
armor => 0,
-attack => {
- ground => {
- damage => [10, 11, 12, 13],
- cooldown => 15,
+attack => [
+ {
+ anti => 3,
+ name => 'Needle Spines',
+ damage => 10,
+ upgrade => 1,
+ cooldown => 15 / $FPS,
type => 'explosive',
+ range => 4,
},
- air => 'ground',
- range => 4,
-},
+],
sight => 6,
-speed => 11,
+speed => 3.66 * $SM,
upgrade => [
{
name => 'Grooved Spines',
min => 150,
gas => 150,
build => 100,
- attack => {
- range => 5 - 4,
- },
+ attack => [
+ {
+ range => 5 - 4,
+ },
+ ],
},
{
name => 'Muscular Augments',
min => 150,
gas => 150,
build => 100,
- speed => 16 - 11,
+ speed => (5.57 - 3.66) * $SM,
},
{
name => 'Lurker Aspect',
name => 'Lurker',
min => 125,
gas => 125,
-base => 'hydralisk',
+base => ['hydralisk'],
build => 40,
suit => 2,
-unit => 2,
+size => 32 / $PPT,
+pop => 2,
+cargo => 4,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 125,
armor => 1,
-attack => {
- ground => {
- damage => [20, 22, 24, 26],
- cooldown => 37,
+attack => [
+ {
+ anti => 1,
+ name => 'Subterranean Spines',
+ damage => 20,
+ upgrade => 2,
+ cooldown => 37 / $FPS,
splash => 'line',
+ range => 6,
},
- range => 6,
-},
+],
sight => 8,
-speed => 17,
+speed => 5.82 * $SM,
},
{
gas => 100,
build => 50,
suit => 2,
-unit => 2,
+size => 48 / $PPT,
+pop => 2,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+ flying => 1,
+},
air => 1,
hp => 120,
armor => 0,
sight => 10,
-speed => 18,
-energy => 200,
+speed => 6.67 * $SM,
+energy => 50,
+capacity => 200,
special => [
{
name => 'Infest CC',
count => 2,
alt => 'Broodling',
suit => 1,
- unit => 0,
- organic => 1,
+ size => 19 / $PPT,
+ pop => 0,
+ attr => {
+ organic => 1,
+ },
hp => 30,
armor => 0,
- attack => {
- ground => {
- damage => [4, 5, 6, 7],
- cooldown => 15,
+ attack => [
+ {
+ anti => 1,
+ name => 'Toxic Spores',
+ damage => 4,
+ upgrade => 1,
+ cooldown => 15 / $FPS,
+ range => 2 / $PPT,
},
- range => 1,
- },
+ ],
sight => 5,
- speed => 19,
+ speed => 6 * $SM,
},
],
},
gas => 50,
build => 40,
suit => 1,
-unit => 1,
+size => 17 / $PPT, # x20
+pop => 1,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 60,
armor => 0,
-attack => {
- ground => {
+attack => [
+ {
+ anti => 1,
+ name => 'Suicide',
damage => 500,
splash => 1,
type => 'explosive',
+ range => 3 / $PPT,
},
- range => 1,
-},
+],
sight => 5,
-speed => 17,
+speed => 5.82 * $SM,
},
{
gas => 38,
build => 30, # for 2
suit => 1,
-unit => 0.5,
+size => 24 / $PPT,
+pop => 0.5,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+ flying => 1,
+},
air => 1,
hp => 25,
armor => 0,
-attack => {
- air => {
+attack => [
+ {
+ anti => 2,
+ name => 'Suicide',
damage => 110,
+ range => 3 / $PPT,
},
- range => 1,
-},
+],
sight => 5,
-speed => 18,
+speed => 6.67 * $SM,
counter => ['cannon', 'goliath', 'hydralisk'],
},
gas => 100,
build => 40,
suit => 1,
-unit => 2,
+size => 44 / $PPT,
+pop => 2,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+ flying => 1,
+},
air => 1,
hp => 120,
armor => 0,
-attack => {
- ground => {
- damage => [9 .. 12],
- cooldown => 30,
+attack => [
+ {
+ anti => 3,
+ name => 'Glave Wurm',
+ damage => 9,
+ upgrade => 1,
+ cooldown => 30 / $FPS,
splash => 'bounce',
+ range => 3,
},
- air => 'ground',
- range => 3,
-},
+],
sight => 7,
-speed => 18,
+speed => 6.67 * $SM,
special => [
{
alt => 'Cocoon',
suit => 3,
- organic => 1,
+ size => 32 / $PPT,
+ attr => {
+ organic => 1,
+ flying => 1,
+ },
hp => 200,
armor => 0,
sight => 4,
min => 150,
gas => 200,
build => 40,
-base => 'mutalisk',
+base => ['mutalisk'],
suit => 3,
-unit => 2,
+size => 44 / $PPT,
+pop => 2,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+ flying => 1,
+},
air => 1,
hp => 150,
armor => 2,
-attack => {
- ground => {
- damage => [20, 22, 24, 26],
- cooldown => 30,
+attack => [
+ {
+ anti => 1,
+ name => 'Acid Spore',
+ damage => 20,
+ upgrade => 2,
+ cooldown => 30 / $FPS,
+ range => 8,
},
- range => 8,
-},
+],
sight => 11,
-speed => 7,
+speed => 2.5 * $SM,
},
{
min => 250,
gas => 150,
build => 40,
-base => 'mutalisk',
+base => ['mutalisk'],
suit => 3,
-unit => 2,
+size => 44 / $PPT,
+pop => 2,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+ flying => 1,
+},
air => 1,
hp => 250,
armor => 2,
-attack => {
- air => {
- damage => [25, 27, 29, 31],
- cooldown => 100,
+attack => [
+ {
+ anti => 2,
+ name => 'Corrosive Acid',
+ damage => 25,
+ upgrade => 2,
+ cooldown => 100 / $FPS,
type => 'explosive',
+ range => 6,
},
- range => 6,
-},
+],
sight => 10,
-speed => 15,
+speed => 5 * $SM,
counter => ['goliath', 'dragoon', 'scourge'],
},
gas => 150,
build => 50,
suit => 2,
-unit => 2,
+size => 27 / $PPT, # x25
+pop => 2,
+cargo => 2,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 80,
armor => 1,
sight => 10,
-speed => 12,
-energy => 200,
+speed => 4 * $SM,
+energy => 50,
+capacity => 200,
special => [
{
name => 'Consume',
duration => 12,
},
],
+upgrade => [
+ {
+ name => 'Metasynaptic Node',
+ min => 150,
+ gas => 50,
+ build => 166,
+ energy => 62.5-50,
+ capacity => 250-200,
+ },
+],
counter => ['archon', 'firebat'],
},
gas => 200,
build => 60,
suit => 3,
-unit => 4,
+size => 38 / $PPT, # x32
+pop => 4,
+cargo => 4,
race => 'zerg',
-organic => 1,
+attr => {
+ organic => 1,
+},
hp => 400,
armor => 1,
-attack => {
- ground => {
- damage => [20, 23, 26, 29],
- cooldown => 15,
+attack => [
+ {
+ anti => 1,
+ name => 'Kaiser Blades',
+ damage => 20,
+ upgrade => 3,
+ cooldown => 15 / $FPS,
+ range => 25 / $PPT,
},
- range => 1,
-},
+],
sight => 7,
-speed => 16,
+speed => 5.12 * $SM,
upgrade => [
{
name => 'Chitinous Plating',
min => 200,
gas => 200,
build => 133,
- speed => 21 - 16,
+ speed => (8.1 - 5.12) * $SM,
},
],
},