Skip to content

fix!(lua.endpoints): allow rearrange of jokers/consumables during ROUND_EVAL and BLIND_SELECT #207

Description

@S1M0N38

The rearrange endpoint rejects valid reordering of jokers and consumables during ROUND_EVAL and BLIND_SELECT that the game permits. Verified against vendors/lovely/dump/.

Bug

src/lua/endpoints/rearrange.lua requires_state omits ROUND_EVAL and BLIND_SELECT, so reordering jokers or consumables mid-eval or during blind selection returns INVALID_STATE.

The game allows it: CardArea:set_ranks() (cardarea.lua:245 in the dump) sets states.drag.can = true based purely on area type. Both G.jokers and G.consumeables are created with type = 'joker' (game.lua:2291/2297), so they fall into the else branch with no state guard.

Only jokers and consumables are affected; hand cards are not (no hand is shown in these states, and the hand branch is already correctly restricted to SELECTING_HAND/SMODS_BOOSTER_OPENED).

Fix

Add G.STATES.ROUND_EVAL and G.STATES.BLIND_SELECT to requires_state and to the completion-detection state lists for the jokers/consumables branches (~L215, ~L221). Leave the hand branch unchanged.

Sibling of #202, #203#206.

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