diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index e480b9ea50..ea6fa07706 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -133,7 +133,7 @@ class StateManager { const hand = this.handTileTypes[caller]; return Common.SHUNTU_PATTERNS.some(pattern => pattern.includes($type(tid)) && - pattern.filter(t => hand.includes(t)).length >= 2); + pattern.filter(t => hand.includes(t) && t !== $type(tid)).length >= 2); } private withTsumoTile(tile: TileId | undefined, isRinshan: boolean): TileId { diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 7b13337acf..874a83a745 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -247,7 +247,7 @@ export class PlayerGameEngine { const canCii = !this.isMeRiichi && house === Common.prevHouse(this.myHouse) && Common.SHUNTU_PATTERNS.some(pattern => pattern.includes($type(tid)) && - pattern.filter(t => this.myHandTileTypes.includes(t)).length >= 2); + pattern.filter(t => this.myHandTileTypes.includes(t) && t !== $type(tid)).length >= 2); this.state.canRon = canRon ? { callee: house } : null; this.state.canPon = canPon ? { callee: house } : null;