# v20.1Following Pokemon EX v2.2.2

This resource pertains to version 20.1 of Pokémon Essentials.
Pokémon Essentials Version

Following Pokemon EX
Highly Improved version of the Following Pokemon script by help14 and mej71 for Essentials v20.1

Overview:
The Following Pokemon script made by help14 was truly a groundbreaking script. It brought the Walking Pokemon functionality from HGSS to Essentials allowing players to walk around with their Pokemon and talk to them, just like those games. However, that script was made with v15.1 in mind, which is 8 years old now! Not only that, people (including myself) who tried to update the script to the latest version of Essentials, didn't change that. What happened was that each new updated added new features to a dated script, making it bloated and riddled with bugs. This version of the script aims to fix that. I've rewritten almost all of the script with v20.1 in mind. I've also fixed many bugs, added several new features, added built-in compatibility with a few common Essentials scripts, and would go even as far as to call this, the definitive version of the Following Pokemon script.

New Features:
• Added a system to include new Dialogue for the Following Pokemon easily.
• Added a system to include new Conditions to refresh the Following Pokemon easily.
• Added accurate Animation for Entry of Following Pokemon in Battle.
• Added accurate Animation for HM Usage by Following Pokemon in the Overworld.
• Made the Following Pokemon alot more interactive by increasing the amount of default dialogue. (Thanks to Aki!)
• Added Gen 4-style Overworld Emote Animations for the Following Pokemon when talking to you.
• Added pulsing tones to Following Pokemon for showing status conditions in the overworld.
• Added the ability to cycle through your party in the overworld like in Let's Go.
• Added the ability to control your Following Pokemon using Move Routes.
• Added the ability to add emote animations to your Following Pokemon.
• Added animations for Following Pokemon when interacting with the Pokecenter.
• Smooth interactions with other Followers which are not Pokemon.
• Native Support for the following scripts:
• Marin's and Boonzeets Sideways Stairs script.
• Pokemon Amie script by PizzaSun.
• Pokeride script by Marin.
• Super Shiny from Elite Battle: DX
• Advanced HM Items by FeelsMoyoMan

Fixes from the Original Script:
• Compatibility for Essentials v20.1
• Dropped support for all older version of Essentials.
• Fixed all weird open and close animation issues.
• Optimized and rewrote most of the code to increase Performance greatly.
• The first unfainted Pokemon in the party will follow you instead of having no Following Pokemon when the first party member faints. This can easily be changed.
• Fixed the need for using 100 different commands to toggle Following Pokemon. Now FollowingPkmn.toggle_on or FollowingPkmn.toggle_off should suffice in all cases
• The Following Pokemon are now reflected in any water the player is.
• Fixed the need for extra game switches and variables to control data that is maintained for Following Pokemon.
• Fixed all bugs with overworlds of Pokemon with alternalte forms, shiny overworlds and gender-specific overworlds.
• Fixed all issues with surfing, ice sliding, waterfall interactions, blacking out, map transfers and many such map interactions.
• Fixed Following Pokemon being duplicated after healing at a Pokecenter.
• Fixed some HMs not working in the presence of Following Pokemon.
• The script no longer overwrites existing edits to HMs and starting over.
• The script no longer requires Common Events to work (but still has compatibility for them), so it doesn't need to override CommonEvents.rxdata.
• The script now smartly animates Following Pokemon at PokeCenters, without any user intervention (assuming that the Nurse Joy event is properly set up).
• The event that's being converted to a Following Pokemon now longer needs to be named anything specific.
• The Following Pokemon now appropriately refreshes in almost all scenarios.

If you want a compilation of all Pokemon Overworld sprites from Gen 1-8 formatted for the script, consider checking out the Generation 8 Pack for Essentials v20.1

This plugin is not compatible with Essentials v19, v18, v17.2, v16.2 or any other older version of Essentials. I do not plan to add compatibility for any of them.

Download Link

Please Credit the following people when using this script

• Golisopod User
• Help-14
• zingzags
• Rayd12smitty
• mej71
• PurpleZaffre
• Akizakura16
• Thundaga
• Armin (Fairies Resource Pack)
• Maruno

Instructions:
Installation and Update Instructions:
1. Close RPG Maker
2. Make a backup of your project incase you have any custom changes in your Animations (Emote Animations, not Move Animations) in the Data folder.
• NOTE: Backing up your project basically means Ctrl + C your game folder and Ctrl + V it somewhere else to keep your changes from being permanently overwritten by the next step
3. If you are updating from an older version, please make sure to delete the original plugin scripts from the Plugins folder.
4. Extract the contents of the ZIP file into your game's root folder. (The folder with Game.exe in it). This will make permanent changes to your project, so make sure you completed step 1, if you've made changes to your game.
5. Run the game in Debug Mode, by opening it from the RMXP editor.
• NOTE: If you do not see Loaded plugin: Following Pokemon EX (ver. X.X.X) ((X.X.X) should be the latest version of the plugin) in the console (the black window that you see when running v20.1 in Debug Mode), that means the script hasn't compiled and will not work.
To force the game to compile the plugin, open the Data folder of your game and delete PluginScripts.rxdata. Then try running the game in Debug Mode.
This is what the console window should look like, if the plugin is installed correctly:
6. Start a new save.

Usage of Script:
Setting up the Following Pokemon event:
1. Create a new blank event in the map anywhere in the map. Note down the ID of this event. Here's a visual representation:
(You see that the Window Title says "Edit Event - ID:013". The "ID:013" gives us the ID number of the event. We will note this ID down. The name or cotents of this event don't matter.)
2. In an event, add the script command FollowingPkmn.start_following(X), where X is the ID of the event we noted down. If the event you put the script command FollowingPkmn.start_following(X) is the blank event we made before then you can just put FollowingPkmn.start_following. Here's a visual representation:

As you can see, this is Professor Oak, who has a full event set-up. This doesn't matter, the event can be as large and complex as you want. What matters is that the script command FollowingPkmn.start_following(X) is present in it. In the last step, we saw that the event ID was 013, so we'll replace the X with that ID we noted down, while removing the insignificant 0's from the ID. So our script call will be FollowingPkmn.start_following(13).
3. Test the event in - game.

New Naming Convention:
• The v20.1 version of Following Pokemon has a brand new naming convention to match that of the rest of the sprites provieded v20.1.
• All the Overworld Sprites are in Graphics/Characters/. They have been separated into 2 folders, Followers and Followers shiny.
• All the sprites in both thhe folders now use their internal name instead of ID numbers. Its very similar to the naming convention of icon sprites, if you need reference.
• The script will not load any Following Pokemon graphic if the sprites don't follow this naming convention.
• If you still don't understand how to name and place the sprites, and just want a compilation of all Pokemon Overworld sprites from Gen 1 - 8 formatted for the script, consider checking out the Generation 8 Pack for Essentials v20.1

Configuring Constants:
• In Plugins/Following Pokemon EX/Configuration open 000_Config.rb
• NOTE: A .rb file is just a glorified .txt file and can easily be opened with any text editor like Notepad.
• Inside the script you'll see certain configuration constants, as follows:
Code:
FOLLOWER_COMMON_EVENT        => ID of the Common event that plays when you speak to the Following Pokemon. Normally, this common event should contain the script command [ICODE]FollowingPkmn.talk[/ICODE].
Set this to nil if you don't have a common event for your Following Pokemon or, or don't know what common events are. The Following Pokemon will still be able to talk to you.
without a common event defined.

ANIMATION_COME_OUT           => Animation ID for the "Come out of Pokeball" Animation for Following Pokemon.
ANIMATION_COME_IN            => Animation ID for the "Go into Pokeball" Animation for Following Pokemon.
ANIMATION_EMOTE_HAPPY        => Animation ID for the "Happy" Animation for Following Pokemon.
ANIMATION_EMOTE_ELIPSES      => Animation ID for the "..." Animation for Following Pokemon.
ANIMATION_EMOTE_ANGRY        => Animation ID for the "Mad" Animation for Following Pokemon.
ANIMATION_EMOTE_POISON       => Animation ID for the "Poisoned" Animation for Following Pokemon.
ANIMATION_EMOTE_MUSIC        => Animation ID for the "Music Note" Animation for Following Pokemon.
ANIMATION_EMOTE_HEART        => Animation ID for the "Heart" Animation for Following Pokemon.

TOGGLE_FOLLOWER_KEY          => The key that the player can press to toggle Following Pokemon. Set this to nil to disable this feature.
SHOW_TOGGLE_IN_OPTIONS       => Show the option to toggle Following Pokemon in the Options screen.

CYCLE_PARTY_KEY              => The key that the player can press to cycle through their party. Set this to nil to disable this feature.

APPLY_STATUS_TONES           => Tint the Following Pokemon sprite if it has a status condition
TONE_BURN                    => Array of numbers corresponding to the RGB values of the Burn Tint
TONE_POISON                  => Array of numbers corresponding to the RGB values of the Poison Tint
TONE_PARALYSIS               => Array of numbers corresponding to the RGB values of the Paralysis Tint
TONE_FROZEN                  => Array of numbers corresponding to the RGB values of the Frozen Tint
TONE_SLEEP                   => Array of numbers corresponding to the RGB values of the Sleep Tint

FRIENDSHIP_TIME_TAKEN        => Time Taken for Following Pokemon to increase Friendship when first in party (in seconds).
ITEM_TIME_TAKEN              => Time Taken for Following Pokemon to find an item when first in party (in seconds).

ALWAYS_ANIMATE               => Whether the Follower always stays in its move cycle (like in HGSS) or not.

ALWAYS_FACE_PLAYER           => Whether the Following Pokemon always faces the player, or not like in HGSS.

IMPASSABLE_FOLLOWER          => Whether other events can pass through Following Pokemon or no.

SLIDE_INTO_BATTLE            => Whether Following Pokemon slides into battle instead of being sent in a Pokeball. (This doesn't affect EBDX, read the EBDX documentation to change this feature in EBDX)

SHOW_POKECENTER_ANIMATION    => Show the Ball Opening and Closing animation when Nurse Joy takes your Pokeballs at the Pokecenter. This will only work if the Nurse Joy event is properly set up.

SURFING_FOLLOWERS            => List of Pokemon that will always appear behind the player when surfing. (Doesn't include any flying or water types because those are handled automatically)

SURFING_FOLLOWERS_EXCEPTIONS => List of Pokemon that will not appear behind the player when surfing, regardless of whether they are flying type, have levitate or are mentioned in the SURFING_FOLLOWERS.

Script Functions:
Code:
FollowingPkmn.start_following(id)
# The main command used to make Following Pokemon start following you, if it hadn't already before. This has been discussed in detail in the "Setting up the Following Pokemon event" of the usage instructions
# id => The event ID of the event which will be converted to a Following Pokemon. If you don't set this, then the event in which this script command is called will become the Following Pokemon.

Examples:
FollowingPkmn.start_following
FollowingPkmn.start_following(69)

Code:
FollowingPkmn.stop_following
# The main command used to permanently remove the Following Pokemon from the player until FollowingPkmn.start_following is called again.

Examples:
FollowingPkmn.stop_following

Code:
FollowingPkmn.stop_following
# The main command used to toggle the Following Pokemon.
# forced => Set this to false if you want to force the Following Pokemon to turn off and true if you want Following Pokemon to turn on. Set this to nil if you don't want to forcefully toggle the Pokemon.
# anim   => Set this to true if you want to play the Pokeball Animation when the Following Pokemon is toggled, and false if you don't.

Examples:
FollowingPkmn.toggle
FollowingPkmn.toggle(nil,true)
FollowingPkmn.toggle(true,false)

Code:
FollowingPkmn.toggle_on(anim)
# The main command used to forcefully set the Following Pokemon toggle to on.
# anim   => Set this to true if you want to play the Pokeball Animation when the Following Pokemon is toggled, and false if you don't.

Examples:
FollowingPkmn.toggle_on
FollowingPkmn.toggle_on(false)

Code:
FollowingPkmn.toggle_off(anim)
# The main command used to forcefully set the Following Pokemon toggle to off.
# anim   => Set this to true if you want to play the Pokeball Animation when the Following Pokemon is toggled, and false if you don't.

Examples:
FollowingPkmn.toggle_off
FollowingPkmn.toggle_off(true)

Code:
FollowingPkmn.talk
# The main command used to initiate the dialogue when speaking to a Following Pokemon.

Code:
FollowingPkmn.item(item, quantity, message)
The command used to initiate a special dialogue which gives the player an item.

# item      => Set this to an item you want the Pokemon to find. (Compulsury)
# quantity  => Set this to the quantity of the item you want the Pokemon to find
# message   => A special message to go along with the Item Find

Examples:
FollowingPkmn.item(:POTION)
FollowingPkmn.item(:ORANBERRY, 5)
FollowingPkmn.item(:POKEBALL, 1, "{1} is holding something round...")

Code:
FollowingPkmn.animation(animation_id)
The command used to add emote animations to Following Pokemon. If you provide no arguments in the command. Eg: FollowingPkmn.animation then the next "Show Animation" event command will be applied to the Following Pokemon.

# animation_id  => Set this to the ID number of the animation you want to play on the Following Pokemon.

Examples:
FollowingPkmn.animation
FollowingPkmn.animation(6)
FollowingPkmn.animation(Settings::EXCLAMATION_ANIMATION_ID)
FollowingPkmn.animation(FollowingPkmn::ANIMATION_EMOTE_HAPPY)

Code:
FollowingPkmn.move_route(commands, wait_complete)
The command used to add move routes to Following Pokemon. If you provide no arguments in the command. Eg: FollowingPkmn.move_route then the next "Set Move Route" event command will be applied to the Following Pokemon.

# commands      => Set this to an array of Move Commands.
# wait_complete => Set this to true if you want the game to wait until the move route of the Following Pokemon is completed.

Examples:
FollowingPkmn.move_route
FollowingPkmn.move_route([PBMoveRoute::TurnRight, PBMoveRoute::Wait, 4, PBMoveRoute::Jump, 0, 0])
More examples can be found in [ICODE]Plugins/Following Pokemon EX/Configuration/003_Dialogue_Generic.rb[/ICODE] if needed.
The commands to be inputted for FollowingPkmn.move_route can be found here.

Configuring the Dialogue spoken by Following Pokemon:
• Using existing options:
• The plugin has a few in-built options to quickly add some flavour text to what Following Pokemon say when on certain maps.
• v20.1 has a brand new feature called Flags, which can be added to the town's entry in map_metadata.txt. Adding a new flag very simple. Here's an example.
• The new flags implemented by the plugin are "PokemonLab", "PokeCenter", "GymMap" "Forest" "Beach". Adding these flags to your map metadata will yield new dialogue which normally isn't shown. Make sure to test them all out.
• Editing the common event:
• While the plugin doesn't require adding a common event for the Following Pokemon (unlike regular Followers), you can add a common event if you'd like.
• Here's how you can add a common event to your Following Pokemon.
• Set the FOLLOWER_COMMON_EVENT variable in Plugins/Following Pokemon EX/Configuration/000_Config.rb to a number of your choice. Note thhis number down.
• Open the Common Events tab in Database

• Look at the list on the left for the number we noted down earlier. This is our common event. We can change the name of it to keep track of it.
• Now you can do pretty much whatever you want here, as long as you don't change the trigger and condition switch for the Common Event.
• Here's an example of what I can do by editing the Common Event. (Note: FollowingPkmn.talk is the command that initiates the regular Following Pokemon dialogue)
• Editing the existing dialogue:
• The script already comes with many dialogues for Following Pokemon pre-installed, but you can change them as per your liking.
• Simply open either Plugins/Following Pokemon EX/Configuration/002_Dialogue_Specific.rb or Plugins/Following Pokemon EX/Configuration/003_Dialogue_Generic.rb and use Ctrl + F to look for the dialogue you want to edit.
• Make sure you keep the _INTL() tag around the text intact.
• {1} in the text refers to the Pokemon's name, and {2} refers to the trainers name.
• You can even extend the array and add more dialogues to the random pool of dialogues if you'd like.

• Writing your own Dialogues procs:
• This one might be a bit difficult for those who do not understand how code in Essentials works. If you belong to this category then be warned. Messing this up can break your game.
• The dialogue said by a Following Pokemon, when spoken to are handled in 002_Dialogue_Specific.rb and 003_Dialogue_Generic.rb. As the name suggests, one handles dialogue under specific conditions, while the other handles generic dialogue.
• The EventHandlers(:following_pkmn_talk) will stop after any of the procs has returned "true" or "false". If you don't return one of these values, then the script will end up displaying every single possible dialogue.
• These procs have the arguments "pkmn, random_val" which refers to the current pokemon following you and a random value between 0 and 6 (used for the emote animations).
• You can do anything inside these EventHandlers(:following_pkmn_talk) procs as long as the syntax is correct and as long as the symbol after :following_pokemon_talk is unique and not used for any other procs.
• The order of the procs and whether they are placed in 002_Dialogue_Specific.rb and 003_Dialogue_Generic.rb is important. Procs in 002_Dialogue_Specific.rb have priority over 003_Dialogue_Generic.rb and procs at the top have a priority over procs at the bottom of the script.
• You should get the basics of working with these procs by looking at the existing ones.
• Here's an example I made quickly. In this example, the event will show brand new dialogue if the current following Pokemon has the ability Intimidate. I've placed this at the top of 002_Dialogue_Specific.rb to make it appear before all other dialogue if the condition is true.

Configuring the conditions for the Following Pokemon to Disappear:
• Using existing options:
• The plugin has a few in-built options to quickly add some flavour text to what Following Pokemon say when on certain maps.
• v20.1 has a brand new feature called Flags, which can be added to the town's entry in map_metadata.txt. Adding a new flag very simple. Here's an example.
• The new flags implemented by the plugin are "ShowFollowingPkmn" and "HideFollowingPkmn". As the name implies, they will hide and show the Following Pokemon respectively. Adding these flags to your map metadata will have the corresponding effect. This will only work if the maps are not connected or if you run the script command FollowingPkmn.refresh(false)
• Editing the existing conditions:
• The script already comes with many conditions for Following Pokemon appearing which you can change as per your liking.
• Simply open either Plugins/Following Pokemon EX/Configuration/004_Disappearing.rb and use Ctrl + F to look for the condition you want to edit.
• Here are a few examples:
(Remove this line to prevent all Water Pokemon from surfing behind the player)

(Remove this line to allow all Pokemon to follow the player when using the Bicycle)

(Edit this number to increase the height limit for Pokemon in the interior. Remove this line entirely to allow all Pokemon to follow the player in interior maps)
• Writing your own condition procs:
• This one might be a bit difficult for those who do not understand how code in Essentials works. If you belong to this category then be warned. Messing this up can break your game.
• The disappearing condition said by a Following Pokemon, when spoken to are handled in 004_Disappearing.rb.
• The EventHandlers(:following_pkmn_appear) will stop after any of the procs has returned "true" or "false". If you don't return one of these values, then the script will end up looping through all possible conditions.
• If the proc returns false, the Pokemon disappears. If the proc returns true, or no value at all, the Pokemon appears.
• These procs have the argument "pkmn" which refers to the current pokemon following you.
• You can do anything inside these EventHandlers(:following_pkmn_appear) procs as long as the syntax is correct and as long as the symbol after :following_pokemon_appear is unique and not used for any other procs.
• The order of the procs and whether they are placed in 004_Disappearing.rb is important. Procs at the top have a priority over procs at the bottom of the script.
• You should get the basics of working with these procs by looking at the existing ones.
• Here's an example I made quickly. In this example, the event will disappear if the switch 100 is set to true. I've placed this at the top of 004_Disappearing.rb to execute before all other conditions.
(Here's the proc)

(Here's an example of tehe event ingame)

Changelog:
• v 2.2.2
Fixed "Required v20 Hotfixes" error for Essentials v20.1

• v 2.2.1
Fixed crash when starting over after a whiteout.
Fixed a few cases where Following Pokemon show the HM animation when they shouldn't

• v 2.2.0
Full v20 compatibility (removed sprite renamer compatibility for older versions of Essentials)
Added a toggle in the settings to show the Following Pokemon toggle in the options.
Added better support for EBDX super shinies.
Added 2 map metadata flags, "ShowFollowingPkmn" and "HideFollowingPkmn" to make showing and hiding Following Pokemon on certain maps simpler.
Added proper documentation for the dialogue and disappear conditions for Following Pokemon, and proper comments in the script.
Fixed Following Pokemon being refreshed at every step.
Fixed bug where you could never get an item from your Following Pokemon.
Fixed Followers leaving a gap and when Following Pokemon is toggled off.
Fixed HM moves used from the Party menu being buggy with Following Pokemon.
Fixed Following Pokemon not being able to climb waterfalls.
Fixed several small bugs with the Pokecenter animation.
Fixed Following Pokemon behaving weirdly when jumping behind the player to start or end surfing.
Fixed all instances where Following Pokemon wouldn't refresh and look weird, like trading and evolution.
Updated the dialogue system to separate Item receiving dialogues and regular talking dialogues, making it simpler to add or remove items.
Updated the default dialogues to work with map metadata flags instead of map names.
Updated almost all Following Pokemon specific code and moved it into the FollowingPkmn module. Added several new helper methods for that.
Updated the method to get the current Following Pokemon to be one independent centralized method, makung it much easier to customize what Pokemon should be the one following you.
Updated ice sliding to make airborne Following Pokemon sliding behind you to be more accurate.
Updated the Following Pokemon specific script commands for move routes and animations to work with the new Dependent Event changes in v20.
Updated all of the Following Pokemon field move methods to not overwrite any existing HM changes.

Instructions under Usage of Script have also been updated to detail the new configuration constants, method names, dialogues and disappear condition configuration.
If you have any custom scripts that are using some script commands or constants from older versions of Following Pokemon EX, please make sure to update them asap.

• v 2.1.2
Fixed minor crash with cycling through your party.
Fixed Following Pokemon being impassable even after it has been toggled off.

• v 2.1.1
Fixed minor crash with emote animation.
Fixed minor crash with Pokecenter animation.

• v2.1.0
Major code refactor and plugin rearrangement.
Updated all constant names to be more legible.
Updated user method names to be clearer.
Added a toggle in the Settings to toggle default passability of Following Pokemon in settings.
Added a toggle in the Settings to toggle the slide-in animation for Following Pokemon in battle.
Added toggle in Settings to show animation for opening and closing Pokeball of Following Pokemon when using Pokecenter.
Added better compatibility for other plugins, by removing some method overwrites.
Added support for EBDX Super Shinies.
Added script command to easily add emote animations to Following Pokemon.
Added proper ledge interaction for Following Pokemon.
Made the Following Pokemon refresh only when nescessary, to optimize performance greatly.
Made the emote animation drawn on Followers move along with them, instead of staying elsewhere.
Made the default animations provided in the Plugin usable in other places and with regular NPCs as well.
Made Following Pokemon's hold item time only update when the Pokemon is onscreen and not when the player is in UIs or battle.
Made Following Pokemon not require any common events to work. However, if a common event is specified, it'll be used.
Made Ice sliding even more stable, by removing some jank when turning.
Fixed bug where move routes wouldn't work on Following Pokemon after the first command.
Fixed bug where tiles with directional passabilities would cause weird movement in Following Pokemon.
Fixed bug with map connections when using Boonzeets Terrain Tag Side Stairs.
Fixed multiple bugs in the Following Pokemon HM Animation.
Fixed Following Pokemon stranding player on 1 tile island or preventing talking to other events.
Fixed regular dependent events not turning when ALWAYS_FACE_PLAYER is true.
Fixed Following Pokemon being glitchy when moving across map connections.
Fixed crash when the user messes up the CYCLE_PARTY_KEY, TOGGLE_FOLLOWER_KEY and TONE_X configurations.
Fixed issue where the plugin would overwrite the regular "Starting Over" message.

Instructions under Usage of Script have also been updated to detail the new configuration constants and method names.
If you are updating from an older version, please make sure to delete the original plugin, so that the old changes don't overwrite the new changes.
If you are updating from an older version, please make sure to update the Animations.rxdata as well.
If you are updating from an older version, please make sure to get the updated Plugin Manager scripts to avoid any installation issues with the script. A link to them has been provided in the updated Installation and Update Instructions.
If you have any custom scripts that are using some script commands or constants from older versions of Following Pokemon EX, please make sure to update them asap.

• v2.0.7
Added a toggle to prevent Following Pokemon from always changing their direction, to closely mimic HGSS.
Added an option to add a key to cycle through the player's Party Pokemon in the overworld.
Rearranged almost all the scripts to make it easier to edit and keep track of changes.
Made the rate of animation of the Following Pokemon's overworld FPS Agnostic.
The status condition tones now have a pulsing effect, and the colors have been improved. They aren't bright and annoying to look at anymore.
The Following pokemon now gets 3x the friendship boost than it did earlier from being first in the party.
Fixed alot of the "map connection jump" bugs that Following Pokemon had.
Fixed some of the animation bugs when Following Pokemon were forcefully toggled off.
Added support for regular boolean arguements for toggling following pokemon on and off.
Made the maximum height for Pokemon to follow you in interior maps be 3m.
Removed alot of fluff that was needed for refreshing the following Pokemon after interacting with the party screen.
Removed compatibility for Generation 8 Project v1.0.4 and below.

Instructions under Usage of Script have also been updated to detail the new configuration constants as well as the dialogue and disappear conditions better.
If you are updating from an older version, please make sure to delete the original plugin, so that the old changes don't overwrite the new changes.

• v2.0.6
Fixed Following Pokemon appearing on top of player when warping from a map using "Transfer Player"
Fixed Debug Warp moving player to impassable tiles
Fixed many interactions of Following Pokemon with regular Dependent events
Fixed bugs with Ball Open/Close Animations
Fixed Following Pokemon stranding the player on single tile islands in the water.
Fixed many bugs related to surfing
Made time taken for Following Pokemon to get an item and/or increase its friendship be FPS agnostic
Improved the code for the Following Pokemon sprite renamer
Removed compatibility for Essentials v19.0 and Generation 8 Project v1.0.2 and below.

• v2.0.5
Made the "stepping animation speed" for Following Pokemon independent of Player speed
Added fixes for Following Pokemon interacting with bridges
Fixed a crash with Following Pokemon when surfing
Changed alot of things related to surfing Following Pokemon
Added a failsafe incase people miss the 1st step in the instructions and don't close RMXP when installing the script

• v2.0.2
Added a failsafe incase sprites aren't properly named
Added Compatibility for new Sprite Renamer from the Gen 8 Project v.1.0.1

• v2.0.1
Fixed uninitialised constant error
Fixed Sprite Renamer being dumb

• v2.0
Big update that adds v19 compatibility
Fixed many bugs and optimized the code even further
Rewrote the instructions to be more helpful and descriptive

• v1.3
Fixed a gamebreaking bug with starting over.
Readded animations back to some places where they were missing.

• v1.2
Many gamebreaking crashes and a few tiny inconsistencies have been fixed.

• v1.1
Some fixes with Enhanced Stairs compatibility
Fixed a few animation related bugs with surfing
Starting over has been thoroughly tested and has no bugs
Fixed forms not reverting after battle

• v1.0
Script released
Credits
• Golisopod User
• Help-14
• zingzags
• Rayd12smitty
• mej71
• PurpleZaffre
• Akizakura16
• Thundaga
• Armin (Fairies Resource Pack)
• Maruno
Author
Golisopod User
Downloads
4,576
Views
31,241
First release
Last update
Rating
20 ratings

1. ### v20.1 Compatibility

Fixed "Required v20 Hotfixes" error for Essentials v20.1
2. ### Bugfixing

Fixed crash when starting over after a whiteout. Fixed a few cases where Following Pokemon show...
3. ### v20 Compatibility

Full v20 compatibility (removed sprite renamer compatibility for older versions of Essentials)...

### Latest reviews

Great Job, but the pokemon follow much too closely, with larger pokemon even overlapping the player. That's the only issue I had though!
Works nearly perfectly.
My only issue is that the pokemon is always on top of the player when going up sideways staircase warps. I don't know what the issue is, though, since other move routes with similar settings don't seem to cause this.
This scrips works amazingly! One question that I had is how to make thw pokeon always be behind you, as it seems that my player goes faster than them. Other than that, it is a great addition.
Golisopod User
Are you sure you haven't tampered with any of the scripts, and also are you sure that no other Plugin is overwriting the changes in this script. I haven't faced this issue and haven't seen anyone else report it. If possible, please share a recording of this issue in action.
Works perfectly.
Just one question: the Pokémon should appear on dependant events?
Because the char which should follows my character disappear, and the Pokémon keeps following me, instead of the dependant one.
Golisopod User
Could you be a little clearer? This statement is a bit confusing.
I love this program and it is actually incredible! The only issue is that I've noticed that one Pokemon won't follow for some reason. It's Coalossal. Not sure why, but just letting you know.
Golisopod User
In HGSS, Pokemon which are taller than 8 feet in height are sent back to their Pokeball's when inside a building. This is to prevent 60 ft tall behemoths like Groudon from walking into some dudes home. Coalossal's height is 9 ft 6 inches, which is higher than the limit, so it won't follow you when in buildings.
amazing, the only improvement would be to add the necessary OW sprites in the zip. but that is understandable, as not every game has the same dex. great work!
Golisopod User
Thanks! If you want Gen 1-8 Overworld sprites, be sure to check out the other resource linked in the thread which contains overworlds for all Gen 1-8 Pokemon, as well as other Gen 8 Systems for Pokemon Essentials.
Very nice work Golisopod User, will definetly use this!!
A modern & optimized reboot of the beloved Follower Pokemon mod by mej71 for Essentials v18+
Took a bit for me to install the script but it does perform really well in-game.

However, one small thing that I've been experiencing is that when using ledges, the dust animation for when the player lands is offset downwards by one whole grid. This happens after placing the animations.rxdata from the download provided.

I tried replicating this in a backup of my personal project as well as a fresh copy of PE and it was the same outcome.

Not too sure if it's me doing something wrong with the install still, so this is still a great script nonetheless.
Golisopod User
The animations provided are just supposed to be temporary ones just to show the script has the emote functionality. You don't need to use them. Feel free to change them if you have any issue.
This is one of the coolest scripts available for Pokémon Essentials. The only issue that I have with it is when I leave some map through a door - the following Pokémon appears above my char no below it
Golisopod User
This should be fixed in the next update