- Enable Route 29, its Route 46 gate, Cherrygrove City and its buildings. - Run item balls through FindItemInBallScript and fruit trees through FruitTreeScript, with a native daily reset of the daily engine flags. - Port the Pokémon Center nurse (HealParty with the PP Up clamp, CheckPokerus, phone-call checks) and record the whiteout spawn on entering a Pokémon Center, as EnterMapWarp does. - Port standard Poké Marts with keyboard, D-pad and pointer menus. - Add the recoil battle command (Struggle) and VAR_BOXSPACE. - Save fruit trees, the daily reset day and the last spawn map; older version-3 backups migrate by absence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
11d1153802
commit
796fe8f6d5
24 files changed
+1549
-59
No files matched your search
@@ -4,6 +4,8 @@ import {
|
||||
LAST_MAP_GROUP_SIZE,
|
||||
MAP_GROUP_COUNT,
|
||||
NATIVE_MAPS,
|
||||
NUM_ENGINE_FLAGS,
|
||||
RAM,
|
||||
SYMBOLS,
|
||||
} from "./profile";
|
||||
import { defaultTextContext, readString } from "../scripts/text";
|
||||
@@ -360,6 +362,18 @@ export class CrystalAssets {
|
||||
}
|
||||
throw new Error("Wild encounter data is unterminated.");
|
||||
}
|
||||
/** Engine flags kept in the four bytes CheckDailyResetTimer clears
|
||||
* (wDailyFlags1 through wUnusedDailyFlag), from the ROM's EngineFlags. */
|
||||
dailyEngineFlags(): number[] {
|
||||
const r = this.reader,
|
||||
flags: number[] = [];
|
||||
for (let index = 0; index < NUM_ENGINE_FLAGS; index++) {
|
||||
const address = r.word(SYMBOLS.engineFlags + index * 3);
|
||||
if (address >= RAM.dailyFlags1 && address <= RAM.unusedDailyFlag)
|
||||
flags.push(index);
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
/** Emote bubble graphics (data/sprites/emotes.asm). */
|
||||
emote(index: number): Uint8Array {
|
||||
const r = this.reader,
|
||||
|
||||
Reference in new issue
Block a user