summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-10-06 12:21:05 -0500
committerJesse Luehrs <doy@tozt.net>2009-10-06 12:21:05 -0500
commit74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6 (patch)
treeead9ff2b45aaea421edc5cc32437e0939fc0b783
parent1bee889ac4f518cf87ab0df22073f2c500bd01d3 (diff)
downloadgames-smtnocturne-fusion-74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6.tar.gz
games-smtnocturne-fusion-74f004cbd1bd4177b196cf1d6ffa4a7b48e7c5f6.zip
add some pretty printing functions for fusions
-rw-r--r--lib/Games/SMTNocturne/Fusion.pm21
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.