From 2ad79606e53dfa84b18d704f2d889edca5a69fc2 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 4 Oct 2009 00:39:35 -0500 Subject: add basic demon fusion rules --- lib/Games/SMTNocturne/Fusion/Chart.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib') diff --git a/lib/Games/SMTNocturne/Fusion/Chart.pm b/lib/Games/SMTNocturne/Fusion/Chart.pm index 631e585..69f2fd5 100644 --- a/lib/Games/SMTNocturne/Fusion/Chart.pm +++ b/lib/Games/SMTNocturne/Fusion/Chart.pm @@ -16,6 +16,22 @@ class_has _type_chart => ( }, ); +sub fuse { + my $self = shift; + my ($demon1, $demon2) = @_; + $demon1 = Games::SMTNocturne::Fusion::Demon->lookup($demon1) + unless blessed($demon1); + $demon2 = Games::SMTNocturne::Fusion::Demon->lookup($demon2) + unless blessed($demon2); + my $type = $self->_type_chart->{$demon1->type}{$demon2->type}; + my $level = ($demon1->level + $demon2->level) / 2; + my @possible = Games::SMTNocturne::Fusion::Demon->lookup( + type => $type, + level => sub { $_ >= $level }, + ); + return $possible[0]; +} + 1; __DATA__ -- cgit v1.2.3-54-g00ecf