diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-10-06 12:21:05 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-10-06 12:21:05 -0500 |
commit | 74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6 (patch) | |
tree | ead9ff2b45aaea421edc5cc32437e0939fc0b783 | |
parent | 1bee889ac4f518cf87ab0df22073f2c500bd01d3 (diff) | |
download | games-smtnocturne-fusion-74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6.tar.gz games-smtnocturne-fusion-74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6.zip |
add some pretty printing functions for fusions
-rw-r--r-- | lib/Games/SMTNocturne/Fusion.pm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/Games/SMTNocturne/Fusion.pm b/lib/Games/SMTNocturne/Fusion.pm index 79bd257..1564280 100644 --- a/lib/Games/SMTNocturne/Fusion.pm +++ b/lib/Games/SMTNocturne/Fusion.pm @@ -3,10 +3,13 @@ use Games::SMTNocturne::Fusion::Demon; use Games::SMTNocturne::Fusion::Chart; use Sub::Exporter -setup => { exports => [ - qw(fuse fusions_for lookup_demon), + qw(fuse fusions_for lookup_demon + pretty_print_fusion pretty_print_fusions pretty_fusions_for), ], groups => { default => [qw(fuse fusions_for lookup_demon)], + print => [qw(pretty_print_fusion pretty_print_fusions + pretty_fusions_for)], }, }; @@ -34,6 +37,22 @@ sub lookup_demon { return Games::SMTNocturne::Fusion::Demon->lookup(@_); } +sub pretty_print_fusion { + my ($fusion) = @_; + my ($demon1, $demon2, $sacrifice, $time) = @$fusion; + return "Fuse $demon1 with $demon2" + . ($sacrifice ? ", while sacrificing $sacrifice" : "") + . ($time ? ", at $time" : ""); +} + +sub pretty_print_fusions { + return join "\n", map { pretty_print_fusion($_) } @_; +} + +sub pretty_fusions_for { + return pretty_print_fusions(fusions_for(@_)); +} + =head1 BUGS No known bugs. |