summaryrefslogtreecommitdiffstats
path: root/lib/Games/SMTNocturne/Fusion/Types.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-10-02 04:19:46 -0500
committerJesse Luehrs <doy@tozt.net>2009-10-02 04:19:46 -0500
commite3b5dc667d87f1a44da79fdfe890c8dba58e37d7 (patch)
treee45ced134dc628e05fa09d97e36cea08075376ab /lib/Games/SMTNocturne/Fusion/Types.pm
parent05654677fa26ccb47d540d86d4ade656d77fafac (diff)
downloadgames-smtnocturne-fusion-e3b5dc667d87f1a44da79fdfe890c8dba58e37d7.tar.gz
games-smtnocturne-fusion-e3b5dc667d87f1a44da79fdfe890c8dba58e37d7.zip
sketch out some working data loading
Diffstat (limited to 'lib/Games/SMTNocturne/Fusion/Types.pm')
-rw-r--r--lib/Games/SMTNocturne/Fusion/Types.pm18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Games/SMTNocturne/Fusion/Types.pm b/lib/Games/SMTNocturne/Fusion/Types.pm
new file mode 100644
index 0000000..2811902
--- /dev/null
+++ b/lib/Games/SMTNocturne/Fusion/Types.pm
@@ -0,0 +1,18 @@
+package Games::SMTNocturne::Fusion::Types;
+use strict;
+use warnings;
+use Moose::Util::TypeConstraints;
+
+enum 'Games::SMTNocturne::Fusion::DemonType' =>
+ qw(Deity Megami Fury Lady Kishin Holy Element Mitama Yoma Fairy Divine
+ Fallen Snake Beast Jirae Brute Femme Vile Tyrant Night Wilder Haunt
+ Foul Seraph Wargod Genma Dragon Avatar Avian Raptor Entity Fiend);
+enum 'Games::SMTNocturne::Fusion::FusionType' =>
+ qw(deathstone evolve normal special);
+subtype 'Games::SMTNocturne::Fusion::DemonList',
+ as 'ArrayRef[Games::SMTNocturne::Fusion::Demon]';
+coerce 'Games::SMTNocturne::Fusion::DemonList',
+ from 'ArrayRef[Str]',
+ via { [map { Games::SMTNocturne::Fusion::Demon->lookup($_) } @$_] };
+
+1;