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

Comparing deliantra/server/ext/dmcommands.ext (file contents):
Revision 1.2 by root, Mon Jan 1 13:31:47 2007 UTC vs.
Revision 1.14 by pippijn, Wed Feb 28 16:38:56 2007 UTC

5cf::register_command goto => sub { 5cf::register_command goto => sub {
6 my ($ob, $arg) = @_; 6 my ($ob, $arg) = @_;
7 7
8 return unless $ob->may ("command_goto"); 8 return unless $ob->may ("command_goto");
9 9
10 my $portal = cf::object::new "exit"; 10 my ($path, $x, $y) = split /\s+/, $arg, 3;
11 11
12 $portal->slaying ($arg); 12 $ob->goto ($path, $x, $y);
13 $portal->stats->hp (0);
14 $portal->stats->sp (0);
15 13
16 $portal->apply ($ob); 14 1
15};
17 16
18 $portal->destroy; 17cf::register_command teleport => sub {
18 my ($ob, $arg) = @_;
19
20 return unless $ob->may ("command_teleport");
21
22 cf::async {
23 my $other = cf::player::find $arg
24 or return $ob->reply (undef, "$arg: no such player.");
25
26 $ob->goto ($other->maplevel, $other->ob->x, $other->ob->y);
27 };
19 28
20 1 29 1
21}; 30};
22 31
23cf::register_command wizpass => sub { 32cf::register_command wizpass => sub {
66 $ob->reply (undef, "You can temporarily see through walls."); 75 $ob->reply (undef, "You can temporarily see through walls.");
67 76
68 1 77 1
69}; 78};
70 79
71cf::register_command maps => sub {
72 my ($ob, $arg) = @_;
73
74 no re 'eval'; $arg = qr<$arg>;
75
76 my $format = "%2s %2s %-30.30s\n";
77
78 my $msg = sprintf $format, "Pl", "Fl", "Reset", "Name";
79
80 for (sort keys %cf::MAP) {
81 my $map = $cf::MAP{$_}
82 or next;
83
84 $msg
85 }
86
87 1
88};
89
90cf::register_command reset => sub { 80cf::register_command reset => sub {
91 my ($ob, $arg) = @_; 81 my ($ob, $arg) = @_;
92 82
93 return unless $ob->may ("command_reset"); 83 return unless $ob->may ("command_reset");
94 84
95 $ob->reply (undef, "You can temporarily see through walls."); 85 my $map = $ob->map;
86
87 my @pl = $map->players;
88 $_->enter_link for @pl;
89 cf::async {
90 my $name = $map->visible_name;
91
92 $map->reset;
93 $_->leave_link for @pl;
94
95 $ob->reply (undef, "$name was reset.");
96 };
96 97
97 1 98 1
98}; 99};
99 100
100for my $command (qw(teleport summon arrest kick banish)) { 101for my $command (qw(summon arrest kick banish)) {
101 my $method = "command_$command"; 102 my $method = "command_$command";
102 103
103 cf::register_command $command => sub { 104 cf::register_command $command => sub {
104 my ($ob, $arg) = @_; 105 my ($ob, $arg) = @_;
105 106

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines