![]() |
|
#1
|
|||||
|
![]() Quote:
Quote:
That said, here's the emulator code that I think is applying the DI mechanic: There's a method, RollD20(int offense, int mitigation), that returns a number between 0.1 and 2.0. I think this is where attack and defense values are compared to determine if hits will skew higher or lower. This number [roll] is used inside MeleeMitigation to adjust the damage done: hit.damage_done = std::max(static_cast<int>(roll * static_cast<double>(hit.base_damage) + 0.5), 1); So it takes the "base_damage", multiplies it by a number between 0.1 and 2.0, adds 0.5, converts to int (which rounds down iirc, so 3.9 becomes 3), then if it's below 1, sets it to 1. So, to start, none of the DI intervals will have zero damage, there's always a minimum of 1. Secondly, if the damage of a weapon is low enough, more of the damage intervals will end up at the minimum value of 1. E.g., if "base_damage" is 10, the 20 intervals will be 1, 2, 3, ..., 19, 20. If the "base_damage" is 3, 0.4 * 3 + 0.5 is 1.7, truncated to 1, so the intervals will be 1, 1, 1, 1, 2, 2, .., 6. So low-damage weapons end up with multiple intervals clamped at the minimum value. References: https://github.com/EQEmu/Server/blob...tack.cpp#L1050 https://github.com/EQEmu/Server/blob...ttack.cpp#L999 | ||||
#2
|
||||
|
![]() Quote:
| |||
Last edited by Keebz; 06-12-2024 at 12:59 AM..
Reason: mangled quote formatting
|
#3
|
|||
|
![]() Thanks guys, those are really insightful answers and good jumping off points!
| ||
#4
|
|||
|
![]() who fkin cares its 2024 just get your items and play holy fuck
| ||
#5
|
||||
|
![]() Quote:
__________________
| |||
Last edited by DeathsSilkyMist; 06-12-2024 at 10:10 AM..
|
#6
|
||||
|
![]() Quote:
| |||
#7
|
|||
|
![]()
__________________
| ||
#8
|
|||
|
![]() Drugs?
__________________
| ||
#9
|
|||
|
![]() /GU Derakor the Vindicator in 171s, 151k @882 | Junar 18133@(113 in 160s) | Paijun 15708@(96 in 163s) | Inappropriate 15482@(99 in 155s) | Ripqozko 14417@(87 in 164s) | Scather 13672@(88 in 154s) | A storm giant berserker 11778@(92 in 128s) | Mashiara 10812@(79 in 136s) | Jobekn 7893@(47 in 166s) | Carboload 7614@(45 in 167s) | Jener 7359@(44 in 164s) | Blackduck 5259@(44 in 118s) | Dirtydiana 5067@(50 in 101s) | Gonober 4024@(42 in 95s) | Tiras 3381@(21 in 154s) | Flutin 2301@(16 in 142s)
Vindi this morning with cek sword +primal pre proc'd | ||
#10
|
|||
|
![]() Nice! New ranger record by my accounting. How many AoB’s does Rip have? No bard epic proc right?
| ||
![]() |
|
|