@ -31,12 +31,14 @@ def main():
filter_name_list = input ( " Enter the name of the item you want to filter (e.g. ' Force Sword,Surge Force ' ): " ) . strip ( ) . split ( " , " )
filter_score_str = input ( " Enter the minimum base (excluding perks etc) score of the item you want to filter (e.g. 350): " )
filter_trait_list = input ( " Enter the trait/blessing name of the item you want to filter (e.g. ' Terrifying Barrage,Riposte ' ): " ) . strip ( ) . split ( " , " )
# Send status
status_str = " Starting to monitor shop items. \n \n "
status_str + = " Characters: \n %s \n \n " % " \n " . join ( [ characters [ i ] [ " name " ] + " ( " + characters [ i ] [ " archetype " ] + " ) " for i in chosen_char_index_list ] )
status_str + = " Filter Name: %s \n " % filter_name_list
status_str + = " Filter Score: %s \n " % filter_score_str
status_str + = " Filter Trait: %s \n " % filter_trait_list
if webhook_url != " " :
requests . post ( webhook_url , data = status_str )
@ -53,7 +55,7 @@ def main():
# Print credit store details
for store_item in credit_store_details_list :
print_str + = create_store_item_details ( store_item , characters , chosen_char_index , filter_name_list , filter_score_str , " Credit Store (Ordo Dockets) " )
print_str + = create_store_item_details ( store_item , characters , chosen_char_index , filter_name_list , filter_score_str , filter_trait_list , " Credit Store (Ordo Dockets) " )
checked_marks_store = False
if datetime . datetime . utcnow ( ) . hour == 1 or not checked_marks_store :
@ -64,7 +66,7 @@ def main():
# Print marks store details
for store_item in marks_store_details_list :
print_str + = create_store_item_details ( store_item , characters , chosen_char_index , filter_name_list , filter_score_str , " Marks Store (Contract) " )
print_str + = create_store_item_details ( store_item , characters , chosen_char_index , filter_name_list , filter_score_str , filter_trait_list , " Marks Store (Contract) " )
if webhook_url != " " :
@ -93,7 +95,7 @@ def main():
time . sleep ( 60 )
def create_store_item_details ( store_item : dict , characters : list , chosen_char_index : int , filter_name_list : list , filter_score_str : str , store_name : str ) - > str :
def create_store_item_details ( store_item : dict , characters : list , chosen_char_index : int , filter_name_list : list , filter_score_str : str , filter_trait_list : list , store_name : str ) - > str :
print_str = " "
item_name_display = STORE_ITEMS_DETAILS [ store_item [ " description " ] [ " id " ] ] [ " display_name " ]
item_base_score = store_item [ " description " ] [ " overrides " ] [ " baseItemLevel " ]
@ -110,6 +112,24 @@ def create_store_item_details(store_item: dict, characters: list, chosen_char_in
if filter_score_str != " " and item_base_score < int ( filter_score_str ) :
return " "
if filter_trait_list [ 0 ] != " " :
try :
check_trait_exist = False
for trait_name in filter_trait_list :
for perk in store_item [ " description " ] [ " overrides " ] [ " traits " ] :
perk_name = STORE_ITEMS_DETAILS [ perk [ " id " ] ]
trait_display_name = perk_name [ " display_name " ]
if trait_name in trait_display_name :
check_trait_exist = True
break
if check_trait_exist :
break
if not check_trait_exist :
return " "
except :
return " "
item_name = STORE_ITEMS_DETAILS [ store_item [ " description " ] [ " id " ] ]
print_str + = " ==================================== \n "