#21



Quote:
__________________
Gorgen (Blue)  Agnostic Troll Warrior of the XXXII Dung  
#22



Quote:
https://web.archive.org/web/20020625...cID=1462.topic As the changes focused on ac caps, the table predates the nerf and as i reasoned in a previous post it looks like it has been untouched since vanilla release I suggest p99 should be using a similar table for agi avoidance ac calculation.
__________________
Gorgen (Blue)  Agnostic Troll Warrior of the XXXII Dung  
#23



The long and short of it is that agility gives nowhere near enough to ever care about or give anything up for. It isn't even worth a buff slot unless there are no other useful buffs available. Aside from the wellknown breakpoint at 75 agility, the stat can be ignored entirely and the difference is invisible to the naked eye. It does almost nothing.
 
#24



Agility effects pvp making it the most important stat, I am now stacking agi because i play on a real man's server RED99
 
#25



*pretending to take notes*
That’s fascinating. Please go on.  
#26



Quote:
__________________
 
#27



Classic/Kunark/Velious Agility gave both Avoidance and Mitigation AC. Whether or not the formula on P99 adheres to that, I do not know. Here is a reference to midVelious, which still had a hard cap on Mitigation AC:
defense_agility_bonus method Code:
if GetAGI() < 40: # penalty return (25 * (GetAGI()  40)) / 40 if GetAGI() <= 60: return 0 if GetAGI() <= 74: bonus = 28  (200  GetAGI()) / 5 return 2 * bonus / 3 # so 75+ bonus = max(200  GetAGI(), 0) if GetLevel() >= 40: bonus = 80  bonus / 5 elif GetLevel() >= 20: bonus = 70  bonus / 5 elif GetLevel() >= 7: bonus = 55  bonus / 5 else: bonus = 35  bonus / 5 return 2 * bonus / 3 Code:
skill = max(GetSkill(SkillDefense), 0) bonus = 400 * skill / 225 + defense_agility_bonus() if IsClient(): drunk = float(GetIntoxication() / 2) if drunk > 20.0: redux = min((110.0  drunk) * 0.01, 1.0) bonus = int(bonus * redux) return max(bonus, 1) Code:
item_ac = 0 for slot in range(0, 21): item = GetItemPossession(slot) if item.IsValid and item.GetItemClass() == ItemClassCommon: item_ac = item_ac + item.GetItemAC() if not IsMage(): bonus = 4 * item_ac / 3 if IsClient() and bonus > 6 * GetLevel() + 25: bonus = 6 * GetLevel() + 25 weight_hardcap = 30 weight_softcap = 14 if GetLevel() > 59: weight_hardcap = 45 weight_softcap = 24 elif GetLevel() > 54: weight_hardcap = 40 weight_softcap = 20 elif GetLevel() > 50: weight_hardcap = 38 weight_softcap = 18 elif GetLevel() > 44: weight_hardcap = 36 weight_softcap = 17 elif GetLevel() > 29: weight_hardcap = 34 weight_softcap = 16 elif GetLevel() > 14: weight_hardcap = 32 weight_softcap = 15 if GetClass() == MONK: weight = GetWeight() if weight < weight_hardcap  1: weight_bonus = float(level + 5) if weight > weight_softcap: temp_mod = min(float(weight  weight_softcap) * 6.66667, 100.0) weight_bonus = max(0.0, weight_bonus * ((100.0  temp_mod) * 0.01)) bonus = bonus + int(weight_bonus * 11.0 * 0.1) if bonus < 0: bonus = 0 if GetClass() == MONK: weight = GetWeight() if weight > weight_hardcap + 1: weight_penalty = level + 5 temp_mod = min(1.0, (float(weight)  20.0) * 0.01) bonus = bonus  int(temp_mod) if GetClass() == ROGUE: agi = GetAGI() if agi > 75 and GetLevel() > 29: LevelScaler = GetLevel()  26 if agi >= 100: LevelScaler = LevelScaler * 5 elif agi >= 90: LevelScaler = LevelScaler * 4 elif agi >= 85: LevelScaler = LevelScaler * 3 elif agi >= 80: LevelScaler = LevelScaler * 2 tmp_bonus = LevelScaler / 4 bonus = bonus + min(12, tmp_bonus) if GetRace() == IKSAR: bonus = bonus + min(35, max(10, GetLevel()) if IsMage(): bonus = bonus + GetSkill(SkillDefense) / 2 else: bonus = bonus + GetSkill(SkillDefense) / 3 if GetAGI() > 70: bonus = bonus + GetAGI() / 20 if IsMage(): bonus = bonus + TotalEffect(SPA_AC) / 3 else: bonus = bonus + TotalEffect(SPA_AC) / 4 if bonus < 0: bonus = 0 if IsClient(): hardcap = 350 if GetClass() == WARRIOR and GetLevel() > 50: hardcap = 430 if (GetClass() == PALADIN or GetClass() == SHADOWKNIGHT or GetClass() == BARD) and GetLevel() > 50 hardcap = 403 if (GetClass() == RANGER or GetClass() == ROGUE or GetClass() == MONK) and GetLevel() > 50 hardcap = 375 if bonus > hardcap: bonus = hardcap return bonus  
Last edited by Jafir; 11062024 at 10:45 PM..

#28



Would be cool if there was a dev response on how AGI works on p99. really hard to confirm if any effect here.
__________________
 
#29



Quote:
__________________
Gorgen (Blue)  Agnostic Troll Warrior of the XXXII Dung  
#30



A 60 shaman can buff over 129 agility and heal a monk against a normal blue con forever.
There is nothing stopping anyone from parsing this. Aside from it being silly and painfully boring.  
Thread Tools  
Display Modes  

