- 1,509
- Posts
- 10
- Years
- Seen today
ZUD Plugin for v20.1
Z-Moves, Ultra Burst, and Dynamax mechanics fully implemented into Pokemon Essentials in a single plugin!
Overview
This plugin adds all mechanics for Z-Moves, Ultra Burst, and Dynamax to your game, as well as the ability to easily set up your own Max Raid Dens and Dynamax Adventures.
This iteration of the plugin has been overhauled for compatibility with Essentials v20.1, as well as taking advantage of many of the improvements that come with it, such as utilizing newly added PBS flags to streamline many of the mechanics, and utilizing newly refactored Essentials code to remove the need for manual script edits for installation that previous iterations of this plugin relied on. Unlike the previous iteration of this plugin for Essentials v19.1, this version is completely drag-and-drop to install, and all of the necessary data now auto-compiles upon installation, meaning it is now simpler than ever to install ZUD for new or less experienced users. However, note that this plugin, as well as every other plugin I release for v20.1, requires the Essentials Deluxe plugin to also be installed. This plugin is dependent on it for compatibility purposes, and your game will not run without it being present.
Every single line of code of the plugin has been combed through, streamlined, and updated to add more efficiency and user convenience. Because of how thoroughly the code has been reworked, this is not backwards compatible with Essentials v19.1. If you want the ZUD Plugin for that version of Essentials, check out this thread here. Keep in mind that that this older version will no longer be updated, and thus will not have any of the new features included here.
Plugin Features
- Functionality for all official Z-Moves, up to USUM. This includes the corresponding Z-Crystals for each move, and a dedicated Z-Crystal bag slot.
- Functionality for the Ultra Burst mechanic, with the ability to be set up on species besides just Necrozma.
- Functionality for the Dynamax mechanic, with all official G-Max forms up to Isle of Armor implemented.
- A variety of custom items not included in the main series, such as items that recharge your ability to use Z-Moves/Dynamax repeatedly in a single battle.
- Support for Max Raid Battles, as well as setting up Max Raid Dens as events.
- Support for Dynamax Adventures, as well as Endless Mode Adventures, and a new Dark Mode Adventures.
- All graphics and audio required for all of the above mechanics.
- Native compatibility with several popular plugins.
-DOWNLOAD LINK-
Installation
Spoiler:
- Download and install the latest version of the Essentials Deluxe plugin. To reiterate, this is required for this plugin to work.
- Download this plugin using the link provided. Before you extract its contents to your root Essentials folder, take these steps if necessary:
- If you are using the (broken link removed), delete the
Graphics/Pokemon
folder in this plugin. The sprites included in this plugin are sized for default Essentials, and will be too large when used along side the Generation 8 Pack. - If you are using the Generation 8 Pack, go to the
000_Config
file in that plugin, and setSMOOTH_FRAMERATE
to "false". Some of the new animations used by this plugin may be visually bugged when this setting is true. If you don't plan on using these animations, then this isn't necessary. - If you are NOT using the (broken link removed) plugin, then you may delete the
Graphics/Pictures/Bag Party
folder included in this plugin. These graphics are only included for compatibility with that plugin.
- If you are using the (broken link removed), delete the
- Use the Settings file located in this plugin's folder to adjust things to your liking.
- IMPORTANT: If you are installing this plugin on a project with an existing save file, you must empty your entire Bag first upon loading the game. This plugin adds a new bag pocket for Z-Crystals, so things may not behave properly if a previous bag exists without this pocket. Emptying the bag with Debug tools should reset the bag, and allow it to function normally with the new Z-Crystal pocket.
- IMPORTANT: If you plan on using other plugins that replace or overwrite your entire Items, Moves, Pokemon, or PokemonForms PBS files, such as the Gen 9 Pack, then you must install this plugin AFTER installing those first. If you install this plugin first, then any PBS changes applied by this plugin will be overwritten the second those other plugins are installed, thus rendering this plugin useless. Please keep that in mind before claiming that this plugin doesn't work.
Changelog (v1.2.5 FINAL VERSION)
Spoiler:
- FINAL UPDATE 1.2.5
- Made various tweaks for better compatibility with the newest update to the Gen 9 Pack.
- This is the final update for this plugin. Going forward, my focus will now be on adapting this plugin for v21.
- 1.2.4
- Fixed a bug related to capturing Pokemon in the Safari Zone introduced in the last update.
- Fixed an oversight that may have recorded Super Shiny G-Max forms in the Pokedex even if no sprites for these forms exist.
- Fixed an oversight that would erroneously record Pokemon captured in a Dynamax Adventure in the Pokedex instead of waiting until selecting a Pokemon to keep at the end of the adventure to record only the selected Pokemon.
- 1.2.3
- Removed a lot of redundant code and streamlined things with Essentials Deluxe.
- Reworked some of the code related to Max Raid battles for more efficiency.
- Tweaked some of the battle text related to Max Raid battles.
- Pokemon found in Rank 6 Max Raids will now spawn with the "Mightiest Mark" if the Improved Mementos plugin is installed.
- Made various improvements to the Max Raid Database and
raid_ranks.txt
for better compatibility with the Generation 9 Pack. - Made it so Super Shiny Gigantamax forms may now appear in the forms page in the Pokedex.
- 1.2.2
- Fixed a bug that would accidentally set all of the Dynamax attributes of a Pokemon back to their base values after they've had their stats recalculated.
- 1.2.1
- Fixed a visual error in the Summary that would display the G-Max Factor icon on a higher layer than other UI's that are meant to overlap it.
- 1.2
- Max Raid Pokemon will now generate with a size value between 200-255.
- When choosing to capture a weakened Max Raid Pokemon, the screen will now properly fade into the bag menu when selecting a ball.
- A fleeing animation will now play when a Max Raid Pokemon isn't captured and it escapes into the den.
- Fixed many niche situations in Raid Battles where the mechanics wouldn't perform as intended.
- Many new game statistics may now be tracked.
- 1.1.9
- Optimized how the Z-Crystal bag slot is added.
- Aliased how all of the battle databox code is handled for better compatibility with other plugins and custom edits.
- 1.1.8
- Fixed a bug that could cause an error when forcing a Pokemon to faint when using Deluxe Battle features.
- Fixed a bug that would reset the Dynamax eligibility flag set on a Pokemon whenever its stats were recalculated.
- Added new functionality that lets you flag opposing Pokemon as ineligible to Dynamax.
- While playing in Debug mode, you may now flag whether or not individual trainers are capable of using ZUD mechanics through in in-battle debug tool.
- Made it so that several effects added by this plugin may now be edited in battle with the in-battle debug tools.
- 1.1.7
- Fixed a bug that would cause a crash with Safari Zone encounters.
- Made some small optimizations to the location of certain code.
- 1.1.6
- Removed the restrictions on wild Pokemon utilizing ZUD mechanics.
- Edited the ZUD animations to now support wild Pokemon that trigger these mechanics without a trainer.
- ZUD animations are now compatible with animated battler sprites.
- Overhauled how Dynamax sprites are displayed, greatly simplifying the code, and making them easier to customize.
- Dynamax sprites are now given their reddish color through an overlay instead of through a code setting.
- Removed the
DYNAMAX_COLOR
andCALYREX_COLOR
settings, as they are no longer used. - Tweaked how the move Transform and the ability Imposter save data for the target Pokemon to make changing Dynamax sprites easier.
- Made it so that you may now add custom shadow sprites for specific species while they are Dynamaxed.
- Added custom Dynamax shadow sprites for Calyrex and all of its forms.
- Made it so that Z-Moves and Max Moves that target multiple Pokemon will now deal reduced damage through Wide Guard.
- Made it so that if the Gen 9 move Silk Trap exists and is implemented, it will now also reduce damage from Z-Moves and Max Moves as other Protect-like moves do.
- Made various changes and updates in preparation of the release of the Terastal Phenomenon plugin.
- Added the midbattle trigger
"gmax"
to be triggered when a Pokemon Gigantamaxes. - Expanded several midbattle triggers so that you may now specify specific species or types when triggered.
- 1.1.5
- Tweaked how the
PowerSpot
flags are checked for in the Map Metadata to prevent some unnecessary error messages. - Ultra Burst will no longer produce errors after updating Essentials Deluxe.
- Tweaked how the
- 1.1.4
- Moved all new Message Types added by this plugin to the Essentials Deluxe plugin, for tidiness.
- Refactored all of the code related to displaying ZUD buttons while in the Fight Menu, and moved it into this plugin instead of keeping it in Essentials Deluxe.
- Spruced up some of the text displays in the prize selection screen shown at the end of a Dynamax Adventure.
- Added more item variety to the Backpacker's selection in Dynamax Adventures. The item pool will now also be more likely to have items that are useful to your specific party.
- The Max Eggs item has been greatly streamlined so that it now instantly sets each party member to their new level after calculating Exp.
- Updated the PBS data for the Z-Booster and Wishing Star items to now utilize the
UsesAllBattleActions
flag. - Updated the PBS data for all Z-Crystal items to now utilize the
HeldDescription
property. - Updated the PBS data for all relevant items added by this plugin to now utilize the
PortionName
andPortionNamePlural
properties. - Changed any item text displays utilized by the plugin to now display portion name text wherever appropriate.
- 1.1.3
- Fixed an error that would occur when a Dynamaxed Pokemon used the move Transform.
- Fixed an error that would occur when using the Cheer command during Raid Battles in very specific situations.
- Fixed an issue with Raid Den events that could cause large lag spikes when the game attempts to reset them.
- Updated the AI so that it will no longer trigger ZUD mechanics on its own if it has been flagged to only use them as part of a scripted battle event using Essentials Deluxe.
- The
GENERATION_LIMIT
plugin setting will now automatically scale to Gen 9 if the Generation 9 Pack is installed. - Moved all switches introduced by this plugin to Essentials Deluxe settings, for tidiness.
- The
DYNAMAX_ANY_MAP
andCAN_DYNAMAX_WILD
settings have been converted into game switches, and may now be toggled on/off in-game through scripts or events. - New Debug tools have been added to the ZUD Debug menu to quickly toggle Dynamax availability.
- Removed the
POWERSPOTS
andETERNASPOT
arrays from the plugin settings. Instead, you may now simply flag each individual map withPowerSpot
andEternaSpot
. This can be done inmap_metadata.txt
, or through the in-game editor. - Added a new PBS file that automatically adds the
PowerSpot
flag to eligible default maps.
- 1.1.2
- Added missing placeholder data for female Oinkologne form that was overlooked in the previous update.
- Fixed a bug with Max Guard that was accidentally introduced in the previous update. This would call a different Max Move when the base move was a type other than Normal.
- Capturing new species in a Dynamax Adventure no longer records that species in the Pokedex unless you decide to keep that species upon completing the adventure.
- Moved the Dynamax debug tools implemented by this plugin so that it is now located in the "Deluxe" debug menu added by Essentials Deluxe.
- Added the following debug options to the general debug menu under "Deluxe Plugins..."
- Toggle switches that enable/disable Z-Moves, Ultra Burst, and Dynamax.
- Toggle the owenership of the Max Raid Database.
- Quickly set up and test Raid Battles and Dynamax Adventures.
- Automatically reset all Raid Dens on all maps simultaneously.
- Add or edit saved routes for Dynamax Adventures.
- Toggle whether or not Endless Mode is unlocked in Dynamax Adventures.
- Reset your Endless Mode record in Dynamax Adventures
- 1.1.1
- Simplified a lot of redundant code related to changing the move type of Z-Moves/Max Moves when certain effects are in play.
- Raid Pokemon will no longer continuously attack multiple times in a turn if the number of remaining Pokemon on your side of the field is less than the number of moves the Raid Pokemon would normally use on that turn.
- Added a missing bag icon sprite for the Z-Crystal pocket (bag slot 9) in
Graphics/Icons
. - Merged several old settings that toggled animations into a single setting named
SHOW_ZUD_ANIM
. - Added a new Dynamax setting named
MOVE_TYPES_TO_WEAKEN
. - Added an entry for Paldean forms in the
REGIONAL_FORMS
plugin setting. - Updated various Max Raid code with native support for Gen 9 species and Paldean forms.
- Updated various PBS files with placeholder data for Gen 9 species and Paldean forms.
- Moved some code around in preparation for the release of the Pokemon Birthsigns plugin.
- v1.1
- Overhauled the code related to the Max Raid Database to remove all of the lag that would occur upon loading the UI and navigating the menus.
- Made some minor tweaks to sprite properties for Dynamax icons for better compatibility with the Enhanced UI plugin.
- When facing Calyrex in a Max Raid, its name text will now have a blue shadow instead of the typical red.
- v1.0.9
- Fixed a new bug that could cause an infinite loop and crash the game after capturing a Pokemon in certain scenarios.
- v1.0.8
- Fixed an error that would occur when a Raid Pokemon used certain moves.
- Changed some code to ensure that Raid Pokemon will only attempt to use multiple moves per round only if it has selected to use a move this turn in the first place.
- v1.0.7
- Fixed a bug that would cause a crash if transforming into a Raid Pokemon before it begins using Max Moves.
- Updated and moved around some code in preparation for the release of the PLA Battle Styles plugin.
- v1.0.6
- Moved the placement of the Dynamax meter in the Summary screen when using the BW Summary plugin. Previously, the meter would overlap memo text if the Pokemon was hatched from an Egg. The meter now displays over the Pokemon's item information instead, like it does in the vanilla Essentials UI.
- v1.0.5
- Fixed a bug when capturing wild Pokemon that would recalculate their HP incorrectly after battle.
- Removed and shuffled around some code in preparation for future plugin releases.
- v1.0.4
- Fixed a bug introduced in the last update that allowed for Z-Moves to be available even when a Z-Crystal was not being held.
- Fixed a bug with effects that applied to one side of the field always applying to the foe's side, even when used against the player.
- Added a new music file to be played in raids. This is the "capture" theme that plays once the raid Pokemon is defeated and becomes catchable.
- v1.0.3
- Fixed an error that would occur when using Z-Powered versions of status moves that can call damage-dealing moves, such as Nature Power or Metronome.
- Made it so that Baton Passing while trapped by the effects of G-Max Sandblast and G-Max Centiferno will now properly pass the trapping effects.
- Removed the updated function codes for Behemoth Blade, Behemoth Bash and Dynamax Cannon from the ZUD compiler scripts, and simply made it so that they are included in the same PBS file that adds Z-Move and Max Move data.
- Fixed an error with the console display while compiling the game that may have made it appear that the game froze while compiling Dynamax metrics.
- Fixed the non-Dynamax sprite positioner omitting certain species from being editable.
- v1.0.2
- Updated the overwrite for the move Eerie Spell to reflect the changes made in the latest Hotfixes update.
- Moved around several bits of code in preparation for the release of the Focus Meter System plugin.
- Fixed an error that would occur if the moves Dynamax Cannon, Behemoth Blade, or Behemoth Bash don't exist while compiling.
- Fixed an error with the compiler when using the
AllFormsAbove
orAllFormsBelow
flags that would accidentally log the base species as an acceptable form. - Fixed an error with the eligible forms of Pikachu that may use the Z-Move 10,000,000 Volt Thunderbolt.
- Tweaked the description text for the Z-Crystal Pikashinium Z so that all of the text properly fits in the default UI.
- v1.0.1
- Fixed an issue with captured Raid Pokemon not being properly sent to the PC.
- Fixed an oversight where the Max Raid Database would not be unlocked after your first raid battle.
- Fixed an issue with the Test Battles in the Max Raid Database forcing you to save the game when you shouldn't have to.
Tutorials
How to Use: Z-MOVESSpoiler:
Player Z-Moves
Spoiler:Requirements
To use a Z-Move, you'll first need to have an item in your inventory that unlocks the ability to use Z-Power. Any item given theZRing
flag in its PBS data will be considered a Z-Ring. By default, this plugin adds the Z-Ring introduced in Sun & Moon, and the Z-Powered Ring in Ultra Sun & Ultra Moon. Either item will allow for the use of Z-Moves. Feel free to create your own custom Z-Rings, too.
Next, you'll need your Pokemon to be holding a compatible Z-Crystal.
Z-Crystals are key items that appear in their own bag slot (bag slot 9 by default, as shown above). Using a Z-Crystal from the bag will spawn a hold-able version of itself to equip to a Pokemon. Once equipped and the Pokemon has a corresponding move to use the crystal with, it can use Z-Power in battle!
Battle
To activate a Z-Move in battle, press theACTION
button to toggle between your base moves and eligible Z-Moves. Select your move and unleash a Z-Powered attack! A brief animation will play showing the trainer powering up the Z-Ring in their inventory to allow the Pokemon to unleash its Z-Power. This animation can be skipped by pressing theACTION
button at any point during the animation. If battle animations have been turned off, this animation will automatically be skipped.
Typically, Z-Moves may only be used once per battle. However, this plugin introduces a new custom item called a "Z-Booster". When used in battle, this item will replenish your Z-Ring, allowing you to use Z-Moves once more.
Note that Z-Moves have priority over other mechanics such as Mega Evolution, so if a species meets the requirements for both Mega Evolution and a Z-Move (for example, Rayquaza with Dragon Ascent holding Flyinium Z), then the option to use a Z-Move will be available first.
Z-Moves cannot be used if the user is a Shadow Pokemon, or under the effects of Mega Evolution, Primal Reversion, or Dynamax. It may still be used during Ultra Burst, however.
Enemy Z-Moves
Spoiler:Requirements
Opposing NPC trainers can be set up to use Z-Moves against you as well. The requirements are the same as for the player, they are simply set up differently. The trainer must be given an eligible Z-Ring in their inventory, and at least one of their Pokemon must be given an eligible Z-Crystal to hold with a compatible move. If all is set accordingly, they will trigger this Z-move in battle under the right conditions.
Battle
The AI for NPC trainers considers all possible Z-Moves their Pokemon may use in conjunction with their base moves. Meaning, if the trainer AI determines that a base move has a higher score, they will use that move instead of immediately spamming a Z-Move. All Z-Moves added by this plugin have been given their own AI scores, so trainers should use them more intelligently (by AI standards) than they have in previous versions of this plugin.
Wild Pokemon
Typically, a Pokemon may only utilize Z-Moves when their trainer possesses a Z-Ring. However, you may set up battles with special wild Pokemon who may use Z-Moves even without a trainer. To do this, you must flag this wild Pokemon as an "ace". This will count as if a Z-Ring is present, and thus the wild Pokemon will use a Z-Move if it has a compatible move and Z-Crystal. You may flag a Pokemon as an ace by simply settingPokemon#.ace = true
, or by setting:ace
to true using a Deluxe battle setting. When playing in Debug mode, you may also use the Debug options to set the ace flag on a Pokemon prior to battle.
Disabling Z-Moves
Spoiler:Gameplay
If you want to temporarily remove the ability to use Z-Moves (for both you and opponents), you can set theNO_Z_MOVES
game switch to "true". The number for this switch is located in the plugin Essentials Deluxe Settings script. Please change this number if it conflicts with an existing switch number used by Essentials, or any other plugin. You may also toggle Z-Move availability through the in-game Debug menu, under the "Deluxe Plugin" settings.
Animations
If you want to permanently turn off the Z-Move battle animation from playing, you can do so by settingSHOW_ZUD_ANIM
to "false" in the plugin Settings.
Creating Custom Z-Crystals
Spoiler:Item
Creating a custom Z-Crystal is done by simply creating a new item in your item PBS file. The simplest way to do this is by copy/pasting an existing Z-Crystal provided by this plugin, and editing it from there. All Z-Crystals require theZCrystal
flag to be recognized as such, and should be set to display in the Z-Crystal bag pocket (bag slot 9 by default).
Z-Crystals are unique in that they actually have two different item descriptions depending on whether they are viewed as Key Items in the bag, or as hold-able shards equipped to a Pokemon. By default, only the description for the bag version of the item is shown, since there is no UI that displays the description of a Pokemon's held item in the Summary. However, if you have a custom Summary UI that does show this description (or you just want to display this second description somewhere), you may do so by usingItem#.held_description
instead of the usualItem#.description
. If an item has no second description, thenheld_description
will just return the item's default description, so there's never any harm in using this for any item.
To allow for this Z-Crystal to actually be used in battle, refer to the "Creating Custom Z-Move Compatibilities" section below.
Creating Custom Z-Moves
Spoiler:It is very easy to set up your custom Z-Moves. In the ZUD plugin, in the folder[007] Move Effects
, there are a list of scripts that implement the battle effects of all Z-Moves and Max Moves. I'm not going to go indepth here, since this tutorial is already long enough, but each script here has a commented out section that acts as a mini tutorial in how to set up specific effects on a move. For example, theMoveEffects_BattlerStats
script will teach you how to make a move that changes Pokemon stats when used, such as with Max Strike or Extreme Evoboost. Read through all of these guides and look at how existing moves have been designed - you should be able to figure it out from there.
There is also aMoveEffects_Custom
script, which contains some custom moves I made up to serve as examples. If you want to implement your own moves, feel free to play around with these to get a feel for it.
Creating Custom Z-Move Compatibilities
Spoiler:Setting up Z-Move compatibility can be easily done by editing thepower_moves.txt
PBS file. There are three types of Z-Moves that can be set in this file: Generic Z-Moves, Exclusive Z-Moves, and Status Z-Moves.
- Generic Z-Moves
These are type-based Z-Moves that any species can utilize if they have a move of the corresponding type. If you have a custom type in your game, it may be a good idea to give that new type its own Z-Move. To set this, all you need to do is input a new type entry and define the Z-Move ID associated with this type, as well as the Item ID for the specific Z-Crystal that unlocks this set Z-Move. Generic type-based Z-Moves are set in conjunction with generic Max Moves, as shown in the above example. However, you don't necessarily need to set both. It's possible to have a type that has a Z-Move, but not a Max Move.
- Exclusive Z-Moves
These are special Z-Moves that are exclusive to a particular species, using a particular move. To create one, you must begin by creating a new[ZMOVE]
entry. As with generic Z-Moves, you'll need to define the Z-Move and its corresponding Z-Crystal here. However, you must also define the specific move that converts into this Z-Move, as well as the specific species that can use this Z-Move. Note that the species field accepts any species ID, meaning you can input something likeRATTATA_1
to make an exclusive Z-Move specifically for Alolan Rattata, instead of only base Rattata. If you want to make a Z-Move that functions with multiple forms of a specific species, you'll have to list each form.
However, you are not limited to only listing ID's of the same species. You can list any species you want and have them all be compatible with the same Z-Move. For an example of this, check out the entry for the Z-Moves "Guardian of Alola" and "Searing Sunraze Smash":
If you want all forms of a species to be compatible with a Z-Move, and don't want to list out each form, you can simply add the flagAllForms
to this entry. Take a look at the entry for the Z-Move "Splintered Stormshards" for an example of this:
TheAllForms
flag set here allows all three Lycanroc forms to be compatible with this Z-Move.
If you want multiple specific forms of a species to be compatible with a Z-Move, you can also use the flagsAllFormsAbove_
orAllFormsBelow_
, where you add a single number after the underscore of the flag. This will make it so only forms of that species that are above/below the inputted number will be compatible with this Z-Move. For example, if you set the species field toMINIOR
and set the flag toAllFormsAbove_6
, then this Z-Move will be compatible with only Minior core forms (forms 7 and up), but none of the Minior meteor forms (forms 6 and below). Alternatively, you can simply list out each individual form if you wish.
- Status Z-Moves
Unlike with damage-dealing moves that are converted into completely new moves, Z-Powered status moves simply get an additional bonus effect on top of their normal effects. The type of bonus effect these moves gain can also be handled in the PBS file. These bonuses come in the following varieties:
- AtkBoost - Comes in three varieties to boosts Attack by 1-3 stages.
- DefBoost - Comes in three varieties to boosts Defense by 1-3 stages.
- SpAtkBoost - Comes in three varieties to boosts Sp. Atk by 1-3 stages.
- SpDefBoost - Comes in three varieties to boosts Sp. Def by 1-3 stages.
- SpdBoost - Comes in three varieties to boosts Speed by 1-3 stages.
- AccBoost - Comes in three varieties to boosts Accuracy by 1-3 stages.
- EvaBoost - Comes in three varieties to boosts Evasion by 1-3 stages.
- OmniBoost - Comes in three varieties to boost all stats by 1-3 stages.
- CritBoost - Boosts the user's critical hit ratio by 1 stage.
- ResetStats - Negates the user's stat drops, if any.
- HealUser - Fully restores the user's HP.
- HealSwitch - Fully restores the HP of an incoming Pokemon.
- FocusOnUser - Applies the Follow Me effect on the user.
To give a status move one of these effects, all you have to do is simply add the ID of that status move to the list of moves with that effect. The first eight stat boosting effects listed have three variants each to designate the number of stages that effect will boost stats by. For example, the move Splash increases the user's Attack by 3 stages when used as a Z-Move, so it's included in the listAtkBoost3
. Meanwhile, the move Aqua Ring increases Defense by 1 stage, so it's included in the listDefBoost1
.
How to Use: ULTRA BURSTSpoiler:
Player Ultra Burst
Spoiler:Requirements
To use Ultra Burst, you'll first need to have an item in your inventory that unlocks the ability to use Z-Power. Any item given theZRing
flag in its PBS data will be considered a Z-Ring. By default, this plugin adds the Z-Ring introduced in Sun & Moon, and the Z-Powered Ring in Ultra Sun & Ultra Moon. Either item will allow for the use of Ultra Burst. Feel free to create your own custom Z-Rings, too.
Next, you'll need your Pokemon to be holding a compatible item that allows for Ultra Burst. This can be any hold-able item that is given theUltraItem
flag in its PBS data. By default, the only item with such a flag is Ultranecrozium Z, which doubles as a Z-Crystal as well. Once equipped to a compatible Pokemon, it can use Ultra Burst in battle!
Battle
To activate Ultra Burst in battle, press theACTION
button to toggle the mechanic on or off prior to selecting a move. If turned on, the Pokemon will immediately Ultra Burst! While in Ultra Burst form, a new icon will appear next to the Pokemon's name, signifying that it is in Ultra Burst form. The Pokemon will revert into its previous form once it faints, or after the battle concludes. A brief animation will play showing during the Ultra Burst transition when the mechanic is used. This animation can be skipped by pressing theACTION
button at any point during the animation. If battle animations have been turned off, this animation will automatically be skipped.
Ultra Burst cannot be used if the user is a Shadow Pokemon, or under the effects of Mega Evolution, Primal Reversion, Dynamax, or is currently capable of using a Z-Move.
Enemy Ultra Burst
Spoiler:Requirements
Opposing NPC trainers can be set up to use Ultra Burst against you as well. The requirements are the same as for the player, they are simply set up differently. The trainer must be given an eligible Z-Ring in their inventory, and at least one of their Pokemon must be given an eligible Ultra Burst-capable item to hold that they are compatible with. If all is set accordingly, they will trigger Ultra Burst with this Pokemon in battle.
Battle
The AI for NPC trainers will simply use Ultra Burst as soon as it is available to them.
Wild Pokemon
Typically, a Pokemon may only utilize Ultra Burst when their trainer possesses a Z-Ring. However, you may set up battles with special wild Pokemon who may use Ultra Burst even without a trainer. To do this, you must flag this wild Pokemon as an "ace". This will count as if a Z-Ring is present, and thus the wild Pokemon will use Ultra Burst if a compatible Ultra item is held. You may flag a Pokemon as an ace by simply settingPokemon#.ace = true
, or by setting:ace
to true using a Deluxe battle setting. When playing in Debug mode, you may also use the Debug options to set the ace flag on a Pokemon prior to battle.
Disabling Ultra Burst
Spoiler:Gameplay
If you want to temporarily remove the ability to use Ultra Burst (for both you and opponents), you can set theNO_ULTRA_BURST
game switch to "true". The number for this switch is located in the Essentials Deluxe Settings script. Please change this number if it conflicts with an existing switch number used by Essentials, or any other plugin. You may also toggle Ultra Burst availability through the in-game Debug menu, under the "Deluxe Plugin" settings.
Animations
If you want to permanently turn off the Ultra Burst battle animation from playing, you can do so by settingSHOW_ZUD_ANIM
to "false" in the plugin Settings.
Creating Custom Ultra Burst Items
Spoiler:Item
Creating a custom item that allows for Ultra Burst is done by simply creating a new item in your item PBS file. All items of this type require theUltraItem
flag to be recognized as such. An Ultra Item can be simultaneously flagged as a Z-Crystal, such as with Ultranecrozium Z, but this isn't a requirement. It is entirely possible to design an Ultra Burst item that only triggers Ultra Burst without a corresponding Z-Move.
To allow for this Ultra Burst item to actually be used in battle, refer to the "Creating Custom Ultra Burst Compatibilities" section below.
Creating Custom Ultra Burst Forms
Spoiler:Form
Ultra Burst forms aren't any different from any form that you would normally create by adding them to thepokemon_forms.txt
PBS file. Any form listed here can potentially be set up as an Ultra Burst form. To allow for a specific form to be considered an Ultra Burst form, refer to the "Creating Custom Ultra Burst Compatibilities" section below.
Creating Custom Ultra Burst Compatibilities
Spoiler:Setting up Ultra Burst compatibility can be easily done by editing thepower_moves.txt
PBS file. Unlike the main series, Ultra Burst can be set up with this plugin to be usable by any species, not just Necrozma. To begin, you must first create a new[ULTRA]
entry.
As shown, only three things need to be defined.
- Species
This can be any species ID you want. Whatever species entered here acts as the base species that will utilize Ultra Burst.
- Item
This can be any item ID that you have flagged as anUltraItem
in the items PBS data. This item acts as the requirement for triggering Ultra Burst on the above species.
- Ultra
This is set to a form number to change the base species into. The Pokemon will be considered in Ultra Burst form while in this form, regardless of what the form is defined as in thepokemon_forms.txt
PBS.
Once set, this Pokemon will be able to Ultra Burst in battle.
How to Use: DYNAMAXSpoiler:
Dynamax Mechanics
Spoiler:Eligibility
Several things are required to allow a Pokemon to use Dynamax in battle.
- Dynamax Band
Dynamax won't be available unless the trainer has an eligible Dynamax Band in their inventory. Any item given theDynamaxBand
flag in its PBS data will be considered a Dynamax Band. By default, this plugin adds the Dynamax Band introduced in Sword & Shield, but feel free to create your own custom items that allow for Dynamax, too.
- Power Spots
A Power Spot is a particular map that is flagged as being able to support Dynamax. In the main series, this is limited to specific locations such as Gyms or Battle Facilities. This is replicated in this plugin as well, so Dynamax will not appear as an option unless the trainer is on a map flagged as aPowerSpot
. To set which maps are compatible, you may addPowerSpot
to a map'sFlags
inmeta_mapdata.txt
. This may also be done in the in-game Map Metadata Editor in debug mode.
If you desire Dynamax to be usable on any map in the game, you can instead set the$game_switches[Settings::DYNAMAX_ANY_MAP]
switch to "true", to consider every map a Power Spot, regardless if it has thePowerSpot
flag or not. The number for this switch is located in the Essentials Deluxe Settings script. Please change this number if it conflicts with an existing switch number used by Essentials, or any other plugin. You may also toggle this through the in-game Debug menu, under the "Deluxe Plugin" settings.
Note that while in a Max Raid Battle, the option to Dynamax will still be available even if the battle takes place on a map that isn't flagged as aPowerSpot
.
- Battle Conditions
By default, the Dynamax mechanic is only available during Trainer battles, or Max Raid battles, and is never available during normal wild encounters. To disable this, you may set the$game_switches[Settings::CAN_DYNAMAX_WILD]
switch to "true", to allow for Dynamax during wild battles. The number for this switch is located in the Essentials Deluxe Settings script. Please change this number if it conflicts with an existing switch number used by Essentials, or any other plugin. You may also toggle this through the in-game Debug menu, under the "Deluxe Plugin" settings.
Special Eligibility Cases
Even if all the above conditions are met, there are certain unique cases that may limit the availability of Dynamax. Certain species, such as Zacian and Zamazenta, are hard-coded to be unable to use Dynamax. Even Pokemon transformed into these species due to the effects of Transform, Imposter, or Illusion will be unable to Dynamax as well.
If you would like to add more of these special exclusions, you can ban entire species from being eligible to use Dynamax by adding those species ID's in theDYNAMAX_BANLIST
array found in the plugin Settings. Keep in mind however that any changes to this setting will require you to recompile your game for the changes to take effect.
If you would like to flag an individual Pokemon as being unable to Dynamax rather than an entire species, you can do this as well. You can flag Dynamax eligibility on a specific Pokemon object by settingPokemon#dynamax_able
to true or false. This can also be done through the Pokemon Debug options in the Dynamax section within "Deluxe Options...". For opposing trainers, you can simply addNoDynamax = yes
to that Pokemon's data in thetrainers.txt
PBS file.
Dynamax Level
The amount of bonus HP a Pokemon receives while Dynamaxed is dependent on their Dynamax Level. Each Pokemon can have a Dynamax Level between 1-10, and this level is displayed in the Summary. You can increase this level by feeding a Pokemon Dynamax Candies won from Raid Battles. Pokemon that are unable to use Dynamax cannot have their Dynamax Level increased or consume Dynamax Candies. You can also edit the Dynamax Level of a Pokemon through the Pokemon Debug options in the Dynamax section within "Deluxe Options...".
Gigantamax
Certain species have access to an exclusive Dynamax mechanic called Gigantamax. This may be unlocked on a compatible species by giving that Pokemon G-Max Factor, which is displayed in the Summary. G-Max Factor can be given to a Pokemon by feeding it Max Soup. Pokemon that are unable to Dynamax cannot be given G-Max Factor or consume Max Soup. You can also edit G-Max Factor on a Pokemon through the Pokemon Debug options in the Dynamax section within "Deluxe Options...".
Eternamax
In the main series, Eternatus is incapable of using Dynamax, along with Zacian and Zamazenta. However, Eternatus has a story-exclusive Dynamax mechanic called "Eternamax" that is replicated in this plugin as well. Under normal conditions, Eternatus is unable to use Dynamax. However, if given G-Max Factor and on an appropriate map, Dynamax will be available and Eternatus will be able to Eternamax. The specific maps that this can occur on are limited to maps that have been given theEternaSpot
flag. This is handled exactly how thePowerSpot
flags are handled. Note that a map requires BOTH flags to allow for Eternamax, not just one or the other.
Player Dynamax
Spoiler:Requirements
To use Dynamax, you'll need to satisfy all of the eligibility conditions outlined in the "Dynamax Mechanics" section above. If all conditions are met, you should freely be able to Dynamax during battle.
Battle
To activate Dynamax in battle, press theACTION
button to toggle between your base moves and eligible Max Moves. Select your move and your Pokemon will Dynamax! A brief animation will play showing the trainer powering up the Dynamax Band in their inventory to allow the Pokemon to Dynamax. This animation can be skipped by pressing theACTION
button at any point during the animation. If battle animations have been turned off, this animation will automatically be skipped.
The amount of turns a Pokemon will remain Dynamaxed before the effect expires can be set with theDYNAMAX_TURNS
plugin Setting. This is set to 3 turns by default.
Typically, Dynamax may only be used once per battle. However, this plugin introduces a new custom item called a "Wishing Star". When used in battle, this item will replenish your Dynamax Band, allowing you to use Dynamax once more.
Dynamax cannot be used if the user is a Shadow Pokemon, or under the effects of Mega Evolution, Primal Reversion, Ultra Burst, or is capable of using a Z-Move.
Enemy Dynamax
Spoiler:Requirements
Opposing NPC trainers can be set up to use Dynamax against you as well. The requirements are the same as for the player, they are simply set up differently. First, the trainer must be given an eligible Dynamax Band in their inventory. If all other conditions are met, they will always save Dynamax for their ace Pokemon, and use it as soon as it's available. A Trainer's "ace" Pokemon is whatever Pokemon appears last in their lineup, as defined in their PBS data. If you desire an earlier Pokemon in their lineup to be considered an ace, you may simply setAce = yes
in that Pokemon's data. You may also use theDynamaxLvl
andGigantamax
settings to set that Pokemon's Dynamax Level and G-Max Factor, respectively. All of this can also be set within the in-game Trainer editor as well, if you don't want to manually fiddle with PBS data.
Note that if you're using this plugin together with the PLA Battle Styles or Terastal Phenomenon plugins, Dynamax will always out-prioritize the mechanics added by those plugins if they are available at the same time as Dynamax. If you'd like to set up a scenario where those mechanics are available on a Pokemon instead of Dynamax, you can simply addNoDynamax = yes
to that Pokemon's data in thetrainers.txt
PBS file. This will flag the Pokemon as unable to Dynamax, allowing other mechanics to be available instead.
Battle
The AI for NPC trainers will simply use Dynamax as soon as it is available to them on their compatible ace Pokemon.
Wild Pokemon
Typically, a Pokemon may only utilize Dynamax when their trainer possesses a Dynamax Band. However, you may set up battles with special wild Pokemon who may use Dynamax even without a trainer. To do this, you must flag this wild Pokemon as an "ace". This will count as if a Dynamax Band is present, and thus the wild Pokemon will use Dynamax if all other conditions are met to allow it. You may flag a Pokemon as an ace by simply settingPokemon#.ace = true
, or by setting:ace => true
in the Pokemon hash in a Deluxe battle. When playing in Debug mode, you may also use the Debug options to set the ace flag on a Pokemon prior to battle.
Note that if you're using this plugin together with the PLA Battle Styles or Terastal Phenomenon plugins, Dynamax will always out-prioritize the mechanics added by those plugins if they are available at the same time as Dynamax. If you'd like to set up a scenario where those mechanics are available on a wild Pokemon instead of Dynamax, you can simply edit the wild Pokemon's Dynamax eligibility by settingPokemon#dynamax_able
equal to false. This may also be done by setting:nodynamax => true
in a Pokemon hash in a Deluxe battle, or through the Pokemon debug editor when playing in debug mode. This will flag the wild Pokemon as unable to Dynamax, allowing other mechanics to be available instead.
Disabling Dynamax
Spoiler:Gameplay
If you want to temporarily remove the ability to use Dynamax (for both you and opponents), you can set theNO_DYNAMAX
game switch to "true". The number for this switch is located in the Essentials Deluxe Settings script. Please change this number if it conflicts with an existing switch number used by Essentials, or any other plugin. You may also toggle Dynamax availability through the in-game Debug menu, under the "Deluxe Plugin" settings.
While Dynamax is disabled, the Dynamax Level and G-Max Factor displays in the Summary will be hidden for all Pokemon.
Animations and Visuals
If you want to permanently turn off the Dynamax battle animation from playing, you can do so by settingSHOW_ZUD_ANIM
to "false" in the plugin Settings.
You may also turn off certain visual settings for Dynamax in the plugin Settings as well, if you don't find them visually pleasing. You can set theSHOW_DYNAMAX_SIZE
setting to false to prevent Pokemon sprites from enlarging while Dynamaxed. You may also set theSHOW_DYNAMAX_COLOR
setting to false to prevent Pokemon sprites from changing color during Dynamax.
If you want to keep the Dynamax color, but don't like the particular color used, you can edit the graphic file nameddynamax_pattern
located inGraphics/Plugins/ZUD
. This image is what's used as an overlay to give Pokemon sprites their color. There's also a file namedcalyrex_pattern
used specifically for Calyrex.
Creating Custom Max Moves
Spoiler:It is very easy to set up your custom Max Moves. In the ZUD plugin, in the folder[007] Move Effects
, there are a list of scripts that implement the battle effects of all Z-Moves and Max Moves. I'm not going to go indepth here, since this tutorial is already long enough, but each script here has a commented out section that acts as a mini tutorial in how to set up specific effects on a move. For example, theMoveEffects_BattlerStats
script will teach you how to make a move that changes Pokemon stats when used, such as with Max Strike or Extreme Evoboost. Read through all of these guides and look at how existing moves have been designed - you should be able to figure it out from there.
There is also aMoveEffects_Custom
script, which contains some custom moves I made up to serve as examples. If you want to implement your own moves, feel free to play around with these to get a feel for it.
Editing or Customizing Dynamax/G-Max Forms
Spoiler:Unlike normal forms that are designated by numbers, such asRATTATA_1
, Pokemon under the effects of Dynamax or Gigantamax are not considered separate "forms". Dynamax is treated as an effect, and for the duration of this effect the Pokemon may appear and sound differently. The way you may set up the sprites and cries for these forms are outlined below.
If you'd like to edit the metrics for any of these forms, you may do so with the in-game Sprite Position Editor, as you would normally. However, to edit Dynamax and G-Max sprites, you must open the editor in Dynamax Mode. This is accomplished simply by holding theCTRL
key while opening the editor. A message will display if you've done so correctly. If you select the "Auto-Position All Pokémon Sprites" option, you may also holdCTRL
to make this only auto position your Dynamax and G-Max sprites.
- Gigantamax
Spoiler:
- Sprites
Within theGraphics/Pokemon
folder, there exists several subfolders for particular Pokemon sprites. Within each of those subfolders, you will find another folder namedGigantamax
, that has been added by this plugin, as shown here:
These folders contain the appropriate sprites for all Gigantamax forms that will be displayed in battle if the species is Gigantamaxed. When creating a new G-Max form, you simply need to add the graphics for this form in each of the corresponding subfolders (Front, Back, Front shiny, Back shiny, and Icons). Note that the file names used in these folders follow the same naming conventions as the base sprites, so you will need to designate the sprites appropriately if they are exclusive to certain forms or have gender differences. For the purposes of this plugin, Eternamax Eternatus is considered a G-Max form, and is also found in these folders.
If you'd like to design custom Footprint sprites for G-Max forms to appear in the Pokedex, you may also do so in the same manner as with the other folders. However, you will have to create aGigantamax
folder for these sprites yourself, as this plugin doesn't include these by default.
- Cries
In addition to sprites, you may give a species a Gigantamax cry, as well. This is set up exactly like all of the above - by adding the appropriate cry file for a species to theGigantamax
folder, but this time located in theAudio/SE/Cries
folder, as shown here:
If an audio file for a species is detected in this folder, it will play this cry whenever the Pokemon is Gigantamaxed. The files should be named in the same way the files for the regular cries are named, including form numbers if necessary. If a G-Max Pokemon with multiple forms (such as Alcremie) is in G-Max form, but no G-Max cry file for that form is detected in the Gigantamax folder, then it will just play the G-Max cry of the base species instead. If no G-Max cry for the base species is detected either, then the Pokemon will just play its regular cry, but with a lower pitch.
- Other
For information on setting up other data related to these forms, such as Pokedex entries and exclusive G-Max Moves, refer to the "Creating Custom Dynamax/G-Max Compatibilities" section below.
- Dynamax
Spoiler:
- Sprites
If you dislike the default plugin settings that simply enlarges and/or colors the base sprites of a Pokemon while its Dynamaxed, there is a third option to display unique sprites to indicate that a Pokemon is Dynamaxed. In a similar way to Gigantamax, you may simply add a folder namedDynamax
to each subfolder in Graphics/Pokemon. In these folders, you may add sprites for a species and those sprites will be used while the Pokemon is under the effects of regular Dynamax, and not Gigantamaxed. This plugin does not include any custom Dynamax sprites by default however, so you must add these folders and sprites yourself for all relevant species if you intend to use this feature.
While a Pokemon is Dynamaxed, it will use a special shadow sprite that is specifically used for Dynamaxed Pokemon located inGraphics/Pokemon/Shadow
. If you'd like to have custom shadow sprites for certain species while Dynamaxed, you can do so by simply adding new files to this folder and naming them with the specific species ID, followed by the suffix_dmax
. For example, this plugin already comes with three custom shadow sprites used for Calyrex and all of its forms, which are namedCALYREX_dmax
,CALYREX_1_dmax
, andCALYREX_2_dmax
, respectively.
- Cries
In addition to sprites, you may give a species a Dynamax cry, as well. This is set up exactly like all of the above - by adding the appropriate cry file for a species to theDynamax
folder you created, but this time located in theAudio/SE/Cries
folder.
If an audio file for a species is detected in this folder, it will play this cry whenever the Pokemon is under the effects of regular Dynamax, and not Gigantamaxed. The files should be named in the same way the files for the regular cries are named, including form numbers if necessary. If a Pokemon is Dynamaxed, but no Dynamax cry for the species is detected in this folder, then the Pokemon will just play its regular cry, but with a lower pitch.
Creating Custom Dynamax/G-Max Compatibilities
Spoiler:Setting up Max Move and G-Max compatibility can be easily done by editing thepower_moves.txt
PBS file. In here, you can edit Generic Max Moves, and exclusive G-Max forms along with G-Max Moves.
- Generic Max Moves
These are type-based Max Moves that any Dynamaxed species can utilize if they have a move of the corresponding type. If you have a custom type in your game, it may be a good idea to give that new type its own Max Move equivalent. To set this, all you need to do is input a new type entry and define the new Max Move ID for this type. Generic type-based Max Moves share the same implementation method as Z-Moves, as shown in the example. However, you don't necessarily need to set both. It's possible to have a type that has a Max Move, but not a Z-Move.
- Exclusive G-Max Forms
These entries define data for exclusive Gigantamax forms that are called when a Pokemon Dynamaxes with G-Max Factor. You may define your own custom G-Max forms here. To begin, you must first create a new[GMAX]
entry.
As shown, several things may be defined here:
- Max Move
This should be set to a move ID of the exclusive G-Max Move you want this species to have access to while in Gigantamax form. Note that this isn't explicitly required to be set, and it's totally possible to set up a G-Max form that doesn't have an exclusive G-Max move. For an example of this, check out the entry for Eternamax Eternatus.
- Type
This should be set to a type ID indicating which moves will be converted to the G-Max Move set above. For example, if set toGRASS
, all of the user's base Grass-type moves will be converted into the G-Max Move set above when in Gigantamax form. Note that the type set here doesn't necessarily have to correspond with the type of the move set above. For example, if you set this toWATER
, but the G-Max Move set above is a Fire-type move, all of the user's base Water-type moves will be converted into that Fire-type G-Max Move.
This setting can be also be omitted if setting up a G-Max form that doesn't have an exclusive G-Max Move. For an example of this, check out the entry for Eternamax Eternatus.
- Species
This is set to a species ID that acts as the base form to trigger this Gigantamax form. You may list multiple forms of the same species if you want them all to trigger this same form.
- Flag
You may set this toAllForms
in cases where you want all forms of a species to trigger this same Gigantamax form. For an example of this, check out the entry for Gigantamax Alcremie. This setting may be omitted if unneeded.
- Name
This is used as the form name for this species while it is in Gigantamax form. This is used when viewing the forms page in the Pokedex.
- Height
This is used to indicate the height of this species while it is in Gigantamax form. This is used when viewing the Pokedex entry for this Gigantamax form. Only height is defined, because all Gigantamax forms always just list "????" as their weight.
- Pokedex
This is the pokedex enty used for this species in the Pokedex when viewing their Gigantamax form.
How to Use: MAX RAIDSSpoiler:
Max Raid Battle
Spoiler:Max Raid battles pit you up against a wild Dynamaxed Pokemon with a variety of unique mechanics not found in other battle modes. You may only bring a maximum of 3 Pokemon with you to a raid battle, and you are unable to flee from battle. If any of your Pokemon are KO'd during the battle, they will be revived and sent back out the following turn. Raid Pokemon will be encountered in Dynamax form, and have the unique ability to attack multiple times per turn - as well as alternating between Max Moves and their standard moves. The only way to win a Raid Battle is to defeat the Raid Pokemon before the raid's timer or KO counter run out, at which point you will be given the opportunity to capture the Raid Pokemon. This is the only way to capture the Pokemon, as Pokeballs are disabled during the battle otherwise. Raid Pokemon always have a 100% capture rate, unless you are playing under Hard Mode difficulty, where the catch rate is reduced to 20%.
Here are some more in depth explanations of specific raid battle mechanics:
Raid Counters
Spoiler:You will notice that a Raid Pokemon's databox displays two numbers that may count down during battle. The "Turn" counter indicates how many turns are remaining until the Raid Pokemon blows you out of the den, prematurely ending the raid. The base number of turns you have in a raid battle may be set with theMAXRAID_TIMER
plugin setting. However, this only handles the base amount of turns, so this number will scale up depending on multiple factors. Typically, you will be given more turns to complete a raid if you bring fewer than 3 Pokemon to the battle; to compensate for the fewer attacking opportunities you'll have. The turn counter caps at 25 turns, and so it will never be higher than this number, regardless of whatever settings you apply. The lowest number of turns a raid can have is set to 5.
The other counter displayed is one for counting KO's. This number will lower each time one of your Pokemon faint during the raid battle. If this number reaches zero, you will be blown out of the den, prematurely ending the raid. Note that if all of your Pokemon faint simultaneously, you will also be blown out of the raid, regardless of how many remaining KO's you have. The base number of KO's you have in a raid battle may be set with theMAXRAID_KOS
plugin setting. However, this only handles the base amount of KO's, and may scale depending on multiple factors. More difficult raids will usually have fewer KO's for you to work with, making the raid more challenging. If you enter a raid with only a single Pokemon, then the KO counter will always be set to 1, since the raid will automatically end if your only available Pokemon faints, anyway. The KO counter caps at 6 KO's, and will never be higher than this number, regardless of whatever settings you apply. The lowest number of KO's a raid can have is set to 1.
Raid Shields
Spoiler:Whenever the Raid Pokemon reaches a certain HP threshold, it will activate its raid shield. Raid Shields drastically reduce any damage taken by the Pokemon from attacks, as well as making them immune to status moves and added effects. The amount of HP a raid shield has is indicated by the pink bars that are displayed on the Raid Pokemon's databox. Striking the Raid Pokemon with any damaging move will remove 1 bar of shield HP. However, Max Moves launched by a Dynamaxed Pokemon, or damaging Z-Moves will remove 2 bars worth of shield HP. Raid Pokemon will always trigger their raid shield when their HP falls to 50% or below. However, Raid Pokemon found in more difficult raids will have two separate rounds of raid shields, and trigger once when the Raid Pokemon's HP falls to 80% or below, and then again at 50% or below.
The base amount of shield HP a Raid Pokemon may have can be set with theMAXRAID_SHIELD
plugin setting. However, this only handles the base amount of shield HP, so this number will scale up depending on multiple factors. Typically, the higher the difficulty of the raid, the more shield HP the Raid Pokemon will have.
Note: When playing in Debug mode, you may hold CTRL while inflicting damage to a Raid Pokemon's shield to remove the entire raid shield in one hit.
Wave Attacks
Spoiler:This is a unique mechanic Raid Pokemon may utilize in addition to their normal attacks. In the main series, only one such "attack" exists that Raid Pokemon use, which neutralizes your Pokemon's Abilities and resets stat changes. This plugin expands on this concept by adding a variety of additional Wave Attacks that a Raid Pokemon can perform, although most of these will only occur when playing in Hard Mode.
Here are all of the Wave Attacks a Raid Pokemon may perform:
- Neutralizing Wave
The Raid Pokemon unleashes a neutralizing wave of Dynamax energy, which resets any stat increases of your Pokemon, as well as negating the effects of their Abilities. This will also remove any status conditions on the Raid Pokemon, if any. This Wave Attack has higher priority than moves, so it will always trigger before any Pokemon on the field gets a chance to act. A Raid Pokemon will not start using this Wave Attack until their HP has fallen by at least 20%; after which, the Raid Pokemon will have about a 20% chance each turn to use this Wave Attack. The odds of this increases if the Raid Pokemon is currently inflicted with a status condition, or if their raid shield is up.
- Malicious Wave
This is a Hard Mode-only Wave Attack. This Wave Attack will trigger whenever the Raid Pokemon uses a damage-dealing move. After the selected attack is used, the Raid Pokemon will follow up with a Malicious Wave, which deals splash damage to all opposing Pokemon on the field equal to 1/16th of their max HP. Note that this will trigger even if the Raid Pokemon's initial attack missed or was negated in some way. If all rounds of the Raid Pokemon's raid shields have been depleted, this Wave Attack will begin dealing splash damage equal to 1/8th of each Pokemon's max HP instead. Note however that this Wave Attack will never be used while the Raid Pokemon has an active raid shield.
- Invigorating Wave
This is a Hard Mode-only Wave Attack. This Wave Attack will trigger whenever the Raid Pokemon initiates its final round of shields. When triggered, the Raid Pokemon receives an omni stat boost; increasing each of its stats by 1 stage. This Wave Attack can only occur once per raid battle.
- Immobilizing Wave
This is a Hard Mode-only Wave Attack. Raid Pokemon will be able to utilize this Wave Attack once their final round of shields have expired. If so, the Raid Pokemon will will unleash this Wave Attack, immobilizing all opposing Pokemon on the field this turn; cancelling their attack. However, any Pokemon under the effects of Dynamax will be immune to this effect. This Wave Attack has higher priorty than moves, and triggers before any Pokemon on the field gets a chance to act. This Wave Attack can only occur once per raid battle.
Cheering
Spoiler:A new mechanic available to the player during raid battles is a command called Cheer. This command replaces the "Run" option during raid battles. Cheering is best described as a comeback mechanic that can help you out in a tight spot if you are in a difficult position in a raid battle, or have a Pokemon in your party that doesn't have much else to contribute to the battle. Cheering for a Pokemon will use up that Pokemon's turn, and in exchange, a beneficial effect may trigger as a result of the Cheer. The more Pokemon you Cheer for in a single turn, the more powerful these beneficial effects will become. Which effect occurs is somewhat random, however, you can manipulate which effects are most likely to occur based on the number of Cheers you perform in a given situation.
Here are all of the effects that may trigger with the Cheer command, and what scenarios are likely to trigger them:
- Reflect
Applies the Reflect effect to the party for 5 turns. This effect will never be selected if your party is already under the effects of Reflect. You have a chance of triggering this effect with a single Cheer if you only have one Pokemon participating in this raid battle, or if you have multiple Pokemon and the raid's KO counter has decreased by at least one. This wont ever trigger when using multiple Cheers in one turn.
- Light Screen
Applies the Light Screen effect to the party for 5 turns. This effect will never be selected if your party is already under the effects of Light Screen. You have a chance of triggering this effect with a single Cheer if you only have one Pokemon participating in this raid battle, or if you have multiple Pokemon and the raid's KO counter has decreased by at least one. This wont ever trigger when using multiple Cheers in one turn.
- Stat Boost
Boosts a random stat for each of your Pokemon. The number of stages boosted is equal to the number of Cheers performed. So if you perform a single Cheer, all Pokemon get +1 to a random stat. If you Cheer with all 3 Pokemon, each one gets +3 to a random stat. This effect will typically be selected only when no other effect is available to use. This has lower priority than Wave Attacks, so any stat boosts gained from Cheering will not be negated on the same turn that a Raid Pokemon uses Neutralizing Wave.
- Full Recovery
Fully replenishes the HP of all of your active Pokemon, as well as healing any status conditions. This effect may only ever occur if at least one active Pokemon's HP has fallen to 50% or below. This effect is guaranteed if using three Cheers in one turn, and there aren't any other available effects that may be selected. If using two Cheers, this effect has a very likely chance of occurring, but only if the raid's KO counter has decreased by at least one, or if the raid's turn counter has fallen below 5. This effect can never occur with a single Cheer unless you only have a single Pokemon in you party; in which case, it follows the same conditions as two Cheers.
- Timer Bonus
Distracts the Raid Pokemon with your cheering; buying yourself an extra turn to complete the raid before the timer runs out. This can only occur by using two Cheers when the raid turn counter has reached 1. You can perform this indefinitely as long as you Cheer with two of your Pokemon each turn. However, the longer you do this, the more you run the risk of your Pokemon being KO'd (since they are not attacking), and thus removing your ability to continue Cheering.
- KO Bonus
Distracts the Raid Pokemon with your cheering; slightly calming the storm that has built up during the battle. This will increase the raid's KO counter by 1, allowing an additional Pokemon to be KO'd without being prematurely ejected from the battle. This effect can only ever occur as the result of using three Cheers in one turn when the raid's KO counter has reached 1.
- Shield Break
Breaks the Raid Pokemon's entire raid shield, regardless of how much remaining shield HP it has. This effect may only ever trigger when the Raid Pokemon's raid shield is active. This effect requires that the raid's turn counter has fallen below 5 or the raid's KO counter has decreased by at least one, and you selected Cheer with each of your Pokemon this turn while none are currently fainted.
- Replenish Dynamax
Recharges the player's Dynamax Band, allowing them to use Dynamax once again in the same battle if it has already been used previously. This effect may only ever trigger if Dynamax has already been used, and isn't currently in use. This effect requires that the raid's turn counter has fallen below 5 or the raid's KO counter has decreased by at least one, and you selected Cheer with each of your Pokemon this turn while none are currently fainted.
Hard Mode
Spoiler:Unlike the main series, you can also participate in raid battles under Hard Mode difficulty. This adds several new game mechanics to increase the difficulty of the raid, as well as buffing the Raid Pokemon in a variety of ways. Here's a list of the core changes you can expect to find in a raid battle under Hard Mode difficulty:
- The HP pools for Raid Pokemon are increased.
- Raid Pokemon has an additional bar of raid shield HP whenever it activates its raid shield.
- Raid Pokemon has access to several new Wave Attacks that it normally wouldn't use.
- Raid Pokemon recovers a small amount of HP each turn that it spends with an active raid shield.
- Raid Pokemon gain +1 to both their Attack and Sp.Atk when one of your Pokemon are KO'd.
- Raid Pokemon has a 20% capture rate, instead of being a guaranteed capture.
Max Raid Dens
Spoiler:Accessing a Raid Den
Spoiler:When encountering a Raid Den event, it may differ visually depending on the current state of that particular den. Here are all the states a raid den might be found in:
- Purple Beam
When a purple beam is emitting from a den, this means that the den has been reset and is ready to generate a new Pokemon. Upon activating a den with a purple beam, you will be asked to save your game. If you comply, a new unique Pokemon object will be generated and saved to this particular den event, and the beam will change color.
Note: You may skip the saving prompt in Debug mode by holding CTRL when interacting with the den.
- Red Beam
This is what a purple beam changes to once a new Pokemon object has been saved to the den. A red beam means that no other Pokemon besides the one that has been saved to it can be encountered in this den. However, all raid dens will automatically be reset at midnight every day, meaning any Pokemon saved to each den will be erased, and thus the raid beam will return to purple again.
- Blue Beam
This is identical to a red beam in every way. The only difference is that this beam is exclusively used when Calyrex is the species of Pokemon saved to the den.
- No Beam
After the saved Pokemon of a den has been captured or defeated, that den is now considered "empty", and so a beam will no longer be emitting from the den. An empty den has no available Pokemon, and thus you cannot engage in any raid battles in this den until it is reset. Raid dens are automatically reset at midnight each day. However, you may choose to manually reset an empty raid den by throwing in a Wishing Piece. If you don't have any Wishing Pieces in your bag, you'll have to wait for the den to naturally reset.
Note: In Debug mode, you may hold CTRL when interacting with an empty den to forcibly reset it without Wishing Pieces.
Raid Den Entry
Spoiler:When you get to the entry screen of a Raid Den, a variety of information will be displayed.
- Raid Stars
A number of stars will appear in the top left of the raid screen. The number of stars indicates the rank, and thus the difficulty level of the raid.
- Species Type & Silhouette
The type of the raid species as well as the silhouette of its sprite will appear to the left of the screen.
- Party
To the bottom left of the screen, there's a field for your party. The Pokemon displayed here indicate which Pokemon will be brought with you to the raid battle. You may press theACTION
button to reconfigure your party without having to back out of the raid. The number of Pokemon you can bring with you in the raid is capped at 3.
- Field Conditions
To the top right of the screen, there may be an indication of several field conditions that will be in play for this particular raid battle. This includes weather, battle terrain, and the environment that this raid takes place on. If no field conditions are displayed, then the raid takes place under default conditions.
- Other Indicators
Several other indicators may be displayed below the raid's field conditions. These include a symbol to indicate that the species of this raid is in Gigantamax form, a symbol indicating if this raid battle is to be fought on Hard Mode, and/or if this raid has exclusive loot saved to it that may be awarded upon clearing the raid.
- Raid Conditions
Finally, at the bottom right of the screen, there is a display indicating the battle conditions of the raid. Specifically, this lets you know the number of turns you have to complete the raid, and the number of times the raid Pokemon can KO your Pokemon before you are thrown out of the den.
Raid Den Rewards
Spoiler:Upon defeating/capturing the raid Pokemon, you will be taken to the results screen. Here, you will see the Pokemon, along with its level and ability (if captured), and the rewards earned for completing the raid. The quality and quantity of the rewards earned depends on a variety of factors, including the rank of the raid, the species, the type of the species, the field conditions of the battle, the number of battlers, and how many raid bonuses you earned during the battle.
In the top right corner, there is a field for displaying any Raid Reward Bonuses earned during this raid battle. There are 5 different types of raid reward bonuses. Each one that you earn adds a multiplier to the total rewards earned. There are even exclusive rewards that may ONLY be won when a certain number of bonuses are earned. Earning as many of these bonuses during a raid battle as you can will net you the maximum and rarest rewards.
Here is a list of all potential raid reward bonuses:
- Hard Mode: You successfully completed the raid under Hard Mode difficulty.
- Perfect: You successfully completed the raid without a single Pokemon in your party being KO'd.
- Timer: You successfully completed the raid before the raid timer fell below half.
- Fair Fight: You successfully completed the raid without any Pokemon in your party that out-level the raid Pokemon by more than 5 levels.
- Capture: You successfully captured the raid Pokemon.
The types of rewards you can earn from Raid Battles typically include:
- Exp. Candy (quality based on raid rank)
- Rare Candy
- Dynamax Candy
- Technical Records (Based on the raid Pokemon's type)
- Armorite Ore
- EV-Reducing Berries
- Vitamins
- Valuable treasure (quality based on raid rank)
- Bottle Caps
- Ability Capsules
- Max Honey (only in Vespiquen or Ursaring raids)
- Max Mushrooms (only in mushroom-based species raids)
- Wishing Star (only in Eternatus raids)
- Various items related to the field conditions of the raid.
Custom Items
In rare cases, you may sometimes find new items not found in the main series as Raid rewards. These are brand new items I've created for the sole purpose of adding some extra goodies from raids. Here are the items, and how to obtain them:
- Dynamax Candy XL
A more powerful version of Dynamax Candy that instantly maxes out a Pokemon's Dynamax Level to 10 when consumed. You have a chance of receiving this item whenever you clear a raid perfectly with all 5 Raid Reward bonuses earned.
- Max Soup
When fed to a Pokemon, it unlocks Gigantamax Factor on species who have an available Gigantamax form. If the Pokemon already has Gigantamax Factor, feeding them this soup will remove it instead. You have a chance of receiving this item whenever you clear a raid perfectly with all 5 Raid Reward bonuses earned.
- Max Eggs
A clutch of jumbo-sized eggs packed with nutrients. When used, your entire party will gain an huge boost in Exp. all at once. You will receive this item when clearing a Chansey or Blissey raid with at least 2 Raid Reward bonuses earned.
- Max Scales
A set of reflective scales that can be used to make a Pokemon relearn a past move when used. You will receive this item when clearing a raid with at least 2 Raid Reward bonuses earned when facing a scaled species such as Luvdisc, Kingdra, Milotic, etc.
- Max Plumage
A bundle of six distinctly-colored feathers that will raise each of a Pokemon's IV's by one point when used. You will receive this item when clearing a raid with at least 2 Raid Reward bonuses earned when facing a feathered species such as Pidgeot, Talonflame, Noctowl, etc.
Note that while Armorite Ore is added by this plugin and given out as a reward for Max Raid Battles, it doesn't have any inherent use. It's up to you to set up some purpose for this item if you wish, such as a vendor who accepts this item as payment for rewards or tutor moves, for example.
Creating a Den Event
Spoiler:Event Setup
Raid Den events are very easy to set up, but allow for in depth customization options if you choose to utilize them.
As shown above, this is all that's required for a fully functioning Raid Den event:
- Name
You must enterRaidDen size(2,2)
in the "name" field of the event. The game won't properly recognize this event as a Raid Den otherwise. Raid Dens take up 2x2 squares of space, so keep that in mind when deciding where to place them. If you want to utilize the "simple raid" setting, which allows you to set up a raid battle without the den-related mechanics, don't set this name for the event.
- Animation
In the "Options" field, you must make sureStop Animation
is checked, and make sureMove Animation
is unchecked.
- Script
In the Event Commands, you need to inset the scriptpbMaxRaidDen
.
Customizing Raid Dens
If you want to customize specific details about how a raid operates, specific rules for the raid battle of this den, or what kind of species and rewards can be found in the raid, you may add a variety of parameters to the script to tweak things to your liking. ThepbMaxRaidDen
script can be expanded with the following three parameters to look like this:
Here's a breakdown of how each parameter is set, and what they can be used for:Code:pbMaxRaidDen(species, rules = {}, pokemon = {})
- Species
This can be used to control what kind of Pokemon may appear in this den. This can either be set as a Species ID, an Array, or nil. Each option influences what species are generated differently.
Spoiler:
- Species ID
When set to a species ID, only that particular species will spawn in this raid den. This may include forms of species, such as:RAICHU_1
for Alolan Raichu. If an inputted species is one that is a species that unable to Dynamax, or cannot appear in Raids, then the Raid will generate Ditto as its species instead.
Examples:
Code:pbMaxRaidDen(:PIKACHU) pbMaxRaidDen(:RAICHU_1)
- Nil
When set tonil
, the species for the den is instead randomized out of all possible species that may specifically appear on the encounter table of the tile that this raid was placed on. For example, if you place this den even in the grass on Route 1, then the den may randomly spawn Pokemon like Pidgey and Rattata. If no encounter table is found, the raid will produce Ditto instead.
Example:
Code:pbMaxRaidDen(nil)
- Array
When set to an array[]
, the species for the den is instead randomized out of all possible species that may appear in the particular rank of this raid. You may narrow down which species are generated by adding several items to the array, in this order:
- Type
Set a Type ID, such as:FIRE
, to narrow down which species are generated to only those who have the type you inputted in the array. Setting this tonil
will ignore this filter.
- Habitat
Set a Habitat ID, such as:Mountain
, to narrow down which species are generated to only those who appear in that particular habitat (as set in their PBS data). Setting this tonil
will ignore this filter.
- Generation
Set a number equal to a generation, to narrow down which species are generated to only those who appear in a particular generation. For example, "1" would indicate Generation 1, aka Kanto species. Setting this tonil
will ignore this filter.
By combining these three qualifiers, you can narrow down the kinds of Pokemon that may appear in this raid to only very specific ones that suit the theme of the raid. For example, if you put a Raid Den off the coast of Cinnabar Island, you might want to set the species parameter of the raid to something like[:WATER, :Sea, 1]
, which would generate only Water-type species found in the Sea who originate from the Kanto region.
If no species match the criteria you inputted in this array, then the raid will produce Ditto instead.
Examples:
Code:pbMaxRaidDen([]) # Any random species found in the raid rank. pbMaxRaidDen([:DRAGON]) # Any random Dragon-type species found in the raid rank. pbMaxRaidDen([:BUG, :Forest, 5]) # Any random Bug-type species in the Forest habitat from Generation 5 found in the raid rank. pbMaxRaidDen([nil, nil, 3]) # Any random species from Generation 3 found in the raid rank.
- Rules
This is a hash that can be filled with multiple keys and values that will directly adjust or set a variety of battle conditions for this particular raid den.
Here's a list of every possible entry that can be set in this hash:
Spoiler:
- :size => Number (1-3)
Set to the number of battlers the player may have out at a time for this battle. Defaults to the number of opposing Pokemon. This setting defaults to theMAXRAID_SIZE
plugin Setting. This setting scales down to 3 if set to a higher number than 3, and scales up to 1 if set lower than 1. If the player doesn't have enough active Pokemon to meet the needs of this setting, this setting will scale down to match the number of available Pokemon in the player's party.
- :rank => Number (1-6)
Set to the number of a raid rank desired for this Max Raid Battle. Raid Ranks affect a variety of things, such as the Pokemon's level, IV's, chance of Hidden Ability, as well as the types of rewards that may be earned. By default, this setting is scaled to a Raid Rank based on your badge count. This setting may be automatically scaled depending on the species of the Raid, among other things.
- :turns => Number (5-25)
Set to the base number of turns you may fight in this Max Raid Battle before losing. Defaults to theMAXRAID_TIMER
plugin Setting. This number will automatically scale down to 25 is set to a higher number, or scale up to 5 if set to a lower number. This setting is auto-scaled depending on what:rank
was set to.
- :kocount => Number (1-6)
Set to the base number of KO's you may suffer in this Max Raid Battle before losing. Defaults to theMAXRAID_KOS
plugin Setting. This number will automatically scale down to 6 is set to a higher number, or scale up to 1 if set to a lower number. This setting is set to 1 if the player only has a single Pokemon for the raid battle. This setting is auto-scaled depending on what:rank
was set to.
- :shield => Number (1-8)
Set to the base number of shield HP a Max Raid battler may generate during this Max Raid Battle. Defaults to theMAXRAID_SHIELD
plugin Setting. This number will automatically scale down to 8 is set to a higher number, or scale up to 1 if set to a lower number. This setting is auto-scaled depending on what:rank
was set to.
- :autoscale => Boolean (false)
Set to "false" to remove the auto-scaling for the:turns
,:kocount
,:shield
settings. Set to "true" by default.
- :bgm => String (music file name)
Set to the name of a music file to have that music track play for this battle instead of the normal battle music that would play.
- :loot => Symbol (item ID) or Array
Set to the symbol of an item ID (:POTION, :NUGGET, etc) to add one of that item to this raid den's loot table. If you'd like to set more than one of the item, you may set this as an array with the quantity of the item included, such as[:POTION, 5]
.
- :weather => Symbol (weather ID)
Set to the symbol of a weather ID (:Rain, :Hail, etc) to permanently put that weather into play for this battle. If you set this to:Random
, a random weather will be put into play instead. If Primordial weather is entered, they will be translated to normal weathers (:HeavyRain becomes :Rain, for example).
- :terrain => Symbol (terrain ID)
Set to the symbol of a terrain ID (:Grassy, :Misty, etc) to permanently put that terrain into play for this battle. If you set this to:Random
, a random terrain will be put into play instead.
- :environ => Symbol (environment ID)
Set to the symbol of an environment ID (:Forest, :Volcano, etc) to permanently put that environment into play for this battle. If you set this to:Random
, a random environment will be put into play instead. The battle backdrop and bases used will also be changed to best visually suit the chosen environment. This setting is set to:Cave
by default.
- :hard => Boolean (true)
Set to "true" to enable Hard Mode rules for this Max Raid Battle. Set to "false" by default. Automatically set to "true" for Legendary Raids, and cannot be changed.
- :simple => Boolean (true)
Set to "true" to enable Simple Mode for this Max Raid Battle. Simple raids skip the entry screen and den-event related mechanics, and simply initiates a raid battle like a regular wild battle, but with all the raid rules still in tact. Set to "false" by default.
- :outcome => Number
Set to the number of a variable to be used to store the outcome of this battle (Win, Lose, Draw, Capture). Set to "1" by default.- Pokemon
This is a hash that can be filled with multiple keys and values that will directly adjust or set a variety of attributes on the Pokemon generated in this raid den.
Spoiler:
- :name => String
Set to a string to act as the Pokemon's nickname.
- :form => Number or Symbol
Set to a number that will be used to determine the Pokemon's form. Alternatively, you may instead set this to:Random
to apply a random form on this Pokemon, out of all their possible forms.
Note: This setting may be ignored if the form that was set is a form that is banned from appearing as a Max Raid Pokemon.
- :gender => Number (0-1)
Set to a number that will be used to determine the Pokemon's gender. Set 0 for male, or 1 for female. No effect if gender cannot be changed on this Pokemon.
- :shiny => Boolean (true or false)
Set to "true" to make the wild Pokemon shiny, or "false" to shiny lock it. This doesn't need to be set if super shininess is already set.
- :supershiny => Boolean (true or false)
Set to "true" to make the wild Pokemon super shiny, or "false" to prevent super shininess.
- :gmaxfactor => Boolean (true)
Set to "true" to give the Pokemon G-Max Factor, and thus appear in Gigantamax form. This setting is ignored if the Pokemon doesn't have a G-Max form.
- :happiness => Number (0-255)
Set to a number between 0-255 to set the Pokemon's happiness level to that number.
- :pokerus => Boolean (true)
Set to "true" to give the Pokemon Pokerus. Normal odds of occurring otherwise.
- :nature => Symbol (nature ID)
Set to the symbol of a nature ID (:ADAMANT, :JOLLY, etc) to set that nature on this Pokemon.
- :item => Symbol (item ID)
Set to the symbol of an item ID (:ORANBERRY, :LEFTOVERS, etc) to set that held item on this Pokemon.
- :ability => Symbol (ability ID) or Number (ability index)
Set to the symbol of an ability ID (:INTIMIDATE, :GUTS, etc) to set that ability on this Pokemon. Alternatively, you may instead set this to a number, which will set the ability index on the Pokemon. For example, setting this to "0" will ensure the Pokemon spawns with its Ability found in slot 1, setting "1" will ensure the Pokemon spawns with its Ability found in slot 2, and setting "2" will ensure the Pokemon spawns with its Hidden Ability.
- :moves => Symbol (move ID) or Array (move ID's)
Set to the symbol of a move ID (:TACKLE, :GROWL, etc) to set that move in this Pokemon's moveset. Alternatively, you may instead set this to an array containing several move ID's, to set multiple moves in the Pokemon's moveset.
- :ribbons => Symbol (ribbon ID) or Array (ribbon ID's)
Set to the symbol of a ribbon ID (:EFFORT, :CHAMPION, etc) to set that ribbon on this Pokemon. Alternatively, you may instead set this to an array containing several ribbon ID's, to set multiple ribbons on the Pokemon.
- :evs => Number (0-252) or Array (number for each stat)
Set to a number between 0-252 to set each of the Pokemon's EV's to that number. For example, setting this to 252 will set all of the Pokemon's EV's to 252. This isn't bound by the normal EV limitations, so it's possible to go beyond the 510 limit. Alternatively, you may instead set this to an array containing 6 numbers to control specific EV's to grant to each stat. The order of the numbers in the array is equal to the PBS order of each stat.
- :owner => Pokemon::Owner, NPCTrainer, or Array
Set to an existing owner, trainer, or an array consisting of Trainer ID, name, gender, and language to act as the OT of this Pokemon.
- :obtaintext => String
Set to a string to act as the text that will display in the Pokemon's Summary describing where it was obtained.Spoiler:
Setting Up Dens with Exclusive Encounters
In addition to all the above settings, there is one final mechanic for setting up raid dens. If you want a raid den that generates species from a set list of species that you create, you can do this as well. In fact, a mechanic is in place that allows you to set two encounter tables for a raid den - a "common" one, and a "rare" one, the latter of which requires special items called Dynamax Crystals to trigger.
A Dynamax Crystal functions identically to Wishing Pieces; in that, you may throw one into an empty raid den to reset it. However, Dynamax Crystals are exclusively used to force a den to spawn a species found on the "rare" encounter table, instead of one that would normally be found on the common encounter table. To set this up, it will look something like this:
The species listed inCode:table1 = [:BULBASAUR, :CHARMANDER, :SQUIRTLE] table2 = [:VENUSAUR, :CHARIZARD, :BLASTOISE] pkmn = pbSetRaidSpecies(table1, table2) pbMaxRaidDen(pkmn)
table1
are considered the "common" species, and the raid will typically pick a random species from that list to generate. However, if a Dynamax Crystal is used, then the raid will generate a random species found intable2
instead. Using this mechanic, you can more accurately control which species may appear in each raid den, and limit rare species from appearing unless the player has Dynamax Crystals to spend.
Example Raid Dens:
Spoiler:Code:#------------------------------------------------------------------------------- # Example 1 #------------------------------------------------------------------------------- # Sets a rank 2 raid den vs a G-Max Meowth in a one-v-one battle. # The Meowth is shiny with its Hidden Ability, with the move Pay Day in its moveset. # A Quick Claw is added to the list of raid rewards for this den. #------------------------------------------------------------------------------- pbMaxRaidDen(:MEOWTH, { :size => 1, :rank => 2, :loot => :QUICKCLAW }, { :shiny => true, :ability => 2, :moves => :PAYDAY, :gmaxfactor => true } ) #------------------------------------------------------------------------------- # Example 2 #------------------------------------------------------------------------------- # Sets a Hard Mode raid den vs a Rotom in a random appliance form. # Size and Rank are set to default. # The Rotom is holding a Life Orb, and has a Modest nature. # The raid battle takes place in permanent Rain and Electric Terrain. # Four Cell Batteries are added to the list of raid rewards for this den. #------------------------------------------------------------------------------- pbMaxRaidDen(:ROTOM, { :weather => :Rain, :terrain => :Electric, :loot => [:CELLBATTERY, 4], :hard => true }, { :form => :Random, :item => :LIFEORB, :nature => :MODEST } ) #------------------------------------------------------------------------------- # Example 3 #------------------------------------------------------------------------------- # Sets a simple raid battle vs a random Pokemon found on the encounter table of # the tile this raid event is on. Size and Rank are set to default. # The turn count for the raid battle is set to 20, KO count set to 3, and the raid # Pokemon will have 8 bars of shield HP. Auto-scaling for these settings is turned off. # The Ultra Necrozma battle theme will play for this battle. #------------------------------------------------------------------------------- pbMaxRaidDen(nil, { :turns => 20, :kocount => 3, :shield => 8, :autoscale => false, :simple => true, :bgm => "Battle! Ultra Necrozma" } ) #------------------------------------------------------------------------------- # Example 4 #------------------------------------------------------------------------------- # Sets a raid den vs a random Ground-type Pokemon found in the Rough Terrain habitat. # Size and Rank are set to default. # The Pokemon will have the Sand Rush Ability, and have the moves Weather Ball and Earth Power. # The Pokemon's capture location will display as "Desert Ruins" when caught. # The raid battle takes place in permanent Sandstorm, and in the Sand environment. #------------------------------------------------------------------------------- pbMaxRaidDen([:GROUND, :RoughTerrain], { :environ => :Sand, :weather => :Sandstorm, }, { :ability => :SANDRUSH, :moves => [:WEATHERBALL, :EARTHPOWER], :obtaintext => "Desert Ruins" } ) #------------------------------------------------------------------------------- # Example 5 #------------------------------------------------------------------------------- # Sets a raid den vs a random Generation 1 species. # All raid battle rules set to default. # The Pokemon will be super shiny, and have Pokerus. # The Pokemon will also be wearing the Classic Ribbon. #------------------------------------------------------------------------------- pbMaxRaidDen([nil, nil, 1], {}, { :pokerus => true, :supershiny => true, :ribbons => :CLASSIC } ) #------------------------------------------------------------------------------- # Example 6 #------------------------------------------------------------------------------- # Sets a rank 3 raid den vs a random species found on table1 in a 2v1 battle. # If a Dynamax Crystal is used, generates a species found on table2 instead. # The Pokemon will always be female, if able, with maximum happiness. # The Pokemon will also be holding an Everstone. #------------------------------------------------------------------------------- table1 = [:RAICHU, :MAROWAK, :EXEGGUTOR, :WEEZING] table2 = [:RAICHU_1, :MAROWAK_1, :EXEGGUTOR_1, :WEEZING_1] pkmn = pbSetRaidSpecies(table1, table2) pbMaxRaidDen(pkmn, { :size => 2, :rank => 3 }, { :gender => 1, :happiness => 255, :item => :EVERSTONE } )
Setting up Raid Ranks
Spoiler:Every species that is eligible to appear in raids are segregated by ranks. Ranks determine which raid difficulty levels the species may appear in, which are indicated by the number of stars that appear on the entry screen for the raid. For example, a species like Caterpie may appear in raids with 1-2 stars, where a species like Charizard may appear in raids with 3-5 stars. To set the raid ranks that a species may appear in, you may do so by editing theraid_ranks.txt
PBS file, located inPBS/Plugins/ZUD
.
Each raid-eligible species is listed in this file, along with the raid ranks that it may appear in. You may set as many raid ranks for a species as you desire from 1-6. However, rank 6 raids are exclusively used for legendary species, and shouldn't be set unless you want that species to spawn in legendary raids. By default, all species in this file are segregated based on their base stat totals, though exceptions are made in certain cases.
Resetting a Den Event
Spoiler:Once a raid den has been cleared, it is considered "empty", and no new Pokemon will appear in the den until it has been reset. There are several ways to reset a raid den:
- Waiting. All raid dens will naturally reset every midnight.
- You may manually reset a den by throwing in a Wishing Piece from your inventory. Certain special dens may also be reset with Dynamax Crystals.
- In Debug Mode, holding CTRL while accessing an empty den will force that den to reset.
- You may used the script
pbClearAllDens(true)
to force all raid dens on every map to reset with a new Pokemon in the den. Alternatively, if you pass "false" as the argument for this script, it will empty all dens on every map instead.
How to Use: MAX RAID DATABASESpoiler:
Overview
Spoiler:This is a custom feature designed specifically for this plugin that is meant to be used as a tool both for players and developers alike. For players, this allows them to better prepare for Raid battles by being able to search for a particular species, and view which types of moves it may be carrying when encountered in a Raid Den, as well as what raid ranks it may be encountered in. Think of it as a Pokedex, but for Raid Data information.
For developers, this helps in designing your raid dens, because it'll let you actually see the total list of species that may appear in a particular den you've created in detail, which may help you decide how to tweak and troubleshoot certain raid configurations to better balance your game. You may also use the Database to test raid battle conditions for any available species, without having to set up individual raid den events.
Max Raid Database Access
Spoiler:Accessing the Database
The Max Raid Database may be accessed by running the scriptpbOpenRaidData
.
Unlocking the Database
The Max Raid Database may also be accessed through the Pokegear if unlocked. To toggle this, you can set$player.has_raid_database
to true or false. The Database will then appear in the player's Pokegear when true. Finally, if you'd like for the player to automatically unlock this feature in the Pokegear, you may setUNLOCK_DATABASE_FROM_RAIDS
to true in the plugin Settings. If so, whenever the player engages in a Max Raid battle for the first time, the Database will automatically be unlocked afterwards.
Species Availability
By default, the Max Raid Database displays all eligible species that match the inputted criteria. However, if you'd rather not display species the player has yet to encounter to avoid spoiling new or rare species, you may setHIDE_UNSEEN_SPECIES
to true in the plugin Settings. In addition, the species that appear in the Database - as well as the regions that you may filter your searches by - are limited by whatever theGENERATION_LIMIT
has been set to in the plugin Settings.
Using the Max Raid Database
Spoiler:Main Menu
Once accessed, you will be taken to the Main Menu of the Database. From here, you may apply a variety of filters which allow you to narrow your search for specific species that meet the criteria of your search. At the bottom of the menu, the total number of available species that meet the criteria of your set filters will be displayed. If zero Pokemon are found, you won't be able to search for species with the criteria you've entered.
Here are all of the filters that may be applied in your search:
- Filter: Raid
This allows you to filter species by raid rank. The Pokemon found in each rank are defined in theraid_ranks.txt
PBS file. By default, this filter will be set to whatever rank best suits your current badge count. Unlike the other filters, you must unlock each rank in this filter by acquiring more badges.
- Filter: Type
This allows you to filter species by a particular type.
- Filter: Habitat
This allows you to filter species by a particular habitat that they appear in. A species' habitat is listed in its PBS data.
- Filter: Region
This allows you to filter species by the region of their debut generation. A species's Generation is listed in its PBS data. For example, a Generation of 1 means that it's a Kanto species. Regional forms are considered part of the generation they debuted in, and not from the generation of their base form. So for example, Alolan Rattata is considered an Alolan species, despite Rattata in general being a Kanto species.
Results Menu
When you finished setting your filters and selecting "Show Pokemon", you will be taken to the species results screen. Here, you will be shown a list of all species that match your search. The bottom right hand corner will display the number of pages of species your search has returned, as well as the current page number you're on. Each page can contain up to 98 species at a time.
Press or hold a direction to move your cursor around the results screen to select a species. Pressing down while on the last row of species will scroll to the next page of species, if any. You may also press or hold theJUMPUP
orJUMPDOWN
buttons to scroll through entire pages of species at once. Species are listed in the order that they appear in within theraid_ranks.txt
PBS file.
Data Page
When a species is selected on the results screen, you will be taken to that particular species's data page. This is where all relevant raid data for that species will be displayed. If the species is capable of Gigantamaxing, a G-Max icon will be displayed near their sprite. If the species has eligible forms that may appear in raids, arrow keys will appear indicating that you can scroll left/right to view its other forms.
Most notably, all of the moves that particular species may be carrying in a Raid Battle will be shown here, divided into four categories:
- Primary: These are all of STAB moves the species may have.
- Secondary: These are all of the coverage moves the species may have.
- Spread: These are all of the spread moves the species may have.
- Support: These are all of the status moves the species may have.
A Raid Pokemon's moveset is decided by picking 1 random move from each of these categories. If a species doesn't have an eligible move in one or more of these categories, they will simply have one of their level-up moves instead.
If a species has more available moves in one or more category than can fit on screen, arrows will appear indicating that you can scroll up/down through these move lists. All four move lists scroll simultaneously when scrolling. TheJUMPUP
andJUMPDOWN
buttons may be used to scroll to the next species in the species results page. You may also press theACTION
button to replay the cry of the species.
Test Battles
While in Debug mode, you can press theUSE
key while viewing a species's data page to initiate a test raid battle versus that species. A window will be displayed showing you all the options available to set for your raid battle.
These options include everything that you would normally be able to set in a Max Raid Den event, such as the raid size, G-Max Factor, battlefield conditions, as well as Hard Mode difficulty. You may also access your party screen from this menu, so that you may arrange and set up your party to your liking before initiating the battle.
How to Use: DYNAMAX ADVENTURESSpoiler:
Overview
Spoiler:A Dynamax Adventure is an on-rails expedition that takes place on special maps called Max Lair maps. In these dungeons, you must traverse a 32x32 grid map where 10 wild Dynamaxed Pokemon reside, along with one Legendary Pokemon found at the end of the lair. You use a party of three rental Pokemon while in these lairs, and may swap them out with any new Pokemon you capture along the way. You have three "hearts" while in the lair, and you lose one heart every time a party Pokemon is KO'd. If you lose all your hearts, your adventure ends and you are kicked out of the lair. If you manage to clear the lair, you will be awarded with a various amount of Dynite Ore, based on the difficulty of the Pokemon fought in the lair. You will also be able to select one of the Pokemon you captured during the adventure to keep as your own. All other Pokemon acquired during the adventure are forfeited.
Pokemon captured during a Dynamax Adventure have a very high chance of being shiny. However, they will not appear shiny until you've cleared the raid and view them on the prize screen.
Note that while Dynite Ore is added by this plugin and given out as a reward from Dynamax Adventures, it doesn't have any inherent use. It's up to you to set up some purpose for this item if you wish, such as a vendor who accepts this item as payment for rewards or tutor moves, for example.
Rental Pokemon
Spoiler:
You can't bring your own Pokemon with you during a Dynamax Adventure. Instead, you're given the option to select a party of rental Pokemon to help you throughout the adventure. These rental Pokemon are randomly generated three at a time, and you must pick one of the three to add to your team until you've created a party of three. Rental Pokemon's levels - as well as the Pokemon's levels within the lair - will always be scaled to suit your badge count, capping out at level 65. Rental Pokemon will always generate with their Dynamax Level set to 5, and a random Ability out of all possible abilities they may have (including Hidden Abilities). Their moveset is also randomly generated in a similar fashion to Raid Pokemon. Occasionally, rental Pokemon may also be carrying an Oran or Sitrus Berry.
Unlike the main series, Rental Pokemon will also come with a randomized EV spread. These spreads will always be in the 252/252 format, with one of the maxed out stats always being HP. However, sometimes they may be given a "balanced" spread, with 252 HP and 50 in every other stat. You can tell what EV spreads a Pokemon has based on these displayed icons, that appear in the top right hand corner of their databox during the rental process:
The Pokemon has EV's evenly spread across each stat.
The Pokemon has maxed EV's in Attack.
The Pokemon has maxed EV's in Defense.
The Pokemon has maxed EV's in Sp.Atk.
The Pokemon has maxed EV's in Sp.Def.
The Pokemon has maxed EV's in Speed.
Max Lair Map
Spoiler:A Dynamax Adventure takes place on a 32x32 grid called a Max Lair map. Each "tile" on this map may come in a variety of forms that will trigger different things when stepped on. Here are all of the tiles you may encounter:
Start Tile
This is the initial tile your character will move towards immediately after entering the lair. This tile has no actual effect when passing over it. A selection tile is typically stacked on top of this tile.
Selection Tile
Upon landing on this tile, your movement is halted and you must select a new path to take to continue your journey in the lair. You may potentially select from all four cardinal directions to move in. However, each individual Selection Tile may have its own limited range of directions you may choose from.
Raid Tile
Landing on these tiles will initiate a raid battle. You may determine which Pokemon you will encounter on each Raid Tile by the species' silhouette that is displayed over the tile, as well as one of its types.
Directional Tile
These tiles will change the direction you travel on the map when you pass over one. The direction you turn in depends on the direction that particular tile is pointing.
Flip Turn Tile
This is a unique movement tile that reverses your movement. Whatever direction you were moving in before landing on this tile is reversed, forcing you to move in the opposite direction.
Random Turn Tile
This is an unpredictable movement tile that randomizes the direction you travel in once you pass over it. It will never send you back in the opposite direction you came from, however.
Warp Tile
Landing on one of these tiles will instantly transport you to another warp tile on the map. All warp tiles on the map are linked to another one, and will warp you from tile to tile in sequential order.
Reset Tile
Landing on one of these tiles will instantly transport you back to the Start Tile of the lair. These are commonly found at dead ends, or set as traps, particularly in Dark Lairs where you can't clearly see what's ahead of you.
Roadblock Tile
These tiles prevent your movement forward and will send you back the direction you came, unless you meet certain criteria to allow you to pass the roadblock. The criteria required to pass each roadblock is randomized for each specific roadblock. The kinds of criteria you need to satisfy will usually be requiring a Pokemon of a certain type in your party, or a Pokemon trained in a particular stat.
Berry Tile
These are simple healing tiles that will restore the HP of your party by 50% of their max HP. This tile becomes cleared once the berries are consumed. If your party is already at full HP, you will ignore this tile and it will remain on the map even after being passed over.
Flare Tile
These are special tiles that are found exclusively in Dark Lairs, and won't appear otherwise. When passing over these tiles, your visibility radius will slightly increase, allowing you to see more of the map.
Lair Key Tile
Landing on one of these tiles will add a Lair Key to your key counter. Lair Keys are used to unlock Locked Door tiles as well as any locked Treasure Chests. The number of your total collected Lair Keys will be displayed at the top left corner of your screen, below your Heart gauge.
Locked Door Tile
These tiles prevent your movement, and will send you back the direction you came from. These tiles cannot be passed through unless you have a Lair Key in your possession. If so, one of your keys will be consumed, and this tile will be cleared to allow you to proceed.
Treasure Chest Tile
Landing on one of these tiles will open the chest, and reveal its contents to you. Treasure Chests can contain up to 5 random items inside, ranging from Exp. Candies to Vitamins, valuable treasures, along with any other items you would typically find as raid rewards. The quality and quantity of items found in these chests are directly related to the difficulty of the last Pokemon in the lair that you battled, so it's typically wiser to hold off on opening any chests until you've battled some stronger Pokemon.
Some Treasure Chests will be locked when you find them, and require a Lair Key to be opened. However, unlike with Locked Doors, a locked chest will not consume a Lair Key upon opening it. This ensures that you can't accidentally soft lock yourself on a Lair Map that requires a key to complete. On rare occasions, you may encounter a chest that contains no treasure, but instead houses a feral Pokemon that will lash out at you for disturbing it, and warp you back to the start of the lair.
Note that any rewards found in Treasure Chests are not added to your bag right away. They are saved until after the Adventure has ended, and added to your inventory then. If you prematurely exit a raid, any treasure collected during that Adventure is lost.
Switch Tile
These are perhaps the most complicated types of tiles, and can completely change your route options on the map. Switch Tiles have two modes: an "ON" position, and an "OFF" position. By default, all Switch Tiles are in the OFF position. Upon landing on one of these tiles, however, you will flip the switch and it will convert to its opposite position.
While in the "ON" position, Switch Tiles will reveal hidden tiles on the map that may completely change the layout and pathways of the map. While in the "OFF" position, these tiles will become hidden again, and they cannot be accessed again until you flip another Switch Tile.
- Trap Tile
When landing on one of these tiles, you will trigger a trap that may weaken your party in some way. The effects of each trap are randomized, making them unpredictable. These effects will either place a random status effect or deal a chunk of damage to a random member of the party. Trap tiles are completely invisible, and don't always appear in the same place on a map, so they're extremely difficult to predict.
Scientist
Like in the main series, Scientists will give you the option to exchange one of your current rental Pokemon for a new one. This can come in handy when a party member is severely injured and you have no other options to heal, or if there's a weak link in the party that needs replacing. The quality of the Pokemon offered by scientists scales based on the difficulty of the last Pokemon you encountered in the lair. Once a Scientist has been encountered, they will leave the map, preventing you from using their service again.
Backpacker
Like in the main series, Backpackers carry a stock of random held items that you may give your Pokemon. These items include things such as Leftovers, Life Orb, Assault Vest, and a variety of other items that provide significant advantages in battle. Some items, such as Eviolite, will only appear in a Backpacker's inventory if it may actually benefit one of the Pokemon in your party. The Backpacker only has one of each item in stock, so after equipping a Pokemon with a particular item, that item is removed from the Backpacker's inventory. Backpackers don't leave the map, and may be encountered multiple times if the map allows for it.
Blackbelt
This is a unique NPC added for this version of Dynamax Adventures. Blackbelts offer extreme training services that can alter which stat a Pokemon is proficient in. For example, giving a Pokemon some Attack Training will max out its Attack EV's (while erasing any previous EV's that Pokemon had). Each training service can only be done once, however, so choose wisely which party member should receive which training. Blackbelts don't leave the map, and may be encountered multiple times if the map allows for it.
You can use this service, obviously, to fine-tune your party for battle. However, this service may also prove useful in overcoming Roadblock Tiles. Some roadblocks require a Pokemon with maxed out EV's in a particular stat in order to move past them, so getting training from a Blackbelt may allow you to meet those particular criteria.
Ace Trainer
This is a unique NPC added for this version of Dynamax Adventures. Ace Trainers are highly skilled battlers that have a firm grasp of battle strategy. This makes them perfect at offering you advice on which moves may grant you the most success during your adventure. When you encounter an Ace Trainer, they will show you a random move that each of your party members may learn. If you select one of these moves, the Ace Trainer will tutor that Pokemon so that it may learn that new move. Up to three moves may be taught to a Pokemon per Ace Trainer encounter. Ace Trainers don't leave the map, and may be encountered multiple times if the map allows for it.
This is a useful service in those situations where a Pokemon has a useless move in their moveset, or if your Pokemon is completely out of PP on a certain move and you'd rather replace it with anything else rather than carrying dead weight. This may also be useful in those situations where you have a physical attacking Pokemon with only special moves, for example.
Channeler
This is a unique NPC added for this version of Dynamax Adventures. Channelers will lift your spirits and increase your heart counter by 1. This is extremely useful, as it will give you more chances to survive and complete your adventure. Because of this, Channelers are usually a bit trickier to encounter on the map, and require specific move routes to get to. Once a Channeler has been encountered, they will leave the map, preventing you from using their service again.
Nurse
This is a unique NPC added for this version of Dynamax Adventures. Nurses are fairly straight forward - they simply fully heal your party. Exactly as they would if encountering them in a Pokemon Center. Once a Nurse has been encountered, they will leave the map, preventing you from using their service again.
Mystery NPC
It's unknown what NPC you will encounter when landing on these NPC tiles. A Mystery NPC tile will randomly select one of the above NPC's and provide their services to you. Once a Mystery NPC has been encountered, they will leave the map, preventing you from using their service again. This will occur regardless of the type of service they provide.
Accessing a Dynamax Adventure
Spoiler:
Event Setup
To initiate a Dynamax Adventure, all that must be done is running a single script command in an event, shown here:
The "map" and "gender" arguments are optional, and you can omit them if you'd like. However, you can use these to tweak the event to your liking.Code:pbDynamaxAdventure.start(map, gender)
- Map
This can be set to a map ID number of a particular Max Lair map. If so, this adventure event will always generate the specific map ID that was inputted for this Dynamax Adventure. If you leave this set tonil
, then the player will be given the option to select which map they'd like to explore.
- Gender
This can be set to color coat the event text depending on the gender of the NPC who the player is talking to. Set this to 0 for male (blue text), or 1 for female (red text). If you leave this set tonil
, then the event text will be genderless (black text).
This is all that is required to begin an adventure. From here, you will be given a series of options when activating the event, which will allow you to select the specific type of adventure to go on.
Adventure Modes
There are four different "types" of adventures you can go on: Normal, Saved, Endless, or Dark. Of these, only Normal, Saved and Endless are selectable by the player, with Dark Mode only appearing depending on a variety of conditions. Here's a run down of each mode:
- Normal Adventure
This is your standard Dynamax Adventure, and available from the start. You must play on a selected Max Lair map, fighting your way to the lair's randomly generated legendary Pokemon. You are given three "hearts" at the start of an adventure, and will continue until you either run out of hearts, or defeat/capture the lair's legendary Pokemon. Upon clearing the lair, you will be allowed to keep one of the Pokemon that you captured during the adventure. Only up to the last six captured Pokemon will be retained, however.
- Saved Adventure
This is exactly the same as a Normal Adventure, except the lair's legendary Pokemon isn't random, and the map you play on may not be selected by the player. Instead, you may select one of up to three legendary Pokemon that you have previously saved the routes to after failing to capture them during a Normal Adventure. You will start a new adventure on the original map that you discovered that legendary Pokemon on. All other species found in the lair will be randomized, however.
- Endless Mode
This mode only becomes available after the player has successfully cleared a Dynamax Adventure at least once. If so, you will be notified that Endless Mode has been unlocked. Endless Mode functions the same as a Normal Adventure, however, the adventure no longer ends after defeating the lair's legendary Pokemon. Instead, you will start over on a new "floor" of the lair, with the map re-randomized with new species to encounter, and everything you acquired from the previous floor carrying over. This will happen endlessly, until you run out of hearts.
If you reached a new floor you've never been to before in an Endless Mode adventure, the record of this will be saved. The option to view this record will now become available when selecting a mode, or while within a Max Lair itself. The name of the lair, the party you had, as well as the floor reached and battles won will all be viewable on this records screen.
- Dark Mode
This is a feature that becomes unlocked only after you have set a new Endless Mode record for the first time. If so, any Dynamax Adventure you go on may now have a random chance of being played in Dark Mode. The frequency of this can be controlled by tweakingDARK_LAIR_FREQUENCY
in the plugin Settings. In Dark Mode, your visibility on the lair map will become greatly reduced, with only the typing of the species in the lair being innately visible. This makes navigation much more challenging, because you have far less information to use to plan your routes, and you may easily get lost or confused if you aren't already familiar with the particular map.
However, each time you defeat a Pokemon in a Dark Lair, your visibility will slightly expand. You may also find Flare tiles on some maps which will also increase your visibility when passed over. Use these tools to your advantage to aid in navigation.
Some Max Lair maps are flagged to always be encountered in Dark Mode, regardless of whatDARK_LAIR_FREQUENCY
is set to. By default, the only map set up this way is the "Dark Catacombs" map. The option to select a map that is flagged as a permanent Dark Lair will not appear if the player has not yet unlocked Dark Mode. However, if a a map ID number for a Dark Lair map is manually entered as the desired map in thepbDynamaxAdventure.start
script, then the player will still play on that map in Dark Mode despite the mode not being technically unlocked yet.
Note that it is possible to play a Dynamax Adventure that is BOTH in Dark Mode and Endless Mode simultaneously. Your visibility does not carry over between floors however, and will be set back to the lowest visibility on each new floor.
Map Selection
Before initiating a Dynamax Adventure, you are given the option to select which specific map you'd like to play on. There are four maps that are included by this plugin by default:
- Max Lair (ID No. 0)
This is the standard adventure map, designed to most closely resemble the layout used in the Dynamax Adventures found in SwSh. However, it's been heavily modified by utilizing the unique game mechanics of this plugin. This is a small and relatively straight forward map, and perfect for a quick and simple adventure.
- Warp Caverns (ID No. 1)
This is a moderately sized map with a less linear layout when compared to the standard Max Lair. The gimmick of this map focuses on using Warp tiles and Switches to bounce around the map to find your way to the end.
- Twisting Labyrinth (ID No. 2)
This is the largest map included with this plugin, with a layout designed to be very maze-like and tricky to navigate. The gimmick of this map focuses on finding a Lair Key to open the locked door blocking access to the lair's legendary Pokemon.
- Dark Catacombs (ID No. 3)
This is a moderately sized map that is only accessible in Dark Mode. Unlike the previous maps, this option to play on this map only becomes available once the player has unlocked Dark Mode. The gimmick of this map focuses on exploring the four different "chambers" of the lair for a Switch that will allow the player access to the final chamber in the center of the map. Because the map is in permanent darkness, you will often encounter dead ends that will send you back to the start of the lair.
Creating a Custom Max Lair Map
Spoiler:This plugin comes with four potential Max Lair maps to play on. However, you're free to design your own if you'd like. I wouldn't recommend it unless you're familiar with how to use image editing software, however. Two things are required for a functional Max Lair map. An actual image to use as your map, and a PBS entry for your map that contains the coordinates for all of the tiles that will appear on this map.
Image Creation
All Max Lair maps are 32x32 grids, so this means any maps you create must have a length and width that are both multiples of 32. The maximum length a map should have is 832, and the maximum width is 896. Any maps larger than this are prone to causing errors, so keep within these bounds. All lair maps must be saved to theGraphics/Plugins/ZUD/Adventure/Maps
folder, and given the same name that is set in their PBS data. To help you design your maps, a special graphic is included in this same folder, called_map_guide
. Open this image with your preferred image editing software, and set this as the top layer. Beneath it, you may line up your map to accurately design your map's layout.
Here's how this would look like, using the default Max Lair map as an example:
As shown in the image, the map guide graphic is displayed over the map image. This map guide breaks your map down into a 32x32 grid, allowing you to accurately place down your routes. The area shaded in black represents the areas of the map that will appear off camera (until the map is moved, of course), with the transparent area representing the size of the default game screen. The red square in the corner is where the bottom left corner of your map image should line up for accurate measurements.
Each square of the grid is given coordinates that can be deciphered from the dark blue (and partly yellow) bar at the edges of the guide. For example, the red square is located at "A" on the X axis, and "01" on the Y axis; giving you the coordinates ofA01
. Every coordinate for a square on a Max Lair map begins with a letter (A-Z), followed by a padded two-digit number (01-28). The numbers on the light blue bar indicate the actual pixel coordinates of this square. The yellow and orange portion of the bar indicate that these coordinates would be negative numbers.
PBS Data
Once you have your image, now it's time to set the PBS data for this map. All Max Lair map data is stored in the PBS fileadventure_maps.txt
located inPBS/Plugins/ZUD
. Here is an example of a Max Lair map's data:
As shown, several things may be defined here:
Required Data:
Map data that should be included with every map you make.
- Map ID Number
This is a number in brackets that acts as the ID for this map. For example, the ID for the map in the above image is [3]. Every entry for a Max Lair map needs to begin with its own unique ID number.
- Name
This is the name for the map, used when the player selects a particular map to explore in a Dynamax Adventure. The lair's name also appears during the intro of the Dynamax Adventure, as well as on your Endless record screen to show which map you got your best record on. In addition, the caught location displayed in the Summary screen for any Pokemon caught in this lair will display this map name. This name must match up with the file name you used for your map graphic that you saved inGraphics/Plugins/ZUD/Adventure/Maps
.
- Start
This is a required tile for every Max Lair. This coordinate will be the starting tile of the lair, and be the very first tile the player will move towards at the start of the adventure. You must only have a single coordinate entered here.
- Player
This is a required tile for every Max Lair. This coordinate will be the starting position of the player's icon. No other tile on the map should share the same coordinates as this tile. You must only have a single coordinate entered here.
- Pokemon
This is a required set of tiles for every Max Lair. These are the coordinates for every Pokemon found in this lair. You must have an array of eleven coordinates entered here. The coordinates are ordered from the weakest Pokemon in the lair, up to the strongest. The final coordinate listed is for the lair's legendary Pokemon.
- Select
There are eleven different types of Selection Tile, each one designating the range of directions that the player can move in while on this tile. Each one will have some combination of "N", "S", "W" or "E" in their names (in that order), which correspond to North, South, West, and East, respectively. For example, the entry for the "SelectNWE" tiles in the above image list the coordinates for every Selection Tile on the map that allows the player to exclusively choose to move North, West, and East.
Typically, you should have at least one Selection Tile overlapping on the same coordinates as your Start Tile. As you can see in the above image, the coordinates N10 are used for both the Start Tile and the first SelectNWE tile. Each lair requires at least one Selection Tile.
Optional Data:
Map data that isn't strictly required for a map, and are simply used to add interesting gameplay gimmicks or features.
- DarkMap
This can be simply set as "true" if you want this particular map to always be played in Dark Mode. If you don't want this to be the case, then you can simply omit this line.
- Turn
There are six different types of Turn Tile, the first four corresponding to a cardinal direction; North, South, West, and East, and the last two used for Flip Turn and Random Turn tiles. While it isn't technically a requirement to include any turn tiles on your maps, not including them severely limits the types of layouts you can build without your map breaking.
- NPC
There are seven different types of NPC tiles, each corresponding to one of the NPC's who offer you services during your adventure.
- Flare
These are tiles that increase your visibility in Dark Lairs. However, these tiles will not appear on the map at all if you aren't playing in Dark Mode. There's no harm in setting Flare tiles even if the map isn't a Dark Lair, however.
- Key
These are tiles that grant the player an additional Lair Key upon passing over one. While these tiles aren't required for any map, they DO become required if you design a map where the only possible way to proceed is to pass through a Locked Door tile. If not, it's possible to soft lock your game and require the player to reset or quit the Adventure prematurely.
- Warp
These are the only other tiles besides Pokemon tiles where the order in which you list their coordinates is important. Each Warp Tile is linked to another one in sequential order. Meaning that the Warp Tile found at the first coordinates listed will always warp you to the Warp Tile found at the second coordinates listed, and so on. The last Warp Tile listed will wrap back around and warp the player to the first Warp Tile listed.
For example, in the image above - the Warp Tile at coordinates X12 will always warp the player to coordinates P22, and so on. The Warp Tile at the final coordinates, D12, will always warp the player back to the first coordinates, L22.
- Trap
These tiles are invisible to the player, but may trigger an effect when stepped on that may damage or inflict a random status on one of the player's Pokemon. Trap tiles don't always trigger though, despite setting their coordinates. Each trap tile has about a 40% chance of not triggering at all, even if the player passes over one. This keeps Trap tiles unpredictable and hard to memorize the placements of.
- Hidden
These are special tiles that interact with Switch Tiles. Any other tiles that are found at any of the coordinates listed as Hidden Tiles will be invisible and un-interactable until the player flips a Switch Tile to turn them on, and thus make those Hidden Tiles visible.
- All Other Tiles - Berry, Chest, Door, Block, Reset, Switch
None of these tiles are required, or have any special conditions to note. Simply set the coordinates for where you want these tiles to appear.
Last edited: