EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=621)
-   -   EQ damage mitigation equation (https://www.eqemulator.org/forums/showthread.php?t=6700)

a_Guest03 04-19-2003 11:58 PM

EQ damage mitigation equation
 
EDIT: removed previous theory because it is proven to not work.

Trumpcard 04-20-2003 05:30 AM

I think MONK needs to fit right up there with warrior, as monks are a pure warrior class, and they dont have the benefit of a high AC.. They probably need a higher weighting factor, like 1.5 since they typically have much lower AC's..
I've been running the general equation through a driver, and it looks really good... Just tag down the class mods and I'll put it in

a_Guest03 04-20-2003 12:26 PM

I thought that because of their impressive ability to deal damage and avoid injury (dodge/etc.), that they wouldn't have the same tanking skills as warriors. That was just my impression.

Trumpcard 04-20-2003 01:06 PM

I honestly dont know.. I know they had to be careful to stay under a certain weight or their natural AC suffered, not sure how its really handled though...

a_Guest03 04-20-2003 01:11 PM

Mbleh - previous theory doesn't work for all situations.

Bigpull 04-23-2003 03:02 AM

warrior, plate melee, chain melee, leather melee
cleric, chain caster, leather caster, cloth caster

Thats the eq hierarchy for mitigation.
Leather melee make up thier damage absorbtion with a slightly higher avoidance and the block skill.
Bards on the otherhand (plate melee) shift thier damage absorbtion with a lower avoidance.

Based purely on mitigation,
Warrior, Knights/Bard, Rogue, Ranger, Monks, Cleric, Shaman, Int casters

Avoidance
Warror, Knights, Monks, Ranger, Rogue, Bard, Cleric, Shaman, int casters

monkboy 04-23-2003 03:45 AM

What's missing there tho, is the Beastlord. They're a leather class as well and with the same H2H table and often related to each other somehow. However, I don't think they're on the same mitigation table as monks, at least not on EQ live. The monk mitigation nerf there kinda proved that. Monks took a huge mitigation loss, while beastlords were basically unaffected by it. And my 2c worth, they shouldn't be on the same mitigation table. Monks should be higher up than BLs. =)

a_Guest03 04-23-2003 04:09 AM

To be honest, I'm still filtering through forums, trying to decide who has valid data, and who is just plain guessing. The AC equation works for now, but I will continue to update with information until I can decypher it.

a_Guest03 04-23-2003 03:21 PM

This formula should apply to Monks, assuming weight limits are respected. Weight punishments can be applied to AC.

I don't trust the "iksars get a bonus of maybe level -1"

I will post the table referenced in the next post so that this isn't so long and drawn out.

Quote:

Originally Posted by Sylvan, who originally decyphered the equation
Ok I finished the agility table.
Here's the full formula for AC:

Avoidance = (T from table) + trunc(Defense * 16/9), but never less than 0
Caster Mitigation = trunc(Buffs/3) + trunc(Defense/2) + (Equipment + 1)
Anyone else's Mitigation = trunc(Buffs/4) + trunc(Defense/3) + trunc(Equipment * 4/3)
Displayed AC = trunc( (Avoidance + Mitigation) * 1000 / 847 )

Caster means Enchanter, Magician, Necromancer, Wizard.
Defense is the character's Defense skill.
Equipment is just the sum total of the raw AC from everything worn. Don't forget the range slot.
Buffs is the sum of the bonuses from all buffs. You'd have to check your spdat file to see those numbers, but for reference Skin Like Wood adds 15 and Skin Like Nature adds 55.
T comes from the agility table below, use the column corresponding to the character's level.
trunc means truncate, to remove the fraction; keep only the integer part of the value.

Some qualifications: Iksars get a bonus, I'm not sure how much but I suspect it might be adding (Level - 1) to Mitigation. The formula hasn't actually been tested on Beastlords or Vah Shir yet. The formula doesn't work for monks because of the weight limit thing, but it should work if they keep their weight under the limit. There is a 'never less than 0' issue with Mitigation too, but it only matters if you get hit with an AC debuff while wearing little or no equipment... it won't affect most people. The formula doesn't work right if your character has been drinking but it works in every other situation, including illusions, hunger, thirst, drowning, encumbered, low health, low stamina, stacked buffs and debuffs, and resurrection sickness. I have no proof that these are the actual Avoidance and Mitigation values, there isn't even any proof that Avoidance and Mitigation are ever used seperately in actual combat calculations... I just know that the first few factors are rounded up to 0 and are the same for all classes, so it seemed like a sensible division.


a_Guest03 04-23-2003 03:45 PM

I don't think it's worth the time to make every AC completely accurate. To be honest, i don't think we'll ever do it. The equation I will post should never be wrong by more than 7-10AC in low levels, and 90 (yeah 90, sorry!) in realllllly high values. What's 7 AC anyway? Anyway, it's in favor of the PC.

If AGI > 74
Tvar = (AGI - 76) * .155
If Level < 7 then
Tbase = 10
if class=monk then
Tbase = Tbase + 7 endif
if race=iksar then
Tbase = Tbase + 10 endif
else If Level > 7 and < 20
Tbase = 24
if class=monk then
(hell, I don't know yet) endif
if race=iksar then
(hell, I don't know yet) endif
If level >20 and < 40
Tbase = 34
....

The table for T:

Level ..... -- 40+:20-39:7-19:1-6
---------------------------------
Agi 1...... ---24 :-24 :-24 :-24
Agi 2-3.... ---23 :-23 :-23 :-23
Agi 4...... ---22 :-22 :-22 :-22
Agi 5-6.... ---21 :-21 :-21 :-21
Agi 7-8.... ---20 :-20 :-20 :-20
Agi 9...... ---19 :-19 :-19 :-19
Agi 10-11.. ---18 :-18 :-18 :-18
Agi 12..... ---17 :-17 :-17 :-17
Agi 13-14.. ---16 :-16 :-16 :-16
Agi 15-16.. ---15 :-15 :-15 :-15
Agi 17..... ---14 :-14 :-14 :-14
Agi 18-19.. ---13 :-13 :-13 :-13
Agi 20..... ---12 :-12 :-12 :-12
Agi 21-22.. ---11 :-11 :-11 :-11
Agi 23-24.. ---10 :-10 :-10 :-10
Agi 25..... -- -9 : -9 : -9 : -9
Agi 26-27.. -- -8 : -8 : -8 : -8
Agi 28..... -- -7 : -7 : -7 : -7
Agi 29-30.. -- -6 : -6 : -6 : -6
Agi 31-32.. -- -5 : -5 : -5 : -5
Agi 33..... -- -4 : -4 : -4 : -4
Agi 34-35.. -- -3 : -3 : -3 : -3
Agi 36..... -- -2 : -2 : -2 : -2
Agi 37-38.. -- -1 : -1 : -1 : -1
Agi 39-65.. -- 00 : 00 : 00 : 00
Agi 66-70.. -- 01 : 01 : 01 : 01
Agi 71-74.. -- 05 : 05 : 05 : 05
Agi 75..... -- 39 : 33 : 23 : 09
Agi 76-79.. -- 40 : 33 : 23 : 10
Agi 80..... -- 41 : 34 : 24 : 11
Agi 81-85.. -- 42 : 35 : 25 : 12
Agi 86-90.. -- 42 : 36 : 26 : 12
Agi 91-95.. -- 43 : 36 : 26 : 13
Agi 96-99.. -- 44 : 37 : 27 : 14
Agi 100.... -- 45 : 38 : 28 : 15
Agi 101-105 -- 45 : 39 : 29 : 15
Agi 106-110 -- 46 : 39 : 29 : 16
Agi 111-115 -- 47 : 40 : 30 : 17
Agi 116-119 -- 47 : 41 : 31 : 17
Agi 120.... -- 48 : 42 : 32 : 18
Agi 121-125 -- 49 : 42 : 32 : 19
Agi 126-130 -- 50 : 43 : 33 : 20
Agi 131-135 -- 50 : 44 : 34 : 20
Agi 136-139 -- 51 : 44 : 34 : 21
Agi 140.... -- 52 : 45 : 35 : 22
Agi 141-145 -- 53 : 46 : 36 : 23
Agi 146-150 -- 53 : 47 : 37 : 23
Agi 151-155 -- 54 : 47 : 37 : 24
Agi 156-159 -- 55 : 48 : 38 : 25
Agi 160.... -- 56 : 49 : 39 : 26
Agi 161-165 -- 56 : 50 : 40 : 26
Agi 166-170 -- 57 : 50 : 40 : 27
Agi 171-175 -- 58 : 51 : 41 : 28
Agi 176-179 -- 58 : 52 : 42 : 28
Agi 180.... -- 59 : 53 : 43 : 29
Agi 181-185 -- 60 : 53 : 43 : 30
Agi 186-190 -- 61 : 54 : 44 : 31
Agi 191-195 -- 61 : 55 : 45 : 31
Agi 196-199 -- 62 : 55 : 45 : 32
Agi 200-219 -- 63 : 56 : 46 : 33
Agi 220-239 -- 64 : 57 : 47 : 34
Agi 240-255 -- 65 : 58 : 48 : 35

a_Guest03 04-23-2003 04:45 PM

Trying to retrieve values for iksar monks, human monks, generic melee other, iksar generic. Guessing the values to put in...

Thanks to killspree for collecting this data for me.

We collected data for Vah Shir and Beastlords because they were untested prior to our work here. The Vah Shir have no bonus - they follow standard rules. The Beastlords follow standard rules.

To find T values: T = DisplayAC * 847/1000 - 16/9*defense

DispAC = 1000/847*(16/9 * defense + T)
847/1000*DispAC = 16/9 * defense + T
T = 847/1000*DispAC - 16/9 * defense

-----------------------------------Tier 1 research----------------------------

Verified to be correct - research complete on Tier 1 for all but Vah Shir and Beastlords.

All test subjects had 0 defense skill, so no defense AC was awarded - AC listed is purely avoidance AC.

iksar monk (iksar bonus), (monk bonus)
AGI:AC
100:37 // 37*847/1000 = 31.339 base (32) (15 from std. table)
103:37 // 31.339 base (32) (15 from std. table)
108:38 // 32.186 base (33) (16 from std. table)
113:40 // 33.88 base (34) (17 from std. table)
118:40 // 33.88 base (34) (17 from std. table)
120:41 // 34.7 base (35) (18 from std. table)

human monk (monk bonus only)
AGI:AC
85:22 // 22*847/1000 = 18.643 base (19) (12 from std. table)
87:22 // 18.643 base (19) (12 from std. table)
92:23 // 19.481 base (20) (13 from std. table)
97:24 // 20.328 base (21) (14 from std. table)
100:25 // 21.175 base (22) (15 from std. table)
103:25 // 21.175 base (22) (15 from std. table)

human cleric: control set
AGI:AC
75:10 // 8.47 base (guess it shrunk! Should be 9) 9*1000/847 gives 10 AC

iksar warrior: (iksar bonus only)
AGI:AC
95:27 // 22.869 base (23 ) (13 from std. table)
97:28 // 23.716 base (24 ) (14 from std. table)
100:29 // 24.563 base (25 ) (15 from std. table)
106:30 // 25.41 base (26 ) (16 from std. table)
111:31 // 26.257 base (27 ) (17 from std. table)
120:33 // 27.951 base (28 ) (18 from std. table)

On the first tier of levels (Levels 1-6), being a monk increases the T value 7. Being iksar increases T value by 10.

iksar monks: 32 = 15 (basic T) + 17 (both bonuses)
iksar warrior: 23 = 13 (basic T) + 10 (iksar bonus)
human monk: 19 = 12 (basic T) + 7 (monk bonus)

------------------------End Tier 1 Research----------------------------
---------------------------Tier 2 Research-------------------------------
iksar monk Agility 120 AC 327 Level 11 Defense 50
T-value = 188.08 (189) (std table is 32)
Discrepency is 157... Big difference! Does block have anything to do with this??
---------------------------Tier 3 Research-------------------------------
Example of Level 36 iksar SK (thanks UrineTrouble)
Level 36, 180 defense skill
Naked AC on EQLive: 536AC
AGI:T
110:133.992 //T = 133.992 (134) (std. table value is 35) Difference = 99

28 iksar beastlord 440 naked AC, 95 AGI, 139 defense skill Block skill 106 dodge 125
AGI:T
95:125.57 //(126) - std table (36) - 90 difference


-------------------------End Tier 3 Research---------------------------
---------------------------Tier 4 Research-------------------------------
Remind me to recalc these.
Still compiling data

Example from Magelo's board:
Naked Iksar Monk, 252 defense skill, level 58 (tier 4)
AC on EQLive = 820

T = 246.54 (247?)


Iksar Beastlord - Remember I determined that beastlord is standard, but iksar gets a bonus. Here come the stats:
65 Iksar Beastlord

naked stats:
AC: 710 //while defense is NOT posted (bastard!), I will assume 252. What 65 BL doesn't have that?
AGI: 105
T-value = 153.37 (154?)... (std. table 45)
Corrupted data (don't know defense skill)
109 difference

iksar Monk AC 749/lvl 49/AGI 100, defense skill 230
T-value - 225.51 (226) - (std table 45)
181 difference between iksar monk and standard

Same char, AC 750/level 49/AGI 106 unknown defense skill (again)
T-value - 226.36 (227) - (std table 46)
181 difference between iksar monk and standard

Iksar 65 Shaman, naked AC 587, 90 AGI, 200 defense
T-value = 141.63 (142?) - (std table 42)
100 difference between iksar and standard

Gnome 65 Rogue, naked AC 695, 100AGI, 252 defense
T-value = 140.66 (141) - (std table 42)
99 difference between this value and standard

65 Barbarian Warrior, naked AC 681, Defense 252, AGI 100, 190 Dodge, 230 parry
T-value = 128.81 (129) - (std table 42)
87 difference between this value and standard (could this have to do with dodge values)?

monkboy 04-23-2003 04:54 PM

Speaking about AC.. I don't know if this is a bug or working as intended (tm):

My monk on my local EQEmu server currently got 1066 AC. Checking his AC value with #showstats, only returns a total of 316 raw AC points. Now, I tried to fiddle around with some of the numbers checking and changing the EQemu code. From what I can tell ( doesn't mean much =) ) it's the value that's shown with #showstats that's calculated with GetAC.. not the value showed to the player on his character information screen. The old mitigation test

if (damage > 1 && spell_id == 0xFFFF){
//Reduce Dmg based on AC
//.5 less damage at 1000 AC
double damage2=damage;
double calc1=(1000+this->GetAC())/1000+.5;
double calc2=(damage2/calc1);
damage=damage-(sint32)calc2;
}

doesn't work. If you replace the 1000 with 310 (which seem to be the "internal" AC value), you'll get a .5 reduction worth of damage.

Sorry if I ramble and this is a known issue, just wanted to give you a heads up about it =)

a_Guest03 04-23-2003 05:26 PM

I don't know if you're trying to tell me that the eqemu code is broken or if you're giving me new information. :P I'm tired.

monkboy 04-23-2003 05:54 PM

Frankly, I don't know that either =) The code I mentioned has been around for a while I think, and has been commented out in attack.cpp. So maybe somebody is aware of the different AC numbers server- and client side, or they just commented it because they it didn't work with their current numbers (1000 AC while the server reports 310.. which is the server AC for 1000 AC client side I beleive).

And yes, I'm quite sleepy too, and I'm not 100% aware of what I'm typing =)

vetoeq 04-23-2003 06:13 PM

I'm taking a stab in the dark here, but was your is your nekkid AC 1066-310=756? That would make the 310 your armor AC and 756 your base AC.

monkboy 04-23-2003 09:50 PM

Nope.. my naked monks AC value is 832.. #showstat AC = 0. If I recall correctly, you need to have AC > 100 to make #showstat show > 20 AC. :?: I'm confused =)

EDIT: Iksar monk BTW, so the innate AC bonus (if implemented) applies =)

a_Guest03 04-24-2003 05:09 AM

I don't think a lot of AC functionality is in there, monkboy. I've scoured the code from time to time to figure out what theories devs have had in the past. I think a lot of time, there is something close, but it doesn't follow the standard. I wouldn't trust the numbers you get on emu for AC to be similar to eqlive.

vetoeq 04-25-2003 06:07 AM

Monk AC/lvl/AGI:

Quote:

Iksar Monk
level 49
agility 100
AC 749
Defense: 230

note, 6 more agility raised my AC by 1 point
Quote:

Level 57
Race troll
Class beastlord
AC 659
AGI 88
Defense skill 235

Quote:

Level 65
Race: Human
Class Monk
AC 791
Agi 100
Def Skill: 252
Quote:

Level = 65
Race = Iksar
Class = Monk
AC = 834
most of it is avoidance not mitigation why monks AC is inflated. think 100Ac of it is avoidance. plus i get a extra 42ac from being iksar.

AGI = 100
Defense skill = 252

--
VetoEQ

a_Guest03 04-25-2003 06:09 AM

I need:
Race/Class/LVL/AGI/defense/naked AC

Also get me block skill, dodge skill, any other avoidance skills.

The character MUST be naked and unbuffed.

What this allows me to calculate: table values

Why do I need table values? I want to verify the level/AGI table ratings for common types, and for at least 5 special conditions:

iksar (non-monk)
monk (non-iksar)
iksar monk
Vah Shir
Beastlord

These table values are integral to being able to solve for AC in the emulator. I need values for all iksars and monks and iksar monks level 7-65. I need Vah Shir values for 1-65. I need Beastlord values 1-65. Get me this information, and I can solve the T values. Currently, I think monks get a flat bonus to T value, and iksars get a flat bonus, and iksar monks get the SUM of the two bonuses to their T values. If I could figure out the individual bonuses, and the combined ones, I can solve for most AC ratings for any race/class/level/etc.

vetoeq 04-25-2003 06:45 AM

I believe those values above are nekkid.

--
VetoEQ

a_Guest03 04-25-2003 06:48 AM

Give me race and defense skill, then.

vetoeq 04-25-2003 07:00 AM

Woops, that is a 49th level iksar monk, I'll have to compute the defense skill...I didn't ask for it in my original query. I've changed the query for the future responses.

UPDATE: The defense was 230 with those stats above.

--
VetoEQ

a_Guest03 04-25-2003 07:24 AM

Thank you! :)

Slayer02 04-25-2003 09:08 AM

I am getting an EQLive account again soon so I will probably start a Vah Shir beastlord and get him to 30, I will record all that stuff for 1 - 30. I can't get it any time soon though.

killspree 04-25-2003 10:15 AM

749 ac naked at level 49 seems a bit high...even for an iksar monk.

vetoeq 04-25-2003 10:26 AM

It does seem a bit high, we'll see as more replies come in. Another one has been added.

a_Guest03 04-25-2003 03:46 PM

killspree, that seems to be the going rate for AC for iksar monks > 40.

vetoeq 04-26-2003 08:04 AM

GN, I have updated the data above as more has come in. It's in the original post above.

--
VetoEQ

a_Guest03 04-26-2003 11:54 AM

See if you can find out the race of the unknown monk - I know you think he's iksar, but I'm curious if he is or not.

Shokazullu 04-27-2003 02:26 AM

28 Iksar Beastlord on EQlive
 
Hope this helps.

28 iksar beastlord

Block: 106
Defense: 139
Dodge: 125
Duel Wield: 97
h2h: 128
Offense: 140
--------------------

Strength 80
Stamina 95
Agility 95

--------------------

Naked HP 668
Naked AC 440
Naked Attk 545

Shokazullu

Shokazullu 04-27-2003 02:39 AM

65 Barbarian Warrior
 
65 Barbarian Warrior with a couple aa's that modify his HP.
Has ND2 and Planer Durability 1.


Defense 252
Dodge 190
Double Attack 245
Duel Wield 245
h2h 32
Kick 210
Offense 252
Parry 230
Reposte 225

------------------------

Strengeth 130
Stamina 110
Agility 100

------------------------

HP 2875
AC 681
attk 482

Hope these help ya

Shokazullu

haloboycs 04-27-2003 05:51 AM

29 Ogre Warrior
Deity Rallos Zek (i dunno if deity is for anything)

972 HP
401 AC
268 ATK (Hand to Hand is 1)

145 STR
135 STA
85 AGI
77 DEX

145 Defense
140 Dodge
145 Offense
145 Parry

Additional info, wearing 5 ac gear made AC jump from 401 to 408

haloboycs 04-27-2003 05:58 AM

14 Human Necromancer
Deity Bertoxx

223 HP
139 AC
52 ATK (Hand to Hand 0 - zero)

75 STR
90 STA
75 AGI
85 DEX

42 Defense
31 Offense

haloboycs 04-27-2003 06:09 AM

2 char above is my alt server, and now to my main server.

55 Gnome Necromancer
Diety Bertoxx

823 HP
438 AC
166 ATK (Hand to Hand is 4)

62 STR
72 STA
87 AGI
102 DEX

145 Defense
75 Dodge
109 Offense

haloboycs 04-27-2003 06:22 AM

65 Ogre Shaman
Deity Rallos Zek

1453 HP
498 AC
331 ATK (Hand to Hand is 2)

Innate STA 5
ND1

130 STR
137 STA (this colored green because of Innate STA 5)
70 AGI
70 DEX

200 Defense
75 Dodge
200 Offense



so tired... will enter 30th wood elf ranger, 28th ogre bst, 25th human warrior later if i feel like it.

vetoeq 04-27-2003 07:27 AM

The 791AC monk is human...looks like you suspected that GN.

--
VetoEQ

a_Guest03 04-27-2003 04:19 PM

Thanks for the numbers - keep them coming!

haloboycs 04-28-2003 03:34 AM

when i arrive home from school, i'll try to get some time to enter rng, bst, war, and ask some people from my guild to give me naked stats info, if ya like...?

a_Guest03 04-28-2003 06:19 AM

Of course I like! Something that may be better for finding results of growth in levels/stats, would be to twink a character through levels 1-50, recording certain stats along the way. Does anyone have the ability to do this?

kathgar 04-28-2003 06:34 AM

Try to talk some of those people on ebay that powerlevel chars to do it? Just a thought.. since they would easily be able to get a lot of data..


All times are GMT -4. The time now is 08:52 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.