mirror of
https://github.com/Ahrimdon/detailed-cod-tracker.git
synced 2024-11-25 00:41:58 -05:00
Update replacement list, add new API links for reference
This commit is contained in:
parent
d06efd39b4
commit
716c271e50
@ -13,4 +13,10 @@ https://my.callofduty.com/api/papi-client/stats/cod/v1/title/mw/platform/xbl/gam
|
||||
https://my.callofduty.com/api/papi-client/crm/cod/v2/title/mw/platform/battle/gamer/$PROF/matches/mp/start/0/end/0/details
|
||||
|
||||
# Get Maps & Game Modes (No $PROF Variable Needed)
|
||||
https://my.callofduty.com/api/papi-client/ce/v1/title/mw/platform/battle/gameType/mp/communityMapData/availability
|
||||
https://my.callofduty.com/api/papi-client/ce/v1/title/mw/platform/battle/gameType/mp/communityMapData/availability
|
||||
|
||||
# Get Match Stats
|
||||
https://www.callofduty.com/api/papi-client/crm/cod/v2/title/mw/platform/battle/fullMatch/mp/matchID/it
|
||||
|
||||
# Leaderboard
|
||||
https://www.callofduty.com/api/papi-client/leaderboards/v2/title/mw/platform/battle/time/alltime/type/core/mode/career/page/1
|
374
get_cod_stats.py
374
get_cod_stats.py
@ -11,90 +11,218 @@ if os.name == 'nt':
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
|
||||
replacements = {
|
||||
# Maps
|
||||
"career": "Career",
|
||||
"mp_hackney_yard": "Hackney Yard (Night)",
|
||||
"mp_aniyah": "Aniyah Palace",
|
||||
"mp_euphrates": "Euphrates Bridge",
|
||||
"mp_raid": "Grazna Raid",
|
||||
"mp_m_pine": "Pine",
|
||||
"mp_m_stack": "Stack",
|
||||
"mp_deadzone": "Arklov Peak",
|
||||
"mp_quarry": "Karst River Quarry",
|
||||
"mp_m_overunder": "Docks",
|
||||
"mp_cave_am": "Azhir Cave",
|
||||
"mp_cave": "Azhir Cave (Night)",
|
||||
"mp_runner": "Gun Runner",
|
||||
"mp_runner_pm": "Gun Runner (Night)",
|
||||
"mp_hackney_am": "Hackney Yard",
|
||||
"mp_piccadilly": "Piccadilly",
|
||||
"mp_spear": "Rammaza",
|
||||
"mp_spear_pm": "Rammaza (Night)",
|
||||
"mp_petrograd": "St. Petrograd",
|
||||
"mp_m_hill": "Hill",
|
||||
"mp_m_king": "King",
|
||||
"mp_m_speedball": "Speedball",
|
||||
"mp_m_showers": "Gulag Showers",
|
||||
"mp_downtown_gw": "Tarvosk District",
|
||||
"mp_m_speed": "Shoot House",
|
||||
"mp_farms2_gw": "Krovnik Farmland",
|
||||
"mp_port2_gw": "Port",
|
||||
"mp_crash": "Crash",
|
||||
"mp_vacant": "Vacant",
|
||||
"mp_shipment": "Shipment",
|
||||
"mp_m_cargo": "Cargo",
|
||||
"mp_m_cage": "Atrium",
|
||||
"mp_m_overwinter": "Docks",
|
||||
"mp_emporium": "Atlas Superstore",
|
||||
"mp_rust": "Rust",
|
||||
"mp_boneyard_gw": "Zhokov Boneyard",
|
||||
"mp_m_fork": "Bazaar",
|
||||
"mp_donetsk": "Verdansk",
|
||||
"mp_hideout": "Khandor Hideout",
|
||||
"loading_mp_hideout": "Khandor Hideout",
|
||||
"mp_aniyah_tac": "Aniyah Incursion",
|
||||
"mp_backlot": "Talsik Backlot",
|
||||
"mp_village": "Hovec Sawmill",
|
||||
"mp_hardhat": "Hardhat",
|
||||
"mp_m_wallco": "Aisle 9",
|
||||
"mp_donetsk": "Verdansk",
|
||||
"mp_scrapyard": "Zhokov Scrapyard",
|
||||
"mp_m_trench": "Trench",
|
||||
"mp_promenade_gw": "Barakett Promenade",
|
||||
"mp_don": "Verdansk",
|
||||
"mp_garden": "Cheshire Park",
|
||||
"mp_oilrig": "Petrov Oil Rig",
|
||||
"mp_harbor": "Suldal Harbor",
|
||||
"mp_layover_gw": "Verdansk International Airport",
|
||||
"mp_m_cornfield": "Livestock",
|
||||
"mp_m_stadium": "Verdansk Stadium",
|
||||
"mp_malyshev": "Mialstor Tank Factory",
|
||||
"mp_malyshev_10v10": "Mialstor Tank Factory",
|
||||
"mp_broadcast": "Broadcast",
|
||||
"mp_riverside_gw": "Verdansk Riverside",
|
||||
"mp_m_train": "Station",
|
||||
"mp_kstenod": "Verdansk (Night)",
|
||||
"mp_escape": "Rebirth",
|
||||
"mp_herat": "Al-Raab Airbase",
|
||||
"mp_killhouse": "Killhouse",
|
||||
"mp_m_drainage": "Drainage",
|
||||
# Gamemodes
|
||||
"dom": "Domination",
|
||||
"hc_dom": "Hardcore Domination",
|
||||
"war": "Team Deathmatch",
|
||||
"hc_war": "Hardcore Team Deathmatch",
|
||||
"hq": "Headquarters",
|
||||
"hc_hq": "Hardcore Headquarters",
|
||||
"conf": "Kill Confirmed",
|
||||
"hc_conf": "Hardcore Kill Confirmed",
|
||||
"koth": "Hardpoint",
|
||||
"koth_hc": "Hardcore Hardpoint",
|
||||
"sd": "Search and Destroy",
|
||||
"hc_sd": "Hardcore Search and Destroy",
|
||||
"cyber": "Cyber Attack",
|
||||
"hc_cyber": "Hardcore Cyber Attack",
|
||||
"grnd": "Grind",
|
||||
"arm": "Ground War",
|
||||
"infect": "Infected",
|
||||
"gun": "Gun Game",
|
||||
"dom": "Domination",
|
||||
"tdef": "Team Defender",
|
||||
"dm": "Free-for-all",
|
||||
"koth": "Hardpoint",
|
||||
"hq": "Headquarters",
|
||||
"arena": "Gunfight",
|
||||
"br": "Battle Royale (Warzone)",
|
||||
"arm": "Ground War",
|
||||
"conf": "Kill Confirmed",
|
||||
"cyber": "Cyber Attack",
|
||||
"hc_war": "Team Deathmatch Hardcore",
|
||||
"hc_arena": "Gunfight Hardcore",
|
||||
"hc_arm": "Ground War Hardcore",
|
||||
"hc_conf": "Kill Confirmed Hardcore",
|
||||
"hc_cyber": "Cyber Attack Hardcore",
|
||||
"hc_dm": "Free-for-all Hardcore",
|
||||
"hc_hq": "Headquarters Hardcore",
|
||||
"hc_dom": "Domination Hardcore",
|
||||
"hc_sd": "Search and Destroy Hardcore",
|
||||
"cyber_hc": "Cyber Attack Hardcore",
|
||||
"war_hc": "Team Deathmatch Hardcore",
|
||||
"dom_hc": "Domination Hardcore",
|
||||
"sd_hc": "Search and Destroy Hardcore",
|
||||
"conf_hc": "Kill Confirmed Hardcore",
|
||||
"gun": "Gun Game",
|
||||
"gun_hc": "Gun Game Hardcore",
|
||||
"siege": "Reinforce",
|
||||
"infect": "Infected",
|
||||
"arena_osp": "Gunfight O.S.P.",
|
||||
"hq_hc": "Headquarters Hardcore",
|
||||
"grnd": "Grind",
|
||||
"grind": "Grind",
|
||||
"ctf": "Capture the Flag",
|
||||
"br_all": "All",
|
||||
"br": "Battle Royale",
|
||||
"br_dmz": "Plunder",
|
||||
"br_all": "Battle Royale (Warzone & Plunder)",
|
||||
"br_dmz_38": "Plunder Quads",
|
||||
"br_87": "BR Solos",
|
||||
"br_dmz_104": "Blood Money",
|
||||
"koth_hc": "Hardpoint Hardcore",
|
||||
"br_25": "BR Trios",
|
||||
"br_89": "BR Quads",
|
||||
"br_dmz_76": "Plunder Quads",
|
||||
"br_77": "BR Scopes & Scatterguns",
|
||||
"br_dmz_85": "Plunder Duos",
|
||||
"dd_hc": "Demolition Hardcore",
|
||||
"dd": "Demolition",
|
||||
"br_71": "BR Solos",
|
||||
"br_74": "BR Trios",
|
||||
"br_88": "BR Duos",
|
||||
"brtdm_113": "Warzone Rumble",
|
||||
"brtdm_rmbl": "Warzone Rumble",
|
||||
"br_brsolo": "BR Solos",
|
||||
"br_brduos": "BR Duos",
|
||||
"br_brtrios": "BR Trios",
|
||||
"br_brquads": "BR Quads",
|
||||
"br_dmz_plnbld": "Blood Money",
|
||||
"br_br_real": "Realism Battle Royale",
|
||||
"br_86": "Realism Battle Royale",
|
||||
"br_brthquad": "BR 200 Quads",
|
||||
"br_jugg_brtriojugr": "Juggernaut Royal Trios",
|
||||
"br_dmz_plunquad": "Plunder Quads",
|
||||
"br_dmz_bldmnytrio": "Blood Money Trios",
|
||||
"br_mini_miniroyale": "Mini Royale",
|
||||
"br_brbbsolo": "BR Buyback Solos",
|
||||
"br_jugg_brquadjugr": "Juggernaut Royal Quads",
|
||||
"br_kingslayer_kingsltrios": "King Slayer Trios",
|
||||
"br_truckwar_trwarsquads": "Armored Royale Quads",
|
||||
"br_zxp_zmbroy": "Zombie Royale",
|
||||
"br_brhwntrios": "BR Trick-Or-Trios",
|
||||
"rugby": "Onslaughter",
|
||||
"br_brsolohwn": "BR Solo Survivor",
|
||||
"br_dmz_plndcndy": "Plunder: Candy Collector",
|
||||
"br_jugg_jugpmpkn": "Juggourdnaut Royale",
|
||||
"br_rebirth_rbrthtrios": "Resurgence Trio",
|
||||
"br_rebirth_rbrthduos": "Resurgence Duos",
|
||||
"br_rebirth_rbrthquad": "Rebirth Resurgance Quads",
|
||||
"br_dmz_plndtrios": "Plunder Trios",
|
||||
"br_rebirth_resurgence_trios": "Verdansk Resurgence Trios",
|
||||
"br_mini_rebirth_mini_royale_quads": "Rebirth Mini Royale Quads",
|
||||
"br_bodycount_pwergrb": "Power Grab",
|
||||
"br_rebirth_resurgence_mini": "Verdansk Resurgence Mini",
|
||||
"br_payload_payload": "Payload",
|
||||
"br_mini_rebirth_mini_royale_trios": "Rebirth Mini Royale Trios",
|
||||
"br_x2_br_reveal_x2_event/event_title_x2": "Battle of Verdansk",
|
||||
"br_rumble_clash": "Clash",
|
||||
"br_dbd_dbd": "Iron Trials '84",
|
||||
"br_gxp_gov": "Ghosts of Verdansk",
|
||||
# Weapons
|
||||
"weapon_assault_rifle": "Assault Rifles",
|
||||
"weapon_shotgun": "Shotguns",
|
||||
"weapon_marksman": "Marksman Rifles",
|
||||
"weapon_sniper": "Snipers",
|
||||
"tacticals": "Tactical Equipment",
|
||||
"lethals": "Lethal Equipment",
|
||||
"weapon_lmg": "LMGs",
|
||||
"weapon_launcher": "Launchers",
|
||||
"supers": "Field Upgrades",
|
||||
"weapon_pistol": "Pistols",
|
||||
"weapon_other": "Primary Melee",
|
||||
"weapon_smg": "SMGs",
|
||||
"scorestreak": "Scorestreak",
|
||||
"equipment": "Equipment",
|
||||
"gear": "Gear",
|
||||
"weapon_bare_hands": "Bare Hands",
|
||||
"weapon_tactical_rifle": "Tactical Rifle",
|
||||
"weapon_shotgun": "Shotgun",
|
||||
"weapon_sniper": "Sniper",
|
||||
"weapon_lmg": "Light Machine Guns",
|
||||
"weapon_launcher": "Launcher",
|
||||
"weapon_pistol": "Pistol",
|
||||
"weapon_smg": "Submachine Guns",
|
||||
"weapon_melee": "Melee",
|
||||
"scorestreakData": "Scorestreaks",
|
||||
"lethalScorestreakData": "Lethal Scorestreaks",
|
||||
"supportScorestreakData": "Support Scorestreaks",
|
||||
# Guns
|
||||
## Assault Rifles
|
||||
"iw8_ar_tango21": "RAM-7",
|
||||
"iw8_ar_mike4": "M4A1",
|
||||
"iw8_ar_valpha": "AS VAL",
|
||||
"iw8_ar_falpha": "FR 5.56",
|
||||
"iw8_ar_mcharlie": "M13",
|
||||
"weapon_assault_rifle": "Assault Rifle",
|
||||
"attachments": "Attachments",
|
||||
"weapons": "Weapons",
|
||||
"specialist": "Specialist",
|
||||
"weapon": "Weapon",
|
||||
"weapon_special": "Special",
|
||||
"iw8_ar_akilo47": "AK-47",
|
||||
"iw8_ar_asierra12": "Oden",
|
||||
"iw8_ar_galima": "CR-56 AMAX",
|
||||
"iw8_ar_sierra552": "Grau 5.56",
|
||||
"iw8_ar_kilo433": "Kilo-141",
|
||||
"iw8_ar_mcharlie": "M13",
|
||||
"iw8_ar_falima": "FAL",
|
||||
"iw8_ar_anovember94": "AN-94",
|
||||
"iw8_ar_kilo433": "Kilo 141",
|
||||
"iw8_ar_scharlie": "FN Scar 17",
|
||||
"iw8_sh_mike26": "VLK Rogue",
|
||||
## Shotguns
|
||||
"iw8_sh_charlie725": "725",
|
||||
"iw8_sh_oscar12": "Origin 12 Shotgun",
|
||||
"iw8_sh_aalpha12": "JAK-12",
|
||||
"iw8_ar_asierra12": "Oden",
|
||||
"iw8_sm_mpapa7": "MP7",
|
||||
"iw8_sm_augolf": "AUG",
|
||||
"iw8_sm_uzulu": "Uzi",
|
||||
"iw8_sh_romeo870": "Model 680",
|
||||
"iw8_sh_dpapa12": "R9-0 Shotgun",
|
||||
## Marksman Rifles
|
||||
"iw8_sn_sbeta": "MK2 Carbine",
|
||||
"iw8_sn_crossbow": "Crossbow",
|
||||
"iw8_sn_romeo700": "SP-R 208",
|
||||
"iw8_sn_kilo98": "Kar98k",
|
||||
"iw8_sh_charlie725": "725",
|
||||
"iw8_sh_aalpha12": "JAK-12",
|
||||
"iw8_sh_oscar12": "Origin 12",
|
||||
"iw8_lm_pkilo": "PKM",
|
||||
"iw8_lm_mgolf34": "MG34",
|
||||
"iw8_lm_lima86": "SA87",
|
||||
"iw8_lm_dblmg": "MP Juggernaut",
|
||||
"iw8_sn_mike14": "EBR-14",
|
||||
"iw8_sn_sksierra": "SKS",
|
||||
## Sniper Rifles
|
||||
"iw8_sn_delta": "Dragunov",
|
||||
"iw8_sn_alpha50": "AX-50",
|
||||
"iw8_sn_hdromeo": "HDR",
|
||||
"iw8_sn_delta": "Dragunov",
|
||||
"iw8_sn_xmike109": "Rytec AMR",
|
||||
## Tactical Equipment
|
||||
"iw8_sn_sbeta": "Mk2 Carbine",
|
||||
"iw8_pi_papa320": "M19",
|
||||
"iw8_pi_cpapa": ".357",
|
||||
"iw8_la_rpapa7": "RPG-7",
|
||||
"iw8_la_juliet": "JOKR",
|
||||
"iw8_la_gromeo": "PILA",
|
||||
"iw8_la_kgolf": "Strela-P",
|
||||
"iw8_me_riotshield": "Riot Shield",
|
||||
"equip_gas_grenade": "Gas Grenade",
|
||||
"equip_snapshot_grenade": "Snapshot Grenade",
|
||||
"equip_decoy": "Decoy Grenade",
|
||||
"equip_smoke": "Smoke Grenade",
|
||||
"equip_concussion": "Concussion Grenade",
|
||||
"equip_concussion": "Stun Grenade",
|
||||
"equip_hb_sensor": "Heartbeat Sensor",
|
||||
"equip_flash": "Flash Grenade",
|
||||
"equip_adrenaline": "Stim",
|
||||
## Lethal Equipment
|
||||
"equip_frag": "Frag Grenade",
|
||||
"equip_thermite": "Thermite",
|
||||
"equip_semtex": "Semtex",
|
||||
@ -102,23 +230,63 @@ replacements = {
|
||||
"equip_c4": "C4",
|
||||
"equip_at_mine": "Proximity Mine",
|
||||
"equip_throwing_knife": "Throwing Knife",
|
||||
"equip_molotov": "Mototov Cocktail",
|
||||
## LMGs
|
||||
"iw8_lm_kilo121": "M91",
|
||||
"iw8_lm_mkilo3": "Bruen Mk9",
|
||||
"iw8_lm_mgolf34": "MG34",
|
||||
"iw8_lm_lima86": "SA87",
|
||||
"iw8_lm_pkilo": "PKM",
|
||||
"iw8_lm_sierrax": "FiNN LMG",
|
||||
"equip_molotov": "Molotov Cocktail",
|
||||
"iw8_knife": "Combat Knife",
|
||||
"weapon_other": "Primary Melee",
|
||||
"iw8_ar_tango21": "RAM-7",
|
||||
"iw8_ar_falpha": "FR 5.56",
|
||||
"iw8_ar_mike4": "M4A1",
|
||||
"iw8_sm_papa90": "P90",
|
||||
"iw8_sm_mpapa5": "MP5",
|
||||
"iw8_sm_beta": "PP19 Bizon",
|
||||
"iw8_sh_dpapa12": "R9-0",
|
||||
"iw8_lm_mgolf36": "Holger-26",
|
||||
# "": "", ### RAAL LMG not implemented
|
||||
## Launchers
|
||||
"iw8_la_gromeo": "PILA",
|
||||
"iw8_la_rpapa7": "RPG-7",
|
||||
"iw8_la_juliet": "JOKR",
|
||||
"iw8_la_kgolf": "Strela-P",
|
||||
# "": "", ### Unknown Launcher
|
||||
## Field Upgrades
|
||||
"iw8_sn_kilo98": "Kar98k",
|
||||
"iw8_pi_mike1911": "1911",
|
||||
"iw8_pi_golf21": "X16",
|
||||
"iw8_pi_decho": ".50 GS",
|
||||
"weapon_marksman": "Marksman Rifles",
|
||||
"iw8_lm_kilo121": "M91",
|
||||
"iw8_ar_scharlie": "FN Scar 17",
|
||||
"iw8_ar_sierra552": "Grau 5.56",
|
||||
"iw8_sm_smgolf45": "Striker 45",
|
||||
"iw8_pi_mike9a3": "Renetti",
|
||||
"iw8_lm_mkilo3": "Bruen MK9",
|
||||
"iw8_sh_mike26": "VLK Rogue",
|
||||
"iw8_sn_crossbow": "Crossbow",
|
||||
"iw8_sn_sksierra": "SKS",
|
||||
"iw8_ar_galima": "CR-56 AMAX",
|
||||
"iw8_me_kalistick": "Kali Sticks",
|
||||
"iw8_sm_victor": "Fennec Mk9",
|
||||
"iw8_sn_xmike109": "Rytec AMR",
|
||||
"iw8_pi_mike9": "Renetti",
|
||||
"iw8_me_akimboblunt": "Kali Sticks",
|
||||
"iw8_ar_anovember94": "AN-94",
|
||||
"iw8_sm_charlie9": "ISO",
|
||||
"iw8_me_akimboblades": "Dual Kodachis",
|
||||
"iw8_lm_sierrax": "FiNN",
|
||||
"iw8_ar_valpha": "AS VAL",
|
||||
"iw8_sn_romeo700": "SP-R 208",
|
||||
"cruise_predator": "Cruise Missile",
|
||||
"manual_turret": "Shield Turret",
|
||||
"toma_strike": "Cluster Strike",
|
||||
"sentry_gun": "Sentry Gun",
|
||||
"hover_jet": "VTOL Jet",
|
||||
"precision_airstrike": "Precision Airstrike",
|
||||
"juggernaut": "Juggernaut",
|
||||
"pac_sentry": "",
|
||||
"chopper_gunner": "Chopper Gunner",
|
||||
"gunship": "Gunship",
|
||||
"white_phosphorus": "White Phosphorus",
|
||||
"nuke": "Nuke",
|
||||
"chopper_support": "Support Helo",
|
||||
"bradley": "Infantry Assault Vehicle",
|
||||
"uav": "UAV",
|
||||
"directional_uav": "Advanced UAV",
|
||||
"airdrop": "Care Package",
|
||||
"airdrop_multiple": "Emergency Airdrop",
|
||||
"radar_drone_overwatch": "Personal Radar",
|
||||
"scrambler_drone_guard": "Counter UAV",
|
||||
"super_emp_drone": "EMP Drone",
|
||||
"super_trophy": "Trophy System",
|
||||
"super_ammo_drop": "Munitions Box",
|
||||
@ -132,52 +300,6 @@ replacements = {
|
||||
"super_supply_drop": "Loadout Drop", ### Unsure if this is Loadout Drop
|
||||
"super_tac_cover": "Deployable Cover",
|
||||
"super_support_box": "Stopping Power Rounds",
|
||||
## Pistols
|
||||
"iw8_pi_cpapa": ".357",
|
||||
"iw8_pi_mike9": "Renetti",
|
||||
"iw8_pi_mike1911": "1911",
|
||||
"iw8_pi_golf21": "X16",
|
||||
"iw8_pi_decho": ".50 GS",
|
||||
"iw8_pi_papa320": "M19",
|
||||
# "": "", ### Sykov not implemented
|
||||
## Primary Melee
|
||||
"iw8_me_riotshield": "Riot Shield",
|
||||
## SMGs
|
||||
"iw8_sm_mpapa7": "MP7",
|
||||
"iw8_sm_augolf": "AUG",
|
||||
"iw8_sm_papa90": "P90",
|
||||
"iw8_sm_charlie9": "ISO",
|
||||
"iw8_sm_mpapa5": "MP5",
|
||||
"iw8_sm_smgolf45": "Striker 45",
|
||||
"iw8_sm_beta": "PP19 Bizon",
|
||||
"iw8_sm_victor": "Fennec",
|
||||
"iw8_sm_uzulu": "Uzi",
|
||||
# "": "", ### CX9 not implemented
|
||||
## Melee
|
||||
"iw8_me_akimboblunt": "Kali Sticks",
|
||||
"iw8_me_akimboblades": "Dual Kodachis",
|
||||
"iw8_knife": "Knife",
|
||||
# Scorestreaks
|
||||
"precision_airstrike": "Precision Airstrike",
|
||||
"cruise_predator": "Cruise Missile",
|
||||
"manual_turret": "Shield Turret",
|
||||
"white_phosphorus": "White Phosphorus",
|
||||
"hover_jet": "VTOL Jet",
|
||||
"chopper_gunner": "Chopper Gunner",
|
||||
"gunship": "Gunship",
|
||||
"sentry_gun": "Sentry Gun",
|
||||
"toma_strike": "Cluster Strike",
|
||||
"nuke": "Nuke",
|
||||
"juggernaut": "Juggernaut",
|
||||
"pac_sentry": "Wheelson",
|
||||
"chopper_support": "Support Helo",
|
||||
"bradley": "Infantry Assault Vehicle",
|
||||
"airdrop": "Care Package",
|
||||
"radar_drone_overwatch": "Personal Radar",
|
||||
"scrambler_drone_guard": "Counter UAV",
|
||||
"uav": "UAV",
|
||||
"airdrop_multiple": "Emergency Airdrop",
|
||||
"directional_uav": "Advanced UAV",
|
||||
# Accolades
|
||||
# "accoladeData": "Accolades",
|
||||
# "classChanges": "Most classes changed (Evolver)",
|
||||
|
Loading…
Reference in New Issue
Block a user