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.pm11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Games/SMTNocturne/Fusion/Chart.pm b/lib/Games/SMTNocturne/Fusion/Chart.pm
index 0284d3b..dd21ec5 100644
--- a/lib/Games/SMTNocturne/Fusion/Chart.pm
+++ b/lib/Games/SMTNocturne/Fusion/Chart.pm
@@ -33,8 +33,15 @@ multi method fuse (ClassName $self: SMTDemon $demon1 is coerce,
multi method fuse (ClassName $self: Element $demon1 is coerce,
SMTDemon $demon2 is coerce) {
- # XXX: fix
- return;
+ my $direction = $demon2->elemental_fusion_direction($demon1->name);
+ return unless defined $direction;
+
+ if ($direction eq 'down') {
+ return $demon2->level_down;
+ }
+ else {
+ return $demon2->level_up;
+ }
}
multi method fuse (ClassName $self: Mitama $demon1 is coerce,