Fix cargo jump eligibility and add optional ledgedash delay #41

Merged
JayKobe6k merged 2 commits from fix/environment-cargo-jump into master 2026-10-14 18:32:35 +00:00
Owner

Summary

  • Permit grounded DK cargo wait/walk/turn jumps while retaining existing input gates.
  • Add optional advancing-game-frame ledgedash delay without weakening ECB clearance or timeout.
  • Preserve and document raw halo hurtbox telemetry, with parser regression.

Validation

  • Full libmelee: 466 tests passed.
  • Parent strict workspace Pyright: zero errors/warnings.
  • Focused Ledgedash Ruff/format and diff checks passed.

No deployment or report closure for these pending fixes is claimed.

## Summary - Permit grounded DK cargo wait/walk/turn jumps while retaining existing input gates. - Add optional advancing-game-frame ledgedash delay without weakening ECB clearance or timeout. - Preserve and document raw halo hurtbox telemetry, with parser regression. ## Validation - Full libmelee: 466 tests passed. - Parent strict workspace Pyright: zero errors/warnings. - Focused Ledgedash Ruff/format and diff checks passed. No deployment or report closure for these pending fixes is claimed.
fix: support cargo jumps and configurable ledgedash delay
All checks were successful
Linux tests / Python 3.13 (push) Successful in 57s
Linux tests / Python 3.12 (push) Successful in 57s
Linux tests / Python 3.11 (push) Successful in 1m1s
Linux tests / Python 3.11 (pull_request) Successful in 1m2s
Linux tests / Python 3.13 (pull_request) Successful in 58s
Linux tests / Python 3.12 (pull_request) Successful in 58s
f140fbac76
JayKobe6k left a comment

One packet-prediction regression. Full diff reviewed; 466 tests pass.

One packet-prediction regression. Full diff reviewed; 466 tests pass.
@ -2012,0 +2016,4 @@
# CargoWait, CargoWalk, and CargoTurn check ftCo_8009BB1C in IASA.
# Cargo knee bend, air, and landing states do not offer a new ground jump.
# https://github.com/doldecomp/melee/blob/8bf51fe3e94c42fd51bf55e78a59744b7b8fbfc3/src/melee/ft/chara/ftCommon/ftCo_CargoJump.c
if player.on_ground and player.character is Character.DK and player.action in _DK_GROUND_CARGO_JUMP_ACTIONS:
Author
Owner

[P3] This new eligibility also reaches calculate_packet_intent: a fresh X/Y packet from grounded DK cargo states 351–355 now predicts Action.KNEE_BEND (24), although the engine enters CargoKneebend (356). All five states reproduce; the base returned None. Callers receive incorrect expected-action metadata. Make _packet_intent's grounded-jump branch character/state-aware for cargo (or return None there) and cover this public prediction path.

[P3] This new eligibility also reaches `calculate_packet_intent`: a fresh X/Y packet from grounded DK cargo states 351–355 now predicts `Action.KNEE_BEND` (24), although the engine enters CargoKneebend (356). All five states reproduce; the base returned `None`. Callers receive incorrect expected-action metadata. Make `_packet_intent`'s grounded-jump branch character/state-aware for cargo (or return `None` there) and cover this public prediction path.
fix: avoid common jump predictions for DK cargo
All checks were successful
Linux tests / Python 3.13 (push) Successful in 1m3s
Linux tests / Python 3.12 (push) Successful in 1m4s
Linux tests / Python 3.11 (push) Successful in 1m8s
Linux tests / Python 3.11 (pull_request) Successful in 1m10s
Linux tests / Python 3.12 (pull_request) Successful in 57s
Linux tests / Python 3.13 (pull_request) Successful in 57s
a1840aee25
Author
Owner

Review comment #4991: Fixed in a1840aee25. Reused is_carrying_enemy() to return None for cargo jump predictions instead of common KNEE_BEND; jump eligibility/gates unchanged. Public packet regression failed all 30 cargo cases before the fix. Tests: 302 focused and full python test.py 469 pass; diff check passes. Ruff passes excluding inherited I001/RUF005/UP033.

Review comment #4991: Fixed in a1840aee255a46c9f6a4afc81f348e22a1d694e5. Reused is_carrying_enemy() to return None for cargo jump predictions instead of common KNEE_BEND; jump eligibility/gates unchanged. Public packet regression failed all 30 cargo cases before the fix. Tests: 302 focused and full `python test.py` 469 pass; diff check passes. Ruff passes excluding inherited I001/RUF005/UP033.
JayKobe6k merged commit 5cf38d02e7 into master 2026-10-14 18:32:35 +00:00
Sign in to join this conversation.
No description provided.