PDA

View Full Version : AC Explained


takatok
10-26-2009, 09:48 AM
Some quick things to note

The following is based upon current SVN of EQEMU code.
Its not meant to be a primer on how AC/mitigation was calculated in live


Differences between Live and EMU
The Interval AC system used on live most closely resembled a bell curve. That curve's top would vary between interval 1 (min hit) and 20 (max hit) based on your AC vs their Attack. The EQEMU system is more like a square button. Here is a bad representation of it, showing your the base chances based when AC exactly equals opponent's attack.




48%
|--------------------|
| | 46%
6% | |-------------
-------|


Min hit Interval 2-19 Max hit




There is 6% min hit chance, 46% max hit chance. and the other 48% is evenly spread between intervals 2-18. Since you don't have a bubble to move like on live, what happens is: As your AC rises percentages are taken off the max hit chance. and 1/3 of it is added to the min hit and the other 2/3 are added to I2-I19. For Example: If you have enough AC to reduce the max hit by 3%.. Then your min hit chance is 7% (+1), and the I2-I19 chance is 50% (+2), and max hit chance is 43% (-3). This system works in reverse as well. You can such bad AC that max hit goes UP by 3%. Taking 2% away from middle and 1% away from min hit. While this isn't quite the same as live (You won't ever see a peak of mostly I13/ I14 ), it is a fair approximation.

Nitty Gritty Numbers
The EQEMU system uses a sliding scale to figure out how much AC you need to push the numbers above around. The base figure is calculated by the following formula.


For levels 1-19 add 15 (total of 285 at 19)
For levels 20-49 add 30 (total of 1185 at 49)
For level 50 add 60 (total of 1245 at 50)

Lets call this number your ACScale.

Its important to remember the ACScale has nothing to do with your AC, mob's attack or how much AC you should have. It is simply a number to help make a sliding scale to balance low level and high level AC into one system.

Ok take your ACSCale above and divide it by 39 (for a less messy approximation you can use 40 and be pretty close) This is how much AC you need to decrease your max hit chance by 1% and add 1/3% to min hit and 2/3% to I2-I19.

Here is some concrete examples.

Bob is lvl 30 has an ACScale of 615. 615/39 = 15.77. So for every 15.77 AC bob gets, his chance for getting hit for MAX is reduced by 1%. The reverse of this is for every 15.77 attack the monster has increases his chance of getting hit for MAX by 1%. Remember the base chance when attack and AC are even is 46% for a MAX hit.

Sue is lvl 40 and her ACSCale is 915 (19*15 + 21*30 = 915).
915/39 = 23.46. So Sue needs 23.46 AC to decrease her chance of getting hit for max by 1%.

Note all these AC numbers are relative to a mobs attack. So in the case of Sue if she was exactly even with a mob's attack her chance of getting hit for MAX is 44% Suppose she then fights a mob a few levels lower whose attack is 100 less than the first mob. She now beats the mob's attack by 100 AC. This translates into 100/23.46 = 4.26% LESS chance of being hit for max.

The Long and the Short of it
Basically AC does work and it does work similiar (if not exactly) the same as live. However, like many things with EQEMU.. a lot of stress testing was done at higher levels while levels 1-40 have much less testing done, since no server has people spending such long times at these levels. Here is one example of why you might not notice AC working even though it is:


A LVL 40 warrior will have a base AC based on defense skill and level that has nothing to do his armor(his naked AC). To compare a 40 warrior in bronze vs cloth we just need to know the difference between bronze and cloth. Lets assume his Naked AC is 550.

Raw Silk armor (13 pieces) = 37 raw ac x 1.55 (warrior ac bonus) = 35.45 AC. Total AC = 585.45

Bronze armor (13 pieces) = 114 raw ac x1.55 = 176.7. Total AC = 726.7

Ok Lets assume he fights a mob whose attack exactly evens out his AC in all silk armor. ACScale of a Level 40 is 915. SO 915/39 = 23.46. The differnce is 726.7- 585.45 = 141.25. 141.25/23.46 = ~6% (6.02).

Silk Armor Warrior

Min Hit = 6%
Max Hit = 46%
Middle Interval = 48%


Bronze Armor Warrior

Min Hit = 8%
Max Hit = 40%
Middle Interval = 52%


So you can see the bronze warrior is getting hit for less. It just might not be extremely noticeable without some large parsing to detect the pattern.

Bapo 29 Magician

Danth
10-26-2009, 10:15 AM
Every single tank type I've talked to--without exception so far--agrees that tanks are taking more damage than they did on Live in equivalent gear fighting equivalent mobs. If AC is working correctly on this EMU, perhaps mob ATK values and stats might be the problem (which is my own hunch). This observation (and widespread agreement amongst tank players) in no way contradicts your own post, but rather may help in identifying the specific culprit(s).

Danth

Khaleel
10-26-2009, 10:18 AM
Danth: I think his point is that AC/ATK comparisons aren't like they were on live; the distribution of 2-19 is flat rather than like a bell curve. My hunch is that the AC/ATK comparison isn't where things are borked but rather the dodge/parry/block/riposte calcs are not working properly. Avoidance has just as much bearing on damage taken as mitigation does.

Danth
10-26-2009, 10:21 AM
That's possible as well. It may well be a combination of factors and not a single cause.

Danth

Bishop
10-26-2009, 11:58 AM
http://www.projecteq.net/phpBB2/viewtopic.php?t=6523&postdays=0&postorder=asc&highlight=mob+accuracy&start=0

On the last page you can read they..kinda forgot to change it back.

I remember these *fixes* on PEQ ...level 65 400+aa guys with VT/VP/Elemental gear were pulling 40+ light blue lvl 50 something spiders from velks (velious era mobs)and killing them. So in true EMU fashion they over compensated and made it so with velious gear and +/- 4 levels of said spiders you'd get pwned so bad. They really messed up tuning a server/zones based on characters that shouldn't even exist in said zones (no such thing as 10k hp 2k ac warrior in Velious). Keep in mind some GoD aa's do work.

With out a doubt AC/Dodge/Block numbers and %'s are too low. Also mob Atk/Acurracy/Max-Min hit % are off aswell.

Also on another thought are manastones going to be limited to old world only? Last progression server I played on and they weren't and it totally trivialized bosses in Kunark and Velious which is disheartening. Also with the NPC/PC DPS numbers like they are melees are allready facing an uphill battle last thing they need it to compete with unlimited mana Healers/Casters.

sever
10-26-2009, 01:15 PM
I've noticed it since the low 30s, whereby large AC upgrades have not reduced my incoming damage. The only difference I've noticed in the last 15 or so levels is that I have more hp, and I resist lower level mob spells a lot more. The physical damage intake remains the same from light blue mobs on up, so I believe the above posters.

Villert
10-26-2009, 01:28 PM
I was killing black bears for some HQ skins to do tailoring with. I was level 24 at the time - after 3 black bears (level 4 or something?) I had to rest to get back some health, after mend post 100 skill failed. Like the above posters, I'm definitely taking more damage than I should be.

Pulling in Sol A. last night, blue cons would nearly have me dead before I got back to the group - at one time I think I got hit something like 28 straight times without a miss. When I did make it back to the group - I wasn't allowed to hit the monster, because tanks take too much damage, and it's not worth the mana to heal while pets can do 5x the damage, and have extremely fast out of combat regen...

I honestly, honestly don't see how there will be any melee players making it to high levels, unless being power leveled or hitching along with 5 mages. I'm pretty much burnt out, and at only level 26. If it's simply a matter of scaling, and at high levels things will balance out (with better gear as well?), then that's just dumb - EQ was always about the journey, not about the raiding...

Dolalin
10-26-2009, 01:40 PM
Okay, but why is it done this way? What was the justification for replacing a smooth gaussian function with a piecewise step-function?

Have none of the EQEmu coders taken calculus?

Why not fix it to be more like live, instead of just goofing around and tweaking values on what is essentially a broken model?

girth
10-26-2009, 03:44 PM
I definitely think its avoidance. My blocks and dodges are so rare, I have to do a Find function in my combat logs just to actually see 1 here and there every hour or so.

That said, this AC/ATK is probably hurting as well. I may just start playing my druid full time until they do something about this.

Smashed
10-26-2009, 05:16 PM
Without even going into how AC works, the avoidance and evasion percentages are totally off. Too few dodge/riposte/parry, and just too few plain misses. IMO this is the bigger problem *and* more easily fixed.

sever
10-26-2009, 10:48 PM
If it's simply a matter of scaling, and at high levels things will balance out (with better gear as well?), then that's just dumb

It isn't as of yet, atleast not in the mid 40s with some of the best AC gear attainable and no more defense skill ups in classic. The AC on the planar gear isn't that much higher than Rubi. I'm guessing there's either a loop whole in the defunct coding or there's some 'magic number' we need to hit.

Swank
10-26-2009, 11:04 PM
It's definately an evasion problem over an ac problem. Counted my hit/ avoided stats for a ten fight segment (versus all blue cons) and they hit just under 93% of the time.

At this point I'm to frustrated to keep at my melee and I'm just going to do what it seems like evryone else is doing and roll a caster.

takatok
10-27-2009, 12:04 AM
I guess I should have put these 2 notes in the post above:

1. I was neither for or against the current model
2. I was not trying to say it was accurately modeling live. Just trying to get close.
3. I can post how dodge/parry/rip work in another post, which i'll do later. I think those are actually working correctly and probably nearly live like.

I was merely trying to show AC did do something, partially live like and was trying to get people to test their results vs that to see what they saw matched what the code said, not whether it was an appropriate amount of dmg mitigation :)

I personally feel that the above model is going to give wonky results. The main failure with the above code revolves around a the max hit, and to a lesser degree the fact that I2-I19 are flat rather than curved. The current code is fairly accurate when AC nearly equals attack. But as you vary from this in either direction, the code's differnce between live grows dramatically.

In live when you got sufficient AC over a mob you would need it would be nearly 50% min hits with the rest spreading down from there. At really low ACs vs high attack mobs you'd get 90+ max hits, and the rest spread mostly between 16-19. Check steel warrior boards for numerous parses and tests done over the years.

Our problem is the cod requires far too much AC to lower the max hit, as well as giving to little to the min hit. For example at lvl 40 if you were to beat a mob's attack by 450 ac (which probalby means your attacking some lvl 20 mob). You would still have the following chances:

Min hit: 12.3
I2-I19: 60
Max hit 27

Those are ridiculous out of whack numbers for Min/Max hits for beating a mob by that much AC. To be honest, I am not sure tweaking the ACScale formula can bring things back in line, I'd have to get some hard numbers on attacks for various mobs at differnt levels to run some accurate test and see if tweaking those can work. Though rewriting the code might just be the best answer in the long run.

To summarize: I think if you go fight nagafen the current code is going to give a a pretty live like feel as your AC is not too far ou of whack from his attack at 50. However, when you run around in lower guk your gonna get beat on a lot more than you should.

Bapo 29 Magician

P.S. As a side note, pets do NOT tank better than players. They do however have a hugely better internal regen and at lowever levels (pre 30) the mage pet only heal is probably more effecent than anything but greater healing. I can tell you when my fire pet runs up against a yellow con, I don't have time to nuke it.. I am chain casting heal :)

koros
07-09-2013, 02:30 AM
Accidentally hit last on the page count. This had probably been tweaked, but if not, it's good discussion.

Swish
07-09-2013, 07:04 AM
Did anyone else click hoping for "the" definitive guide on how to get the South Ro AC to spawn? :D

Great thread though, not played a tank in forever but I'd get something added to the wiki on it :)

webrunner5
07-09-2013, 07:48 AM
P.S. As a side note, pets do NOT tank better than players. They do however have a hugely better internal regen and at lowever levels (pre 30) the mage pet only heal is probably more effecent than anything but greater healing. I can tell you when my fire pet runs up against a yellow con, I don't have time to nuke it.. I am chain casting heal :)

I would not agree with the "pets don't tank better" statement. I have been in plenty of high end groups where a Mage with pet had taken on a add by themselves and killed the add faster than the rest of the whole group did with the first mob. I know we are talking the Mage helping out with nukes and maybe a Clicky, but Mage pets are kick ass as hell.

And a Fire pet is by far the weaker of the 4 pets. I was in a group on my other lower mage in MM. Level 24 a few days ago. I ony had the level 20 Air pet not the 24, the pet I prefer to use in groups, and the group was all casters. So the pet tanked, Druid pulled. We were klling mobs in pond area and Valley left and right. Fast as hell. Couple people left and a Sk and a Warrior came in the group and our kill rate went to shit. I believe Mage Pets do Tank better. Just my experience.

And if they don't fix the "AC, Dodge, Evade, Parry, etc." before Velious comes out melee's are going to die left and right. Because Velious mobs hit hard as hell and have a shitpot more HP.

runlvlzero
07-09-2013, 08:29 AM
Main emu branch needs to fix its code or P99 needs to fork completely. And take parses from alkabor or 2000-2003 era to make its own functions. Stuff is still definitely way off. That being said, warriors mitigate better then hybrids. And monks still have heavily spikey mitigation enough to notice that homage has been payed.

webrunner5
07-09-2013, 08:39 AM
Main emu branch needs to fix its code or P99 needs to fork completely. And take parses from alkabor or 2000-2003 era to make its own functions. Stuff is still definitely way off. That being said, warriors mitigate better then hybrids. And monks still have heavily spikey mitigation enough to notice that homage has been payed.

Yeah, I do agree with your statements. Warriors and Monks do seem to be in line. :cool:

Zuut
07-09-2013, 08:17 PM
Okay, but why is it done this way? What was the justification for replacing a smooth gaussian function with a piecewise step-function?


Super glad to see someone use the term Gaussian function on here.


Math Boner (http://answers.yahoo.com/question/index?qid=20100407193844AAfqJgh)