EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Dual Wield Rule Changes (https://www.eqemulator.org/forums/showthread.php?t=38028)

Uleat 04-06-2014 05:36 AM

Dual Wield Rule Changes
 
I changed the rules for dual-wielding to allow non-monk/beastlord class to use their fists as long as they have at least one weapon equipped
in either their primary or secondary slots.

Code:

Primary        Secondary        Dual Wield
----------------------------------
2H        Empty                No

1H        1H                Yes
1H        Object                No
1H        Empty                Yes

Object        1H                Yes
Object        Object                No
Object        Empty                Yes

Empty        1H                Yes
Empty        Object                No
Empty        Empty                No (unless you are a monk or beastlord)

If this is incorrect in any way, please let me know and I'll (or someone) will correct it.

If you have an opinion on this, please post and a discussion should ensue.

Kingly_Krab 04-06-2014 05:46 AM

Yeah, this make sense. But why Beastlords?

Uleat 04-06-2014 06:06 AM

They were always coded to allow dual-wielding fists.

I'm pretty sure they've always been considered a Monk-lite class since their introduction.

Kingly_Krab 04-06-2014 06:14 AM

Quote:

Originally Posted by Uleat (Post 229332)
They were always coded to allow dual-wielding fists.

I'm pretty sure they've always been considered a Monk-lite class since their introduction.

Okay, I was just confused, as they do have to earn their Dual Wield, I thought they would just be like the rest.

Uleat 04-06-2014 06:30 AM

All of the checks are wrapped in a Client::HasSkill(SkillDualWield) check.

If there's no skill, then no one has it. This logic matrix only applies once they have trained it..unless there's a bug elsewhere that grants them that skill :)

Code:

bool Mob::CanThisClassDualWield(void) const {
        if(!IsClient()) {
                return(GetSkill(SkillDualWield) > 0);
        }
        else if(CastToClient()->HasSkill(SkillDualWield)) {
                const ItemInst* pinst = CastToClient()->GetInv().GetItem(SLOT_PRIMARY);
                const ItemInst* sinst = CastToClient()->GetInv().GetItem(SLOT_SECONDARY);

                // 2HS, 2HB, or 2HP
                if(pinst && pinst->IsWeapon()) {
                        const Item_Struct* item = pinst->GetItem();

                        if((item->ItemType == ItemType2HBlunt) || (item->ItemType == ItemType2HSlash) || (item->ItemType == ItemType2HPiercing))
                                return false;
                }

                // OffHand Weapon
                if(sinst && !sinst->IsWeapon())
                        return false;

                // Dual-Wielding Empty Fists
                if(!pinst && !sinst)
                        if(class_ != MONK && class_ != MONKGM && class_ != BEASTLORD && class_ != BEASTLORDGM)
                                return false;

                return true;
        }

        return false;
}

This is an on-the-fly check for current conditions..not a base does this class get the dual wield ability.

It's name is a bit mis-leading.

Kingly_Krab 04-06-2014 06:50 AM

Oh I know, I read the code. I was just assuming all non-innate dual wielding classes would not be able to dual wield with hands.

jsr 04-06-2014 09:46 PM

Quote:

Originally Posted by Uleat (Post 229328)
I changed the rules for dual-wielding to allow non-monk/beastlord class to use their fists as long as they have at least one weapon equipped
in either their primary or secondary slots.

Code:

Primary        Secondary        Dual Wield
----------------------------------
Empty        Empty                No (unless you are a monk or beastlord)

If you have an opinion on this, please post and a discussion should ensue.

I don't understand the restriction on dw with fist/fist, I've never seen anyone in a fist fight use one hand.

Uleat 04-06-2014 10:28 PM

Ok..here is the original function:

Code:

bool Mob::CanThisClassDualWield(void) const
{
        if (!IsClient()) {
                return(GetSkill(SkillDualWield) > 0);
        } else {
                const ItemInst* inst = CastToClient()->GetInv().GetItem(SLOT_PRIMARY);
                // 2HS, 2HB, or 2HP
                if (inst && inst->IsType(ItemClassCommon)) {
                        const Item_Struct* item = inst->GetItem();
                        if ((item->ItemType == ItemType2HBlunt) || (item->ItemType == ItemType2HSlash) || (item->ItemType == ItemType2HPiercing))
                                return false;
                } else {
                        //No weapon in hand... using hand-to-hand...
                        //only monks and beastlords? can dual wield their fists.
                        if(class_ != MONK && class_ != MONKGM && class_ != BEASTLORD && class_ != BEASTLORDGM) {
                                return false;
                        }
                }

                return (CastToClient()->HasSkill(SkillDualWield));        // No skill = no chance
        }
}

As you can see, I did not change the effective behavior of dual-wielding empty hands.

This change affects all non-Monk/Beastlord dual wield characteristics only.


There were reports of warriors not attacking with their off-hand weapon when they unequipped their primary weapon.

Now, these classes can use either Primary or Secondary for their empty hand, so long as the other has a weapon.


In regards to the old rule for only allowing Monk and Beastlord, I don't know why it was set up that way. I only restated the criteria
to fix an issue for the other d-w classes.

If someone can provide a reference as to why or why not the other classes should or should not be capable of dual-wielding
their fists, I will gladly adapt this function to the finding.

jsr 04-06-2014 10:42 PM

I'll check Live later :)

Robregen 04-06-2014 10:52 PM

Quote:

It seems obvious to choose H2H weapons because of the lore of beastlords. However, H2H weapons are mostly late additions to the game (Luclin onwards) and thus relatively rare, and are heavily competed for against monk twinks, as a result are extremely expensive for the damage they can do. It is worth getting H2H skills and keeping them maxed, because H2H weapons will be preferred at 60+, but the cost imbalance makes them less than ideal until then. H2H weapons in general have better ratios than other types for beastlords.
http://www.paullynch.org/Everquest/VSBL/88weapons.html

Uleat 04-07-2014 01:51 AM

Here's a good one: http://everquest.allakhazam.com/wiki/eq:warrior

Quote:

Hand to Hand 1 Bare fists; no use for anyone other than monks and beastlords.
I guess, according to this, we should nix all bare-fisted attacking other classes.


EDIT: I guess that just muddies the water..Just because they get the skill and can increase, it still doesn't specify whether it's dual wieldable.

Hopefully, jsr will find a positive answer :)

jsr 04-07-2014 08:58 AM

fyi later will probably be next weekend!

Uleat 04-07-2014 09:28 AM

Lol! No worries! And it doesn't have to be just you..anyone can proffer this information :)

ChaosSlayerZ 04-08-2014 08:06 PM

you could make it into a Rule:

NakedFistsDWRule:

0 - default (only monks/bst can DW naked fists)
1 - you can DW 1 naked fist if you got 1 hand armed
2 - everyone can DW naked fists

jsr 04-13-2014 02:26 AM

Quote:

Originally Posted by Uleat (Post 229328)
I changed the rules for dual-wielding to allow non-monk/beastlord class to use their fists as long as they have at least one weapon equipped
in either their primary or secondary slots.

Code:

Primary        Secondary        Dual Wield
----------------------------------
2H        Empty                No

1H        1H                Yes
1H        Object                No
1H        Empty                Yes

Object        1H                Yes
Object        Object                No
Object        Empty                Yes

Empty        1H                Yes
Empty        Object                No
Empty        Empty                No (unless you are a monk or beastlord)

If this is incorrect in any way, please let me know and I'll (or someone) will correct it.

If you have an opinion on this, please post and a discussion should ensue.

Used a ranger with 269 dual wield skill.

Code:

                        empty/empty        empty/object
1 attempt per sec        5                7
2 attempts per sec        2                36
3 attempts per sec        5                12
4 attempts per sec        38                9
5 attempts per sec        5                3
6 attempts per sec        16                1
time                        161                252
attempts                279                172
attempts per time        1.73                0.68

- Didn't exclude riposte data
- Drop in attack rate for empty/object is more than expected, but I assume it's within margin for error.

In any event data clearly shows rangers dual wield with empty/empty, DW animation also played. I think we have no reason to expect different results for other classes, the only other I can test (without the effort of levelling up) would be rogue if you think this is insufficient.


All times are GMT -4. The time now is 04:32 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.