Dual Wield / Left Axe

A forum for discussion of the D2 Storm Shard

Moderators: Project Admin, Support Team, Storm Team

Dual Wield / Left Axe

Postby Shiraja » Sat Jun 11, 2011 5:24 am

Hi again,

Since I felt like doing some more tests I thought i could have a look at Dual Wield / Left Axe mechanics. Now this is pretty hard to test since I have absolutely no idea what formulas you use to calculate the damage of these skills. Nevertheless, i found something interesting.


Starting position

Left Axe works in the way that the offhand swings all the time but both mainhand and offhand do reduced dmg. This penalty decreases the higher the Left Axe Skill. An estimation on how it works on liveservers is: (Actually, they changed the formula on liveservers but i think the old one still applies on dolservers)

damage multiplier = 62.5% + 0.33%*spec

I assume you use a similar formula.

In contrast, Dual Wield does always 100% dmg mainhand and offhand but the offhand swings only every other hit. On D2 each class can dual wield.


Problem

When I tried dual wielding on my reaver I noticed that my Mainhanddmg drops significantly even though I made sure none of the dmg stats changed.I told Tola about it and he encouraged me to do some testing:

I made sure I used weapons of the same speed (4.0) in Main as well as in Offhand to eliminate different attackspeeds when offhand swings occur.


Results

Target: yellow con mobs in NM, +11 skills

Constrictor with flex Mainhand, no offhand: 744 dmg
Constrictor with Flex Mainhand, Sword Offhand: 491 Mainhand (~66%dmg), offhand did not swing 100% of the time.

Using the formula above:

62.5% + 0.33% * 12 = 66.46%


Target: yellow con mobs in NM, +11 skills, + 13 Dual Wielding Skills

Constrictor with flex Mainhand, no offhand: 744 dmg
Constrictor with Flex Mainhand, Sword Offhand: 526 Mainhand (~70.6%dmg), offhand did not swing 100% of the time.

Using the formula above:

62.5% + 0.33% * 25 = 70.75%


Obviously, Left Axe mechanics are applied even though Offhand does not always swing. Basically, we get both disadvantages and would have to increase both Dual Wield and Left Axe to decrease both penalties.


Possible origin of the error

I've no idea how you coded everything I just write down what I think could be the problem:

1. Since all classes seem to have 1 in each skill there could be a conflict between Dual Wield/Celtic Dual and Left Axe.

2. The change that Sword = Blade = Slash could have messed up the identification whether the Offhand is a Left Axe or a Slash weapon


Solution?

I think this definitely deserves a fix especially if it affects regular Dual Wield Classes as well. Especially Mercs and BMs are hit pretty hard because they can't increase their LA Spec above 1+52 which cripples their dmg. Unfortunately, i dont have a high enough Merc/Blademaster to run some tests but that souldn't be a problem for you I guess.

I could imagine that either disabling Left Axe or Dual Wield and Celtic Dual as an offskill could solve the problem.

Greets,
Shiraja
Shiraja
DOL Guest
 
Posts: 4
Joined: Fri Jun 10, 2011 12:21 pm

Re: Dual Wield / Left Axe

Postby Graveen » Sat Jun 11, 2011 10:08 am

Hi Shiraja,

Thank you for your feedback.

For theses kinds of tests i suggest a spreadsheet and its Eureqa-ification ( http://creativemachines.cornell.edu/eureqa )
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12661
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: Dual Wield / Left Axe

Postby Tolakram » Sat Jun 11, 2011 11:28 am

I wonder if the code applies left axe forumlas if dual wield is not a native skill. I'll look.
- Mark
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Re: Dual Wield / Left Axe

Postby Tolakram » Sat Jun 11, 2011 12:34 pm

Messy stuff

GamePlayer: (this is also where H2H multi hits are supposed to work)
Code: Select all
public override int CalculateLeftHandSwingCount()
{
if (CanUseLefthandedWeapon == false)
return 0;

if (GetBaseSpecLevel(Specs.Left_Axe) > 0)
return 1; // always use left axe

// DW/FW chance
int specLevel = Math.Max(GetModifiedSpecLevel(Specs.Celtic_Dual), GetModifiedSpecLevel(Specs.Dual_Wield));
if (specLevel > 0 || GetBaseSpecLevel(Specs.Fist_Wraps) > 0)
{
return Util.Chance(25 + (specLevel - 1) * 68 / 100) ? 1 : 0;
}

// HtH chance
specLevel = GetModifiedSpecLevel(Specs.HandToHand);
InventoryItem attackWeapon = AttackWeapon;
InventoryItem leftWeapon = (Inventory == null) ? null : Inventory.GetItem(eInventorySlot.LeftHandWeapon);
if (specLevel > 0 && ActiveWeaponSlot == eActiveWeaponSlot.Standard
&& attackWeapon != null && attackWeapon.Object_Type == (int)eObjectType.HandToHand &&
leftWeapon != null && leftWeapon.Object_Type == (int)eObjectType.HandToHand)
{
specLevel--;
int randomChance = Util.Random(99);
int hitChance = specLevel >> 1;
if (randomChance < hitChance)
return 1; // 1 hit = spec/2

hitChance += specLevel >> 2;
if (randomChance < hitChance)
return 2; // 2 hits = spec/4

hitChance += specLevel >> 4;
if (randomChance < hitChance)
return 3; // 3 hits = spec/16

return 0;
}

return 0;
}
I don't think GetBaseSpeclevel(leftAxe) is true for everyone but I'll check.

DOH
Code: Select all
// calculate LA damage reduction
if (owner is GamePlayer)
{
if (owner.CanUseLefthandedWeapon && leftWeapon != null && leftWeapon.Object_Type != (int)eObjectType.Shield
&& attackWeapon != null && (attackWeapon.Item_Type == Slot.RIGHTHAND || attackWeapon.Item_Type == Slot.LEFTHAND))
{
leftHandSwingCount = owner.CalculateLeftHandSwingCount();

int LASpec = ((GamePlayer)owner).GetModifiedSpecLevel(Specs.Left_Axe);
if (LASpec > 0)
effectiveness *= 0.625 + 0.0034 * LASpec;
}
}
GetModifiedSpeclevel will return >1 for any player with a bonus, so this is not good.
- Mark
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Re: Dual Wield / Left Axe

Postby demonic4life » Fri Jul 08, 2011 3:25 am

This could be the reason why My Merc does so crappy damage even with 70+ Dual Wield?
demonic4life
DOL Novice
 
Posts: 80
Joined: Fri Aug 13, 2010 3:55 am


Return to “%s” Storm Shard: D2

Who is online

Users browsing this forum: No registered users and 1 guest