This is part of the useintervalac code with monk weight by level added in. Instead of the static 15 stones that it currently is.
Starting at line 633 of the attack.cpp
Code:
if(IsClient())
{
armor = CastToClient()->GetRawACNoShield(shield_ac);
weight = (CastToClient()->CalcCurrentWeight() / 10.0);
}
else if(IsNPC())
{
armor = spellbonuses.AC + itembonuses.AC + (CastToNPC()->GetRawAC() / RuleR(Combat, NPCACFactor)) + 1;
}
if(GetClass() == WIZARD || GetClass() == MAGICIAN || GetClass() == NECROMANCER || GetClass() == ENCHANTER)
{
softcap = RuleI(Combat, ClothACSoftcap);
}
else if(GetClass() == MONK && GetLevel() >=60 && weight <= 24.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == MONK && GetLevel() <=59 && GetLevel() >=55 && weight <=20.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == MONK && GetLevel() <=54 && GetLevel() >=51 && weight <=18.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == MONK && GetLevel() <=50 && GetLevel() >=45 && weight <=17.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == MONK && GetLevel() <=44 && GetLevel() >=30 && weight <=16.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == MONK && GetLevel() <=29 && GetLevel() >=15 && weight <=15.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == MONK && GetLevel() <=14 && GetLevel() >=1 && weight <=14.0)
{
softcap = RuleI(Combat, MonkACSoftcap);
}
else if(GetClass() == DRUID || GetClass() == BEASTLORD || GetClass() == MONK)
{
softcap = RuleI(Combat, LeatherACSoftcap);
}
else if(GetClass() == SHAMAN || GetClass() == ROGUE || GetClass() == BERSERKER || GetClass() == RANGER)
{
softcap = RuleI(Combat, ChainACSoftcap);
}
else
{
softcap = RuleI(Combat, PlateACSoftcap);
}
softcap += shield_ac;
armor += shield_ac;
softcap += (softcap * (aa_mit * RuleR(Combat, AAMitigationACFactor)));
if(armor > softcap)
{
int softcap_armor = armor - softcap;
if(GetClass() == WARRIOR)
{
softcap_armor = softcap_armor * RuleR(Combat, WarriorACSoftcapReturn);
}
else if(GetClass() == SHADOWKNIGHT || GetClass() == PALADIN)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() >=60 && weight <= 24.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() <=59 && GetLevel() >=55 && weight <=20.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() <=54 && GetLevel() >=51 && weight <=18.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() <=50 && GetLevel() >=45 && weight <=17.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() <=44 && GetLevel() >=30 && weight <=16.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() <=29 && GetLevel() >=15 && weight <=15.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == MONK && GetLevel() <=14 && GetLevel() >=1 && weight <=14.0)
{
softcap_armor = softcap_armor * RuleR(Combat, KnightACSoftcapReturn);
}
else if(GetClass() == CLERIC || GetClass() == BARD || GetClass() == BERSERKER || GetClass() == ROGUE || GetClass() == SHAMAN || GetClass() == MONK)
{
softcap_armor = softcap_armor * RuleR(Combat, LowPlateChainACSoftcapReturn);
}
else if(GetClass() == RANGER || GetClass() == BEASTLORD)
{
softcap_armor = softcap_armor * RuleR(Combat, LowChainLeatherACSoftcapReturn);
}
else if(GetClass() == WIZARD || GetClass() == MAGICIAN || GetClass() == NECROMANCER || GetClass() == ENCHANTER || GetClass() == DRUID)
{
softcap_armor = softcap_armor * RuleR(Combat, CasterACSoftcapReturn);
}
else
{
softcap_armor = softcap_armor * RuleR(Combat, MiscACSoftcapReturn);
}
armor = softcap + softcap_armor;