async def update_action(user: Player, p: bytes) -> None: d = reader.handle_packet(p, ( ('actionid', osuTypes.u8), ('info', osuTypes.string), ('md5', osuTypes.string), ('mods', osuTypes.u32), ('mode', osuTypes.u8), ('mid', osuTypes.i32) )) if d['actionid'] == 0 and d['mods'] & Mods.RELAX: d['info'] = 'on Relax' elif d['actionid'] == 0 and d['mods'] & Mods.AUTOPILOT: d['info'] = 'on Autopilot' user.action = d['actionid'] user.info = d['info'] user.map_md5 = d['md5'] user.mods = d['mods'] m = lbModes(d['mode'], d['mods']) user.mode = m.value user.mode_vn = m.as_vn user.map_id = d['mid'] if d['actionid'] == 2: user.info += f' +{(Mods(user.mods))!r}' # ugly and i dont care! if not user.restricted: glob.players.enqueue(writer.userStats(user))
async def update_action(user: Player, p: bytes) -> None: d = reader.handle_packet( p, ( ("actionid", osuTypes.u8), ("base_info", osuTypes.string), ("md5", osuTypes.string), ("mods", osuTypes.u32), ("mode", osuTypes.u8), ("mid", osuTypes.i32), ), ) if d["actionid"] == 0 and d["mods"] & Mods.RELAX: d["base_info"] = "on Relax" elif d["actionid"] == 0 and d["mods"] & Mods.AUTOPILOT: d["base_info"] = "on Autopilot" user.action = d["actionid"] user.base_info = d["base_info"] user.map_md5 = d["md5"] user.mods = d["mods"] m = lbModes(d["mode"], d["mods"]) user.mode = m.value user.mode_vn = m.as_vn user.map_id = d["mid"] if d["actionid"] == 2: user.base_info += f" +{(Mods(user.mods))!r}" # ugly and i dont care! if not user.restricted: glob.players.enqueue(writer.userStats(user))