git.shiar.nl
/
sheet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sc: calculate dps from damage and cooldown
[sheet.git]
/
sc.plp
diff --git
a/sc.plp
b/sc.plp
index 0426b6eacb1eb97baabac2179d63773a55896838..4105bec7760b2dc2f3d0d616229f1be148638ed1 100644
(file)
--- a/
sc.plp
+++ b/
sc.plp
@@
-219,28
+219,33
@@
sub showrange {
sub showattack {
my ($row, $area) = @_;
sub showattack {
my ($row, $area) = @_;
-
local $_
= $row->{attack}->{$area};
- if (not ref $
_
) {
+
my $attack
= $row->{attack}->{$area};
+ if (not ref $
attack
) {
# reference to another area
# reference to another area
- $area = $
_
;
- $
_
= $row->{attack}->{$area};
+ $area = $
attack
;
+ $
attack
= $row->{attack}->{$area};
}
}
- return '<td colspan="2" class="hurt">' unless $
_
;
+ return '<td colspan="2" class="hurt">' unless $
attack
;
my $tagbase = '<td class="val hurt';
my $tagbase = '<td class="val hurt';
- if (ref $
_ and $_
->{type}) {
- if ($
_
->{type} eq 'explosive') {
+ if (ref $
attack and $attack
->{type}) {
+ if ($
attack
->{type} eq 'explosive') {
$tagbase .= ' unit-l';
}
$tagbase .= ' unit-l';
}
- elsif ($
_
->{type} eq 'implosive') {
+ elsif ($
attack
->{type} eq 'implosive') {
$tagbase .= ' unit-s';
}
}
$tagbase .= '">';
my $out = showrange($row, 'attack', $area, 'damage');
$tagbase .= ' unit-s';
}
}
$tagbase .= '">';
my $out = showrange($row, 'attack', $area, 'damage');
- $out .= '<span class="unit-splash">+</span>' if $_->{splash};
+ $out .= '<span class="unit-splash">+</span>' if $attack->{splash};
+ $attack->{dps} = $attack->{cooldown} && [
+ map { 24 * $_ / $attack->{cooldown} * ($attack->{count} // 1) }
+ map { ref $_ ? @{$_} : $_ }
+ $attack->{damage}
+ ];
$out .= '<td class="val hurt hurtrel">' . showrange($row, 'attack', $area, 'dps');
return $tagbase . $out;
}
$out .= '<td class="val hurt hurtrel">' . showrange($row, 'attack', $area, 'dps');
return $tagbase . $out;
}
@@
-380,8
+385,7
@@
sub showrange {
<dt>ground/air
<dd>damage done per single attack against ground/air units
<dd>2nd column indicates relative amount of damage done in
<dt>ground/air
<dd>damage done per single attack against ground/air units
<dd>2nd column indicates relative amount of damage done in
- <span title="the time in which a dragoon fires a shot">a certain
- amount</span> of time
+ 1 second of fastest game time
<dd>splash damage<span class="unit-splash">+</span> hits nearby objects as well
<dd><span class="hurt unit-l">explosive</span> damage does only
50% damage to small units, 75% to medium, 100% to large
<dd>splash damage<span class="unit-splash">+</span> hits nearby objects as well
<dd><span class="hurt unit-l">explosive</span> damage does only
50% damage to small units, 75% to medium, 100% to large