coder / coder/balatrobot

fix!(lua.endpoints): allow sell of jokers/consumables during BLIND_SELECT

Open
#206 0 comments 0 reactions 1 assignee Claimed by @S1M0N38 View on GitHub
completed-in-dev
Dominant language
Python
Stars
72
Forks
18
PR merge metrics
No merged PRs in 30d

Description

The `sell` endpoint rejects valid sales during `BLIND_SELECT` that the game permits. Verified against `vendors/lovely/dump/` and confirmed empirically.

## Bug

`src/lua/endpoints/sell.lua` `requires_state` omits `BLIND_SELECT`, so selling a joker or consumable during blind selection returns `INVALID_STATE`. The game allows it: `Card:can_sell_card` (`card.lua:1896` in the dump) has the `BLIND_SELECT` guard **commented out**.

Empirical: sold a joker during blind select → money 30→31, joker removed, state stayed `BLIND_SELECT`.

## Fix

Add `G.STATES.BLIND_SELECT` to `requires_state` **and** the completion-detection `valid_state` whitelist (~L150). Both must change or the endpoint hangs.

Sibling of #202.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.