Can you please adjust how you write your selectors.
In a majority of cases (I think) you are putting the 'setting' check as the final condition, forcing the previous conditions to all be checked even though the setting is disabled.
i.e
should really be written as:
It might seem pedantic but it really isn't. If you profile your own code you're going to see heaps of wasted cycles (which means a slower CC) because some of these calls cause many frames to execute (such as those that require the Lua executor). Very easily avoided - if you have multiple conditions the cheapest should always go first. Not a hard refactor to do either.
In a majority of cases (I think) you are putting the 'setting' check as the final condition, forcing the previous conditions to all be checked even though the setting is disabled.
i.e
Code:
Spells.Cast("Solar Beam", ret => CT.IsCasting && CT.CastingSpell.CastTime > 1500 && CLC.ResultOK(FpswareSettings.Instance.Druid.SolarBeam)),
Code:
Spells.Cast("Solar Beam", ret => CLC.ResultOK(FpswareSettings.Instance.Druid.SolarBeam) && CT.IsCasting && CT.CastingSpell.CastTime > 1500),
It might seem pedantic but it really isn't. If you profile your own code you're going to see heaps of wasted cycles (which means a slower CC) because some of these calls cause many frames to execute (such as those that require the Lua executor). Very easily avoided - if you have multiple conditions the cheapest should always go first. Not a hard refactor to do either.