int game::inv_for_equipped( const std::string &title ) { return inv_for_filter( title, [ this ]( const item & it ) { return u.is_worn( it ); }, _( "You don't wear anything." ) ); }
int game::inv_for_unequipped( const std::string &title ) { return inv_for_filter( title, [ this ]( const item & it ) { return it.is_armor() && !u.is_worn( it ); }, _( "You don't have any items to wear." ) ); }
int game::inv_for_tools_powered_by( const ammotype &battery_id, const std::string &title ) { return inv_for_filter( title, [ &battery_id ]( const item & it ) { return it.is_tool() && it.ammo_type() == battery_id; }, string_format( _( "You don't have %s-powered tools." ), ammo_name( battery_id ).c_str() ) ); }
int game::inv_for_id( const itype_id &id, const std::string &title ) { return inv_for_filter( title, [ &id ]( const item & it ) { return it.typeId() == id; }, string_format( _( "You don't have a %s." ), item::nname( id ).c_str() ) ); }
int game::inv_for_flag( const std::string &flag, const std::string &title ) { return inv_for_filter( title, [ &flag ]( const item & it ) { return it.has_flag( flag ); } ); }
int game::inv_for_activatables( const player &p, const std::string &title ) { return inv_for_filter( title, [ &p ]( const item & it ) { return p.rate_action_use( it ) != HINT_CANT; }, _( "You don't have any items you can use." ) ); }
int game::inv_for_all( const std::string &title, const std::string &none_message ) { const std::string msg = ( none_message.empty() ) ? _( "Your inventory is empty." ) : none_message; return inv_for_filter( title, allow_all_items, msg ); }