summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6bff325)
Move game-specific multiplication to data so hots values are left alone.
ground => {
name => "Particle Beam",
damage => 5,
ground => {
name => "Particle Beam",
damage => 5,
attack => {
ground => {
damage => 20,
attack => {
ground => {
damage => 20,
},
air => 'ground',
range => 7,
},
air => 'ground',
range => 7,
ground => {
name => "Psi Blades",
damage => [16, 18, 20, 22],
ground => {
name => "Psi Blades",
damage => [16, 18, 20, 22],
name => "Phase Disruptor",
damage => [20, 22, 24, 26],
type => 'explosive',
name => "Phase Disruptor",
damage => [20, 22, 24, 26],
type => 'explosive',
},
air => 'ground',
range => 4,
},
air => 'ground',
range => 4,
ground => {
name => "Warp Blades",
damage => [40, 43, 46, 49],
ground => {
name => "Warp Blades",
damage => [40, 43, 46, 49],
ground => {
name => "Psionic Shockwave",
damage => [30, 33, 36, 39],
ground => {
name => "Psionic Shockwave",
damage => [30, 33, 36, 39],
splash => 1,
},
air => 'ground',
splash => 1,
},
air => 'ground',
attack => {
ground => {
damage => [8, 9, 10, 11],
attack => {
ground => {
damage => [8, 9, 10, 11],
},
air => {
damage => [28, 30, 32, 34],
type => 'explosive',
},
air => {
damage => [28, 30, 32, 34],
type => 'explosive',
attack => {
air => {
damage => [5, 6, 7, 8],
attack => {
air => {
damage => [5, 6, 7, 8],
splash => 1,
type => 'explosive',
},
splash => 1,
type => 'explosive',
},
attack => {
ground => {
damage => [6, 7, 8, 9],
attack => {
ground => {
damage => [6, 7, 8, 9],
- cooldown => 43, # approximately 37 according to liquipedia
+ cooldown => 43 / $FPS, # approximately 37 according to liquipedia
build => 20,
},
air => 'ground',
build => 20,
},
air => 'ground',
attack => {
ground => {
damage => [10, 11, 12, 13],
attack => {
ground => {
damage => [10, 11, 12, 13],
type => 'explosive',
},
air => 'ground',
type => 'explosive',
},
air => 'ground',
attack => {
ground => {
damage => 100,
attack => {
ground => {
damage => 100,
splash => 1,
cost => 15,
build => 7,
splash => 1,
cost => 15,
build => 7,
attack => {
ground => {
damage => 5,
attack => {
ground => {
damage => 5,
attack => {
air => {
damage => 20,
attack => {
air => {
damage => 20,
type => 'explosive',
},
range => 7,
type => 'explosive',
},
range => 7,
attack => {
ground => {
damage => [6, 7, 8, 9],
attack => {
ground => {
damage => [6, 7, 8, 9],
},
air => 'ground',
range => 4,
},
air => 'ground',
range => 4,
speed => 17,
attack => {
ground => {
speed => 17,
attack => {
ground => {
+ cooldown => 7.5 / $FPS,
attack => {
ground => {
damage => [16, 18, 20, 22],
attack => {
ground => {
damage => [16, 18, 20, 22],
splash => 1,
type => 'implosive',
},
splash => 1,
type => 'implosive',
},
speed => 17,
attack => {
ground => {
speed => 17,
attack => {
ground => {
},
},
duration => 220 / $FPS,
},
},
duration => 220 / $FPS,
attack => {
ground => {
damage => [10, 11, 12, 13],
attack => {
ground => {
damage => [10, 11, 12, 13],
type => 'implosive',
},
air => 'ground',
type => 'implosive',
},
air => 'ground',
attack => {
ground => {
damage => [20, 22, 24, 26],
attack => {
ground => {
damage => [20, 22, 24, 26],
type => 'implosive',
},
range => 5,
type => 'implosive',
},
range => 5,
attack => {
ground => {
damage => [30, 33, 36, 39],
attack => {
ground => {
damage => [30, 33, 36, 39],
type => 'explosive',
},
range => 7,
type => 'explosive',
},
range => 7,
attack => {
ground => {
damage => [70, 75, 80, 85],
attack => {
ground => {
damage => [70, 75, 80, 85],
splash => 1,
type => 'explosive',
},
splash => 1,
type => 'explosive',
},
attack => {
ground => {
damage => [12, 13, 14, 15],
attack => {
ground => {
damage => [12, 13, 14, 15],
},
air => {
damage => [20, 24, 28, 32],
type => 'explosive',
},
air => {
damage => [20, 24, 28, 32],
type => 'explosive',
attack => {
ground => {
damage => [8, 9, 10, 11],
attack => {
ground => {
damage => [8, 9, 10, 11],
},
air => {
damage => [20, 22, 24, 26],
},
air => {
damage => [20, 22, 24, 26],
type => 'explosive',
},
range => 5,
type => 'explosive',
},
range => 5,
attack => {
ground => {
damage => [25, 28, 31, 34],
attack => {
ground => {
damage => [25, 28, 31, 34],
},
air => 'ground',
range => 6,
},
air => 'ground',
range => 6,
attack => {
air => {
damage => [6, 7, 8, 9],
attack => {
air => {
damage => [6, 7, 8, 9],
splash => 1,
type => 'explosive',
count => 8,
splash => 1,
type => 'explosive',
count => 8,
attack => {
ground => {
damage => 5,
attack => {
ground => {
damage => 5,
attack => {
ground => {
damage => 40,
attack => {
ground => {
damage => 40,
type => 'explosive',
},
range => 7,
type => 'explosive',
},
range => 7,
attack => {
air => {
damage => 15,
attack => {
air => {
damage => 15,
attack => {
ground => {
damage => [5, 6, 7, 8],
attack => {
ground => {
damage => [5, 6, 7, 8],
build => 80,
attack => {
ground => {
build => 80,
attack => {
ground => {
attack => {
ground => {
damage => [10, 11, 12, 13],
attack => {
ground => {
damage => [10, 11, 12, 13],
type => 'explosive',
},
air => 'ground',
type => 'explosive',
},
air => 'ground',
attack => {
ground => {
damage => [20, 22, 24, 26],
attack => {
ground => {
damage => [20, 22, 24, 26],
splash => 'line',
},
range => 6,
splash => 'line',
},
range => 6,
attack => {
ground => {
damage => [4, 5, 6, 7],
attack => {
ground => {
damage => [4, 5, 6, 7],
attack => {
ground => {
damage => [9 .. 12],
attack => {
ground => {
damage => [9 .. 12],
splash => 'bounce',
},
air => 'ground',
splash => 'bounce',
},
air => 'ground',
attack => {
ground => {
damage => [20, 22, 24, 26],
attack => {
ground => {
damage => [20, 22, 24, 26],
attack => {
air => {
damage => [25, 27, 29, 31],
attack => {
air => {
damage => [25, 27, 29, 31],
+ cooldown => 100 / $FPS,
type => 'explosive',
},
range => 6,
type => 'explosive',
},
range => 6,
attack => {
ground => {
damage => [20, 23, 26, 29],
attack => {
ground => {
damage => [20, 23, 26, 29],
$attack->{splash} eq 'line' ? ('linear', '×') : ('splash', '+')
) if $attack->{splash};
$attack->{dps} = $attack->{cooldown} && [
$attack->{splash} eq 'line' ? ('linear', '×') : ('splash', '+')
) if $attack->{splash};
$attack->{dps} = $attack->{cooldown} && [
- map { 24 * $_ / $attack->{cooldown} * ($attack->{count} // 1) }
+ map { $_ / $attack->{cooldown} * ($attack->{count} // 1) }
map { ref $_ ? @{$_} : $_ }
$attack->{damage}
#TODO: upgrade (zergling)
map { ref $_ ? @{$_} : $_ }
$attack->{damage}
#TODO: upgrade (zergling)