diff --git a/src/crafting_gui.cpp b/src/crafting_gui.cpp index e48d412c3728e..8f0bc41e41d39 100644 --- a/src/crafting_gui.cpp +++ b/src/crafting_gui.cpp @@ -941,6 +941,10 @@ static recipe_subset filter_recipes( const recipe_subset &available_recipes, break; } + case 'a': + filtered_recipes = filtered_recipes.reduce( qry_filter_str.substr( 2 ), + recipe_subset::search_type::activity_level, progress_callback ); + break; default: break; } @@ -978,6 +982,7 @@ static const std::vector prefixes = { { 'P', to_translation( "Blacksmithing" ), to_translation( "proficiency used to craft" ) }, { 'l', to_translation( "5" ), to_translation( "difficulty of the recipe as a number or range" ) }, { 'r', to_translation( "buttermilk" ), to_translation( "recipe's (by)products; use * as wildcard" ) }, + { 'a', to_translation( "brisk" ), to_translation( "recipe's activity level" ) } }; static const translation filter_help_start = to_translation( diff --git a/src/recipe_dictionary.cpp b/src/recipe_dictionary.cpp index 4bb0c6cd17bfd..1c85fbab45102 100644 --- a/src/recipe_dictionary.cpp +++ b/src/recipe_dictionary.cpp @@ -11,6 +11,7 @@ #include "cata_algo.h" #include "cata_utility.h" #include "crafting_gui.h" +#include "display.h" #include "debug.h" #include "init.h" #include "item.h" @@ -276,6 +277,9 @@ std::vector recipe_subset::search( } } + case search_type::activity_level: + return lcmatch( display::activity_level_str( r->exertion_level() ), txt ); + default: return false; } diff --git a/src/recipe_dictionary.h b/src/recipe_dictionary.h index 151770e1675d8..56375fed242d0 100644 --- a/src/recipe_dictionary.h +++ b/src/recipe_dictionary.h @@ -150,6 +150,7 @@ class recipe_subset description_result, proficiency, difficulty, + activity_level }; /** Find marked favorite recipes */