int game::inv_activatable(std::string const &title) { u.inv.restack(&u); u.inv.sort(); indexed_invslice activatables = u.inv.slice_filter_by_activation(u); return display_slice(activatables, title); }
int game::inv_for_salvage(const std::string &title, const salvage_actor& actor ) { u.inv.restack(&u); u.inv.sort(); indexed_invslice reduced_inv = u.inv.slice_filter_by_salvageability( actor ); return display_slice(reduced_inv, title); }
// Display current inventory. int game::inv(const std::string &title, const int position) { u.inv.restack(&u); u.inv.sort(); indexed_invslice slice = u.inv.slice_filter(); return display_slice(slice, title, true, position); }
int game::inv_for_unequipped(std::string const &title, const item_filter filter) { u.inv.restack(&u); u.inv.sort(); indexed_invslice reduced_inv = u.inv.slice_filter_by(filter); return display_slice(reduced_inv, title, false); }
int game::inv_type(std::string title, item_cat inv_item_type) { u.inv.restack(&u); u.inv.sort(); indexed_invslice reduced_inv = u.inv.slice_filter_by_category(inv_item_type, u); return display_slice(reduced_inv, title); }
int game::inv_for_liquid(const item &liquid, const std::string &title, bool const auto_choose_single) { u.inv.restack(&u); u.inv.sort(); indexed_invslice reduced_inv = u.inv.slice_filter_by_capacity_for_liquid(liquid); if (auto_choose_single && reduced_inv.size() == 1) { std::list<item> *cont_stack = reduced_inv[0].first; if (! cont_stack->empty() ) { return reduced_inv[0].second; } } return display_slice(reduced_inv, title); }
int game::inv_for_flag(const std::string flag, const std::string title, bool auto_choose_single) { u.inv.restack(&u); u.inv.sort(); indexed_invslice reduced_inv = u.inv.slice_filter_by_flag(flag); if (auto_choose_single && reduced_inv.size() == 1) { std::list<item> *cont_stack = reduced_inv[0].first; if (cont_stack->size() > 0) { return reduced_inv[0].second; } } return display_slice(reduced_inv, title); }