Essentially, I bruteforced making it work; made the tiles we desire be warps for us instead. You do this by noting the bottom-left tile of the block for some reason, so tile $30 of forest will be a warp tile even though it really looks like it shouldn't be. As far as I can tell, there are no consequences for this war crime code as long as you don't put a warp where it shouldn't be.
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*