I use something called a heartbeat. If you start
combat you get more of one than your victim.
ch->heartbeat += number_range(2,3);
victim->heartbeat += number_range(1,2);
then put something like this into do_quit and various
other places.
if(ch->heartbeat > 0)
{
stc("You can't quit with your heart beating so
fast.\n\r",ch);
return;
}
dont forget to put something in update_char that will
count this down, otherwise your heart will never
settle down...
I use this in quite a few places such as is_safe (to
nullify safe rooms so someone who is engaged in pk
can't run to a safe room etc etc)