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

Comparing deliantra/server/ext/doclet.ext (file contents):
Revision 1.1 by root, Sat Nov 10 02:41:38 2012 UTC vs.
Revision 1.4 by root, Wed Nov 21 12:12:03 2012 UTC

8 my ($category, $cb) = @_; 8 my ($category, $cb) = @_;
9 $DOCLET{$category} = $cb; 9 $DOCLET{$category} = $cb;
10 Guard::guard { delete $DOCLET{$category} } 10 Guard::guard { delete $DOCLET{$category} }
11} 11}
12 12
13sub doclet($$$) {
14 my ($pl, $category, $item) = @_;
15
16 if (my $cb = $DOCLET{$category}) {
17 $cb->($pl, $category, $item)
18 } else {
19 "No documentation found for $category/$item."
20 }
21}
22
23our $SKILL_HANDLER = ext::doclet::register skill => sub {
24 my ($pl, $category, $name) = @_;
25
26 my $skill = $pl->find_skill ($name);
27
28 "B<$name>\n\n"
29 . ($skill ? $skill->msg : "You don't know anything about this skill.")
30};
31
32our $SPELL_HANDLER = ext::doclet::register spell => sub {
33 my ($pl, $category, $name) = @_;
34
35 my $skill = $pl->ob->find_spell ($name);
36
37 "B<$name>\n\n"
38 . ($skill ? $skill->msg : "You don't know anything about this spell.")
39};
40
13cf::register_async_exticmd doclet => sub { 41cf::register_async_exticmd doclet => sub {
14 my ($ns, $reply, $category, $entry) = @_; 42 my ($ns, $reply, $category, $item) = @_;
15 43
16 cf::async { 44 $ns->async (sub {
17 my $cfpod; 45 my $cfpod;
18 46
19 if (my $pl = $ns->pl) { 47 if (my $pl = $ns->pl) {
20
21 if (my $cb = $DOCLET{$category}) {
22 $cfpod = $cb->($pl, $category, $entry);
23 } else {
24 $cfpod = "No documentation found for $category/$entry.";
25 }
26
27 $cfpod = $pl->expand_cfpod ($cfpod); 48 $cfpod = $pl->expand_cfpod (doclet $pl, $category, $item);
28 } else { 49 } else {
29 $cfpod = "(Documentation not available before login.)"; 50 $cfpod = "(documentation not available before login)";
30 } 51 }
31 52
32 $reply->($cfpod); 53 $reply->($cfpod);
33 }; 54 });
34}; 55};
35 56

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines