summaryrefslogtreecommitdiffstats
path: root/lib/Games/SMTNocturne/Fusion.pm
blob: 156428047dc0b6a773366dfbf70b0a3ba7616e6f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package Games::SMTNocturne::Fusion;
use Games::SMTNocturne::Fusion::Demon;
use Games::SMTNocturne::Fusion::Chart;
use Sub::Exporter -setup => {
    exports => [
        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)],
    },
};

=head1 NAME

Games::SMTNocturne::Fusion -

=head1 SYNOPSIS


=head1 DESCRIPTION


=cut

sub fuse {
    return Games::SMTNocturne::Fusion::Chart->fuse(@_);
}

sub fusions_for {
    return Games::SMTNocturne::Fusion::Chart->fusions_for(@_);
}

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.

Please report any bugs through RT: email
C<bug-games-smtnocturne-fusion at rt.cpan.org>, or browse to
L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Games-SMTNocturne-Fusion>.

=head1 SEE ALSO


=head1 SUPPORT

You can find this documentation for this module with the perldoc command.

    perldoc Games::SMTNocturne::Fusion

You can also look for information at:

=over 4

=item * AnnoCPAN: Annotated CPAN documentation

L<http://annocpan.org/dist/Games-SMTNocturne-Fusion>

=item * CPAN Ratings

L<http://cpanratings.perl.org/d/Games-SMTNocturne-Fusion>

=item * RT: CPAN's request tracker

L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Games-SMTNocturne-Fusion>

=item * Search CPAN

L<http://search.cpan.org/dist/Games-SMTNocturne-Fusion>

=back

=head1 AUTHOR

  Jesse Luehrs <doy at tozt dot net>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2009 by Jesse Luehrs.

This is free software; you can redistribute it and/or modify it under
the same terms as perl itself.

=cut

1;