Well, that specific string wouldn't work for non-weapons (e.g. "Requires a shield weapon"). I think the the solution may involve mapping formatted strings to the internal flag values (we do this with resistances like "Fire Resistance").