- The Safari Zone did have a lot of changes over the generations, check the various links on this side: https://bulbapedia.bulbagarden.net/wiki/Safari_Zone As far as I know, the current mechanics that are in PokeMMO are a simplified version of the Generation 4 mechanics.
- It is a valid critique of my method that I ingored the fact that the player could run out of balls. It could definitely happen that the player is very low on balls, is unlikely to catch the Pokémon because of this, so throwing a Rock would be beneficial to raise the catch rate. However that analysis is suddenly way-WAY more complicated, as not only do we need to modify the infinite graph to one that has a given length (the number of balls the player has remaning), suddenly mixed strategies become viable - after using some Safari Balls that don't catch, maybe it's better to throw a Rock so that the catch rate increases. If I have time, I will try to do a full analysis on that, but that would be like 3-4 times longer.
- As for the exact question on "What to do if the player has exactly 1 Safari Ball left", I believe the answer depends on the catch rate and flee rate, and I would need to calculate that.