From 7e44005b62ab0de1d40f6527ea21eecfeff0969a Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 6 Jul 2025 11:39:14 -0400 Subject: fix draft bugs Do not access an empty slice by index. Do not assume all received notificarions are DraftPickPrompts. --- go/game/draft.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/go/game/draft.go b/go/game/draft.go index d698abce..5854d23d 100644 --- a/go/game/draft.go +++ b/go/game/draft.go @@ -79,8 +79,8 @@ func (d *Draft) CardsPerPack() int { func (d *Draft) PlayerNames() []string { n := make([]string, 0, len(d.players)) - for i, p := range d.players { - n[i] = p.Name + for _, p := range d.players { + n = append(n, p.Name) } return n } @@ -162,7 +162,7 @@ func (d *Draft) AddPlayer(p *Player) { d.players = append(d.players, p) } -// AddPlayerReplacingAI adds a player to t+e draft replacing the first encountered AI. +// AddPlayerReplacingAI adds a player to the draft replacing the first encountered AI. func (d *Draft) AddPlayerReplacingAI(new *Player) { if new.Ctrl == nil { log.Fatal("added player without control") @@ -195,7 +195,9 @@ func (ctrl *randomDraftAiCtrl) Close() { } func (ctrl *randomDraftAiCtrl) SendNotification(n PlayerNotification) error { - ctrl.pack = n.Context.(PileOfCards) + if n.Valid() && n.Notification == DraftPickPrompt { + ctrl.pack = n.Context.(PileOfCards) + } return nil } -- cgit v1.2.3