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.
Ordinary GBA multi-hit moves currently draw hit count before accuracy, reuse one damage calculation for all strikes and stop when Substitute breaks. Mods therefore observe different RNG calls, damage events and live continuation than the native reference. The underlying critical helper also exposes
1..denominatorrather than native0..denominator-1.Correct ordinary native effects 29, 44 and 77: draw count after accuracy using the native two-stage
0..3opcode, calculate each reached strike independently, continue against real HP after Substitute, and stop on actual Endure/sleep/faint/immunity conditions. Preserve explicit count/damage handlers, builtin delegation, called PP and the Sleep Talk caller boundary. Suppress Twineedle's native chance command after a later immunity. Keep scripted Beat Up's distinct eligibility and Endure continuation intact; older generations retain their existing policies.Install generation-aware builtin adapters per dataset before mods capture public callbacks. Include native command revision 6 (party codec stays 1) so older peers cannot enter party exchange. Independently audit raw fixture
da62fe7b50f40107→a7db0874db78aec0with the unchanged #220 hasher and only the revision token changed. No older-generation golden was reblessed.Stacks on #220. This is the ordinary multi-hit prerequisite found during native Rage work; Rage itself remains a separate next change. Gen1 stays an unchanged read-only reference, without Gen1 development or publication.
Validation at clean feature runtime
00e67c40abcb224ff693e4f543a4d018014edf73(later commit documents acceptance):535a5ec088c1ae1bf4d91dd3e35a56f64cf46d91in 100 workers / 74,496 paired observations. The new mode contributes 5,760 observations per FireRed/Emerald profile, retaining every raw RNG bound/value, per-hit public event, all battler HP/PP/status/substitute HP/last move/stage. Covers all four slots/count words/critical stages, Substitute/Endure/Focus Band/KO, accuracy/Protect/hidden/type immunity, Twineedle chance, called PP and live sleep/type/faint changes.1a20cb1f104972c46c756ba6a55e814fc27619c8: 240/240 engine suites, SDK 3/3, B30 and the same full reference comparison. Existing Beat Up contracts remain green.See
docs/native-gen3-multi-hit.mdfor commands, mappings and scope. Triple Kick's dedicated accuracy/power script, Ruby/Sapphire move-end scheduling, full Sleep Talk selection/status controllers, complete ability interactions, Rage, whole-game RNG/VBlank, animations and full playthroughs remain separate. Existing prepared-input boundaries are retained; no differing observations or RNG calls are filtered from the checker.The feature branch is pushed to
Roxas2712/Gen2Recomped:codex/gen3-multi-hit. Combined fork publication and hosted CI are tracked separately from local acceptance.Published combined snapshot:
Roxas2712/Gen2Recomped:codex/portability-testingatfa3b8a6475af4ce418569bc0795c547456ffb0ec. Changes after the tested combined runtime only add validation/publication documentation. Forkmainremains13af468b97dc37015d14ad5c71d7f067c3ee810d.All eight hosted workflows currently require maintainer approval (
action_required). The dedicated contract run has zero jobs, verified separately; local acceptance does not claim hosted execution. The app's 100-artifact identity cap rejected attachment, but the regular PR remains published and linked.