summaryrefslogtreecommitdiffstats
path: root/lib/Games/SMTNocturne/Demons.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-26 01:44:38 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-26 01:44:38 -0400
commit45fc3dbb1652543352afc1efd29a687394c62597 (patch)
tree98bbe73752f820190a92a218550757b5b8b6a153 /lib/Games/SMTNocturne/Demons.pm
parent9dfaadc6745a3d0824d1c809289908134ca725a4 (diff)
downloadgames-smtnocturne-demons-45fc3dbb1652543352afc1efd29a687394c62597.tar.gz
games-smtnocturne-demons-45fc3dbb1652543352afc1efd29a687394c62597.zip
use a separate object for fusions
Diffstat (limited to 'lib/Games/SMTNocturne/Demons.pm')
-rw-r--r--lib/Games/SMTNocturne/Demons.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Games/SMTNocturne/Demons.pm b/lib/Games/SMTNocturne/Demons.pm
index cb399ce..7d95808 100644
--- a/lib/Games/SMTNocturne/Demons.pm
+++ b/lib/Games/SMTNocturne/Demons.pm
@@ -6,6 +6,7 @@ use Exporter 'import';
our @EXPORT_OK = qw(demon fuse fusions_for);
use Games::SMTNocturne::Demons::Demon;
+use Games::SMTNocturne::Demons::Fusion;
use Games::SMTNocturne::Demons::FusionChart;
sub demon {
@@ -134,6 +135,8 @@ sub fusions_for {
elsif ($special->{demon1}) {
if ($special->{target}) {
my @target_fusions = map {
+ $_->raw
+ } map {
fusions_for($_, $options)
} @{ $special->{target} };
push @special_fusions, grep {
@@ -149,6 +152,8 @@ sub fusions_for {
else {
if ($special->{target}) {
push @special_fusions, map {
+ $_->raw
+ } map {
fusions_for($_, $options)
} @{ $special->{target} };
}
@@ -171,12 +176,13 @@ sub fusions_for {
if ($special->{kagatsuchi}) {
@special_fusions = map {
my $phase = $_;
- map { [ @$_, "<kagatsuchi $phase>" ] } @special_fusions
+ map { [ @$_, $phase ] } @special_fusions
} @{ $special->{kagatsuchi} };
}
}
- return @fusions, @special_fusions;
+ return map { Games::SMTNocturne::Demons::Fusion->new(@$_) }
+ @fusions, @special_fusions;
}
sub _try_special_fusion {