View Single Post
  #40  
Old Yesterday, 11:04 AM
DeathsSilkyMist DeathsSilkyMist is offline
Planar Protector

DeathsSilkyMist's Avatar

Join Date: Jan 2014
Posts: 8,369
Default

Quote:
Originally Posted by TheBlob [You must be logged in to view images. Log in or Register.]
Concerning the disagreement on the optimal complexity of mechanics description, would it be a good compromise to add a subsection (not a page) at the beginning of each more complicated section: "Simple mechanics", followed by "In depth mechanics"?
This was the original:

Quote:
source: https://www.project1999.com/forums/s...d.php?t=275279

The dmg*2 formula for autoattack is true until lvl 28 where you get 1 bonus damage every 3 levels to your main hand attack. So at level 50 you get 8 extra bonus damage:

main hand = (dmg*2)+8
off hand = dmg*2
That's why a fast weapon can perform as good as a slower weapon with better ratio. For example, a dragon spined claw (10/21) only outdamages a revultant whip (5/14) by about 10% or maybe a bit more (that's my personal parse). For off hand, you need the best possible ratio (no damage bonus).

Role of STR

As for str, you will notice more effects at later level. It does increase my max damage when I go from 180 (unbuffed) to about 250 (shaman buff). In the end, my main hand 10/21 has a max damage of about 45, so from the formula:

(2*10)+8 = 28
I have an extra 17 damage, I would think that it is all coming from str bonus at my level? Not sure.

The other effect of str is that it raises your ATK (about 1 ATK for 1 str) and the more ATK you have, the more likely you will get high hits.

Role of STR on P99 Blue

The source code for EQ Emulator calculates max damage based on Weapon Damage, STR, Offense Skill, Class, and Player Level. This algorithm may have been changed on P99, but here it is for reference:

[Max Damage] = ([Mod] x [Weapon Damage]) + [Main Hand Bonus] (rounded down)
[Weapon Damage] is the damage listed on the weapon.
[Main hand bonus] is always 0 for non-melee characters, and weapons wielded in the off-hand.
[Main hand bonus] for one handed weapons is: ([Player Level] - 25) / 3 (rounded down)
[Mod] is calculated as: ([Offense Skill] + [STR]) / 100
If [Mod] is less than 2, then 2 is used instead.
If [Player Level] is less than 10, then [Max Weapon Damage] is capped at 10.
If [Player Level] is less than 20, then [Max Weapon Damage] is capped at 14 (for melee, see lists above).
So at low levels, [Max Damage] is always twice the listed weapon damage unless you have enough Offense and Strength to have a Mod higher than 2. For the critera above, a level 50 melee character using a 10 damage weapon, with 200 offense skill and 250 strength, max damage would be calculated as:

[Mod] = (200 + 250) / 100 = 4.5
[Main Hand Bonus] = (50 - 25) / 3 = 8
[Max Damage] = (4.5 x 10) + 8 = 53
Note that increased damage from strength is applied to both main hand and off hand weapons, and is a multiplier through [Mod]. The level based [Main Hand Bonus] is a flat number that is only added to the main hand weapon and is not affected by strength.

NOTE: This formula is not the one used in P99 because, using it, I found my theoretical max damage with a Blam Stick and 255 STR to be 134 but have screenshot evidence of myself doing more than this.

NOTE: 4/2/2020 amendment. The formula above was correct, except for Mod calculation.
This is the update with the weighted roll calculations collapsed

Quote:
Here is a breakdown of the damage calculation in a simplified format. Please note that it is difficult to confirm all of the magic numbers for P99, so a few of them may differ slightly from the EQEMU code. Because of this, the max damage numbers may be a few points off when looking at P99 damage numbers.

1. Calculate Wrath
1a. StrengthModifier = ((2 * STR) - 150) / 3
1b. If STR is less than 75, StrengthModifier = 0

1c. Wrath = Weapon Skill + StrengthModifier + Worn ATK + Spell ATK

2. Roll a D20
Press the expand button if you want to see how the game weights the D20 dice. Otherwise, you can just assume a roll of 20 for max damage calcualtions.

2k. RolledD20 = Weighted D20 Dice Roll / 10

3. Calculate DamageDone
3a. If Wrath is less than 115, Extra Percent = 100, skip to step 3g
3b. Roll D100. If Rolled D100 is less than maxExtraChance, Extra Percent = 100, skip to step 3g
3c. Base Bonus = (Wrath - minusFactor) / 2
3d. If Base Bonus is less than 10, Base Bonus = 10
3e. Extra Percent = 100 + (Base Bonus * Random Float Value between 0.0 and 1.0)
3f. If Extra Percent is greater than maxExtra, Extra Percent = maxExtra

3g. DamageDone = (Weapon Damage * RolledD20 * Extra Percent) / 100

4. Calculate FinalDamage
4a. If using Archery, DamageDone = DamageDone / 2
4b. If not using Archery, or using Archery as a Ranger and target is "stationary" (mob not moving and not rooted), skip step 4a
4c. If Critical Hit is possible and has occurred, continue to step 4d. Otherwise skip to step 4i
4d. If DamageDone is less than Weapon Damage, DamageDone = Weapon Damage
4e. DamageDone = DamageDone + 5
4f. DamageDone = DamageDone * 1.7
4g. Continue if Warrior and Berserk
4h. DamageDone = DamageDone + (Damage from step 4e * 1.19)

4i. FinalDamage = DamageDone + Main Hand Damage Bonus

NOTE: Throwing does NOT get the Main Hand Damage Bonus
NOTE: Archery uses the Main Hand Damage Bonus of the Weapon in your Primary Hand
NOTE: When using Breezeboot's_Frigid_Gnasher in your Primary Hand, it uses the 2Handed Damage bonus for 50 Delay rather than the 1Handed Damage Bonus. This is still true even if you are dual wielding
Personally I don't see how mine is worse than the previous one in terms of readability, complexity, or legnth. Both use a list style for the calculation portion, but the original mixes in personal examples in the middle, rather than putting them in a new examples section like I did.
Reply With Quote