Re: [code] poofin special command

From: Adam Beytin (mbeytin@umd5.umd.edu)
Date: 02/24/97


One thing you need to understand, both poofin and poofout are under the
same thing (do_poofset).  I also changed it so your name doesn't appear at
the beginning of your poofs.

I did change it a little bit, so it works for the most part.  The only
problem is, it seems to be setting your poof to something strange.  Here's
a simulation:

> poofin ?
Your poofin is currently:
Look, I'm here!

> poofin ?
Your poofin is currently:
(some sort of garbage)

> poofin ?
(*CRASH*)

Here's the current code:

ACMD(do_poofset)
{
  char **msg;

  switch (subcmd) {
  case SCMD_POOFIN:
    msg = &(POOFIN(ch));
    if (POOFIN(ch))
      sprintf(buf, "Your poofin is currently: \r\n%s\r\n", POOFIN(ch));
    else
      sprintf(buf, "Your poofin is currently: \r\n%s appears with an
ear-splitting bang.\r\n", GET_NAME(ch));
    break;
  case SCMD_POOFOUT:
    msg = &(POOFOUT(ch));
    if (POOFOUT(ch))
      sprintf(buf, "Your poofout is currently: \r\n%s\r\n", POOFOUT(ch));
    else
      sprintf(buf, "Your poofout is currently: \r\n%s disappears in a puff
of smoke.\r\n", GET_NAME(ch));
    break;
  default:
    return;
    break;
  }

  skip_spaces(&argument);

  if (*msg)
    free(*msg);

  if (!*argument)
    {
    *msg = NULL;
    send_to_char(OK, ch);
    }
  else
    {
    if (argument[0] == '?' && argument[1] == '\0')
      send_to_char(buf, ch);
    else
      {
      *msg = str_dup(argument);
      send_to_char(OK, ch);
      }
    }
}


+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
|    Or send 'info circle' to majordomo@cspo.queensu.ca     |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST