diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-05-26 03:01:19 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-05-26 03:01:19 -0400 |
commit | f3d07e2a61e0709efe289a636033d436cf2954ef (patch) | |
tree | 423035efc697aaf33bba5d0ec4d7fa90e9a800b6 | |
parent | 226d71bd105419be410870c833782367350f605c (diff) | |
download | games-smtnocturne-demons-f3d07e2a61e0709efe289a636033d436cf2954ef.tar.gz games-smtnocturne-demons-f3d07e2a61e0709efe289a636033d436cf2954ef.zip |
avoid redoing unnecessary work
-rw-r--r-- | bin/smt_fusion | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bin/smt_fusion b/bin/smt_fusion index b4b6094..296cd01 100644 --- a/bin/smt_fusion +++ b/bin/smt_fusion @@ -83,9 +83,12 @@ sub party_fusion { sort { $a->level <=> $b->level } map { _demon($_) } keys %$seen ), "\n"; } +my $SEEN = {}; sub _party_fusion_recursive_fuse { my ($seen, $deathstones, @demons) = @_; + return $seen if $SEEN->{join(';', @demons)}++; + $seen->{$_} = 1 for map { $_->name } @demons; if (@demons > 1) { |