--- deliantra/server/ext/jeweler.ext 2008/07/14 01:48:28 1.16 +++ deliantra/server/ext/jeweler.ext 2010/04/27 17:08:09 1.22 @@ -82,7 +82,7 @@ my $ch = $ring->get_chance_perc ($sk); my $succ = 0; - my $r = cf::random_roll (0, 100, $pl, cf::PREFER_HIGH); + my $r = cf::random_roll (0, 100, $pl, cf::PREFER_LOW); my $make_status; my $exp; @@ -90,11 +90,12 @@ if ($r <= $ch or $pl->flag (cf::FLAG_WIZ)) { $exp = $ring->projected_exp ($input_level); - $pl->change_exp ($exp, "jeweler", cf::SK_EXP_SKILL_ONLY); - $pl->message ("You succeed and get $exp experience points."); + $pl->change_exp ($exp, "jeweler"); + $pl->message ( + "You succeed and get " . int ($exp) . " experience points."); $make_status = "succeeded"; - $ring->set_value ($value * 0.8); # 20% of the input values will vanish + $ring->set_value ($value); } else { $pl->message ("You fail!"); @@ -151,6 +152,7 @@ $cfg->{connection}, $cfg->{state} ); + $obj->decrease (1); cf::override; } } @@ -195,7 +197,9 @@ return } - Jeweler::simple_converter ($player, $ingred, $chdl, $1); + Jeweler::simple_converter ( + $player, $ingred, $chdl, $1, + cf::exp_to_level ($sk->stats->exp)); } elsif ($msg =~ m/^\s*merge\s*analy[sz]e\s*$/i) { merge ($chdl, $sk, $pl, 1);