summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-26 13:27:53 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-26 13:27:53 -0400
commita6b29a0d67b261c52b79033c1f140502b27cf428 (patch)
tree3837852e458f6e175082fdb03fdbf7c18d78e789
parent0609a60adedf6620eeac60e5701f9416c4702826 (diff)
downloadgames-smtnocturne-demons-a6b29a0d67b261c52b79033c1f140502b27cf428.tar.gz
games-smtnocturne-demons-a6b29a0d67b261c52b79033c1f140502b27cf428.zip
pass options through everywhere
-rw-r--r--bin/smt_fusion2
-rw-r--r--lib/Games/SMTNocturne/Demons.pm16
-rw-r--r--lib/Games/SMTNocturne/Demons/Fusion.pm4
3 files changed, 14 insertions, 8 deletions
diff --git a/bin/smt_fusion b/bin/smt_fusion
index dca7901..292c807 100644
--- a/bin/smt_fusion
+++ b/bin/smt_fusion
@@ -157,8 +157,8 @@ sub _check_fusion {
my $new_current = { %$current };
my $new_fusion = Games::SMTNocturne::Demons::Fusion->new(
- $demon1, $demon2,
$options,
+ $demon1, $demon2,
($sacrifice
? ($sacrifice)
: ()),
diff --git a/lib/Games/SMTNocturne/Demons.pm b/lib/Games/SMTNocturne/Demons.pm
index 8241795..7df5358 100644
--- a/lib/Games/SMTNocturne/Demons.pm
+++ b/lib/Games/SMTNocturne/Demons.pm
@@ -85,7 +85,7 @@ sub fusions_for {
for my $demon2 (Games::SMTNocturne::Demons::Demon->from_type($type2)) {
next if defined $options->{max_level}
&& $options->{max_level} < $demon2->level;
- push @fusions, [ $demon1, $demon2 ]
+ push @fusions, [ $options, $demon1, $demon2 ]
if (fuse($demon1, $demon2, $options) || '') eq $demon;
}
}
@@ -119,9 +119,15 @@ sub fusions_for {
for my $demon1 (@{ $special->{demon1} }) {
for my $demon2 (@{ $special->{demon2} }) {
for my $demon3 (@{ $special->{demon3} }) {
- push @special_fusions, [ $demon1, $demon2, $demon3 ];
- push @special_fusions, [ $demon1, $demon3, $demon2 ];
- push @special_fusions, [ $demon2, $demon3, $demon1 ];
+ push @special_fusions, [
+ $options, $demon1, $demon2, $demon3
+ ];
+ push @special_fusions, [
+ $options, $demon1, $demon3, $demon2
+ ];
+ push @special_fusions, [
+ $options, $demon2, $demon3, $demon1
+ ];
}
}
}
@@ -129,7 +135,7 @@ sub fusions_for {
elsif ($special->{demon2}) {
for my $demon1 (@{ $special->{demon1} }) {
for my $demon2 (@{ $special->{demon2} }) {
- push @special_fusions, [ $demon1, $demon2 ];
+ push @special_fusions, [ $options, $demon1, $demon2 ];
}
}
}
diff --git a/lib/Games/SMTNocturne/Demons/Fusion.pm b/lib/Games/SMTNocturne/Demons/Fusion.pm
index 045b1c6..9ffe9bb 100644
--- a/lib/Games/SMTNocturne/Demons/Fusion.pm
+++ b/lib/Games/SMTNocturne/Demons/Fusion.pm
@@ -6,7 +6,7 @@ use overload '""' => 'to_string';
use Games::SMTNocturne::Demons::Demon;
sub new {
- my ($class, $demon1, $demon2, $options, $sacrifice, $kagatsuchi) = @_;
+ my ($class, $options, $demon1, $demon2, $sacrifice, $kagatsuchi) = @_;
my $attrs = {};
@@ -63,7 +63,7 @@ sub all_demons {
sub raw {
my $self = shift;
- my $array = [ @{ $self->demons } ];
+ my $array = [ $self->options, @{ $self->demons } ];
push @$array, $self->sacrifice
if $self->sacrifice;
push @$array, "<deathstone>"