Regarding paths and triggers, I'll probably go back and redo those, although as you said turning and pressing A only saves a frame. The pathing info is helpful though, thanks!
For biking, yeah, that's true, I could just zigzag to avoid bonking, but that doesn't really work in encounter metatiles (like caves or large grass patches), since the timing for encounter frames is the same regardless of what direction you go in (a metatile takes 4 frames to traverse at max speed).
Grovyle is one of the hardest KOs in the run, probably even worse than Slaking (although the fights are very different because the challenge with Slaking is long-term setup).
It has 52 health, and a Max crit tackle (1/256) does 26 damage. Water Gun does much less because it's NVE, and Mud Shot does more because of STAB but adds seconds of text and animation time.
I'm pretty sure any two critical Mud Shots KO though. I don't think crit Mud Shot + non max crit Tackle does. Although, the second Mud Shot is free since the speed lowering doesn't happen when it KOs
When I went into the Grovyle battle in the current encode, I couldn't find any frames for max crit Tackles in more than 600 frames (I have a little GUI program in python I use for this, for simulating the RNG in battles, for encounters, etc). This happened even when using the first Mud Shot and looking for a Max crit Tackle on turn 2, or the reverse. I just got absolutely awful RNG in that fight.
It's possible that when I go back and redo, I'll get better RNG and this won't be the case.
The reason I use Strength is because I was paranoid about having enough Water Gun PP for Slaking. I might have enough left to not teach Strength at all, but it might lengthen the Magma Admin fight (Strength can just breeze through it and save PP).
IIRC, in GoddessMaria's TAS she found it was faster to do one double battle than two single battles, and having Abra in the double battle has the advantage of giving it enough levels to gain an HP with an HP Up. I'm pretty sure it's faster, but I can test it and find out. Battle intro's and outtro's take time, and it would take 6 turns instead of 3.
The reason I need 4 Pokemon with single corruptuon is a bit complicated:
- the pomeg glitch used doesn't work if you have only two Pokemon. It relies on having at least one fainted pokemon, and having the Pokemon last used in battle replaced by an empty slot (this is done by depositing Marshtomp, emptying slot 3). This means I need a fainted Pokemon (zigzagoon), Abra (for Pomeg glitch), and Marshtomp (corruption target, deposited when formerly in slot 3) at minimum.
- I also need to later deposit a Pokemon in box 12 whose nickname is bootstrap code, to redirect the glitch move animation to execute box names. Originally, this is supposed to be Abra, but:
- with single corruption, since all my Pokemon are fainted, I'm not able to deposit abra in Box 12 once I get the egg. Even if I could deposit it before I pick up the egg, I wouldn't be able to use the egg in battle since it would then take up slot 2, not slot 3. The game, seeing I have no healthy Pokemon, would send out an empty slot from slot 3, the last one used. And I can't do it after I get the egg, the game just says it's "my last Pokemon". That's why I catch the Wingull. If I heal my party, I still can't send out the egg as the game will then send out the first healthy non-egg Pokemon.
With double corruption, this is avoided since Marshtomp will be healthy when withdrawn. But double corruption takes an additional battle and 1/32 RNG for alignment. I have a branch in TASStudio set up for it but haven't TASed it to the end yet. It's likely slower simply bc of an additional battle and alignment RNG. In the original WIP I did double corruption.
I've never used userfiles before (this is my first TAS), but I can upload the WIP movie file tomorrow morning.
I can also post the Lua script.
The PyQt program I use as RNG help is at:
https://github.com/arantonitis/Gen3Tools
It's minimally documented and not totally finished but it works for encounters, damage/critical hits, quick claw, accuracy right now.
Thanks for getting back! Lately I've been working on a crazy idea I had: TASing all of FireRed inside emerald by constantly inputting map and script data using an improved version of the input code here. I've gotten a basic example working loading a custom tileset, map, and script but still need to do more research before I can actually begin TASing it. I think it could end up being a really interesting playaround.
Edit: Lua script file is here:
https://github.com/arantonitis/gen3tools/blob/master/emerald-jp.lua
211301 is just for timing purposes to show when input has completed.