use ToLowerInvariant for all weapon rules