Problems with 2-wielding and overall dmg calculation in MM8

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).

Moderator: Moderators

User avatar
Xfing
Raider
Raider
Posts: 767
Joined: 04 Jul 2011

Problems with 2-wielding and overall dmg calculation in MM8

Postby Xfing » Jul 6 2014, 23:30

There is quite a big problem with Might and Magic 8's damage calculation. This is something Grayface would have to fix - too bad I don't see him around anymore. There's a good chance all of this also applies to MM7 and 6 too. Then again, perhaps not - I'm using Survival's Spawn mod right now and it may have affected these values. I doubt that though. If you read this thread, Grayface, please try to do something, it shouldn't be too hard nor require difficult coding :(

The problem is the fact that the weapon skill and Armsmaster do not seem to compound when wielding another weapon in the left hand because of a bad damage calculation formula.

Say, theoretically you wield Breaker at mace skill 10 and your top damage is 50. Add Snake to your left hand and that makes your damage 65.

Try the same at mace skill 20 - you do 60 damage with just Breaker, but add Snake in the left hand and what do you get? 65 too. It is as though the increases in the damage of the mace soak up the bonus the additional sword gives.

Additional points in Armsmaster help to improve the dual wielding damage output, but they do the same with just the mace. It IS possible though, with an appropriate skill spread, for just the mace to equal, or even outdamage mace + sword!

That leads me to believe that the formula for damage calculation is flawed. It should first take the sum of the base damage of both weapons, then add damage bonuses derived from the specific weapon skills, and THEN add a single Armsmaster bonus on top of that. From what I'm seeing it works quite a bit differently.

Problem 1: Mace in the right, sword in the left

For example, my Troll has 21 in Mace, 35 in Armsmaster (item bonuses factored in) and 10 in Sword (which doesn't affect damage, but does affect the chance to hit). I did a test involving wielding Breaker in one hand and a plain Longsword (to better showcase the differences) in the other, and here's what I got:

Just Breaker -Attack: +80 Damage: 87-93
Just the Longsword -Attack: +57 Damage: 53-59

Makes sense so far. The attack bonus is caused by a 11 point difference in skill and a 12 point difference in the weapon quality. The damage likewise makes sense. But then:

Breaker in the Right, Longsword in the Left -Attack: +69 Damage: 69-81

First of all: why average the chance to hit between the two weapons?

Second: why do it after all the bonuses have been applied rather than before?

Third: Why diminish your overall damage by adding another weapon? This makes no sense at all. Additional points in armsmaster increase this collective damage, but the max damage of just Breaker is also increased itself, so basically wielding two weapons is less viable than wielding one. The other weapon is not an aid but a hindrance. This obviously shouldn't be that way!

Let's test this with just swords.

Just Snake -Attack: +69 Damage 65-74
Just the Longword - Attack: +57 Damage: 53-59
Snake + Longsword, handedness doesn't matter -Attack: +69 Damage: 68-83

As we can see here, the formula works perfectly fine. The longsword has +0 attack and therefore the attack rating doesn't change, while the damage is amplified by the longsword's 3d3. I would expect this to be true also when another kind of weapon is wielded along with the sword, such as Breaker.

In an analogous manner - an appropriately working formula would give my troll the following attack and damage output with Breaker + Snake.

Attack: +80 (which is made up of 21 Mace skill, 35 Armsmaster bonus, 12 on Breaker, the rest from the Accuracy stat) + 10 (Sword skill) + 12 (Snake's attack bonus) = +102

Damage: Basically add the sword's damage to both the min and the max. Also factor in skill damage bonuses, which Sword doesn't have. So we have 87-93 (Might stat+ Breaker damage + Mace skill + Armsmaster skill) + 15-24 (Snake damage) + 0 (Weapon damage bonus, not applicable for swords) = 102-117.

So Breaker + Snake should yield +102/102-117 rather than +81/81-96 as it does.

Problem 2: Dagger + Sword, both configurations

This problem can be illustrated clearly by my vampire, and this time we will also examine recovery times. Again, we're dealing with a big difference in bonus damage stemming from the corresponding weapon skill. She's got 10 in Sword (bonuses to attack and recovery time), 12 in Armsmaster (basic level, only reduces recovery time) and 23 in Dagger (attack and damage bonuses). We'll be testing with a regular Longsword and a Dueling Long Dagger. So here's what we get:

Unarmed Recov: 70 Atk: +14 Dmg: 12-14
Just the Longsword in R - Recov: 50 Atk: +24 Dmg: 14-20
Just the Longsword in L - Recov: 70 Atk: +24 Dmg: 14-20
Just the Dagger in R - Recov: 30 Atk: +44 Dmg: 43-47
Just the Dagger in L - Recov: 70 Atk: +44 Dmg: 43-47
Longsword in L, Dagger in R -Recov: 50 Atk: +31 Dmg: 23-33
Longsword in R, Dagger in L -Recov: 50 Atk: +44 Dmg: 46-56

Issues:
1) The sword alone, while adding an appropriate Attack Bonus, adds only 2d3 damage, rather than 3d3 like it should. I have a similar problem with my lich, he does 11-13 unarmed, while with the Staff of Elements he does 16-22. The staff should add 2d4+4, so he should do 17-25 if I'm not mistaken. Right now the staff seems to add 1d5+4 instead. The attack bonus afforded by the staff is correct, though: 4 points from the staff and 10 points from the skill. Similar problem with my Cleric too - does 11-13 unarmed and has 10 in the mace skill. Mace of the Sun should add 3d4+7, so my cleric should be doing 11-13 + 10-19(+10 to both from the mace skill) = 31-42. He does 1d3 points short of that at 30-39. In fact, in all three cases the weapons do exactly 1d3 less damage than they should. I wonder if the error has something to do with a bad formula regarding factoring in the Strength stat? As you can tell from unarmed damage, it's pretty high for all these characters.

2) If a weapon is wielded in the left hand only, leaving the right hand vacant, the game apparently counts the weapon used in the right as "unarmed" and therefore gives you an unarmed recovery time. I think it is correct and logical that the recovery time for an attack equals that of the slower weapon (which the formula gets right in both cases of dual-wielding), yet I think "unarmed" should get a coded exception from that. The game always treats the right-hand weapon as the primary one and plays this weapon's sound during the attack, but in this particular case this is baseless, as one obviously will not be making an attack with their fists, but with the dagger or sword, wielded in the left hand. The game gets the attack bonus and damage right no matter which hand you use, but it should also get the recovery time right (perhaps even the sound).

3)As we can see by testing using two kinds of weapons which can be wielded in either hand, this formula mismatch is asymmetrical. If the sword is wielded in the right hand and the dagger in the left, everything adds up as it should - the dagger's damage and attack bonus are augmented by the sword (a correct 3d3 no less), and the attack speed is downgraded to match the speed of the sword (makes sense). But when you wield the weapons in opposite hands, the attack bonus is 31, which is only like adding the dagger's +7 attack bonus to the total you get with just the sword, which completely fails to factor in the +23 attack bonus you should get from the dagger skill. The damage is calculated in a similar way - seems to only add the dagger's 2d3+7 to the sword's damage output, completely ignoring the 23 bonus damage points. This clearly shows the coding issue we're dealing with here.

So, what we need:

1) A fixed attack bonus and damage formula that yields the same results regardless of the handedness configuration in which you're wielding your weapons. It should probably go something like (weapon 1 attack/damage + skill bonus if applicable) + (weapon 2 attack/damage + skill bonus if applicable) + armsmaster bonus. With weapon 1 and 2 interchangeable for the purposes of the calculation. The recovery time formula is probably fine as is, we should only be sure that the armsmaster recovery time bonus is applied after the slower weapon is determined, not before that.

2) This is less pressing, but it would also be nice for the game not to count an unarmed right fist as a weapon of its own if you're only wielding a sword or dagger in your left hand (recovery time and attacking sound).

3)An investigation why damage seems to be 1d3 lesser than it should when single-wielding.

User avatar
Xfing
Raider
Raider
Posts: 767
Joined: 04 Jul 2011

Postby Xfing » Oct 16 2014, 19:39

Ok, as of today I can confirm that the bug was also present in MM7. I tried dual-wielding a spear and a dagger with an Archer - the output of the halberd alone was greater than of the halberd + dagger, even tough using a spear with one hand is supposed to remove only 1d9 from the damage, while the dagger added 2d3+7 (9-13).

Grayface, are you reading this? I would like to hear your take on this, and whether or not you can fix it.

shizuo
Leprechaun
Leprechaun
Posts: 1
Joined: 19 Oct 2014
Location: germany

Problems with 2-wielding and overall dmg calculation in MM8

Postby shizuo » Oct 19 2014, 3:38

Yeah I agree that it is a bug please fix attack bonus and damage!


throwing knives for beginners


Return to “Might and Magic”

Who is online

Users browsing this forum: Google [Bot] and 15 guests