summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-26 10:22:04 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-26 10:22:04 -0400
commitdfa49883e3f5d5f2c57f925b3903dbdce2e7011a (patch)
tree205c4a1799256b1ee693cf33ab7ceaff7decf85b /lib
parentf3d07e2a61e0709efe289a636033d436cf2954ef (diff)
downloadgames-smtnocturne-demons-dfa49883e3f5d5f2c57f925b3903dbdce2e7011a.tar.gz
games-smtnocturne-demons-dfa49883e3f5d5f2c57f925b3903dbdce2e7011a.zip
simplify
Diffstat (limited to 'lib')
-rw-r--r--lib/Games/SMTNocturne/Demons.pm24
1 files changed, 9 insertions, 15 deletions
diff --git a/lib/Games/SMTNocturne/Demons.pm b/lib/Games/SMTNocturne/Demons.pm
index 6b3c543..d3f3f1a 100644
--- a/lib/Games/SMTNocturne/Demons.pm
+++ b/lib/Games/SMTNocturne/Demons.pm
@@ -19,14 +19,11 @@ sub fuse {
my ($demon1, $demon2, $options) = @_;
$options = { %{ $options || {} } };
- $demon1 = Games::SMTNocturne::Demons::Demon->from_name($demon1)
- unless ref($demon1);
- $demon2 = Games::SMTNocturne::Demons::Demon->from_name($demon2)
- unless ref($demon2);
+ $demon1 = demon($demon1) unless ref($demon1);
+ $demon2 = demon($demon2) unless ref($demon2);
if ($options->{sacrifice}) {
- $options->{sacrifice} = Games::SMTNocturne::Demons::Demon->from_name(
- $options->{sacrifice}
- ) unless ref($options->{sacrifice});
+ $options->{sacrifice} = demon($options->{sacrifice})
+ unless ref($options->{sacrifice});
}
if (!$options->{basic}) {
@@ -70,8 +67,7 @@ sub fuse {
sub fusions_for {
my ($demon, $options) = @_;
- $demon = Games::SMTNocturne::Demons::Demon->from_name($demon)
- unless ref($demon);
+ $demon = demon($demon) unless ref($demon);
my @fusions;
my %seen;
@@ -97,9 +93,7 @@ sub fusions_for {
for my $key (qw(demon1 demon2 demon3 target sacrifice)) {
next unless $special->{$key};
if (my $name = $special->{$key}{name}) {
- $special->{$key} = [
- Games::SMTNocturne::Demons::Demon->from_name($name)
- ];
+ $special->{$key} = [ demon($name) ];
}
elsif (my $type = $special->{$key}{type}) {
my @types = ref($type) ? (@$type) : ($type);
@@ -194,7 +188,7 @@ sub _try_special_fusion {
);
return unless $fused;
- my $demon = Games::SMTNocturne::Demons::Demon->from_name($fused);
+ my $demon = demon($fused);
my %bosses = map { $_ => 1 } @{ $options->{bosses} || [] };
return if $demon->boss && !$bosses{$demon->name};
@@ -209,7 +203,7 @@ sub _fuse_mitama {
$element1->name, $element2->name
);
return unless $mitama;
- return Games::SMTNocturne::Demons::Demon->from_name($mitama);
+ return demon($mitama);
}
sub _element_fusion {
@@ -241,7 +235,7 @@ sub _fuse_element {
$demon1->type
);
return unless $element;
- return Games::SMTNocturne::Demons::Demon->from_name($element);
+ return demon($element);
}
sub _normal_fusion {