separate Rank effect from GainsExperience

fixes #3957
StyleCop clean