![]() |
|
#21
|
||||
|
Quote:
| |||
|
#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. | |||
|
#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:
| |||
|
#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. | ||
![]() |
|
|