Adding kick player support.

This commit is contained in:
2020-04-22 21:22:13 -07:00
parent 2a6a0b038e
commit 8893a50596
5 changed files with 30 additions and 75 deletions

View File

@@ -577,7 +577,8 @@
(readyToStart . ,(fold (lambda (p r)
(and (player-ready-to-start p) r))
#t
(game-players g)))))))
(game-players g)))
(host . ,(player-name (car (game-players g))))))))
(define (buy-crop crop unnormalized-crop amount cash-value player game)
(let ((total-cost (* amount (alist-ref unnormalized-crop
@@ -1448,11 +1449,13 @@
(player-otbs kicked-player)))
(safe-set! (game-players (*game*))
(filter (lambda (p)
(eq? p kicked-player))
(not (eq? p kicked-player)))
(game-players (*game*))))
(db-remove-user-game (player-user-id kicked-player) (game-id (*game*))))
(message-players! (*game*) (*player*) '() type: "update")
(create-ws-response (*player*) "update" '()))
(db-remove-user-game (player-user-id kicked-player) (game-id (*game*)))
(mailbox-send! (player-mailbox kicked-player) '((type . "left-game") (value . ())))
(message-players! (*game*) (*player*) `((color . ,(symbol->string (player-color kicked-player))))
type: "player-left-game")
(create-ws-response (*player*) "player-left-game" `((color . ,(symbol->string (player-color kicked-player)))))))
((string=? type "leave-game")
(safe-set! (game-colors (*game*))
(cons (player-color (*player*)) (game-colors (*game*))))