summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-26 03:01:19 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-26 03:01:19 -0400
commitf3d07e2a61e0709efe289a636033d436cf2954ef (patch)
tree423035efc697aaf33bba5d0ec4d7fa90e9a800b6
parent226d71bd105419be410870c833782367350f605c (diff)
downloadgames-smtnocturne-demons-f3d07e2a61e0709efe289a636033d436cf2954ef.tar.gz
games-smtnocturne-demons-f3d07e2a61e0709efe289a636033d436cf2954ef.zip
avoid redoing unnecessary work
-rw-r--r--bin/smt_fusion3
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) {