summaryrefslogtreecommitdiffstats
path: root/lib/Games
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-25 11:47:11 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-25 11:47:11 -0400
commitc666bfc50a1acc44ba9dbd206665ec95c1aea9f3 (patch)
tree003fa8a5ba208f6e4544f7ce73f7462c62281de4 /lib/Games
parentb4e721827d8b404668fde2447e93e57c31c3bee1 (diff)
downloadgames-smtnocturne-demons-c666bfc50a1acc44ba9dbd206665ec95c1aea9f3.tar.gz
games-smtnocturne-demons-c666bfc50a1acc44ba9dbd206665ec95c1aea9f3.zip
implement fusing elements for mitama
Diffstat (limited to 'lib/Games')
-rw-r--r--lib/Games/SMTNocturne/Demons.pm6
-rw-r--r--lib/Games/SMTNocturne/Demons/FusionChart.pm30
2 files changed, 35 insertions, 1 deletions
diff --git a/lib/Games/SMTNocturne/Demons.pm b/lib/Games/SMTNocturne/Demons.pm
index f24518c..a5e8b04 100644
--- a/lib/Games/SMTNocturne/Demons.pm
+++ b/lib/Games/SMTNocturne/Demons.pm
@@ -65,7 +65,11 @@ sub fusions_for {
sub _fuse_mitama {
my ($element1, $element2) = @_;
- die "element fusion nyi";
+ my $mitama = Games::SMTNocturne::Demons::FusionChart::fuse_mitama(
+ $element1->name, $element2->name
+ );
+ return unless $mitama;
+ return Games::SMTNocturne::Demons::Demon->from_name($mitama);
}
sub _element_fusion {
diff --git a/lib/Games/SMTNocturne/Demons/FusionChart.pm b/lib/Games/SMTNocturne/Demons/FusionChart.pm
index 294092d..e73bb9b 100644
--- a/lib/Games/SMTNocturne/Demons/FusionChart.pm
+++ b/lib/Games/SMTNocturne/Demons/FusionChart.pm
@@ -43,6 +43,36 @@ sub element_fusion {
return $TYPES{$type}{element_fusions}{$element};
}
+sub fuse_mitama {
+ my ($element1, $element2) = @_;
+
+ # XXX move this into actual data somewhere
+ my %mitama_fusions = (
+ Erthys => {
+ Aeros => 'Nigi Mitama',
+ Aquans => 'Ara Mitama',
+ Flaemis => 'Kusi Mitama',
+ },
+ Aeros => {
+ Erthys => 'Nigi Mitama',
+ Aquans => 'Kusi Mitama',
+ Flaemis => 'Ara Mitama',
+ },
+ Aquans => {
+ Erthys => 'Ara Mitama',
+ Aeros => 'Kusi Mitama',
+ Flaemis => 'Saki Mitama',
+ },
+ Flaemis => {
+ Erthys => 'Kusi Mitama',
+ Aeros => 'Ara Mitama',
+ Aquans => 'Saki Mitama',
+ },
+ );
+
+ return $mitama_fusions{$element1}{$element2};
+}
+
1;
__DATA__