ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/lib/cf.pm
(Generate patch)

Comparing deliantra/server/lib/cf.pm (file contents):
Revision 1.150 by root, Mon Jan 8 19:25:53 2007 UTC vs.
Revision 1.153 by root, Mon Jan 8 23:36:16 2007 UTC

1119 return $cf::PLAYER{$_[0]} || do { 1119 return $cf::PLAYER{$_[0]} || do {
1120 my $login = $_[0]; 1120 my $login = $_[0];
1121 1121
1122 my $guard = cf::lock_acquire "user_find:$login"; 1122 my $guard = cf::lock_acquire "user_find:$login";
1123 1123
1124 $cf::PLAYER{$login} ||= (load_pl path $login or return); 1124 $cf::PLAYER{$_[0]} || do {
1125 my $pl = load_pl path $login
1126 or return;
1127 $cf::PLAYER{$login} = $pl
1128 }
1125 }; 1129 }
1126} 1130}
1127 1131
1128sub save($) { 1132sub save($) {
1129 my ($pl) = @_; 1133 my ($pl) = @_;
1130 1134
1667=cut 1671=cut
1668 1672
1669sub cf::object::player::goto { 1673sub cf::object::player::goto {
1670 my ($self, $path, $x, $y) = @_; 1674 my ($self, $path, $x, $y) = @_;
1671 1675
1676 $path = new cf::path $path;
1677 $path ne "/" or Carp::cluck ("oy");#d#
1678
1672 $self->enter_link; 1679 $self->enter_link;
1673 1680
1674 (async { 1681 (async {
1675 $path = new cf::path $path;
1676
1677 my $map = cf::map::find $path->as_string; 1682 my $map = cf::map::find $path->as_string;
1678 $map = $map->customise_for ($self) if $map; 1683 $map = $map->customise_for ($self) if $map;
1679 1684
1680# warn "entering ", $map->path, " at ($x, $y)\n" 1685# warn "entering ", $map->path, " at ($x, $y)\n"
1681# if $map; 1686# if $map;
1682 1687
1683 $map or $map->cluck ("oy");#d#
1684 $map or $self->message ("The exit to '" . ($path->visible_name) . "' is closed", cf::NDI_UNIQUE | cf::NDI_RED); 1688 $map or $self->message ("The exit to '" . ($path->visible_name) . "' is closed", cf::NDI_UNIQUE | cf::NDI_RED);
1685 1689
1686 $self->leave_link ($map, $x, $y); 1690 $self->leave_link ($map, $x, $y);
1687 })->prio (1); 1691 })->prio (1);
1688} 1692}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines