Skip to content

Apply native GSC priority classes before Speed - #390

Closed
Roxas2712 wants to merge 8 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-gen2-turn-priority
Closed

Roxas2712 wants to merge 8 commits into
UNDERdecoded:mainfrom
Roxas2712:codex/upstream-gen2-turn-priority

Conversation

@Roxas2712

@Roxas2712 Roxas2712 commented Oct 28, 2026 •

Copy link
Copy Markdown

Native GSC imports only stamp priority-hit moves. Protect/Endure, Counter/Mirror Coat and Vital Throw can therefore be compared as ordinary moves; a slow Pokemon takes damage before Protect runs. The live model query also lacked the cartridge priority classes.

Use one native resolver in the actual shared comparator and Gen2 model. Preserve explicit cartridge/mod priorities (including zero), keep Teleport neutral despite sharing the older cache effect with Roar/Whirlwind, and retain other generations' existing rules. No second simulator, re-import, registry mutation or extra RNG draw is added.

This draft depends on #351/#124's native model/viewport prerequisites. It adapts the older native queue closure owner directly rather than requiring a newer queue helper absent from that host.

Validation on exact offered source 1c6d88c9:83/83 priority/model/actual queued-turn checks across Gold/Silver/Crystal, including live Protect/Endure state, PP, blocked enemy damage, renamed effects and explicit overrides;262/262 existing model calculation/completion checks pass. The fork's old-source counterexample reproduces57 failures and its corrected broader battle/queue/held-item regression groups pass. These are separate older-host and fork receipts, not substituted for each other. Current upstream-main composition/full qualification remains pending.

Contributions by Roxas2712, offered to Cedric/UNDERdecoded under LICENSE-ROXAS2712.md, subject to existing grants and other contributors' rights. Mods, Gen1 and player installations are not modified. Complete Gen1 behavior/model/release parity remains open. See docs/native-gen2-move-priority.md.

Direct offered-source reference qualification on exact 7cbf55e1: actual frozen Gen1 GSC Battle.new/Mon.new vs this offered native controller agrees on486 order comparisons and27 priority queries across Gold/Silver/Crystal, with all reference hashes unchanged. This is independent of the fork receipt; it does not qualify current upstream-main composition or complete move/model semantics.

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