summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-10-06 12:05:14 -0500
committerJesse Luehrs <doy@tozt.net>2009-10-06 12:05:14 -0500
commit1bee889ac4f518cf87ab0df22073f2c500bd01d3 (patch)
treee66ae456f168d69b25000198f4c4abf56099db3a
parentce5a827b7b6724b12ba1485a2e445379b566e0c4 (diff)
downloadgames-smtnocturne-fusion-1bee889ac4f518cf87ab0df22073f2c500bd01d3.tar.gz
games-smtnocturne-fusion-1bee889ac4f518cf87ab0df22073f2c500bd01d3.zip
actually, don't need these special cases
-rw-r--r--lib/Games/SMTNocturne/Fusion/Chart.pm34
1 files changed, 10 insertions, 24 deletions
diff --git a/lib/Games/SMTNocturne/Fusion/Chart.pm b/lib/Games/SMTNocturne/Fusion/Chart.pm
index 57f89fc..5bb3f95 100644
--- a/lib/Games/SMTNocturne/Fusion/Chart.pm
+++ b/lib/Games/SMTNocturne/Fusion/Chart.pm
@@ -81,6 +81,16 @@ multi method fuse (ClassName $class: Mitama $demon1 is coerce,
return $demon2;
}
+multi method fuse (ClassName $class: Mitama $demon1 is coerce,
+ Element $demon2 is coerce) {
+ return $demon2;
+}
+
+multi method fuse (ClassName $class: Element $demon1 is coerce,
+ Mitama $demon2 is coerce) {
+ return $class->fuse($demon2, $demon1);
+}
+
multi method fuse (ClassName $class: SMTDemon $demon1 is coerce,
Element $demon2 is coerce) {
return $class->fuse($demon2, $demon1);
@@ -147,30 +157,6 @@ multi method fusions_for (ClassName $class: DeathstoneDemon $demon is coerce) {
@demons;
}
-multi method fusions_for (ClassName $class: Element $demon is coerce) {
- my @demons = Demon->lookup(self_fusion_element => $demon->name);
- my @found;
- for my $demon1 (@demons) {
- for my $demon2 (grep { $demon1->type eq $_->type } @demons) {
- next if $demon1->name eq $demon2->name;
- push @found, [$demon1, $demon2];
- }
- }
- return @found;
-}
-
-multi method fusions_for (ClassName $class: Mitama $demon is coerce) {
- my @found;
- for my $demon1 (keys %element_fusions) {
- for my $demon2 (keys %{ $element_fusions{$demon1} }) {
- next unless $demon->name eq "$element_fusions{$demon1}{$demon2} Mitama";
- my ($found1, $found2) = (Demon->lookup($demon1), Demon->lookup($demon2));
- push @found, [$found1, $found2];
- }
- }
- return @found;
-}
-
mangle_return fusions_for => sub {
my $class = shift;
@_ = grep { $_->[0]->level <= $_->[1]->level } @_;