summaryrefslogtreecommitdiffstats
path: root/lib/Games/SMTNocturne/Fusion/Chart.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Games/SMTNocturne/Fusion/Chart.pm')
-rw-r--r--lib/Games/SMTNocturne/Fusion/Chart.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Games/SMTNocturne/Fusion/Chart.pm b/lib/Games/SMTNocturne/Fusion/Chart.pm
index fcb967d..287e7df 100644
--- a/lib/Games/SMTNocturne/Fusion/Chart.pm
+++ b/lib/Games/SMTNocturne/Fusion/Chart.pm
@@ -2,6 +2,7 @@ package Games::SMTNocturne::Fusion::Chart;
use Moose;
use MooseX::ClassAttribute;
use MooseX::MultiMethods;
+use List::MoreUtils qw(firstval);
use YAML::Any qw(Load);
use Games::SMTNocturne::Fusion::Types
qw(DemonType SMTDemon Element Mitama
@@ -53,7 +54,10 @@ multi method fuse (ClassName $self: SMTDemon $demon1 is coerce,
type => $type,
level => sub { $_ >= $level },
);
- return $possible[0];
+ return firstval { !$_->does('Games::SMTNocturne::Fusion::Role::Deathstone')
+ && !$_->does('Games::SMTNocturne::Fusion::Role::Evolve')
+ && !$_->does('Games::SMTNocturne::Fusion::Role::Special') }
+ @possible;
}
multi method fuse (ClassName $self: Element $demon1 is coerce,