import requests import os def valueschartweapon(playerid, server = "", mapid = "", mapname="" ,gamemodeid = "", gamemode=""): weapon_color = {'auto_titan_melee': (1, 0.05084745762711862, 0.0), 'bubble_shield': (1, 0.10169491525423724, 0.0), 'burn': (1, 0.15254237288135597, 0.0), 'crushed': (1, 0.2033898305084746, 0.0), 'damagedef_crush': (1, 0.2542372881355932, 0.0), 'damagedef_fd_explosive_barrel': (1, 0.30508474576271194, 0.0), 'damagedef_fd_tether_trap': (1, 0.35593220338983045, 0.0), 'damagedef_frag_drone_throwable_PLAYER': (1, 0.4067796610169492, 0.0), 'damagedef_nuclear_core': (1, 0.4576271186440678, 0.0), 'damagedef_suicide': (1, 0.5084745762711864, 0.0), 'damagedef_titan_fall': (1, 0.5593220338983051, 0.0), 'damagedef_titan_hotdrop': (1, 0.6101694915254238, 0.0), 'damagedef_titan_step': (1, 0.6610169491525424, 0.0), 'damagedef_unknown': (1, 0.711864406779661, 0.0), 'fall': (1, 0.7627118644067796, 0.0), 'human_execution': (1, 0.8135593220338984, 0.0), 'invalid': (1, 0.864406779661017, 0.0), 'melee_pilot_arena': (1, 0.9152542372881356, 0.0), 'melee_pilot_emptyhanded': (1, 0.9661016949152541, 0.0), 'melee_pilot_kunai': (0.9830508474576272, 1, 0.0), 'melee_pilot_sword': (0.9322033898305084, 1, 0.0), 'melee_titan_punch_ion': (0.8813559322033897, 1, 0.0), 'melee_titan_punch_legion': (0.8305084745762712, 1, 0.0), 'melee_titan_punch_northstar': (0.7796610169491525, 1, 0.0), 'melee_titan_punch_scorch': (0.728813559322034, 1, 0.0), 'melee_titan_punch_tone': (0.6779661016949152, 1, 0.0), 'melee_titan_punch_vanguard': (0.6271186440677967, 1, 0.0), 'melee_titan_sword': (0.576271186440678, 1, 0.0), 'mind_crime': (0.5254237288135593, 1, 0.0), 'mp_titanability_laser_trip': (0.47457627118644075, 1, 0.0), 'mp_titanability_slow_trap': (0.4237288135593218, 1, 0.0), 'mp_titanability_smoke': (0.3728813559322033, 1, 0.0), 'mp_titancore_amp_core': (0.3220338983050848, 1, 0.0), 'mp_titancore_flame_wave': (0.27118644067796605, 1, 0.0), 'mp_titancore_flame_wave_secondary': (0.22033898305084754, 1, 0.0), 'mp_titancore_laser_cannon': (0.1694915254237288, 1, 0.0), 'mp_titancore_nuke_missile': (0.1186440677966103, 1, 0.0), 'mp_titancore_salvo_core': (0.06779661016949179, 1, 0.0), 'mp_titancore_shift_core': (0.016949152542372836, 1, 0.0), 'mp_titanweapon_arc_cannon': (0.0, 1, 0.03389830508474567), 'mp_titanweapon_arc_wave': (0.0, 1, 0.08474576271186463), 'mp_titanweapon_barrage_core_launcher': (0.0, 1, 0.13559322033898313), 'mp_titanweapon_brute4_quad_rocket': (0.0, 1, 0.18644067796610164), 'mp_titanweapon_dumbfire_rockets': (0.0, 1, 0.2372881355932206), 'mp_titanweapon_flame_wall': (0.0, 1, 0.2881355932203391), 'mp_titanweapon_flightcore_rockets': (0.0, 1, 0.3389830508474576), 'mp_titanweapon_heat_shield': (0.0, 1, 0.3898305084745761), 'mp_titanweapon_laser_lite': (0.0, 1, 0.4406779661016951), 'mp_titanweapon_leadwall': (0.0, 1, 0.4915254237288136), 'mp_titanweapon_meteor': (0.0, 1, 0.5423728813559321), 'mp_titanweapon_meteor_thermite': (0.0, 1, 0.593220338983051), 'mp_titanweapon_particle_accelerator': (0.0, 1, 0.6440677966101696), 'mp_titanweapon_predator_cannon': (0.0, 1, 0.6949152542372881), 'mp_titanweapon_rocketeer_rocketstream': (0.0, 1, 0.7457627118644066), 'mp_titanweapon_salvo_rockets': (0.0, 1, 0.7966101694915251), 'mp_titanweapon_shoulder_rockets': (0.0, 1, 0.847457627118644), 'mp_titanweapon_sniper': (0.0, 1, 0.8983050847457625), 'mp_titanweapon_sticky_40mm': (0.0, 1, 0.9491525423728815), 'mp_titanweapon_stun_laser': (0.0, 1.0, 1), 'mp_titanweapon_tracker_rockets': (0.0, 0.9491525423728815, 1), 'mp_titanweapon_vortex_shield': (0.0, 0.898305084745763, 1), 'mp_titanweapon_vortex_shield_ion': (0.0, 0.8474576271186436, 1), 'mp_titanweapon_xo16_shorty': (0.0, 0.7966101694915251, 1), 'mp_titanweapon_xo16_vanguard': (0.0, 0.7457627118644066, 1), 'mp_weapon_alternator_smg': (0.0, 0.6949152542372881, 1), 'mp_weapon_arc_launcher': (0.0, 0.6440677966101696, 1), 'mp_weapon_arena3': (0.0, 0.5932203389830506, 1), 'mp_weapon_autopistol': (0.0, 0.5423728813559321, 1), 'mp_weapon_car': (0.0, 0.4915254237288136, 1), 'mp_weapon_defender': (0.0, 0.4406779661016951, 1), 'mp_weapon_dmr': (0.0, 0.38983050847457656, 1), 'mp_weapon_doubletake': (0.0, 0.3389830508474576, 1), 'mp_weapon_epg': (0.0, 0.2881355932203391, 1), 'mp_weapon_esaw': (0.0, 0.2372881355932206, 1), 'mp_weapon_frag_grenade': (0.0, 0.1864406779661021, 1), 'mp_weapon_g2': (0.0, 0.13559322033898358, 1), 'mp_weapon_grenade_electric_smoke': (0.0, 0.08474576271186418, 1), 'mp_weapon_grenade_emp': (0.0, 0.03389830508474567, 1), 'mp_weapon_grenade_gravity': (0.016949152542372836, 0.0, 1), 'mp_weapon_grenade_sonar': (0.06779661016949134, 0.0, 1), 'mp_weapon_gunship_turret': (0.11864406779660985, 0.0, 1), 'mp_weapon_hemlok': (0.16949152542372925, 0.0, 1), 'mp_weapon_hemlok_smg': (0.22033898305084776, 0.0, 1), 'mp_weapon_lmg': (0.27118644067796627, 0.0, 1), 'mp_weapon_lstar': (0.3220338983050848, 0.0, 1), 'mp_weapon_mastiff': (0.3728813559322033, 0.0, 1), 'mp_weapon_mgl': (0.4237288135593218, 0.0, 1), 'mp_weapon_peacekraber': (0.4745762711864412, 0.0, 1), 'mp_weapon_pulse_lmg': (0.5254237288135588, 0.0, 1), 'mp_weapon_r97': (0.5762711864406782, 0.0, 1), 'mp_weapon_rocket_launcher': (0.6271186440677958, 0.0, 1), 'mp_weapon_rspn101': (0.6779661016949152, 0.0, 1), 'mp_weapon_rspn101_og': (0.7288135593220337, 0.0, 1), 'mp_weapon_satchel': (0.7796610169491522, 0.0, 1), 'mp_weapon_semipistol': (0.8305084745762707, 0.0, 1), 'mp_weapon_shotgun': (0.8813559322033901, 0.0, 1), 'mp_weapon_shotgun_pistol': (0.9322033898305087, 0.0, 1), 'mp_weapon_smart_pistol': (0.9830508474576272, 0.0, 1), 'mp_weapon_smr': (1, 0.0, 0.9661016949152543), 'mp_weapon_sniper': (1, 0.0, 0.9152542372881358), 'mp_weapon_softball': (1, 0.0, 0.8644067796610164), 'mp_weapon_super_spectre': (1, 0.0, 0.8135593220338979), 'mp_weapon_thermite_grenade': (1, 0.0, 0.7627118644067794), 'mp_weapon_turretplasma': (1, 0.0, 0.7118644067796609), 'mp_weapon_vinson': (1, 0.0, 0.6610169491525424), 'mp_weapon_wingman': (1, 0.0, 0.6101694915254239), 'mp_weapon_wingman_n': (1, 0.0, 0.5593220338983045), 'mp_weapon_yh803_bullet': (1, 0.0, 0.5084745762711869), 'null': (1, 0.0, 0.45762711864406747), 'outOfBounds': (1, 0.0, 0.40677966101694985), 'phase_shift': (1, 0.0, 0.35593220338983045), 'pilot_emptyhanded': (1, 0.0, 0.30508474576271194), 'rodeo_battery_removal': (1, 0.0, 0.25423728813559343), 'spectre_melee': (1, 0.0, 0.20338983050847492), 'titan_execution': (1, 0.0, 0.15254237288135641), 'titan_explosion': (1, 0.0, 0.10169491525423702), 'titan_grapple': (1, 0.0, 0.05084745762711851), 'mp_weapon_shotgun_doublebarrel' : (1, 0.0, 0.05084745762711852), 'mp_weapon_arena2': (1, 0.0, 0.05084745762711853), 'mp_titanweapon_triplethreat':(1, 0.0, 0.05084745762711854) ,'other': (1, 0.0, 0.0)} weapon = { "human_execution": "execution", "mp_weapon_car": "car", "mp_weapon_defender": "charge rifle", "mp_weapon_doubletake": "double take", "mp_weapon_epg": "epg", "mp_weapon_hemlok_smg": "volt", "mp_weapon_lstar": "lstar", "mp_weapon_r97": "r97", "mp_weapon_rspn101": "r-201", "mp_weapon_smart_pistol": "smart pistol", "mp_weapon_sniper": "kraber", "mp_weapon_vinson": "flatline", "mp_weapon_autopistol": "re-45 auto", "mp_weapon_alternator_smg": "alternator", "mp_weapon_frag_grenade": "frag grenade", "mp_weapon_g2": "g2", "mp_weapon_lmg": "spitfire", "mp_weapon_smr": "smr", "mp_weapon_softball": "softball", "mp_weapon_thermite_grenade": "firestar", "melee_pilot_emptyhanded": "melee", "mp_weapon_mastiff": "mastiff", "mp_weapon_mgl": "mgl", "mp_weapon_rspn101_og": "r-101", "mp_weapon_wingman": "wingman", "invalid": "invalid", "mp_weapon_arc_launcher": "thunderbolt", "mp_weapon_dmr": "dmr", "mp_weapon_grenade_electric_smoke": "electric smoke", "mp_weapon_pulse_lmg": "cold war", "mp_weapon_satchel": "satchel", "mp_weapon_shotgun": "eva-8 auto", "mp_weapon_shotgun_pistol": "mozambique", "mp_weapon_wingman_n": "wingman elite", "mp_weapon_grenade_gravity": "gravity star", "mp_weapon_grenade_sonar": "pulse blade", "mp_weapon_rocket_launcher": "archer", "outOfBounds": "outOfBounds", "mind_crime": "mind crime", "mp_weapon_esaw": "devotion", "fall": "fall", "mp_weapon_semipistol": "p2016", "mp_weapon_grenade_emp": "arc grenade", "mp_weapon_hemlok": "hemlok", "phase_shift": "phase shift" } payload = {'player': playerid} if(server != "All"): payload['server'] = server if(mapname != "All"): payload['map'] = mapid if(gamemode != "Any"): payload['gamemode'] = gamemodeid response = requests.get(os.environ.get("TONE_ENDPOINT") + '/v2/client/weapons', params=payload).json() labels = [] values = [] colors = [] total = 0 dict_weapon_with_kills = {} for i in response.keys(): weaponstats = response[i] dict_weapon_with_kills[i] = weaponstats['kills'] total += weaponstats['kills'] handler = lambda p : response[p]['kills'] result = sorted(dict_weapon_with_kills, key=handler, reverse=True) other = 0 for j in result: if(dict_weapon_with_kills[j] > total/34): try: labels.append(weapon[j]) except KeyError: labels.append(j) colors.append(weapon_color[j]) values.append(dict_weapon_with_kills[j]) else: other += dict_weapon_with_kills[j] if(other > 0): labels.append("other") values.append(other) colors.append(weapon_color['other']) return labels, values, colors