

Github: https://github.com/bbborbo/RoR2ProcSolver
Discord: https://discord.gg/yFRx3E6Yep
Proc Solver uses a new "proc rate" parameter to control proc chains. If your proc chain item doesn't incorporate it, then it can potentially extend proc chains past when ProcSolver would have ended it. Here's how you can make it compatible:
Step 1: Add the ProcSolver DLL to your libs/references/dependencies
Step 2: Add this piece of code to somewhere in your project
public static float GetProcRate(DamageInfo damageInfo)
{
if (damageInfo.procCoefficient <= 0 || !procSolverInstalled)
return damageInfo.procCoefficient;
return _GetProcRate(damageInfo);
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
private static float _GetProcRate(DamageInfo damageInfo)
{
return ProcSolverPlugin.GetProcRateMod(damageInfo);
}
Step 3: Any time you have a proc chain item, when rolling to proc, replace Util.CheckRoll(yourProcChance * damageInfo.procCoefficient, attackerMaster) with Util.CheckRoll(yourProcChance * GetProcRate(damageInfo), attackerMaster)
This will not affect your items' proc chances if ProcSolver is not installed!
1.1.6
1.1.5: