feat: add reshuffle
This commit is contained in:
@@ -262,6 +262,25 @@ func (r *Room) handleInput(act roomAction) {
|
||||
}
|
||||
r.graceUntil = time.Now().Add(r.dealDelay) // انیمیشنِ پخشِ بقیهی کارتها
|
||||
r.react()
|
||||
case "reshuffle":
|
||||
// بُرِ مجدد با مصرفِ یک بلیت: فقط حاکم و فقط پیش از انتخابِ حکم.
|
||||
if r.game.Phase != game.PhaseChooseTrump || act.seat != r.game.Hakem {
|
||||
r.sendError(act.seat, "بُر مجدد مجاز نیست")
|
||||
return
|
||||
}
|
||||
if s.isBot || s.userID == 0 {
|
||||
return
|
||||
}
|
||||
if err := r.settler.ChargeTicket(s.userID); err != nil {
|
||||
r.sendError(act.seat, "بلیت کافی ندارید")
|
||||
return
|
||||
}
|
||||
if err := r.game.Reshuffle(act.seat); err != nil {
|
||||
r.sendError(act.seat, err.Error())
|
||||
return
|
||||
}
|
||||
r.graceUntil = time.Now().Add(r.firstHandDelay) // انیمیشنِ بُر زدنِ مجدد
|
||||
r.react()
|
||||
case "play_card":
|
||||
card, err := game.ParseCard(act.msg.Card)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user