After much analysis and work, change how GB2 deals with equally weighted categories. Its now specific in the sense that equally weighted categories are handled with different code than the rest. Since equally weighted categories are a true average, that's what we do:
Take the sum of the percent scores for each non EC item in the category and divide that sum by the total number of non EC/Non Excused items.
We handle extra credit separately and depending on the situation.
Situation 1 - Normal Category with EC item
Handle the non EC items normally, and while looping thru the items, for an extra credit item, we calculate its score by taking the percent earned times the weight and adding that to a separate list. After we're done looping, we add the EC score to the non EC score for the total.
Situation 2 - EC Category with Scaled EC.
The score is handled the same as the normal case. We sum the graded items earned percentage and divide by the total number of graded items.
Situation 3 - EC Category without Scaled EC.
We sum the graded items earned percentage and divide by the total # of items (including non graded items.)
Non Equally weighted categories are handled exactly like they were before.
The old code didn't handle EC scaling with a non EC category, so I don't as well. Since it didn't handle this, I am not sure what to do, or if it even makes sense in that context.