ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/map-link.ext
(Generate patch)

Comparing deliantra/server/ext/map-link.ext (file contents):
Revision 1.1 by root, Sat Jan 13 23:06:13 2007 UTC vs.
Revision 1.9 by root, Sat Mar 20 02:24:38 2010 UTC

1#! perl # MANDATORY 1#! perl # mandatory
2
3# this is the map type for the {link} map, a singleton
4# this is the only map in the server that is guaranteed to exit
5# at all times without blocking, and this is ensured by not relying
6# on any external files.
2 7
3cf::map->register (qr{^\{link\}}); 8cf::map->register (qr{^\{link\}});
4 9
5sub load_header { 10sub load_header {
6 my ($self) = @_; 11 my ($self) = @_;
7 12
8 # singleton :/ 13 # singleton :/
9 $self->width (41); 14 $self->width (21);
10 $self->height (41); 15 $self->height (21);
16 $self->no_drop (1);
17
18 $self->name ("interdimensional nothingness");
19
11 $self->alloc; 20 $self->alloc;
12 $self->in_memory (cf::MAP_IN_MEMORY); 21 $self->in_memory (cf::MAP_ACTIVE);
13 22
14 # provide some exits "home" 23 # provide some exits "home"
15 my $exit = cf::object::new "exit"; 24 my $exit = cf::object::new "exit";
16 my $guard = Coro::guard { $exit->destroy }; 25 Guard::scope_guard { $exit->destroy };
17 26
27 # these teleporters exist in case a player gets stuck
18 $exit->slaying ($cf::EMERGENCY_POSITION->[0]); 28 $exit->slaying ($cf::EMERGENCY_POSITION->[0]);
19 $exit->stats->hp ($cf::EMERGENCY_POSITION->[1]); 29 $exit->stats->hp ($cf::EMERGENCY_POSITION->[1]);
20 $exit->stats->sp ($cf::EMERGENCY_POSITION->[2]); 30 $exit->stats->sp ($cf::EMERGENCY_POSITION->[2]);
21 31
22 $self->insert ($exit->clone, 19, 19); 32 $self->insert ($exit->clone, 9, 9);
23 $self->insert ($exit->clone, 19, 20); 33 $self->insert ($exit->clone, 9, 10);
24 $self->insert ($exit->clone, 19, 21); 34 $self->insert ($exit->clone, 9, 11);
25 $self->insert ($exit->clone, 20, 19); 35 $self->insert ($exit->clone, 10, 9);
26 $self->insert ($exit->clone, 20, 21); 36 $self->insert ($exit->clone, 10, 11);
27 $self->insert ($exit->clone, 21, 19); 37 $self->insert ($exit->clone, 11, 9);
28 $self->insert ($exit->clone, 21, 20); 38 $self->insert ($exit->clone, 11, 10);
29 $self->insert ($exit->clone, 21, 21); 39 $self->insert ($exit->clone, 11, 11);
30 40
31 $self->{deny_save} = 1; 41 $self->{deny_save} = 1;
32 $self->{deny_reset} = 1; 42 $self->{deny_reset} = 1;
43
44 $self->activate;
33 45
34 1 46 1
35} 47}
36 48
371 491

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines