This was surprisingly easy to add, albeit a bit awkward. I learned how to add trainer battles without headers this way, so I may go back to CeladonU and restructure with this in mind.
This commit adds a fully functioning Professor Oak fight, using the Rival party choice script as a launchpad. You can desynchronise the choices easily, just a few number changes. I used the S. S. Anne 2F and Route 22 scripts to hodgepodge it together.
Because of how I did this, Oak is fully re-fightable, taking inspiration from XY Serena's daily re-fights.
I tried to add a Yes/No prompt, but it would still pull you into the fight, presumably because it's calling a beforebattle script before the code. It's a bit of a hassle and my CeladonU code sucked, so I decided to leave it out for now.
It's intended to be unlocked once you enter the Hall of Fame, thus that change there. That hasn't been tested properly so uhhhh *shrug*
This was hell to do. There is still one bug in there, and that's the item pickups don't work for some reason. I don't know how these work honestly so if anyone wants to sort that go ahead.
Anyway, some stuff on the map;
- Currently, a warp from B1F leads there, which is intentionally non-returnable. The player walks through the whole map to get to the warp panel. A walk of humanity's shame, if you will. A warp for where the player is meant to go will be necessary later.
- Lore from Japanese media, particularly the first movie's interpretation of Mewtwo, is included. This is based on context clues on its canonicity from LGPE and other bits.
- A clue on how to get the Old Sea Chart is not-so-subtly included.
The MissingNo. event is unfinished, I intend for Martha to deal with that. The text intentionally lacks a "done" bit to force an unpredictable error; I believe this is inconsequential gameplay-wise and should make for a good opening quote when fighting it.
Oh, and Faraway Island has Mankey, Butterfree, and Primeape as find-able Pokemon now. This should be expanded upon later.
be on the look out for more static ids in the wild
unused constants are still included because a
script could be written to check whether the player
has picked up an item/fought a legendary etc.