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
return
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.
(amustapa@hotmail.com)
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT