--- deliantra/server/ext/jeweler.ext 2007/10/17 19:18:40 1.14 +++ deliantra/server/ext/jeweler.ext 2010/01/26 16:13:47 1.19 @@ -1,9 +1,9 @@ #! perl -use Data::Dumper; +use strict; + use Jeweler; use List::Util qw/max min sum/; -use strict; sub ingred_alias { my ($ing) = @_; @@ -50,7 +50,7 @@ my @rings = map { Jeweler::Object->new (object => $_) } @ring; @rings >= 2 - or return $pl->reply (undef, "You slap yourself, you forgot to put at least 2 jewels in!"); + or return $pl->message ("You slap yourself, you forgot to put at least 2 jewels in!"); my $input_level = 0; my $value; @@ -63,7 +63,7 @@ $ring->improve_by_ring (@rings); if ($do_analyze) { - $pl->reply (undef, "You want to make a " . $ring->to_string . ": " . $ring->analyze ($sk, $pl, $input_level)); + $pl->message ("You want to make a " . $ring->to_string . ": " . $ring->analyze ($sk, $pl, $input_level)); $ring->wiz_analyze ($pl) if $pl->flag (cf::FLAG_WIZ); return; @@ -91,7 +91,8 @@ $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->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 @@ -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); @@ -271,5 +275,5 @@ } ); -Jeweler::read_config "$DATADIR/jeweler.yaml"; +Jeweler::read_config "res/jeweler.yaml";