Overworld Shadows EX

v20.1 Overworld Shadows EX 2.0.3

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

Overworld Shadows EX
Overworld Shadows for Essentials v20.1

Overworld Shadow's is an amazing feature that breathes life into maps and gives them some depth. However, older iterations of the script didn't work very well with v20.1, and are completely incompatible with v19. Moreover, it lacked compatibility with other event-based scripts and caused great amounts of lag with scripts it did work with. This Plugin aims to rectify that. The script has now been rewritten from the ground-up, with v20.1 in mind. Many interesting features have been added to the script as well.

  • Full Compatibility with Essentials v20.1.
  • Animation for jumping, based on the new jumping code changes in v20.1.
  • Custom shadows for each individual event, with easy set up.
  • Blacklisting events from getting shadows, based on event name.
  • Blacklisting events from getting shadows, based on character filename.
  • Blacklisting events from getting shadows, based on terrain tag.
  • Native Support for the following scripts:
    • Following Pokemon EX
    • Marin's Footprint Script
    • Marin's and Boonzeets Sideways Stairs script
    • KleinStudio's Always on Bush script
    • Overworld Encounters by derFischae
    • Pokeride script by Marin

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
  • Marin
  • WolfPP

Installation of Script:
  1. Extract the contents of the ZIP file into your game's root folder. (The folder with Game.exe in it)
  2. Run the game in Debug Mode, by opening it from the RMXP editor.
    • NOTE: If you do not see Loaded plugin: Overworld Shadows 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:
  3. Start a new save. (Optional)

Usage of Script:
Configuring Constants:
  • In Plugins/Overworld Shadows EX/ open 001_OWShadows_EX.rb
    • NOTE: A .rb file is just a glorified .txt file and can easily be opened with any text editor like Notepad.
  • At the top of the script you'll see certain configuration constants, as follows:
    CASE_SENSITIVE_BLACKLISTS => Set this to true if you want the event name and character name blacklists to be case sensitive ie take into account uppercase and lowercase letters
    SHADOWLESS_EVENT_NAME     => If an event name contains one of these words, it will not have a shadow.
    SHADOWLESS_CHARACTER_NAME => If the character file and event uses contains one of these words in its filename, it will not have a shadow.
    SHADOWLESS_TERRAIN_NAME   => If an event stands on a tile with one of these terrain tags, it will not have a shadow. (ID's of Terrain Tags can be seen in the script section "Terrain Tag")
    DEFAULT_SHADOW_FILENAME   => If an event doesn't have a custom shadow defined, it will use this shadow graphic from Graphics/Characters/Shadows/
    PLAYER_SHADOW_FILENAME    => Default shadow graphic used by the player. Taken from Graphics/Characters/Shadows/

Script Functions:
There are 2 ways to set up an event to have a custom shadow.
  • Change the event name so it contains the string shdw(filename), where filename is a graphic present Graphics/Characters/Shadows/. An example graphic called "bigShadow" has been provided for testing purposes.
    • NOTE: The event must only contain the string shdw(filename). This means that an event with the name Rayquaza shdw(bigShadow) will also work and will have a custom shadow "bigShadow" from Graphics/Characters/Shadows/.
      Yes, this will work.

      No, this won't work.
  • Use this script command
    pbSetOverworldShadow(filename, event_id, map_id)
    # filename => (Compulsury) A graphic present Graphics/Characters/Shadows/
    # event_id => Event ID of the event who's shadow is being changed. Set this to nil if the event is the player.
    # map_id   => Map ID of the event who's shadow is being changed. Set this to nil if the map is the current map.
    pbSetOverworldShadow("smallShadow") # Set players shadow to "smallShadow"
    pbSetOverworldShadow("bigShadow",5) # Set the shadow of event  with id 5 to "bigShadow"
    pbSetOverworldShadow("weirdShadow", 6, 2) # Set the shadow of event  with id 6 on map 2 to "weirdShadow"

  • v 2.0.3
    Greatly optimized the script by recalculating shadow visibility only when needed, instead of every frame.
    Misc. bugfixes
  • v 2.0.2
    Fixed "Required v20 Hotfixes" error for Essentials v20.1
  • v2.0.1
    Fixed crash related to Following Pokemon.
  • v2.0.0
    Updated the script for Essentials v20.
    The Instructions have now been updated to include the configuration constants for Shadow blacklists.
  • v1.0.1
    Fixed an interaction with pulsing tint of status conditions of Following Pokemon.
  • v1.0.0
    Plugin released
  • Golisopod User
  • Marin
  • WolfPP
Golisopod User
First release
Last update
5.00 star(s) 3 ratings

More resources from Golisopod User

Latest updates

  1. Reoptimization and Bugfixes

    Greatly optimized the script by recalculating shadow visibility only when needed, instead of...
  2. v20.1 Compatibility

    Fixed "Required v20 Hotfixes" error for Essentials v20.1
  3. Bugfixes

    Fixed small crash related to Following Pokemon