1 | #!perl |
1 | #!perl |
2 | use List::Util qw/min/; |
2 | use List::Util qw/min/; |
3 | |
|
|
4 | $cf::CFG{ext_bonus} |
|
|
5 | or return; |
|
|
6 | |
3 | |
7 | my $WC_BASE_VALUE = 15 * 5000; # 15r |
4 | my $WC_BASE_VALUE = 15 * 5000; # 15r |
8 | my $AC_BASE_VALUE = 40 * 5000; # 40r |
5 | my $AC_BASE_VALUE = 40 * 5000; # 40r |
9 | my $DAM_BASE_VALUE = 200; # 25p |
6 | my $DAM_BASE_VALUE = 200; # 25p |
10 | my $MAGIC_BASE_VALUE = 100 * 5000; # 100r |
7 | my $MAGIC_BASE_VALUE = 100 * 5000; # 100r |
… | |
… | |
37 | 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 } |
38 | 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 } |
39 | if ($dam_diff > 0) { $value += $DAM_BASE_VALUE * ($dam_diff ** 2.4) * rand_range .5, 1 } |
36 | if ($dam_diff > 0) { $value += $DAM_BASE_VALUE * ($dam_diff ** 2.4) * rand_range .5, 1 } |
40 | 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 } |
41 | |
38 | |
42 | warn sprintf "WC DIFF: %3d, %3d, %3d, %3d | %10d = %10.3f r\n", |
39 | # warn sprintf "WC DIFF: %3d, %3d, %3d, %3d | %10d = %10.3f r\n", |
43 | $dam_diff, $wc_diff, $ac_diff, $magic_diff, $value, $value / 5000 |
40 | # $dam_diff, $wc_diff, $ac_diff, $magic_diff, $value, $value / 5000 |
44 | if $cf::CFG{ext_bonus_debug}; |
41 | # if $cf::CFG{ext_bonus_debug}; |
45 | |
42 | |
46 | $weapon->value ($value); |
43 | $weapon->value ($value); |
47 | } |
44 | } |
48 | |
45 | |
49 | cf::object->attach ( |
46 | cf::object->attach ( |