Reconsidering Special Procedure Semantics Change

From: Daniel A. Koepke (dkoepke@circlemud.org)
Date: 03/10/02


I'm reconsidering changing special procedures to differentiate between mob
and violence pulse calls.  The problem is that much of the existing
spec-procs rely upon ch being the mobile when there is no command.
Consider a spec-proc like:

  if (cmd || !AWAKE(ch) || !FIGHTING(ch))
    return (FALSE);

  act("$n cowers.", FALSE, ch, NULL, NULL, TO_NOT_VICT);
  act("$n cowers from you.", FALSE, ch, NULL, FIGHTING(ch), TO_VICT);
  act("You cower from $N.", FALSE, ch, NULL, FIGHTING(ch), TO_CHAR);

which would need to be changed to read:

  struct char_data *mob = (struct char_data *) me;

  if (cmd || !AWAKE(mob) || ch == mob)
    return (FALSE);

  act("$n cowers.", FALSE, mob, NULL, NULL, TO_NOT_VICT);
  act("$n cowers from you.", FALSE, mob, NULL, ch, TO_VICT);
  act("You cower from $N.", FALSE, mob, NULL, ch, TO_CHAR);

These sorts of changes can get ugly; the problem is the side-effect of
altering the behavior of existing code (almost all non-stock spec-procs).
This indicates to me that this is NOT an appropriate change for a beta
release.  Any thoughts?

-dak

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT