bool hasPickupRule(std::string sRule) { for( auto &elem : vAutoPickupRules[APU_CHARACTER] ) { if( sRule.length() == elem.sRule.length() && ci_find_substr( sRule, elem.sRule ) != -1 ) { return true; } } return false; }
bool auto_pickup::has_rule(const std::string &sRule) { for( auto &elem : vRules[CHARACTER] ) { if( sRule.length() == elem.sRule.length() && ci_find_substr( sRule, elem.sRule ) != -1 ) { return true; } } return false; }
bool hasPickupRule(std::string sRule) { for (int i = 0; i < vAutoPickupRules[2].size(); i++) { if (sRule.length() == (vAutoPickupRules[2][i].sRule).length() && ci_find_substr(sRule, vAutoPickupRules[2][i].sRule) != -1) { return true; } } return false; }
void removePickupRule(std::string sRule) { for (int i = 0; i < vAutoPickupRules[2].size(); i++) { if (sRule.length() == (vAutoPickupRules[2][i].sRule).length() && ci_find_substr(sRule, vAutoPickupRules[2][i].sRule) != -1) { vAutoPickupRules[2].erase(vAutoPickupRules[2].begin() + i); merge_vector(); createPickupRules(); break; } } }
bool safemode::has_rule( const std::string &rule_in, const Creature::Attitude attitude_in ) { for( auto &elem : character_rules ) { if( rule_in.length() == elem.rule.length() && ci_find_substr( rule_in, elem.rule ) != -1 && elem.attitude == attitude_in ) { return true; } } return false; }
bool hasPickupRule(std::string sRule) { for (std::vector<cPickupRules>::iterator it = vAutoPickupRules[APU_CHARACTER].begin(); it != vAutoPickupRules[APU_CHARACTER].end(); ++it) { if (sRule.length() == it->sRule.length() && ci_find_substr(sRule, it->sRule) != -1) { return true; } } return false; }
void safemode::remove_rule( const std::string &rule_in, const Creature::Attitude attitude_in ) { for( auto it = character_rules.begin(); it != character_rules.end(); ++it ) { if( rule_in.length() == it->rule.length() && ci_find_substr( rule_in, it->rule ) != -1 && it->attitude == attitude_in ) { character_rules.erase( it ); create_rules(); break; } } }
void removePickupRule(std::string sRule) { for (std::vector<cPickupRules>::iterator it = vAutoPickupRules[APU_CHARACTER].begin(); it != vAutoPickupRules[APU_CHARACTER].end(); ++it) { if (sRule.length() == it->sRule.length() && ci_find_substr(sRule, it->sRule) != -1) { vAutoPickupRules[APU_CHARACTER].erase(it); merge_vector(); createPickupRules(); break; } } }
void auto_pickup::remove_rule(const std::string &sRule) { for (auto it = vRules[CHARACTER].begin(); it != vRules[CHARACTER].end(); ++it) { if (sRule.length() == it->sRule.length() && ci_find_substr(sRule, it->sRule) != -1) { vRules[CHARACTER].erase(it); merge_vector(); create_rules(); break; } } }
void Messages::dialog::do_filter( const std::string &filter_str ) { // Split the search string into type and text bool has_type_filter = false; game_message_type filter_type = m_neutral; std::string filter_text; const auto colon = filter_str.find( ':' ); if( colon != std::string::npos ) { has_type_filter = msg_type_from_name( filter_type, filter_str.substr( 0, colon ) ); filter_text = filter_str.substr( colon + 1 ); } else { filter_text = filter_str; } // Start filtering the log folded_filtered.clear(); for( size_t folded_ind = 0; folded_ind < folded_all.size(); ) { const size_t msg_ind = folded_all[folded_ind].first; const game_message &msg = player_messages.history( msg_ind ); const bool match = ( !has_type_filter || filter_type == msg.type ) && ci_find_substr( remove_color_tags( msg.get_with_count() ), filter_text ) >= 0; // Always advance the index, but only add to filtered list if the original message matches for( ; folded_ind < folded_all.size() && folded_all[folded_ind].first == msg_ind; ++folded_ind ) { if( match ) { folded_filtered.emplace_back( folded_ind ); } } } // Reset view if( log_from_top || max_lines > folded_filtered.size() ) { offset = 0; } else { offset = folded_filtered.size() - max_lines; } }
bool auto_pickup_match(std::string sText, std::string sPattern) { //case insenitive search /* Possible patterns * wooD wood* *wood Wood*aRrOW wood*arrow* *wood*arrow *wood*hard* *x*y*z*arrow* */ if (sText == "") { return false; } else if (sText == "*") { return true; } size_t iPos; std::vector<std::string> vPattern; sPattern = trim_rule(sPattern); split(sPattern, '*', vPattern); size_t iNum = vPattern.size(); if (iNum == 0) { //should never happen return false; } else if (iNum == 1) { // no * found if (sText.length() == vPattern[0].length() && ci_find_substr(sText, vPattern[0]) != -1) { return true; } return false; } for (int i=0; i < vPattern.size(); i++) { if (i==0 && vPattern[i] != "") { //beginning: ^vPat[i] if (sText.length() < vPattern[i].length() || ci_find_substr(sText.substr(0, vPattern[i].length()), vPattern[i]) == -1) { //debugmsg(("1: sText: " + sText + " | sPattern: ^" + vPattern[i] + " | no match").c_str()); return false; } sText = sText.substr(vPattern[i].length(), sText.length()-vPattern[i].length()); } else if (i==vPattern.size()-1 && vPattern[i] != "") { //linenend: vPat[i]$ if (sText.length() < vPattern[i].length() || ci_find_substr(sText.substr(sText.length()-vPattern[i].length(), vPattern[i].length()), vPattern[i]) == -1) { //debugmsg(("2: sText: " + sText + " | sPattern: " + vPattern[i] + "$ | no match").c_str()); return false; } } else { //inbetween: vPat[i] if (vPattern[i] != "") { if ((iPos = ci_find_substr(sText, vPattern[i])) == -1) { //debugmsg(("3: sText: " + sText + " | sPattern: " + vPattern[i] + " | no match").c_str()); return false; } sText = sText.substr(iPos+vPattern[i].length(), sText.length()-iPos); } } } return true; }
bool auto_pickup_match(std::string sText, std::string sPattern) { //case insenitive search /* Possible patterns * wooD wood* *wood Wood*aRrOW wood*arrow* *wood*arrow *wood*hard* *x*y*z*arrow* */ if (sText == "") { return false; } else if (sText == "*") { return true; } int iPos; std::vector<std::string> vPattern; sPattern = trim_rule(sPattern); split(sPattern, '*', vPattern); size_t iNum = vPattern.size(); if (iNum == 0) { //should never happen return false; } else if (iNum == 1) { // no * found if (sText.length() == vPattern[0].length() && ci_find_substr(sText, vPattern[0]) != -1) { return true; } return false; } for (std::vector<std::string>::iterator it = vPattern.begin(); it != vPattern.end(); ++it) { if (it == vPattern.begin() && *it != "") { //beginning: ^vPat[i] if (sText.length() < it->length() || ci_find_substr(sText.substr(0, it->length()), *it) == -1) { return false; } sText = sText.substr(it->length(), sText.length() - it->length()); } else if (it == vPattern.end() - 1 && *it != "") { //linenend: vPat[i]$ if (sText.length() < it->length() || ci_find_substr(sText.substr(sText.length() - it->length(), it->length()), *it) == -1) { return false; } } else { //inbetween: vPat[i] if (*it != "") { if ((iPos = (int)ci_find_substr(sText, *it)) == -1) { return false; } sText = sText.substr(iPos + (int)it->length(), (int)sText.length() - iPos); } } } return true; }