First of, thank you for looking into it
Style Damage are now using a Growth Offset and a Growth Rate ? (provided by a new DB field)
Yes.
If you don't provide new "GrowthOffset" to existing DB Styles they will act like before only using GrowthRate ?
If you set "GrowthOffset" to 0 (where NULL is handled as 0) only GrowthRate is taken into account.
- Code: Select all
( GrowthOffset + GrowthRate * Spec) * SwingSpeed = GrowthRate * Spec * SwingSpeed WHERE GrowthOffset = 0
the "quantum" is used to display the according "Delve" based on the total of GrowthOffset and GrowthRate, this is not needed in any damage calc ?
The quantum is only relevant for delve in code. However in the DB I will work with this quantum because there are only 4 different growth rates in the game that are multiples of this quantum, so I will round to this quantum. I don't think it's a good idea to use this quantum in the growth calculation because it results in incompatibilities.
When detecting a "Stealth Style" you revert to a fixed weapon speed calc and a specific 2-handed calc (which I have trouble to understand... I though Weapon DPS was never used for style damage ?)
The idea was that these styles are NOT influenced by weapon speed at all. In later testings I found out that this is slightly influenced by weapon speed when you use 2h-weapon (that only the SB can do). I found no correlation to weapon speed and damage with these styles for 1h-weapons however (the cap style damage is really always the same with the same spec).
Would it mean for Stealth Opening, you would do great damage with a one hand dirk 1.2dps (unmodified by weapon DPS), but you could do low damage with a two-handed staff with only ~7 dps (from 16.5dps max damage
No that should not be the case. The damage from 2h-weapon is at minimum 25% better than with a 1h-weapon (the 2h-weapon has to be 2.1 or faster tho) and the DPS and SPD from 2h-weapon causes additional style damage. What happens below 2.1 weapon speed is unknown to me. I could floor it, but yeah there is no slower 2h weapon in the game.
Common styles (without StealthRequirement) do not have a different behavior for 2h-weapons.
Do you have some ideas on how to gather live values of Growth Offset and Growth Rate efficiently ?
That's why I have high hopes in the quantum
Testing requirements:
- I try to avoid haste of any form, quickness and ToA-StyleDam and also have a qui of 60 (if not I compensate, but rounding might be an issue in that case)
- use a slow weapon (DPS doesn't matter) that you ideally know the WeaponSpeed of (delve and tooltips do differ from each other and sometimes are just completely off for whatever reason)
- get you some items with +Spec (ideally +11 and nothing on the weapon)
- spec 50 in the style line you wanna test
- look for mobs you do cap damage on (usually up to level 25)
Testing method
- hit the mobs once without style
- hit them once with every style
- do this once for +0 Spec and once for +11 Spec
Calculation goes like this:
- Code: Select all
StyleDam = StyledCap - UnstyledCap - ( ToA-StyleDam * UnstyledCap )
GrowthRate = (StyleDam(YSpec) - StyleDam(XSpec))/(YSpec-XSpec)/SwingSpeed
GrowthOffset = StyleDam(XSpec)/SwingSpeed - GrowthRate * XSpec
XSpec and YSpec are a specific Spec including RR and item boni. StyleDam(XSpec) is the StyleDam at XSpec. ToA-StyleDam is ideally 0
Limitations:
- rounding errors are very common. currently I have an error of -1/+1 in <5% of the cases (error should not exceed -2/+2)
- baseDam decimal place goes in the calculation, but is usually unknown
- exact weapon speed can be tested, but needs to be rounded due to inaccuracies Server<->Client timings, so for the exact decimal place a rounding needs to be guessed
- rounding of growthOffset is completely unknown, but due to the damage classification a rounding to or half of the style quantum is likely