sc: add best case bonus damage to maximum dps
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 19 Jun 2015 06:00:49 +0000 (08:00 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 22 Jun 2015 13:38:51 +0000 (15:38 +0200)
sc.plp

diff --git a/sc.plp b/sc.plp
index c8f508dc66496fa4b94eb2ab1b1e040948e4e320..e5a5b44b6a6af851496a74fa528230a00f6a531c 100644 (file)
--- a/sc.plp
+++ b/sc.plp
@@ -1,4 +1,5 @@
 <(common.inc.plp)><:
+use List::Util qw(max);
 
 my %scver = (
        id => 'bw',
@@ -157,6 +158,11 @@ sub showrange {
                                }
                        }
                        $damage *= ($attack->{count} // 1) / $attack->{cooldown};
+                       if (my $bonus = $upattack->{bonus} // $attack->{bonus}) {
+                               $maxdamage += $_ for max(
+                                       map { ref $_ ? $_->[-1] : $_ } values %{$bonus}
+                               );
+                       }
                        $maxdamage *= ($upattack->{count} // $attack->{count} // 1)
                                    / ($upattack->{cooldown} // $attack->{cooldown});
                        $out .= showrange($damage, $maxdamage);