Skip to content

fix!(lua.endpoints): allow sell of jokers/consumables during ROUND_EVAL #204

Description

@S1M0N38

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

Bug

src/lua/endpoints/sell.lua requires_state omits ROUND_EVAL, so selling a joker or consumable mid-eval returns INVALID_STATE. The game allows it: Card:can_sell_card (card.lua:1896 in the dump) has no ROUND_EVAL guard, and jokers/consumables share area.config.type == 'joker' (game.lua:2291).

Empirical: sold a joker mid-eval → money 8→9, joker removed, state stayed ROUND_EVAL.

Fix

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

Sibling of #202.

Metadata

Metadata

Assignees

Labels

completed-in-devThis issue have been solved in dev branch

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions