mirror of
https://github.com/misskey-dev/misskey.git
synced 2025-01-15 01:31:14 +09:00
wip
This commit is contained in:
parent
ce65e9dd69
commit
4183fec4ab
@ -519,14 +519,9 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit {
|
|||||||
const engine = new Mahjong.MasterGameEngine(room.gameState);
|
const engine = new Mahjong.MasterGameEngine(room.gameState);
|
||||||
const myHouse = getHouseOfUserId(room, engine, user.id);
|
const myHouse = getHouseOfUserId(room, engine, user.id);
|
||||||
|
|
||||||
if (riichi) {
|
|
||||||
if (Mahjong.Utils.getHoraTiles(engine.state.handTiles[myHouse]).length === 0) return;
|
|
||||||
if (engine.state.points[myHouse] < 1000) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
await this.clearTurnWaitingTimer(room.id);
|
await this.clearTurnWaitingTimer(room.id);
|
||||||
|
|
||||||
await this.dahai(room, engine, myHouse, tile);
|
await this.dahai(room, engine, myHouse, tile, riichi);
|
||||||
}
|
}
|
||||||
|
|
||||||
@bindThis
|
@bindThis
|
||||||
|
@ -238,6 +238,11 @@ export class MasterGameEngine {
|
|||||||
public commit_dahai(house: House, tile: Tile, riichi = false) {
|
public commit_dahai(house: House, tile: Tile, riichi = false) {
|
||||||
if (this.state.turn !== house) throw new Error('Not your turn');
|
if (this.state.turn !== house) throw new Error('Not your turn');
|
||||||
|
|
||||||
|
if (riichi) {
|
||||||
|
if (Utils.getHoraTiles(this.state.handTiles[house]).length === 0) throw new Error('Not tenpai');
|
||||||
|
if (this.state.points[house] < 1000) throw new Error('Not enough points');
|
||||||
|
}
|
||||||
|
|
||||||
const handTiles = this.state.handTiles[house];
|
const handTiles = this.state.handTiles[house];
|
||||||
if (!handTiles.includes(tile)) throw new Error('No such tile in your hand');
|
if (!handTiles.includes(tile)) throw new Error('No such tile in your hand');
|
||||||
handTiles.splice(handTiles.indexOf(tile), 1);
|
handTiles.splice(handTiles.indexOf(tile), 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user