Port the moves that span several turns

A recharging, charged, rampaging or rolling Pokémon plays on without the
battle menu on either side, and a biding one uses FIGHT without the move
list. Razor Wind, Solarbeam, Skull Bash, Sky Attack, Fly and Dig charge
first; flying and digging Pokémon can only be hit by the original's
exceptions. Hyper Beam recharges, Thrash and its kind end in confusion,
Rollout and Fury Cutter double up, and Bide returns twice the damage it
took.

The trapping moves hurt their target between turns until it is released,
Mind Reader and Lock-On make the next move hit, and Pursuit strikes a
Pokémon being withdrawn first, on either side.

The new commands are compared with the original in the reference
emulator. Its fixture no longer zeroes wPlayerScreens with its sentinel.

Part of #28

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Sébastien QUEROLandClaude Opus 5.5 committed 2026-10-03 10:57:46 +02:00
1 parent 9e0a2cd2a8
commit c53edb77e5
7 files changed
+713 -39

No files matched your search

+18
View File
@@ -584,6 +584,24 @@ export const MENU = {
/** Battle engine tables and texts, keyed by their PRET labels so that
* \`npm run check:reference\` can verify each address by name. */
export const BATTLE = {
IgnoredOrders2Text: 0x81850,
TookAimText: 0x81136,
StoringEnergyText: 0x80e6e,
UnleashedEnergyText: 0x80e84,
UsedBindText: 0x80e11,
WrappedByText: 0x80e44,
FireSpinTrapText: 0x80e34,
ClampedByText: 0x80e59,
WhirlpoolTrapText: 0x80e24,
BattleText_UsersHurtByStringBuffer1: 0x80de2,
BattleText_UserWasReleasedFromStringBuffer1: 0x80df5,
"BattleCommand_Charge.UsedText": 0x36bdb,
"BattleCommand_Charge.BattleMadeWhirlwindText": 0x36c0e,
"BattleCommand_Charge.BattleTookSunlightText": 0x36c13,
"BattleCommand_Charge.BattleLoweredHeadText": 0x36c18,
"BattleCommand_Charge.BattleGlowingText": 0x36c1d,
"BattleCommand_Charge.BattleFlewText": 0x36c22,
"BattleCommand_Charge.BattleDugText": 0x36c27,
PlayerHitTimesText: 0x812e5,
EnemyHitTimesText: 0x812f8,
DreamEatenText: 0x81227,