POS_FIGHTING bug

From: Jon Barrett (mixtli@SINFO.NET)
Date: 04/27/98


  I found a small, but adverse, bug that if you are already fighting and
your POS is changed to POS_STANDING (Like when you stand after getting
bashed), then your POS is never changed back to POS_FIGHTING.  At that
point you can do almost any command in the mud, even sleep. :P

I searched through the code and never found a check like :
  if (FIGHTING(ch) && (GET_POS(ch) > POS_FIGHTING))

  Actually I only found two places where POS_FIGHTING is set, which were
set_fighting and perform_violence and the latter is only for NPC's.  I have
found a few places to put a check to set POS_FIGHTING, for instance:
do_stand, update_pos, or simply perform_violence.
  I have played with it for a while and the only time I could get to
POS_STANDING while fighting was after standing from a bash, so I decide to
put it in do_stand.

All I did was put this at the end of do_stand after the switch:

if (FIGHTING(ch))
        GET_POS(ch) = POS_FIGHTING;

I looked through stock bp12 and found the same problem.  If I am completely
wrong let me know :P~, or if there may be a better fix I am open for
suggestions.  Also if this is a stock bug, could a fix be include in bpl13.


*>-Jon-<*

_________________________________________________________________________
"I have traveled the length and breadth of this country and talked with
the best people, and I can assure you that data processing is a fad that
won't last out the year."
      --The editor in charge of business books for Prentice Hall, 1957


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



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