Skip to content

Row 200: Remote Gachapon Ticket window and USE_REMOTE (0x74) - #1041

Merged
neeerp merged 1 commit into
masterfrom
v83/remote-gachapon
Oct 26, 2026
Merged

neeerp merged 1 commit into
masterfrom
v83/remote-gachapon

Conversation

@neeerp

@neeerp neeerp commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Row 200: the Remote Gachapon Ticket (5451000), which plays any town's Gachapon from afar (report b196).

Client (HeavenClient)

  • Double-clicking the ticket in the Cash tab opens UIWindow.img/RemoteGachapon, laid out as v83 0x81104e lays it out: ten town buttons and the close button.
  • A town button sends USE_REMOTE (0x74) with the ticket's id and the button's index (0–9), then closes the window. Esc, Enter or the close button close it without sending.
  • New remote_gachapon_tests check the ticket class and each button's place against the background.

Server

  • RemoteGachaponHandler maps the index to the machine in gachapon::MACHINES order (9100100–07, 9100109 NLC, 9100117 Nautilus). Any other item, or an index past the last, is ignored.
  • The machine rolls at once, with no yes or no, and its Page::Act takes the remote ticket as it names the prize. The world hears the win from that machine's town.
  • A full bag keeps the ticket, and without a ticket nothing happens. This is Cosmic's flow; the choice is noted in QUESTIONS.
  • Effect::Gachapon now carries the ticket it takes.
  • The Cash Shop sells the ticket again: inert() exempts it.

Tests

  • Unit tests: net (gachapon, the handler, the remote script, cash_shop) and runtime.
  • Harness: gachapon (5/5, including a far machine's play and a full bag keeping the remote ticket) and water_of_life.
  • Client ctest: 193/193 in build-dbg.
  • GUI check: the window matches the reference composite. Nautilus named Scroll for Bow for ATT, the world line said "from the Nautilus Harbor Gachapon", the ticket count went from 2 to 1, and Esc closed the window without playing.

…mg/RemoteGachapon) sends USE_REMOTE 0x74 with the ticket and the town's button, and that town's machine rolls at once and takes the ticket as it names the prize; a full bag keeps it, and the Cash Shop sells it again
@neeerp
neeerp merged commit a262c01 into master Oct 26, 2026
1 check passed
@neeerp
neeerp deleted the v83/remote-gachapon branch October 26, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant