--- deliantra/server/ext/map-per-player.ext 2007/01/13 23:32:43 1.2 +++ deliantra/server/ext/map-per-player.ext 2007/04/19 11:12:45 1.9 @@ -5,21 +5,31 @@ sub init { my ($self) = @_; - $self->{user} = $1; - $self->{orig_path} = $2; + $self->{user} = $1; + $self->{orig_path} = $2; + $self->{deny_reset} = 1; #d# for now +} + +sub thawer_merge { + # we have to keep some variables in memory intact + local $_[0]{user}; + local $_[0]{orig_path}; + local $_[0]{deny_reset}; + + $_[0]->SUPER::thawer_merge ($_[1]); } sub load_path { my ($self) = @_; - sprintf "%s/%s/%s", cf::datadir, cf::mapdir, $self->{orig_path} + "$cf::MAPDIR/$self->{orig_path}.map" } sub save_path { my ($self) = @_; (my $path = $_[0]{orig_path}) =~ s/\//$PATH_SEP/g; - sprintf "%s/%s/%s/%s", cf::localdir, cf::playerdir, $self->{user}, $path + "$cf::PLAYERDIR/$self->{user}/$path.map" } sub uniq_path { @@ -38,5 +48,12 @@ 1 } +sub decay_objects { + # do nothing on per player maps at the moment + # to protect apartments. + # TODO: apartments should be marked as such + # (no reset, no decay etc.) +} + 1