Re: Bearhug?!?

From: Ron Hensley (ron@CROSS.DMV.COM)
Date: 10/15/97

> that's cause wait_state does nothing more than stop a character's input
> from being processed...but fighting (round to round hitting) is automatic
> if the players are on the combat list (the reason people don't hit if
> they miss a bash is cause they are sitting)...if you want them to not hit
> eachother...well...the way that i'd do this would be to remove the
> players from the combat list using stop_fighting or something...somehow
> mark them as being locked together (PLR_HUGGED or AFF_HUG) so that they
> couldn't do anything...then set up an event to make them start fighting
> again..but this assumes that you have some kind of event system...

My solution, was noting how mobs, DO suffer hit waits.
the normal WAIT_STATE thats added to players and mobs, makes players not
able to type to use a new skill yet for that many rounds, and makes mobs
not able to swing for said number of rounds.

I made a second wait_state type: hit_wait_state and in the skills/spells
i want the players to be not hitting, i set a hit_wait_State on them.

Then over in perform_violence in fight.c I check  if the players
hit_wait_state is > 0 and return without letting them hit if it is.

This is nothing more then a simple var on the player and needs no special
flags and no need to make them stop fighting and forget whom they wre
fighting nor make them start reattacking later

    *   Ron Hensley                              *
    *   Network Administrator        *
    *                                   PGP Key at WWW Page           *
    *   DelMarVa OnLine                 749-7898 Ext. 403             *

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | |

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