--- deliantra/server/ext/login.ext 2007/07/14 19:27:59 1.64 +++ deliantra/server/ext/login.ext 2007/07/23 17:53:55 1.69 @@ -88,6 +88,7 @@ # kill them. # reminds me of the famous badness 10000 syndrome... $ob->stats->hp (-10000); #] if they survive this they deserved to live + $pl->killer ("a cave-in"); } else { $ob->message ( "You didn't use a bed to reality to leave this realm, leaving your body in great danger. " @@ -358,10 +359,10 @@ $ob->add_statbonus; while () { - $ns->send_msg (-1, "chargen-race-title", ucfirst $pl->title); + $ns->send_msg ("chargen-race-title", ucfirst $pl->title, -1); my $msg = $ob->msg; $msg =~ s/(?<=\S)\n(?=\S)/ /g; - $ns->send_msg (cf::NDI_BLUE, "chargen-race-description", $msg); + $ns->send_msg ("chargen-race-description", $msg, cf::NDI_BLUE); my $res = query $ns, cf::CS_QUERY_SINGLECHAR, "Now choose a character.\nPress any key to change outlook.\nPress `d' when you're pleased.\n"; @@ -478,12 +479,13 @@ ############################################################################# -our $SCHEDULE_INTERVAL = 10; # time the player scheduler sleeps between runs -our $SAVE_TIMEOUT = 20; # save players every n seconds +our $SCHEDULE_INTERVAL = $cf::CFG{player_schedule_interval} || 10; # time the player scheduler sleeps between runs +our $SAVE_TIMEOUT = $cf::CFG{player_save_interval} || 20; # save players every n seconds our $SCHEDULER = cf::async_ext { - my $schedule_interval = Coro::Event->timer (after => 1, interval => $SCHEDULE_INTERVAL); + my $schedule_interval = Coro::Event->timer (after => 1); while () { + $schedule_interval->interval ($SCHEDULE_INTERVAL); $schedule_interval->next; # this weird form of iteration over values is used because @@ -498,7 +500,6 @@ eval { if ($pl->{last_save} + $SAVE_TIMEOUT <= $cf::RUNTIME) { - cf::wait_for_tick_begin; $pl->save; unless ($pl->active || $pl->ns) {