diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-10-06 16:23:35 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-10-06 16:23:35 -0500 |
commit | 6a0ded05309cd7a9eb388f3d4026cf9870e7201b (patch) | |
tree | ea197887645ea3c58c69aca5d3a0fda12ee2d46c /lib/Games/SMTNocturne/Fusion/KagutsuchiPhase.pm | |
parent | 3935ce91b27415104a80de6a38fa50b2f310b50f (diff) | |
download | games-smtnocturne-fusion-6a0ded05309cd7a9eb388f3d4026cf9870e7201b.tar.gz games-smtnocturne-fusion-6a0ded05309cd7a9eb388f3d4026cf9870e7201b.zip |
add allowable times for the various deathstone fusions
Diffstat (limited to 'lib/Games/SMTNocturne/Fusion/KagutsuchiPhase.pm')
-rw-r--r-- | lib/Games/SMTNocturne/Fusion/KagutsuchiPhase.pm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/Games/SMTNocturne/Fusion/KagutsuchiPhase.pm b/lib/Games/SMTNocturne/Fusion/KagutsuchiPhase.pm new file mode 100644 index 0000000..08f161f --- /dev/null +++ b/lib/Games/SMTNocturne/Fusion/KagutsuchiPhase.pm @@ -0,0 +1,31 @@ +package Games::SMTNocturne::Fusion::KagutsuchiPhase; +use Moose; +use namespace::clean -except => 'meta'; +use overload '""' => sub { + my $self = shift; + '<Kagutsuchi: ' . join(', ', map { $_ == 0 ? 'new' + : $_ == 4 ? 'half' + : $_ == 8 ? 'full' + : $_ } $self->phases) . '>'; +}; +# use namespace::autoclean; + +has phases => ( + traits => ['Array'], + isa => 'ArrayRef[Int]', + required => 1, + handles => { + phases => 'elements', + }, +); + +around BUILDARGS => sub { + my $orig = shift; + my $class = shift; + my @phases = @_; + return $class->$orig(phases => \@phases); +}; + +__PACKAGE__->meta->make_immutable; + +1; |