def get_adv_wp_list(): if not (request.method == "GET" or request.method == "POST"): return "Wrong request method." result = {} result["adv"] = {} for name, variants in ADV_MODULES.items(): result["adv"][name] = { "fullname": get_fullname(name), "variants": [ vkey for vkey in variants.keys() if vkey is not None and vkey != "mass" ], } wplists = {"formA": {}, "formB": {}, "formC": {}} for wp, data in wyrmprints.items(): ab_str = f'-{data["union"]}' if data["a"]: ab_str = "[" + "‖".join( ["|".join(map(str, ab)) for ab in data["a"]]) + "]" + ab_str else: ab_str = "[]" + ab_str display_name = data["name"] + " " + ab_str wplists[RARITY_MAP[data["rarity"]]][wp] = display_name result["wyrmprints"] = wplists result["skillshare"] = { k: { "fullname": get_fullname(k), **v } for k, v in skillshare.items() } return jsonify(result)
def get_adv_wp_list(): if not (request.method == 'GET' or request.method == 'POST'): return 'Wrong request method.' result = {} result['adv'] = {} for name, variants in ADV_MODULES.items(): result['adv'][name] = { 'fullname': get_fullname(name), 'variants': [ vkey for vkey in variants.keys() if vkey is not None and vkey != 'mass' ] } wplists = {'gold': {}, 'silver': {}} for wp, data in wyrmprints.items(): ab_str = f'-{data["union"]}' if data['a']: ab_str = '[' + '|'.join(map(str, data['a'][0])) + ']' + ab_str else: ab_str = '[]' + ab_str if data['rarity'] == 5: wplists['gold'][wp] = data['name'] + ' ' + ab_str else: wplists['silver'][wp] = data['name'] + ' ' + ab_str result['wyrmprints'] = wplists result['skillshare'] = { k: { 'fullname': get_fullname(k), **v } for k, v in skillshare.items() } return jsonify(result)
def get_adv_wp_list(): if not (request.method == 'GET' or request.method == 'POST'): return 'Wrong request method.' result = {} result['adv'] = {} for name in ADV_MODULES.keys(): try: result['adv'][name] = load_adv_json(name)['c']['name'] except FileNotFoundError: result['adv'][name] = SPECIAL_ADV[name]['fullname'] wplists = {'gold': {}, 'silver': {}} for wp, data in wyrmprints.items(): ab_str = f'-{data["union"]}' if data['a']: ab_str = '[' + '|'.join(map(str, data['a'][0])) + ']' + ab_str else: ab_str = '[]' + ab_str if data['rarity'] == 5: wplists['gold'][wp] = data['name'] + ' ' + ab_str else: wplists['silver'][wp] = data['name'] + ' ' + ab_str result['wyrmprints'] = wplists result['skillshare'] = { k: { 'fullname': get_fullname(k), **v } for k, v in skillshare.items() } return jsonify(result)
def get_adv_wp_list(): if not (request.method == 'GET' or request.method == 'POST'): return 'Wrong request method.' result = {} result['amulets'] = list_members(slot.a, is_amulet) result['adv'] = list(ADV_MODULES.keys()) result['skillshare'] = dict(sorted(skillshare.items())) return jsonify(result)
def rank_ss(): ranked = [] for adv, ss in skillshare.items(): if ss.get('type') != 1: continue adv_data = load_adv_json(adv) try: skill = adv_data[f's{ss["s"]}'] except: skill = adv_data[f's{ss["s"]}_phase1'] try: mod_t = 0 for attr in skill['attr']: dmg = attr.get('dmg', 0) killer = attr.get('killer') if killer: dmg *= killer[0] mod_t += dmg except: continue ss_sp = ss['sp'] normalized_t = skill['startup'] + skill['recovery'] + ss_sp / SPPS ranked.append((mod_t / normalized_t, adv_data['c']['name'])) pprint(sorted(ranked, reverse=True))