ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/bonus.ext
(Generate patch)

Comparing deliantra/server/ext/bonus.ext (file contents):
Revision 1.6 by elmex, Tue Feb 6 10:18:04 2007 UTC vs.
Revision 1.9 by root, Tue May 4 21:45:42 2010 UTC

1#!perl 1#! perl
2
2use List::Util qw/min/; 3use List::Util qw/min/;
3 4
4my $WC_BASE_VALUE = 15 * 5000; # 15r 5my $WC_BASE_VALUE = 15 * 5000; # 15r
5my $AC_BASE_VALUE = 40 * 5000; # 40r 6my $AC_BASE_VALUE = 40 * 5000; # 40r
6my $DAM_BASE_VALUE = 200; # 4p 7my $DAM_BASE_VALUE = 200; # 4p
20} 21}
21 22
22sub determine_weapon_value { 23sub determine_weapon_value {
23 my ($weapon) = @_; 24 my ($weapon) = @_;
24 25
25 my $clone = $weapon->arch->clone; 26 my $arch = $weapon->arch;
26 my $value = $clone->value; 27 my $value = $arch->value;
27 28
28 my $wc_diff = $weapon->stats->wc - $clone->stats->wc; 29 my $wc_diff = $weapon->stats->wc - $arch->stats->wc;
29 my $ac_diff = $weapon->stats->ac - $clone->stats->ac; 30 my $ac_diff = $weapon->stats->ac - $arch->stats->ac;
30 my $dam_diff = $weapon->stats->dam - $clone->stats->dam; 31 my $dam_diff = $weapon->stats->dam - $arch->stats->dam;
31 32
32 my $magic_diff = $weapon->magic - $clone->magic; 33 my $magic_diff = $weapon->magic - $arch->magic;
33 34
34 if ($wc_diff > 0) { $value += $WC_BASE_VALUE * 1.5 * $wc_diff * rand_range .5, 1 } 35 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 } 36 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 } 37 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 } 38 if ($magic_diff > 0) { $value += $MAGIC_BASE_VALUE * 1.5 * $magic_diff * rand_range .5, 1 }
59 determine_weapon_value $item; 60 determine_weapon_value $item;
60 61
61 cf::override; 62 cf::override;
62 }, 63 },
63); 64);
65

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines