X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/bb07d710e95b75eb0089b07165616e825f406aae..0b686d7436dbdb50f0bf8547f845af6bc334a9e4:/sc.plp diff --git a/sc.plp b/sc.plp index 9a9a12a..d6ccaf6 100644 --- a/sc.plp +++ b/sc.plp @@ -192,8 +192,10 @@ sub showrange { } } - if ($elements[0] eq 'attack' and $elements[1] ne 'range' and $elements[2] eq 'cmp') {{ - my $type = $row->{$elements[0]}->{$elements[1]}->{type} or next; + if ($elements[0] eq 'attack' and $elements[1] ne 'range' and $elements[2] eq 'dps') {{ + my $attack = $row->{ $elements[0] }->{ $elements[1] }; + ref $attack or $attack = $row->{ $elements[0] }->{$attack}; # follow + my $type = $attack->{type} or next; if ($type eq 'explosive') { $min /= 2; } @@ -209,6 +211,11 @@ sub showrange { sub showattack { my ($row, $area) = @_; local $_ = $row->{attack}->{$area}; + if (not ref $_) { + # reference to another area + $area = $_; + $_ = $row->{attack}->{$area}; + } return '' unless $_; @@ -225,7 +232,7 @@ sub showrange { my $out = showrange($row, 'attack', $area, 'damage'); $out .= '+' if $_->{splash}; - $out .= '' . showrange($row, 'attack', $area, 'cmp'); + $out .= '' . showrange($row, 'attack', $area, 'dps'); return $tagbase . $out; }