I can work on some longer parses on old archaic content. The challenge is their accuracy is so low that it may take forever
Tried plugging all this into excel and actually got it to spit out the right answers. It is'nt pretty 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
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?
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.
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.
If the game has to do those computations for each hit, I think i've figured out why EQ has so much lag
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.
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.
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.
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.
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?
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.
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?
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
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.