Broaden Item_type::uses_charges() to be in ALL Item_type classes.  Use it in Item::get_name_full() to decide whether to display charges.