Some bug about Pain Attunement or Spell echo or GMP
Hi guys im come from taiwan server
I am building a caculator about spell damage but when I build it , i found a weird thing about Pain Attunement I use fireball to help me check the accuracy of my caculator my fireball use 1、GMP (50% less damage) 2、Spell echo (10% less damage) 3、Pain Attunement (30% more damage) and when I use two of them or only one to check the accuracy it's correct , the caculation is same as game index but when i use three of them some weird thing happened the effect of Pain Attunement become 28.9% , not 30% anymore! my base dmg of fireball is 999 - 1498 ( with gmp and spell echo) http://imgur.com/5ZkTnlO you guys can see the index in the buttom and when I ues Pain Attunement the dmg sould be 999 * 1.3 ~ 1498 * 1.3 = 1298 ~ 1948 but it became 1287 ~ 1931 (999*1.289 ~ 1498*1.289) http://imgur.com/DH3raMP the base dmg is in the bottom I dont know it is a bug or I make any mistake dose anyone help me deal with this problem? -------------------------------------- i dont know the problem is about Pain Attunement or Spell echo or GMP because as I say before, when I use two of them to check the accuracy the index is all correct. The problem only appears when I use all of them. --------------------------------------- here is my passive / gears / gems / about %increase dmg and %more or less dmg lv19 fireball base dmg:358 - 537 %increase dmg 1、passive:321% (fire / elemental / projectile) 2、gears:143% 3、gems:56% (Q20 fire penetration +10% , Q20 spell echo +10% , lv19 gmp +36% ) %more or less dmg 1、GMP:-50% 2、Spell echo:-10% 3、Pain Attunement:+30% so the final base dmg should be 358 * [1 + 3.21 + 1.43 + 0.56] * 0.5 * 0.9 * 1.3 = 1298 537 * [1 + 3.21 + 1.43 + 0.56] * 0.5 * 0.9 * 1.3 = 1949 --------------------------------------- here is all of my caculation and indexes in game use none of them http://imgur.com/oBoqJZ7 min 358 * [1 + 3.21 + 1.43 + 0.1 (fire penatration) ] = 2055 max 537 * [1 + 3.21 + 1.43 + 0.1 (fire penatration) ] = 3082 only use GMP http://imgur.com/FOR0510 min 358 * [1+ 3.21 + 1.43 + 0.46 ] * 0.5 = 1092 max 537 * [1+ 3.21 + 1.43 + 0.46 ] * 0.5 = 1638 only use Spell echo http://imgur.com/bRoUUba min 358 * [1 + 3.21 + 1.43 + 0.2 ] * 0.9 = 1882 max 537 * [1 + 3.21 + 1.43 + 0.2 ] * 0.9 = 2822 only use Pain Attunement http://imgur.com/rzjJ2oc min 358 * [1 + 3.21 + 1.43 + 0.1 ] * 1.3 = 2671 max 537 * [1 + 3.21 + 1.43 + 0.1 ] * 1.3 = 4007 GMP + Spell echo http://imgur.com/RFI1DTw min 358 * [1 + 3.21 + 1.43 + 0.56] * 0.9 * 0.5 = 999 max 537 * [1 + 3.21 + 1.43 + 0.56] * 0.9 * 0.5 = 1498 GMP + Pain Attunement http://imgur.com/sF5Wi4P min 358 * [1 + 3.21 + 1.43 + 0.46] * 0.5 * 1.3 = 1419 max 537 * [1 + 3.21 + 1.43 + 0.46] * 0.5 * 1.3 = 2129 Spell echo + Pain Attunement http://imgur.com/80QOKjy min 358 * [1 + 3.21 + 1.43 + 0.2] * 0.9 * 1.3 = 2446 max 537 * [1 + 3.21 + 1.43 + 0.2] * 0.9 * 1.3 = 3669 the caculations are as same as the indexes in game so far. but when I use three of them it sould be 358 * [1 + 3.21 + 1.43 + 0.56] * 0.5 * 0.9 * 1.3 = 1298 537 * [1 + 3.21 + 1.43 + 0.56] * 0.5 * 0.9 * 1.3 = 1949 but the index in game is like this http://imgur.com/1Dq7Jq3 I think my caculation is right...:( Last edited by chriso_ov on Oct 20, 2014, 2:56:52 PM
| |
| |
" I had saw this page before , but it didnt solve my problem :\ still thanks for your answer. | |
Try to calculate from unsupported fireball damage.
GMP x0.5 - round down spell echo x0.9 - round down pain attunement x1.3 - round down The loss in damage is probably because the game will round down 3 times rather than 1. IGN: NNQQ, Sporkay, Rands_
| |
" OK I try to round down 3 times the dmg still 1298 - 1948 :\ | |
Edit: nvm that, I misread. My bad!
Also, what Kolton said is inaccurate. All modifiers are applied in one step, and round once. Last edited by Vipermagi on Oct 19, 2014, 5:54:03 PM
| |
" I work on damage calculations too and i got into same troubles with multiple "more"/"less" multipliers. So how did you solve it in the end? What do you mean by "All modifiers are applied in one step, and round once." ? All modifiers as increases and multipliers, or only all multipliers? And what kind of rounding is needed (truncate, round away from zero, round half down, ...)? GGG isn't really consistent with its rounding styles. This is last issue affecting accuracy of my calculations :( | |
" An increase is a multiplier - it's a percentage-based modifier after all. As for how Damage is calculated exactly, I've always been off by a similar amount as the OP. Rounding multiple times has only thrown it off further, so that hardly seems to be accurate. | |
Well, to be more precise. All increases summed, create one single multiplier.
And there is definitely some sort of rounding involved when "more/less" multipliers are applied (or is it just "% base damage" one?). I have a much simplier example of an Axe with Spectral Throw and Fork linked on spell caster character, so there are no increases applicable at all. The final damage range is purely based on multiplications from ST's base damage and Fork's less damage multipliers. Axe Physical Damage: 29 - 54 Fork (30% less Projectile Damage): * 0.7 Spectral Throw (Deals 38% of Base Damage): * 0.38 In-game displayed damage range is 8 - 15 No idea how to get max. hit of 15 when at max. precision it's 14.346. And it's not simple "round up" 14.346 to 15. As this would throw off almost every test build except this one :) | |
" I think you forgot to caculate the STR STR will give you some physical damage and maybe it will make the max up to 14.5 then the system will roundup the damage to 15 |