From 74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 6 Oct 2009 12:21:05 -0500 Subject: add some pretty printing functions for fusions --- lib/Games/SMTNocturne/Fusion.pm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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. -- cgit v1.2.3-54-g00ecf