![]() |
#1
|
|||
|
![]() Fun fact, older clients tell us how AC actually works! So with that, here is how AC works in an Oct 2001 era exe. I will refer to the dev post in the "AC vs ACv2" thread I'm sure many people who care about this topic already know about (https://forums.daybreakgames.com/eq/.../#post-3078126) since many things are still the same.
First some quick questions to answer. Should P99 have an AC softcap? No, not yet. This must of been added in November, but I can't verify that (I do however know what it is thanks to a luclin exe) Should shields give extra benefit? Nope. That was very late luclin, basically PoP for all that matters. First we sum up the AC on items. Then if we're not a WIZ, ENC, MAG, or NEC we set this number to 4 * sum / 3. Next if we're a client, we check if the sum is greater than 6 * Level + 25. If it is, we cap our item AC to the same number. The next steps are the same (minus more levels added for monks) Those steps being Monk bonus, rogue bonus, beastlord bonus (yep, they're in every velious exe I've checked), iksar bonus, the defense skill bonus based on class, the AGI bonus, and the class based spell AC bonus have all not changed. Next step is the change, where the hardcap comes into play. Which only applies to client. The default hardcap is 350 for all classes, then if you're greater than 50 (so 51+) some classes have a new, higher cap. Those being WAR: 430 PAL, SHD, BRD: 403 RNG, ROG, MNK, BST: 375 Then since this is a hardcap, if we're above the hardcap, return the hardcap. If I can get a hold of older velious clients, I can verify when softcaps were added, but dev quotes do tell us it's a velious change, so it must happen in November. The way that works is exactly the same as above, just hardcap is now a softcap, for some classes. So if we're below the softcap, we will then return the sum. Then if we're a WAR, PAL, RNG, SHD, MNK, BRD, ROG, or BST we will take the difference between our sum and softcap divided by 12 and add that to the softcap and return that number. Then in every other case we will return the softcap. So in code form: Code:
if sum < softcap then return sum if IsMeleeClass() then return (sum - softcap) / 12 + softcap return softcap | ||
|
|
|