If anyone is wondering, here is some actual formulas (well parts)
(First one is from a dev post)
Code:
Step1 = (DefenseSkill*400) / 225
Step2 = Step1 + 'Agility Bonus'
Step3 = Step2 + 'Item Avoidance'
Step4 = Step3 * 'Drunkenness Reduction'
If Step4 < 1: 'Computed Defense' = 1
Otherwise 'Computed Defense' = Step4.
Aglity Bonus mentioned above
Code:
Step1 = (8000 * (FunctionalAgility-40)) / 36000
Step2 = (HeroicAgility / 10)
'Agility Bonus' = Step1 + Step2
Drunkenness mentioned above
Code:
Value = HowDrunk / 2
Reduction = (110 - Value)/100.0
If Reduction > 1.0: Reduction = 1.0
Step4 = truncate(Step3*Reduction)
Now this is just the avoidance AC that gets mixed in with mitigation AC for display.
This is missing some SPA effects, which is what I've been trying to parse out. The biggest for this number would be SPA 172 (Evasion) which is the SPA used in Evasive Discipline and Combat Agility AA. I believe this works exactly the same as SPA 215 (Pet Avoidance) which is used in Elemental Agility AA.
My best guess is that the number calculated above in increased by a percentage of total 172 and 215 if you're a pet. NPCs also most like have a single number that the devs use for tweaking things. (Or they could just tweak AGI)
This number is rolled against part of your attack to determine if its a hit or miss.
Now for the hit chance part of your attack (no dev posts I know of)
Code:
Step1 = OffenseSkill + 7
Step2 = Step1 + SkillAttackingWith // 1h slashing, etc
If Drunk / 2 > 20: Step3 = Step2 * 'Drunkenness reduction'
Else If IsBerserk: Step3 = Step2 + 2 * Level / 5
If Step3 < 1: Step3 = 1
Drunkenness reduction is the same as above. Now the hit chance has A LOT more spell effects that get a lot more confusing where to add them in.
Now a notable thing missing is item accuracy, you'd think it would be in their if item avoidance is in it's counter part. My best guess is that SPA 183 (Skill Increase Chance) modifies this number above before item accuracy and all the other hit chance increase SPAs. But that's basically where I'm at. (I do have some parses sitting to analyze SPA 183)