Port the start menu, the party menu and the pack outside battle
Checks / web (push) Canceled after 0s
Checks / web (push) Canceled after 0s
Start opens the original start menu. POKéMON shows the party with the Pokémon submenu (stats, switching, move order, held items); PACK shows the four pockets with the field item effects for healing, PP and the Bicycle, plus giving and tossing. The menu runs on a script draft, and its cursors persist until a battle clears them. Select keeps the Key Items shortcut. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
60e06ae678
commit
1af2beacdc
18 files changed
+1918
-49
No files matched your search
@@ -169,6 +169,8 @@ export interface BattleOptions {
|
||||
tutorial?: boolean;
|
||||
/** GetWorldMapLocation for the current map (LevelUpHappinessMod). */
|
||||
landmark?: number;
|
||||
/** wPartyMenuCursor as the last party menu outside battle left it. */
|
||||
partyMenuCursor?: number;
|
||||
}
|
||||
|
||||
/** BATTLERESULT_BOX_FULL: a catch filled the current box. */
|
||||
@@ -424,9 +426,9 @@ export class Battle {
|
||||
private battleHasJustStarted = 0;
|
||||
/** wCurPartyMon: the party index a menu picked. */
|
||||
private curPartyMon = 0;
|
||||
/** wPartyMenuCursor: the 1-based cursor of the last party menu, which
|
||||
* no ported field menu sets before a battle. */
|
||||
private partyMenuCursor = 0;
|
||||
/** wPartyMenuCursor: the 1-based cursor of the last party menu, from
|
||||
* the start menu's until the battle's own party menu sets it. */
|
||||
private partyMenuCursor: number;
|
||||
/** wLastPlayerMon: the Pokémon that was out before the last switch. */
|
||||
lastPlayerMon = 0;
|
||||
/** wEnemyIsSwitching: ParseEnemyAction keeps the current move. */
|
||||
@@ -455,6 +457,7 @@ export class Battle {
|
||||
constructor(private options: BattleOptions) {
|
||||
this.data = new BattleData(options.data.reader);
|
||||
this.matchups = this.data.typeMatchups();
|
||||
this.partyMenuCursor = options.partyMenuCursor ?? 0;
|
||||
if (options.trainer) this.battleMode = C.TRAINER_BATTLE;
|
||||
if (options.tutorial) this.battleType = C.BATTLETYPE_TUTORIAL;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user