diff options
Diffstat (limited to 'lib/Games/SMTNocturne/Fusion/Chart.pm')
-rw-r--r-- | lib/Games/SMTNocturne/Fusion/Chart.pm | 6 |
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, |