diff --git a/server/channelserver/handlers_shop_gacha.go b/server/channelserver/handlers_shop_gacha.go index 2ebf209ea..1341e341c 100644 --- a/server/channelserver/handlers_shop_gacha.go +++ b/server/channelserver/handlers_shop_gacha.go @@ -358,6 +358,9 @@ func getRandomEntries(entries []GachaEntry, rolls int, isBox bool) ([]GachaEntry totalWeight += entries[i].Weight } for { + if rolls == len(chosen) { + break + } if !isBox { result := rand.Float64() * totalWeight for _, entry := range entries { @@ -373,9 +376,6 @@ func getRandomEntries(entries []GachaEntry, rolls int, isBox bool) ([]GachaEntry entries[result] = entries[len(entries)-1] entries = entries[:len(entries)-1] } - if rolls == len(chosen) { - break - } } return chosen, nil }