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 $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 / 32; # pixels per frame to tiles per second multiplication
[
'<span title="no known changes as of v1.16.1">version≥1.08</span>',
name => "Particle Beam",
damage => 5,
cooldown => 22 / $FPS,
- range => 0,
+ range => 1,
},
],
sight => 8,
-speed => 14,
+speed => 5 * $SM,
counter => ['vulture', 'dark templar'],
},
},
],
sight => 7,
-speed => 11,
+speed => 4 * $SM,
upgrade => [
{
name => 'Leg Enhancements',
- speed => 16 - 11,
+ speed => (6 - 4) * $SM,
min => 150,
gas => 150,
build => 133,
},
],
sight => 8,
-speed => 15,
+speed => 5.25 * $SM,
upgrade => [
{
name => 'Singularity Charge',
shield => 40,
armor => 0,
sight => 7,
-speed => 9,
+speed => 3.33 * $SM,
energy => 50,
capacity => 200,
upgrade => [
},
],
sight => 7,
-speed => 15,
+speed => 5 * $SM,
special => [
{
name => 'Cloaked',
},
],
sight => 8,
-speed => 14,
+speed => 5 * $SM,
},
{
shield => 200,
armor => 1,
sight => 10,
-speed => 14,
+speed => 5 * $SM,
energy => 50,
capacity => 200,
upgrade => [
},
],
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,
},
],
},
},
],
sight => 9,
-speed => 17,
+speed => 6.67 * $SM,
energy => 50,
capacity => 200,
upgrade => [
],
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'],
},
],
sight => 11,
-speed => 10,
+speed => 3.33 * $SM,
special => [
{
name => 'Build Interceptor',
},
],
sight => 9,
-speed => 12,
+speed => 5 * $SM,
energy => 50,
capacity => 200,
upgrade => [
{
anti => 1,
damage => 100,
- cooldown => 60 / $FPS,
+ cooldown => 60 / $FPS, # 30 after drop
splash => 1,
min => 15,
build => 7,
},
],
sight => 10,
-speed => 5,
+speed => 1.77 * $SM,
upgrade => [
{
name => 'Scarab Damage',
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 => [
shield => 60,
armor => 1,
sight => 8,
-speed => 13,
+speed => 4.44 * $SM,
transport => 1,
upgrade => [
{
min => 200,
gas => 200,
build => 166,
- speed => 19 - 13,
+ speed => (6.67 - 4.44) * $SM,
}
],
},
},
],
sight => 7,
-speed => 15,
+speed => 5 * $SM,
},
{
},
],
sight => 7,
-speed => 11,
+speed => 4 * $SM,
upgrade => [
{
name => 'U-238 Shells',
],
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,
+ speed => (6 - 4) * $SM,
attack => [
{
anti => 3,
},
],
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,
+ speed => (6 - 4) * $SM,
attack => [
{
anti => 1,
},
],
sight => 9,
-speed => 11,
+speed => 4 * $SM,
energy => 50,
capacity => 200,
upgrade => [
hp => 60,
armor => 1,
sight => 9,
-speed => 11,
+speed => 4 * $SM,
energy => 50,
capacity => 200,
upgrade => [
},
],
sight => 8,
-speed => 20,
+speed => 6.67 * $SM,
upgrade => [
{
name => 'Ion Thrusters',
min => 100,
gas => 100,
build => 100,
- speed => 28 - 20,
+ speed => (10 - 6.67) * $SM,
},
],
special => [
},
],
sight => 3,
- speed => 25,
+ speed => 9 * $SM, #XXX
},
],
},
anti => 1,
damage => 30,
upgrade => 3,
- cooldown => 37 / $FPS,
+ cooldown => 37 / $FPS, # 15 after drop
type => 'explosive',
range => 7,
},
],
sight => 10,
-speed => 12,
+speed => 4 * $SM,
special => [
{
name => 'Siege Mode',
anti => 1,
damage => 12,
upgrade => 1,
- cooldown => 22 / $FPS,
+ cooldown => 22 / $FPS, # 15 after drop
range => 5,
},
{
},
],
sight => 8,
-speed => 13,
+speed => 4.7 * $SM,
upgrade => [
{
name => 'Charon Boosters',
},
],
sight => 7,
-speed => 17,
+speed => 6.67 * $SM,
energy => 50,
capacity => 200,
special => [
},
],
sight => 11,
-speed => 7,
+speed => 2.5 * $SM,
energy => 50,
capacity => 200,
special => [
armor => 1,
sight => 10,
detect => 1,
-speed => 15,
+speed => 5 * $SM,
energy => 50,
capacity => 200,
special => [
},
],
sight => 8,
-speed => 19,
+speed => 6.6 * $SM,
},
{
hp => 150,
armor => 1,
sight => 8,
-speed => 15,
+speed => 5.47 * $SM,
transport => 1,
},
anti => 1,
damage => 5,
cooldown => 22 / $FPS,
- range => 0,
+ range => 1,
},
],
sight => 7,
-speed => 14,
+speed => 5 * $SM,
},
{
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,
},
],
},
},
],
sight => 5,
-speed => 14,
+speed => 5.57 * $SM,
upgrade => [
{
name => 'Metabolic Boost',
min => 100,
gas => 100,
build => 80,
- speed => 22 - 14,
+ speed => (8.36 - 5.57) * $SM,
},
{
name => 'Adrenal Glands',
build => 80,
attack => [
{
- cooldown => 6 / $FPS,
+ cooldown => (6 - 8) / $FPS,
},
],
},
},
],
sight => 6,
-speed => 11,
+speed => 3.71 * $SM,
upgrade => [
{
name => 'Grooved Spines',
min => 150,
gas => 150,
build => 100,
- speed => 16 - 11,
+ speed => (5.57 - 3.71) * $SM,
},
{
name => 'Lurker Aspect',
},
],
sight => 8,
-speed => 17,
+speed => 6 * $SM,
},
{
hp => 120,
armor => 0,
sight => 10,
-speed => 18,
+speed => 6.67 * $SM,
energy => 50,
capacity => 200,
special => [
},
],
sight => 5,
- speed => 19,
+ speed => 6.04 * $SM,
},
],
},
},
],
sight => 5,
-speed => 17,
+speed => 6 * $SM,
},
{
},
],
sight => 5,
-speed => 18,
+speed => 6.67 * $SM,
counter => ['cannon', 'goliath', 'hydralisk'],
},
},
],
sight => 7,
-speed => 18,
+speed => 6.67 * $SM,
special => [
{
alt => 'Cocoon',
},
],
sight => 11,
-speed => 7,
+speed => 2.5 * $SM,
},
{
},
],
sight => 10,
-speed => 15,
+speed => 5 * $SM,
counter => ['goliath', 'dragoon', 'scourge'],
},
hp => 80,
armor => 1,
sight => 10,
-speed => 12,
+speed => 4 * $SM,
energy => 50,
capacity => 200,
special => [
duration => 12,
},
],
+upgrade => [
+ {
+ name => 'Metasynaptic Node',
+ min => 150,
+ gas => 50,
+ build => 166,
+ energy => 62.5-50,
+ capacity => 250-200,
+ },
+],
counter => ['archon', 'firebat'],
},
},
],
sight => 7,
-speed => 16,
+speed => 5.4 * $SM,
upgrade => [
{
name => 'Chitinous Plating',
min => 200,
gas => 200,
build => 133,
- speed => 21 - 16,
+ speed => (8.1 - 5.4) * $SM,
},
],
},