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

Comparing deliantra/maps/perl/dmcommands.ext (file contents):
Revision 1.5 by root, Mon Oct 2 00:21:44 2006 UTC vs.
Revision 1.8 by root, Wed Nov 8 00:54:11 2006 UTC

3# wizard commands 3# wizard commands
4 4
5cf::register_command goto => 0, sub { 5cf::register_command goto => 0, sub {
6 my ($ob, $arg) = @_; 6 my ($ob, $arg) = @_;
7 7
8 return unless $ob->flag (cf::FLAG_WIZ) || $cf::CFG{unpriv_goto}; 8 return unless $ob->may ("command_goto");
9 9
10 my $portal = cf::object::new "exit"; 10 my $portal = cf::object::new "exit";
11 11
12 $portal->slaying ($arg); 12 $portal->slaying ($arg);
13 $portal->stats->hp (0); 13 $portal->stats->hp (0);
14 $portal->stats->sp (0); 14 $portal->stats->sp (0);
15 15
16 $portal->apply ($ob); 16 $portal->apply ($ob);
17 17
18 $portal->free; 18 $portal->free;
19
20 1
19}; 21};
20 22
21cf::register_command wizpass => 0, sub { 23cf::register_command wizpass => 0, sub {
22 my ($ob, $arg) = @_; 24 my ($ob, $arg) = @_;
23 25
24 return unless $ob->flag (cf::FLAG_WIZ) || $cf::CFG{unpriv_wizpass}; 26 return unless $ob->may ("command_wizpass");
25 27
26 my $new_val = length $arg ? $arg * 1 : !$ob->flag (cf::FLAG_WIZPASS); 28 my $new_val = length $arg ? $arg * 1 : !$ob->flag (cf::FLAG_WIZPASS);
27 29
28 $ob->flag (cf::FLAG_WIZPASS, $new_val); 30 $ob->flag (cf::FLAG_WIZPASS, $new_val);
29 31
30 $ob->reply (undef, 32 $ob->reply (undef,
31 $new_val 33 $new_val
32 ? "You will now walk through walls.\n" 34 ? "You will now walk through walls.\n"
33 : "You will now be stopped by walls.\n", 35 : "You will now be stopped by walls.\n",
34 ); 36 );
37
38 1
35}; 39};
36 40
37cf::register_command wizcast => 0, sub { 41cf::register_command wizcast => 0, sub {
38 my ($ob, $arg) = @_; 42 my ($ob, $arg) = @_;
39 43
40 return unless $ob->flag (cf::FLAG_WIZ) || $cf::CFG{unpriv_wizcast}; 44 return unless $ob->may ("command_wizcast");
41 45
42 my $new_val = length $arg ? $arg * 1 : !$ob->flag (cf::FLAG_WIZCAST); 46 my $new_val = length $arg ? $arg * 1 : !$ob->flag (cf::FLAG_WIZCAST);
43 47
44 $ob->flag (cf::FLAG_WIZCAST, $new_val); 48 $ob->flag (cf::FLAG_WIZCAST, $new_val);
45 49
46 $ob->reply (undef, 50 $ob->reply (undef,
47 $new_val 51 $new_val
48 ? "You can now cast spells anywhere." 52 ? "You can now cast spells anywhere."
49 : "You now cannot cast spells in no-magic areas.", 53 : "You now cannot cast spells in no-magic areas.",
50 ); 54 );
55
56 1
51}; 57};
52 58
59cf::register_command wizlook => 0, sub {
60 my ($ob, $arg) = @_;
61
62 return unless $ob->may ("command_wizlook");
63
64 $ob->clear_los;
65
66 $ob->reply (undef, "You can temporarily see through walls.");
67
68 1
69};
70
71for my $command (qw(reset teleport summon arrest kick banish)) {
72 my $method = "command_$command";
73
74 cf::register_command $command => 0, sub {
75 my ($ob, $arg) = @_;
76
77 return unless $ob->may ($method);
78
79 $ob->$method ($arg)
80 };
81}
82

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines