Repository navigation
Conversation
# Conflicts: # src/mods/Loader.lua
# Conflicts: # docs/modding.md # src/mods/Loader.lua # src/world/WorldAPI.lua
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Beat Up's dedicated executor (#206) and native held-item adjustment (#182) need to reach the same build. Without #182, nonlethal, Substitute and Endure strikes can omit Focus Band draws, shifting later RNG and changing native execution.
Add cross-engine contract coverage through the same actual API-3 consumer, planner and native executor. FireRed and Emerald evaluate Focus Band independently for each reached strike; a previous successful roll must not save a later hit. This PR adds no new runtime behavior beyond its already published prerequisites.
Stacked on #206 plus #182. Clean composed prerequisite: 45220e4; review the test-only commit 03d68a4 against its parent. The #182 prerequisite cherry-pick preserves #206's Substitute clipping, per-strike counter memory and Spit Up Protect callback.
Validation:
The reference has a distinct move-local persistence policy for Ruby/Sapphire. FireRed/Emerald do not select it, so these tests do not invent that behavior. Native physical item IDs have built-in metadata; parameter mutation therefore uses an imported-shaped custom item rather than pretending to override that table.
Focus Band draws are checked at the actual 0..99 boundary; critical/variation observations retain the existing semantic normalization. Full raw RNG traces, other scripted executors, multi-trainer/link and Ruby/Sapphire controllers, animation and complete gameplay remain separate acceptance surfaces. Gen1 stays read-only, with no source changes or publication.
Combined full-suite acceptance and hosted CI are reported below.
Hosted CI: all six workflows for 03d68a4 report action_required pending maintainer approval. The dedicated contract run has zero executed jobs. Local acceptance is separate.
Combined-fork acceptance: integrated into Roxas2712:codex/portability-testing. Clean runtime 4d16999 passes 216/216 engine suites, 3/3 SDK suites and B30 with zero FAIL lines. The same runtime passes all 44 workers / 4,622 paired observations. The feature's only added runtime commit is its explicitly identified #182 prerequisite; the contract commit changes tests/workflow/docs only. Subsequent combined commits record validation.