# Final Fantasy II (USA) Speedrun Practice This is a modification of the original Final Fantasy IV for SNES, released in the United States as Final Fantasy II. This patch adds several features to the game that are useful for practicing the speedrun. ## Requirements This patch currently requires an unheadered USA 1.0 ROM. For purposes of verification, the SHA256 digest of the file should be: `680535dc1c4196c53b40dc9c2c9bc159a77802ab8d4b474bef5dc0281c15ad06` As far as I know, this patch should work on all commonly used emulators and flash carts. If you experience differently, please let me know. ## Patching You will need to apply the patch to your clean ROM using a bps-compatible patching tool, such as Floating IPS (flips). Alternately, you can use a web-based patcher, of which several seem to be available. ## NoCW Compatibility This patch uses some additional memory locations that may affect your ability to proceed normally through the glitch maps. To maximize your chances of success, you may wish to adjust some settings upon reaching that point of the game: Disable encounters, disable auto-dash, set the custom seed to 0 and disable the forced seed option. Other settings may work as well, but these should be foolproof. In one instance, I did experience a weird issue in the very late floors (determined by spell lists), but an attempt to reproduce worked fine. To mitigate this, you may wish to make a safety save at some point. Since you can save anywhere, this is simple. ## Known Issues * When using the battle simulator, buffered inputs entered prior to the fight starting (during the black screen) may not work correctly as they would in a normal battle. This may affect practicing the Milon Z., Golbez, or other fights, depending on your exact strats. Finding a fix for this may be difficult. ## Features and Changes This patch changes the following things in the game: ### Save Anywhere You can now save anywhere, which allows you to create practice saves closer to the relevant location. ### Abbreviated Cutscenes Cutscenes are now reduced to an abbreviated form to get the primary point across. The initial cutscene during the Zeromus battle has been reduced considerably, (hopefully) without affecting initial ATB. If you have any problems, please let me know. (The NoCW version of the fight will likely have the wrong turn order, but this is of minimal consequence due to the nature of the fight.) ### Disable Encounters Encounters can be optionally disabled. This has been designed in such a way to maintain the step route. In other words, if you disable encounters but enable them later, you will get the same encounters you would have gotten if you had never disabled encounters. ### Optional Auto-Dash Either by pressing the Y button or by enabling the Auto-Dash feature in the menu, your character can walk faster. In addition, holding Y while in a vehicle will set the vehicle's speed to that of the Black Chocobo (making slower vehicles slightly faster but slowing the airships down). ### Automatic Battle Timer Each battle is automatically timed with a visible timer in-battle. The timer is updated every frame, but is only copied to the screen at intervals of the game's choosing, so it will appear to stutter, but it is nonetheless accurate. The timer begins at the start of the battle and stops when the battle is over. The final displayed time should be accurate. Do note, however, that it assumes a frame is exactly 1/60th of a second, whereas the actual SNES runs at approximately 60.0988 FPS. This consideration is most likely irrelevant for the intended use (comparing battle strategies). The timer will stop if the game is paused. Note that the digits after the decimal point refer to the frame count, and range from 0 to 59, not 0 to 99. ### Step Route Seeds Seed 92 is guaranteed at the start of the game. In addition, once you've begun the game, you can (using the Custom menu), configure the `Seed` option to `On` and set the `Custom Seed` option, which will force your seed to the configured value when you next save and reset. By default, this is set to force seed 43 on reset, but you can alter or disable this as desired. This feature will automatically disable itself after reset, so any further save and resets will update the seed randomly as normal. (You could, of course, re-enable the feature to choose another seed.) To be clear, the `Off` choice for the `Seed` option will default to a new random seed each time you reset. The third choice, `Save`, will preserve your existing seed and index when you save and reset, allowing you to maintain the current step route even if you reload. ### Guaranteed Grind Fight A new tile on the bridge in the Giant of Bab-il Lung provides a guaranteed grind fight, in case you're practicing with encounters disabled or have lost your step route. ### Experimental ATB Display Experimental ATB display is available in battle by tapping the Y button. This currently will not function usefully in the Zeromus battle. Feel free to try it to see why. ### Battle Simulator A fully-featured battle simulator is available by speaking to the soldier outside the training room in Baron. Within the simulator, you will be able to practice every important fight in the game (from the speedrun perspective). (The simulator has been implemented by replacing the Big Chocobo to some extent. As a result, talking to the Big Chocobo will also activate the simulator.) After choosing a battle, you can then load a preset which sets up your party and inventory. The currently available presets correspond to the route followed by my [no64-rosa guide](https://ff4kb.aexoden.com/guides/no64-rosa/). If you intend on using this feature and would like additional presets added for your own route, please contact me. After choosing a preset, you can customize the party further by selecting `Party`. You can swap characters by choosing one and then choosing the other. You can switch between the two-front and three-front formations by tapping left on the d-pad. Otherwise, you can double click on a character to enter the character editor. NOTE: There is currently no way to edit the inventory. The inventory will be that which was set by the preset. The character editor allows you to choose which character is in this slot (which is more for fun, rather than useful for speedrunning). In addition, you can set the character's level and stats will be updated automatically. Both HP and MP can be configured to a desired level, including underflowing the MP. You can alter the character's equipment, and see the stat updates in real time. Only valid equipment combinations will be allowed. For instance, if you equip the Avenger (a two-handed weapon) on Cecil, he will not be allowed to select a shield. Do note that there is currently no way to edit the spell lists in the editor (for switching which spells are where). The built-in presets can affect the spell lists, so if you need a particular setup, please let me know so I can add a preset. After finishing configuration, simply choose the `Start Battle` option to begin the battle. It should execute exactly as if you were actually at the battle, allowing you to practice more easily (especially on console using a flash cart). You can run away from any battle by pressing L+R+Select. It's recommended to press and hold Select first, as this will prevent the "Can't Run" message from appearing that would otherwise appear. ## Feature Requests If there are other features that could improve your ability to practice the speedrun, feel free to suggest them and they may be added in a later version. ## Version History ### v0.4.1 * Fixed the spell lists when using custom settings in the battle simulator. ### v0.4.0 * Added the ability to run from battles in the battle simulator by pressing Select+L+R. * In the battle simulator, the custom settings are now saved before the battle and restored afterward. This means the party will be restored and the inventory will revert as expected, if doing the same battle multiple times consecutively. * The automatic battle timer now stops upon Zeromus death. * The standard preset for Dr.Lugae now includes a dead Rosa. A "Rosa Living" preset has been added to allow for practicing the previous pattern. In both cases, three characters have the Mute status, as if the healing pot had not been used. ### v0.3.1 * Fixed the ability to save the seed when saving and resetting. * Fixed the ability to use a random seed when saving and resetting. ### v0.3.0 * Slightly shortened the length of the post-Kainazzo cutscene. * Fixed a bug where Cid wasn't visible in the Giant cutscenes. * Added an automatic in-battle timer. * Fixed a bug with the battle simulator and handling inputs in battle. * Change the ATB display to use decimal numbers. ### v0.2.0 * Reset the movement speed when beginning an event, to avoid weird movement. * Fix the poison mosaic effect when running into a cutscene. * Fix a crash after the Q.Eblan/K.Eblan battle. * Shortened the Q.Eblan/K.Eblan battle to some extent. If this interferes with anyone's inventory management, please let me know, but I left several dialog boxes. * Fix the display of the ATB timers to be on the correct sides. * Added the ability to save the current seed when saving and resetting. ### v0.1.0 Initial public beta release.