AC vs ACv2?

Discussion in 'The Veterans' Lounge' started by Sirene_Fippy, Apr 16, 2014.

  1. Daegun Augur

    I can work on some longer parses on old archaic content. The challenge is their accuracy is so low that it may take forever :)
  2. Angahran Augur

    Tried plugging all this into excel and actually got it to spit out the right answers.
    It is'nt pretty :p


    Step1 = (DefenseSkill*400) / 225 693 DefenseSkill 390
    Step2 = Step1 + 'Agility Bonus' 1010
    Step3 = Step2 + 'Item Avoidance' 1110
    Step4 = Step3 * 'Drunkenness Reduction' 1110

    Step1 = (8000 * (FunctionalAgility-40)) / 36000 278
    Step2 = (HeroicAgility / 10) 39.5 HeroicAgility 395
    'Agility Bonus' = Step1 + Step2 317 FunctionalAgility 1295

    HowDrunk 0
    Reduction 1
    Computed Defense 1110

    CappedAvoidance 100
    CappedAgi 900

    Step1 = 0 (base ac) 0
    Step2 = Sum of all of the AC stat on every piece of gear you can see in you inventory (not ammo slot.) 5470 ACSum 7767
    Step3 = If equipping shield [AC stat on your shield + (HeroicSTR/10)] 381 ShieldAC 350
    HeroicSTR 310
    Step4 = FoodAC + DrinkAC 0 Food AC 0
    Drink AC 0
    Step5 = TributeItemAC + TrophyItemAC + GuildTributeItemAC + GuildTrophyItemAC 0 TributeItemAC 0
    TrophyItemAC 0
    GuildTributeItemAC 0
    GuildTrophyItemAC 0
    Step6 = Step1+Step2+Step4+Step5 5470
    Step7 = (Step6 * 4) /3 7293

    Step8 (server) = if PlayerLevel < 50 and Step7 > (25 + (6*PlayerLevel)): = (25 + (6*PlayerLevel))
    Step8 (server) = Otherwise: = Step7 7293 Not a twink PlayerLevel 100
    Step8 (player) = Step7 7293

    Class Shadowknight
    MonkHardCap 58
    MonkSoftCap 35

    Weight 2
    Reduction 1
    ACBonus 140
    Penalty -64.4
    Result 140

    LevelScaler 74
    Missing Agility<75 limit? ACBonus 12

    LevelScaler 94
    ACBonus 12

    Race Dark Elf
    Step9 = Step8 + RaceClassBonus 7293 ACBonus 35

    Step10 (Server) = Step9 + NPCBaseAC 7293 NPCBaseAC
    Step11 (Server) = Step10 + OwnersPetACAAs 7293 OwnersPetACAAs (SPA397)

    Step12 = If Silk: DefenseSkill / 2
    Step12 = Otherwise: DefenseSkill / 3 130 ArmorType Plate
    SPA3Buffs
    Step13 = If Silk: (SPA3Buffs + SPA416Buffs) / 3
    Step13 = Otherwise: (SPA3Buffs + SPA416Buffs) / 4 0 SPA416Buffs

    Step14 = If brd,clr,mnk,rng: AOWTotal / 4
    Step14 = If pal,shd: AOWTotal / 4
    Step14 = If bst,ber,rog,shm: AOWTotal / 4
    Step14 = If war: AOWTotal / 4
    Step14 = If dru,enc,mag,nec,wiz: AOWTotal / 3 155 AOWTotal 620
    Step15 = If Silk: HerosFortTotal / 3
    Step15 = Otherwise: HerosFortTotal / 4 125 HerosFortTotal 500
    Step16 = Step11 + Step12 + Step13 + Step14 + Step15 7703

    Step17 = If FunctionalAgility > 70: = (FunctionalAgility / 20) 64
    Step 18 = Step16 + Step17
    If Step18 < 0: = 0 7767

    DisplayedAC 7767

    ACCap 488
    Step19 (Server) = (ACCap * SPA259Total) / 100 400 SPA259Total 82
    Step20 (Server) = ACCap + Step19 888
    Step21 (Server) = Step3 + Step20 1269
    Step22 (Server) = Step18 - Step21 6498
    Step23 (Server) = Step21 + (Step22 * ClassMultiplier) 3413 ClassMultiplier 0.33
    Step24 (Server) = Truncate(Step23) 3413

    If Step18 > Step21: MitigationAC = Step24 (Server)
    Otherwise MitigationAC = Step18 3413

    MitigationAC 3413
  3. Pwnography Augur

    My apologies for reviving a dead thread (albeit invaluable), however would any developer be willing to share the updated values for Armor of Wisdom?

    It wasn't stated whether or not it scales in a linear fashion, and with new ranks for all classes, my database that calculates values is somewhat broken. Could we, perhaps, get an idea as to how Armor of Wisdom works as it scales via ranks - or, simply the new values for max rank to keep the data good for at least a year for those of us that like to play with data?
  4. Atvar Augur

    I just started to look at this and tried to figure out the numbers. By increasing armor of wisdom from 840 to 960 I managed to get the correct unbuffed ac for a silk caster. You should be able to do the same for any class I believe.

    What I'm interested in are the updated level 105 numbers for ac softcap and the mitigation calculations we cannot see.

    PS also why the heck are those calculations so dumb? Half of them are like 400/10 instead of just saying 40.
  5. Beimeith Lord of the Game

    Why are they dumb? No one knows.

    They do stuff like 400 / 10 instead of 40 because it gives them greater control of the numbers.
  6. Atvar Augur

    A constant is a constant.
  7. Gremin Augur

    What math nerd came up with that crap....
  8. Krazzi Elder


    If the game has to do those computations for each hit, I think i've figured out why EQ has so much lag :(
    Nennius and Thraine like this.
  9. Vrinda Augur

    Ha ha! I thought of that, too, when considering the horrid server lag we've seen lately. It's more probable the calculations are made whenever a specific event occurs (you change an armor item, aug, stat food, tribute, drink alcohol, swap a bandolier set, etc.) and the server then stores the information for use until another such event takes place.

    On the other hand, this is EQ. Just because storing the data and using it until a specific event takes place to force a recalculation would make good sense, that doesn't mean it's what EQ is doing.
  10. roth Augur

    Holy necropost, Batman!

    Actually, these combat formulas have existed since EQ was first developed. Added on to, obviously - Heroics alone tell anyone that much! But in essence, they've been here "forever".

    So, if you are getting a lot of lag, blame something else. Like ... that file that holds every pet and gear look. Years back, they did not want to expand this file (mages were asking for more Monster Summoning pets, I believe) for fear of how increasing it would affect the performance of the game on various PC's. Since then, that file has simply exploded in size. I'd love to say that it was a natural, slow increase, but the way that my character looks the same without Hero's Forge gear on regardless of what armor I wear indicates that is simply not as big a reason as it could be. Weapons and mobs are the only natural increases this file has seen.

    I firmly believe that Hero's Forge, and the Marketplace stuff, has done the bulk of the work.

    Yay, the thing that is keeping teh game afloat is lagging it out.
  11. Dre. Altoholic

    A dozen or two nerds over three decades, so no surprise it's a mountain of spaghetti.

    The important thing to note is that integer computations will round off the "change" to the right of the decimal point at each step. So in order to preserve the functional math intended, sometimes you need to use big numbers.

    On top of that, it's the typical adjustments to various things to produce combat in the way they want. Lots of tweaks over three decades.
  12. ZenMaster formless, shapeless

    Do Shield AC calculations or rules apply to caster shields?

    Would caster 2hb weapon AC count as Shield AC?

    I am figuring out the pros/cons of running 1h/Shield vs. 2handed on my necro. Considering necro epic 2.0 among other variables.

    Sorry for the necropost but this puts discussion into context.
  13. roth Augur

    1 : You should be using your 2.5 (2.0 if no access to 2.5 page). That being a 1h, means you should be using a 1h and a shield.

    2 : The Shield AC calculations are not class specific. They apply to everyone.

    3 : This thread has been necro’d once already, did it really need another necro?
  14. ZenMaster formless, shapeless



    Thank you.

    My apologies for the necropost. It is one of the more substantive posts as it applies to game calculations and I don't see anything negative like an argument.
  15. Rentic Journeyman

    So what would be the ac cap for a SK lev 70, 100 avoidance - 35 Shielding and 135ac on shield? If anyone is good at mathing that up RQ?
  16. Zanarnar Augur

    It calculates most of this every melee round. (not every HIT, but every attack round)

    Personally (having no metrics available, but a decent gut feeling for these kinda things) I believe this is a major cause of the lag. Prior to 64bit there wasn't enough free memory to store the calculated values. I don't believe they have changed this; but this IS why they re-worked riposte a while ago and only made it check after everything else (esp "miss") its a more expensive check.

    Its been a few years since I spoke to anyone about this at dpg; maybe they've cleaned it up and fixed it since the 64-bit upgrade; but I'm guessing not yet (or their code metrics prove me wrong and its not taking long to calculate these numbers, even for hundreds of attackers per second (thinking of all the swarm pets and such on raids these days))

    Unrelated: this is one of my favorite threads. I love dives like this into the code behind the game ;)
  17. Kaenneth [You require Gold access to view this title]

    Optimization requires testing. If it doesn't fit in the cache, it can be faster to recalculate derived numbers in the CPU than to store them in main RAM.
  18. Tarvas Redwall of Coirnav, now Drinal

    I hate Mike Meyers....