Re: Disarm problems still no sulution

From: Fizal (amustapa@GAMEBOX.NET)
Date: 08/22/00

The solution that was provided by Patrick should work tho. In any case, I
suggest that you double-check to make sure that the weapons that you're
testing with actually have the ITEM_WEAR_DWIELD set on (or off) properly.

In any case, about the prob that you have with the disarm, I'm not really
sure whether it's related or not, but I noticed something from the dual
wield snippet done by Shane P. Lee (Fire):

>  At the end of 'void perform_violence(void)' add:
>  /*
>   * My dual wield call modeled after the "Dual Wield Patch" by Chris
>   * Powell, which was a patch of Todd Kegley's snippet. Kinda
>   * confusing, but let's give credit where credit is due:-)
>   * -spl
>  */
>      if (GET_EQ(ch, WEAR_DWIELD)) {
>        hit2(ch, FIGHTING(ch), TYPE_UNDEFINED);
>        return;
>       }
>  NOTE: This should come before the last 2  }s in the function.

I seriously don't think that 'return' should be there. It will cause the
program to exit the whole function, not only the loop. Now, imagine the
combat list is like this:
Anne (1-weapon), Bob (2-weapons), Chris (1-weapon), Dave (1-weapon)

The perform_violence() will go like this:
For each player in combat list:
  Anne - Is Anne's opponent around? - Yes
         Is Anne's position okay for attacking? - Yes
         attack with main weapon
         has 2nd weapon? - No
  Bob  - Is Bob's opponent around? - Yes
         Is Bob's position okay for attacking? - Yes
         attack with main weapon
         has 2nd weapon? - Yes
           attack with 2nd weapon
exit function

I guess that's why your opponent didn't get any round. As for why exactly
after disarm... I have no idea..........


Afizal Mustapa
Petaling Jaya, Selangor, Malaysia.

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

This archive was generated by hypermail 2b30 : 04/11/01 PDT