… | |
… | |
683 | # object support |
683 | # object support |
684 | |
684 | |
685 | sub reattach { |
685 | sub reattach { |
686 | # basically do the same as instantiate, without calling instantiate |
686 | # basically do the same as instantiate, without calling instantiate |
687 | my ($obj) = @_; |
687 | my ($obj) = @_; |
|
|
688 | |
|
|
689 | bless $obj, ref $obj; # re-bless in case extensions have been reloaded |
688 | |
690 | |
689 | my $registry = $obj->registry; |
691 | my $registry = $obj->registry; |
690 | |
692 | |
691 | @$registry = (); |
693 | @$registry = (); |
692 | |
694 | |
… | |
… | |
1498 | |
1500 | |
1499 | sub reset_at { |
1501 | sub reset_at { |
1500 | my ($self) = @_; |
1502 | my ($self) = @_; |
1501 | |
1503 | |
1502 | # TODO: safety, remove and allow resettable per-player maps |
1504 | # TODO: safety, remove and allow resettable per-player maps |
1503 | return 1e99 if $self->isa ("ext::map_per_player"); |
1505 | return 1e99 if $self->isa ("ext::map_per_player");#d# |
1504 | return 1e99 if $self->{deny_reset}; |
1506 | return 1e99 if $self->{deny_reset}; |
1505 | |
1507 | |
1506 | my $time = $self->fixed_resettime ? $self->{instantiate_time} : $self->last_access; |
1508 | my $time = $self->fixed_resettime ? $self->{instantiate_time} : $self->last_access; |
1507 | my $to = List::Util::min $MAX_RESET, $self->reset_timeout || $DEFAULT_RESET; |
1509 | my $to = List::Util::min $MAX_RESET, $self->reset_timeout || $DEFAULT_RESET; |
1508 | |
1510 | |