Re: [CODE] Question about LordKaT's dual-wield patch.

From: Jason Pullara (Circle@si.rr.com)
Date: 10/01/00


> It works just fine, but I noticed that no matter what weapon you were
> wielding and dual-wielding, the messages for both were always from the
primary
> weapon's attributes (slash, pound, whatever).  This made me think that
maybe
> the rest of the stuff is too.

Yup.. I need to work on that =/

In all honesty the patch I submitted isnt very good, it needs some tweaking,
but hey, at least its a start ;)

> He has the following code at the end of the hit function, to call the
> double_hit stuff:
>
>         else {
>                 damage(ch, victim, dam, w_type);
>                 if (GET_EQ(ch, WEAR_DWIELD) && GET_HIT(victim) > 0)
>                         double_hit(ch, FIGHTING(ch), TYPE_UNDEFINED);
>         }
>
> So that if you wiff with the first one, you wiff with the second
automatically.

I actually have a double_hit skill, and I failed to mention that in my code,
when you hit and miss, the double hit SKILL will miss automatically
I guess I kinda fudged up on the dual wield eh?

> Now, should this not be changed to read:
>
> void double_hit(struct char_data * ch, struct char_data * victim, int
type)
> {
>         struct obj_data *wielded = GET_EQ(ch, WEAR_DWIELD);
>
> Notice that WEAR_WIELD has been changed to WEAR_DWIELD, since we are
dealing
> with the 2nd weapon.

Thanks for pointing that out, I still ahvent fixed that on my server, yechk!

> So, my question is, Did I have to do this because *wielded was set by
> the hit() function, which is the parent of the double_hit function?
> My c's very rusty (PERL munger for years), so I'm not sure why.

I think this is because *wielded already has the message stored in it?? Im
nto sure, im only 18 and dumber than cow poop ;)


Anyway, heres a descriptiopn of what needs to be worked out:
1) ACMD(do_dwield) is not needed. I dont know why in god's name I left it in
there, its never called.
2) its all about positions, so you will probably want to make a remove
function remove wield or dwield, because all it does right now is remove
both weapons, this could probably be done by  setyting on/off flags to each
position and when somone tries a 'remove whatever' utl remove it and ect...
blah blah blah.. thats only an idea though =P
3) the giants need to put up 21 points in the next half or else im going to
go insane and kill everyone.

--LordKaT


     +------------------------------------------------------------+
     | 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/10/01 PDT