Overview
This plugin aims to eliminate the need for requiring a Pokemon to have certain field moves in their moveset to have access to those moves on the overworld. Instead, each species is simply flagged as capable of using a field move if they have the move, OR if they are capable of learning that move in some fashion (Level-up, egg move, TM/HM, or tutor). This makes navigating the overworld less limiting to your party, as you no longer necessarily need to carry specific HM moves in your movesets to progress and explore. However, the old method of having the move in the Pokemon's moveset still functions as well, for rare cases such as Smeargle who isn't naturally compatible with any field move, but may still theoretically carry one of those moves in its moveset thanks to Sketch.
Plugin Features
Removal of the need to have field moves in your party's moveset in order to use them on the field.
Access to field moves are now flagged on a species based on that species' compatibility with the move, rather than knowing the move.
Compatibility with Essential's Ready Menu.
A new "Skills" option appears in a Pokemon's party options. This opens a new submenu containing all usable field moves.
Moves that appear in the Skills menu will now be grayed out if they are currently unusable, instead of always appearing with blue text.
Easily compatible with other plugins that add effects for new field skills not found in Essentials by default, such as Rock Climb or Defog.
Plugin settings that allow you to toggle HM moves visible in the Skills menu based on whether the appropriate badges have been obtained to use that move.
Plugin settings that allow you to toggle whether certain non-HM moves still require the move to be known or not.
Plugin settings that allow you to flag any move you want to function like Milk Drink/Soft-Boiled when used out of battle.
Installation
First, download and install the latest version of my Modular UI Scenes plugin, if you don't already have it. This is required for this plugin to run.
Download this plugin using the link provided and extract its contents to your root Essentials folder.
Use the Settings file located in this plugin's folder to adjust things to your liking.
Plugin Tutorial
Setting Eligible Field Skills
In the plugin Settings file, you may edit all of the moves that should be considered "Field Skills", and which will appear as usable overworld moves in the Skills menu. These come in three varieties:
HM_SKILLS
This is an array of moves that are considered HM moves in your game. These moves are typically only learned via HM's, and require badges to utilize on the overworld. Any move in your game that requires badges to use outside of battle should be included in this array. By default, this array contains all of the moves included in base Essentials that are unlocked via badges. This includes Cut, Fly, Surf, Strength, Waterfall, Dive, Flash, and Rock Smash. Note that despite not having any HM's associated with them in Essentials, both Flash and Rock Smash are still included here due to requiring badges to use.
Note that if you include moves to this array that do not have have any code present to be used outside of battle, then they will simply be ignored, and not appear in the Skills menu.
MISC_SKILLS
This is an array of moves that have effects outside of battle in your game, yet aren't required for progression and thus do not have any badge requirements to use. By default, this includes all of the moves included in base Essentials that have effects when used outside of battle. This includes Dig, Teleport, Sweet Scent, and Headbutt. This array also contains other moves that have historically had effects outside of battle at some point in the series, such as Whirlpool, Defog, Rock Climb, and Secret Power; however, these moves will not be displayed in the Skill menu due to there not being any code present that allows for these moves to have effects outside of battle. However, they will appear once the appropriate code is present for those move's out-of-battle effect.
In addition to the moves listed above, several other moves are listed for compatibility with other plugins that add field effects to moves.
HEAL_SKILLS
This is an array of moves that allow the user to heal the party's HP outside of battle by sacrificing a bit of its own HP. By default, this includes the moves Soft-Boiled and Milk Drink. Any move you add to this array will have the same effect as these moves out of battle.
CUSTOM_SKILLS
This is an array of moves with custom effects that trigger directly in the party menu. You can use this array to add any moves to this if you want to design a custom effect of your own to be used in the party menu. Note that these are different from moves that are used on the actual field, like HM's. By default, this array contains moves that have custom effects found in various scripts designed by TechSkylander1518, With their permission, I have implemented the effects designed for those moves here. This includes the following moves: Recover, Life Dew, Heal Bell, Aromatherapy, Sketch, and Future Sight. You may simply remove any of these moves from this array if you have no interest in their effects.
Skill Menu Customization
In the plugin Settings file, there are additional settings that can be used to tweak how field skills are displayed in the Skills menu.
HM_SKILLS_REQUIRE_BADGE
When this setting is set to "false", then all of the compatible skills found in HM_SKILLS will appear in the Pokemon's Skill menu. However, skills that are missing the appropriate badges to be used will appear grayed out, even if you are otherwise in a situation where the move would be usable. When this setting is set to "true", any field skills found in the HM_SKILLS array will be hidden in the Skills menu entirely if the player does not have the right badges to use that skill outside of battle. For example, if you open Squirtle's Skill menu, the option for Surf will not appear if the right badges for Surf have not yet been obtained, even if Squirtle is flagged to be compatible with Surf otherwise.
You can use this setting in order to hide the fact that certain important field skills exist from the player until they've obtained the correct badges to use that skill. For example, if your game has a new field skill move called Lava Surf, but you don't want to reveal to the player that the move Lava Surf exists in your game until they obtain the badges to use it outside of battle (say, if they capture a Pokemon compatible with Lava Surf prior to obtaining the badge to use it), then you can use this setting to hide this information.
MISC_SKILLS_REQUIRE_MOVE
When this setting is set to "false", then all of the compatible skills found in MISC_SKILLS will appear in the Pokemon's Skill menu. However, when this setting is set to "true", any field skills found in the MISC_SKILLS array will still require the Pokemon to have that move in its moveset in order for it to appear in their Skill menu. Basically, this allows for these specific moves to function as they would normally without this plugin, and require the move to be known to be used.
You can use this setting if you like the idea of having mandatory HM moves usable without the moves, but still think that special optional skills like Dig or Teleport shouldn't be so wide-spread, and limited only to party members that actually have those moves present in their movesets.
HEAL_SKILLS_REQUIRE_MOVE
When this setting is set to "false", then all of the compatible skills found in HEAL_SKILLS will appear in the Pokemon's Skill menu. However, when this setting is set to "true", any field skills found in the HEAL_SKILLS array will still require the Pokemon to have that move in its moveset in order for it to appear in their Skill menu. Basically, this allows for these specific moves to function as they would normally without this plugin, and require the move to be known to be used.
You can use this setting if you like the idea of having mandatory HM moves usable without the moves, but still think that special healing skills shouldn't be so wide-spread, and limited only to party members that actually have those moves present in their movesets.
CUSTOM_SKILLS_REQUIRE_MOVE
When this setting is set to "false", then all of the compatible skills found in CUSTOM_SKILLS will appear in the Pokemon's Skill menu. However, when this setting is set to "true", any field skills found in the CUSTOM_SKILLS array will still require the Pokemon to have that move in its moveset in order for it to appear in their Skill menu. Basically, this allows for these specific moves to function as they would normally without this plugin, and require the move to be known to be used.
You can use this setting if you like the idea of having mandatory HM moves usable without the moves, but still think that special skills shouldn't be so wide-spread, and limited only to party members that actually have those moves present in their movesets.