|
|
|
|
@@ -839,7 +839,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
// PC host + phone guest, first meld "없음" so hint plays happen early; 10 real turns through the UI.
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '첫 등록 최소 점수' }).getByRole('button', { name: '없음' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText('첫 등록 점수 없음').first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -851,7 +850,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
// 말 2개로 줄여서 PC 방장 + 휴대폰 친구가 실제 화면 조작으로 끝까지 둔다(중간 화면도 저장).
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('button', { name: '2개', exact: true }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/말 2개/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1062,7 +1060,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('button', { name: '체스960 (첫 줄 무작위)' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '방장이 백', exact: true }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/체스960 · /).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1211,7 +1208,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
// 흔들기/폭탄 sheets, one 고 and then 스톱 — until the hand ends (스톱 or 나가리) and the game result shows.
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '판 수' }).getByRole('button', { name: '1판', exact: true }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^1판 · /).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1263,7 +1259,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
players: 4,
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '반응 제한 시간' }).getByRole('button', { name: '25초' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/반응 25초/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1370,7 +1365,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
players: 3,
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '뒤집기 제한 시간' }).getByRole('button', { name: '5초', exact: true }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/뒤집기 5초/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1455,7 +1449,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '라운드 제한' }).getByRole('button', { name: '15라운드' }).click();
|
|
|
|
|
await host.getByRole('group', { name: '시작 포인트' }).getByRole('button', { name: '200P' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^15라운드 · 시작 200P/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1510,7 +1503,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
await host.getByRole('button', { name: '▼ 자세한 설정' }).click();
|
|
|
|
|
await host.getByRole('group', { name: '9~12 카드 빼기' }).getByRole('button', { name: '켜기' }).click();
|
|
|
|
|
await host.getByRole('group', { name: '한 턴 제한 시간' }).getByRole('button', { name: '45초' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/9~12 빼기/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1572,7 +1564,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
// return tokens over 10 and choose nobles when it happens. Mid-game shots in light and dark.
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '끝나는 점수' }).getByRole('button', { name: '10점(짧은 판)' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^10점 · 한 차례 60초/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1691,7 +1682,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
// through the UI until round settlements (with a duplicate-tie cancellation) and the final result appear.
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '라운드 수' }).getByRole('button', { name: '3라운드' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^3라운드 · 흰 주사위 자동/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1744,7 +1734,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
players: 3,
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '같은 벌레 몇 장이면 패배' }).getByRole('button', { name: '3장(짧게)' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/같은 벌레 3장이면 패배/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1803,7 +1792,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
await host.getByRole('group', { name: '한 턴 제한 시간' }).getByRole('button', { name: '30초' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '▼ 자세한 설정' }).click();
|
|
|
|
|
await host.getByRole('group', { name: '특수 카드 장수' }).getByRole('button', { name: '6장' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^전용 카드 · 손패 5장 · 목숨 없음 · 30초/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1855,7 +1843,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('button', { name: '▼ 자세한 설정' }).click();
|
|
|
|
|
await host.getByRole('group', { name: '카드 장수' }).getByRole('button', { name: '55장' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^탑 쌓기 · 55장 · 틀리면 1초 잠금/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1916,7 +1903,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
lobby: async (host) => {
|
|
|
|
|
await host.getByRole('group', { name: '라운드 수' }).getByRole('button', { name: '1라운드' }).click();
|
|
|
|
|
await host.getByRole('group', { name: '그리기 시간' }).getByRole('button', { name: '60초' }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/^여러 명 맞히기 · 1라운드 · 60초/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
@@ -1951,7 +1937,6 @@ const PLANS: Record<string, Plan> = {
|
|
|
|
|
await host.getByRole('group', { name: '지목 투표 시간' }).getByRole('button', { name: '10초', exact: true }).click();
|
|
|
|
|
await host.getByRole('group', { name: '최후의 반론 시간' }).getByRole('button', { name: '10초', exact: true }).click();
|
|
|
|
|
await host.getByRole('group', { name: '찬반 투표 시간' }).getByRole('button', { name: '5초', exact: true }).click();
|
|
|
|
|
await host.getByRole('button', { name: '설정 저장' }).click();
|
|
|
|
|
await host.getByText(/밤 45초 · 투표 10초/).first().waitFor();
|
|
|
|
|
},
|
|
|
|
|
drive: async (pages) => {
|
|
|
|
|
|