The problem was with the fact that, no matter what weapon I was wielding.
	Code:
	if (Weapon->ItemClass == ItemClassCommon)
      return BasicBonus;
 Was always returning true, and never allowing anything but BasicBonus to be returned. Adding it as you stated should solve that problem. Thank you.