Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 04-06-2014, 05:36 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default 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.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #2  
Old 04-06-2014, 05:46 AM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Yeah, this make sense. But why Beastlords?
Reply With Quote
  #3  
Old 04-06-2014, 06:06 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #4  
Old 04-06-2014, 06:14 AM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Quote:
Originally Posted by Uleat View Post
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.
Reply With Quote
  #5  
Old 04-06-2014, 06:30 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #6  
Old 04-06-2014, 06:50 AM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

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.
Reply With Quote
  #7  
Old 04-06-2014, 09:46 PM
jsr
Hill Giant
 
Join Date: Aug 2008
Location: melbourne
Posts: 188
Default

Quote:
Originally Posted by Uleat View Post
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.
Reply With Quote
  #8  
Old 04-06-2014, 10:28 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #9  
Old 04-06-2014, 10:42 PM
jsr
Hill Giant
 
Join Date: Aug 2008
Location: melbourne
Posts: 188
Default

I'll check Live later
Reply With Quote
  #10  
Old 04-06-2014, 10:52 PM
Robregen
Developer
 
Join Date: May 2011
Posts: 108
Default

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
Reply With Quote
  #11  
Old 04-07-2014, 01:51 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #12  
Old 04-07-2014, 08:58 AM
jsr
Hill Giant
 
Join Date: Aug 2008
Location: melbourne
Posts: 188
Default

fyi later will probably be next weekend!
Reply With Quote
  #13  
Old 04-07-2014, 09:28 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Lol! No worries! And it doesn't have to be just you..anyone can proffer this information
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #14  
Old 04-08-2014, 08:06 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

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
Reply With Quote
  #15  
Old 04-13-2014, 02:26 AM
jsr
Hill Giant
 
Join Date: Aug 2008
Location: melbourne
Posts: 188
Default

Quote:
Originally Posted by Uleat View Post
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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:48 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3