#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 well-known 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 mid-Velious, 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; 11-06-2024 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 | |
|
|