Here's how the stat bonus calculation currently works: For a given stat, let's say intelligence, you may have any number of bonus values in play. However, none of these are used directly, rather a final stat bonus calculated using all of the bonuses in play in aggregate, is what is used.
The problem is that the aggregation algorithm is both buggy and makes little sense. Let's say at the start of the aggregation algorithm, the initial aggregate bonus value is 0.
For each in play bonus, the following occurs. If the current aggregate bonus value is less than 0, then the current in play bonus is added to it. Otherwise the current aggregate bonus value is the maximum of itself, and the current in play bonus. The process is repeated until there are no more in play bonuses for the given stat. After this point, the final aggregate bonus value is what is used.
So, let's say you have 50 bonuses of -8 and 1 bonus of 4. If a -8 is first, then the stat value will be -396. If a 4 is first, then the stat value is 4.
Staying more sane, let's say you have a two -3 bonuses. The result will be -6. And similarly, let's say you have two 3 bonuses. The result will be 3.
Should stat bonuses stack (as the negative stat bonuses imply)? Or should the best stack bonus be chosen and used in place of any of the others (as the positive stat bonuses imply)?