… | |
… | |
87 | my $make_status; |
87 | my $make_status; |
88 | my $exp; |
88 | my $exp; |
89 | |
89 | |
90 | if ($r <= $ch or $pl->flag (cf::FLAG_WIZ)) { |
90 | if ($r <= $ch or $pl->flag (cf::FLAG_WIZ)) { |
91 | my $lvl = max ($ring->power_to_level, 1); |
91 | my $lvl = max ($ring->power_to_level, 1); |
|
|
92 | $exp = |
92 | $exp = (cf::level_to_min_exp ($lvl) - cf::level_to_min_exp ($lvl - 1)) / 100; |
93 | (cf::level_to_min_exp ($lvl) - cf::level_to_min_exp ($lvl - 1)) |
|
|
94 | / (10 + max ($lvl - 1, 0)); |
|
|
95 | # divided by 10 + level |
93 | |
96 | |
94 | if (defined $input_level) { |
97 | if (defined $input_level) { |
95 | my $subexp = |
98 | my $subexp = |
96 | (cf::level_to_min_exp ($input_level) |
99 | (cf::level_to_min_exp ($input_level) |
97 | - cf::level_to_min_exp ($input_level - 1)) |
100 | - cf::level_to_min_exp ($input_level - 1)) |
98 | / 100; |
101 | / (10 + max ($input_level - 1, 0)); |
99 | $exp -= $subexp; |
102 | $exp -= $subexp; |
100 | $exp = max ($exp, 0); |
103 | $exp = max ($exp, 0); |
101 | } |
104 | } |
102 | |
105 | |
103 | $pl->change_exp ($exp, "jeweler", cf::SK_EXP_SKILL_ONLY); |
106 | $pl->change_exp ($exp, "jeweler", cf::SK_EXP_SKILL_ONLY); |