async def handle_get_card_jitsu_mat(p, waddle_id: int): waddle_id = max(200, min(300, waddle_id)) if p.room.igloo and waddle_id not in p.room.waddles: rw = RoomWaddle(id=waddle_id, room_id=p.room.id, seats=2, game='card', temporary=True) rw.penguins = [None] * 2 rw.room = p.room rw.logic = CardJitsuMatLogic p.room.waddles[rw.id] = rw
async def handle_join_water_sensei_match(p): waddle_room = p.server.rooms[WaterSenseiLogic.room_id] rw = RoomWaddle(id=p.id, room_id=waddle_room.id, seats=1, game='watersensei', temporary=True) rw.penguins = [None] rw.room = waddle_room rw.logic = WaterSenseiLogic waddle_room.waddles[rw.id] = rw await p.send_xt('scard', waddle_room.id, rw.id, 1, 0, f'{p.safe_name}|{p.color}')
async def match(matched): nicknames = [ f'{mm.penguin.safe_name}|{mm.penguin.color}' for mm in matched ] host = matched[0].penguin waddle_room = host.server.rooms[waddle_game.room_id] rw = RoomWaddle(id=host.id, room_id=waddle_room.id, seats=len(matched), game=waddle_game, temporary=True) rw.penguins = [None] * rw.seats rw.room = waddle_room rw.logic = waddle_game waddle_room.waddles[rw.id] = rw for mm in matched: await mm.penguin.send_xt('scard', waddle_room.id, rw.id, len(matched), mm.tick, *nicknames)