/* Do not remove the headers from this file! see /USAGE for more info. */
//:COMMAND
//USAGE: verbs or verbs <verb>
//
//This command will show you the rules that a certain verbs has,
//or a list of all the verbs and their rules
//
//verbs
//
//ffear: STR
//move: OBJ
//look: OBJ with OBJ, STR, at OBJ with OBJ, STR OBJ, for OBJ, for LIV, at OBJ, OBJ
//,
//open: OBJ with OBJ, up OBJ, OBJ
//pour: OBJ in OBJ
//get: OBJ with OBJ, OBJ out of OBJ, OBJ from OBJ, OBJ
//wind: OBJ with OBJ, OBJ
//put: OBJ in OBJ
//give: OBJ to LIV
//wait:
//whisper: to LIV STR, STR to LIV, LIV STR
//close: OBJ
//fill: OBJ with OBJ, OBJ
//exit: OBJ
//go: in OBJ, into OBJ, on OBJ, over OBJ, to OBJ, around OBJ, up OBJ, down OBJ, STR
//
//
//verbs go
//
//go: in OBJ, into OBJ, on OBJ, over OBJ, to OBJ, around OBJ, up OBJ, down OBJ, STR
inherit CMD;
private void main(string str)
{
string array info = explode(parse_dump(), "\n");
string line, verb, rule;
int ignore = 0;
int first;
mapping emote;
if (str == "")
str = 0;
foreach (line in info)
{
if (sscanf(line, "Verb %s:", verb))
{
if (str && verb != str)
{
ignore = 1;
continue;
}
ignore = 0;
first = 1;
emote = SOUL_D->query_emote(verb);
} else {
if (ignore)
continue;
if (sscanf(line, " (%*s) %s", rule))
{
if (emote && emote[rule])
continue;
if (first)
{
outf("\n%s: ", verb);
first = 0;
} else
out(", ");
out(rule);
}
}
}
out("\n");
}