… | |
… | |
20 | } |
20 | } |
21 | |
21 | |
22 | sub determine_weapon_value { |
22 | sub determine_weapon_value { |
23 | my ($weapon) = @_; |
23 | my ($weapon) = @_; |
24 | |
24 | |
25 | my $clone = $weapon->arch->clone; |
25 | my $arch = $weapon->arch; |
26 | my $value = $clone->value; |
26 | my $value = $arch->value; |
27 | |
27 | |
28 | my $wc_diff = $weapon->stats->wc - $clone->stats->wc; |
28 | my $wc_diff = $weapon->stats->wc - $arch->stats->wc; |
29 | my $ac_diff = $weapon->stats->ac - $clone->stats->ac; |
29 | my $ac_diff = $weapon->stats->ac - $arch->stats->ac; |
30 | my $dam_diff = $weapon->stats->dam - $clone->stats->dam; |
30 | my $dam_diff = $weapon->stats->dam - $arch->stats->dam; |
31 | |
31 | |
32 | my $magic_diff = $weapon->magic - $clone->magic; |
32 | my $magic_diff = $weapon->magic - $arch->magic; |
33 | |
33 | |
34 | if ($wc_diff > 0) { $value += $WC_BASE_VALUE * 1.5 * $wc_diff * rand_range .5, 1 } |
34 | if ($wc_diff > 0) { $value += $WC_BASE_VALUE * 1.5 * $wc_diff * rand_range .5, 1 } |
35 | if ($ac_diff > 0) { $value += $AC_BASE_VALUE * 1.5 * $ac_diff * rand_range .5, 1 } |
35 | if ($ac_diff > 0) { $value += $AC_BASE_VALUE * 1.5 * $ac_diff * rand_range .5, 1 } |
36 | if ($dam_diff > 0) { $value += $DAM_BASE_VALUE * ($dam_diff ** 2.4) * rand_range .7, 1 } |
36 | if ($dam_diff > 0) { $value += $DAM_BASE_VALUE * ($dam_diff ** 2.4) * rand_range .7, 1 } |
37 | if ($magic_diff > 0) { $value += $MAGIC_BASE_VALUE * 1.5 * $magic_diff * rand_range .5, 1 } |
37 | if ($magic_diff > 0) { $value += $MAGIC_BASE_VALUE * 1.5 * $magic_diff * rand_range .5, 1 } |