inherit COMMAND_BASE;
/** @ignore yes */
int cmd( string word ) {
switch( word ) {
case "debate" :
case "debating" :
TP->interrupt_debate();
break;
case "spell" :
TP->interrupt_spell();
break;
case "ritual" :
TP->interrupt_ritual();
break;
case "lockpick" :
case "lockpicking" :
TP->interrupt_lockpicking();
break;
case "fight" :
case "fighting" :
if( TP->query_hp() < 0 || TP->query_property("dead") ) {
write("You are dead; stopping now is pointless.\n");
return 1;
}
if( !sizeof( TP->query_attacker_list() ) ) {
write("You are not fighting anyone.\n");
return 1;
}
write("Stopping fight. Please wait.\n");
call_out("stop_fight", 5, TP );
return 1;
default:
TP->interrupt_debate();
TP->interrupt_spell();
TP->interrupt_ritual();
TP->interrupt_lockpicking();
cmd("fight");
}
"/cmds/player/sea_rch"->interrupt_search(TP);
write("Okay.\n");
return 1;
} /* cmd() */
/** @ignore yes */
void stop_fight( object who ) {
object *atts, ob;
if( !who )
return;
atts = who->query_attacker_list();
if( sizeof( atts = filter( atts, (: ENV($1) != ENV($2) :), who ) ) ) {
tell_object( who, "You stop fighting "+query_multiple_short( map(
atts, (: $1->query_property("dead") ?
$1->a_short()+" (dead anyway)" : $1 :) ) )+".\n");
foreach( ob in atts )
who->stop_fight(ob);
}
} /* stop_fight() */
/** @ignore yes */
mixed query_patterns() {
return ({
"",
(: cmd(0) :),
"{debate|debating|spell|ritual|fight|fighting|lockpick|lockpicking}",
(: cmd($4[0]) :) });
} /* query_patterns() */