Change log/v20

Essentials v20 was released on **19th May 2022**.

Essentials v20.1 was released on **20th June 2022**.

* Added Rare Candy being usable on a Pokémon at the maximum level if it can trigger a level-up evolution.
* Added setting that determines if Pokémon put into storage are healed.
* Added some settings which can make the Day Care work like the Pokémon Nursery instead.
* Added the Pokémon Nursery mechanic of deposited Pokémon being able to learn egg moves from each other.
* Added use for Game Switch 35, which disables the Pokémon Box Link while on.
* Added map metadata flag "DisableBoxLink", which disables the Pokémon Box Link while you're in a map with that flag (used for Gyms/Elite Four/etc.).
* Added `$player.has_box_link` that has the same effect as the Box Link item.
* Added a new type of evolution that triggers after any battle. For Galarian Farfetch'd.
* Added a new type of evolution that triggers manually (e.g. in an event). For Kubfu and Galarian Yamask (see the north-east bridge in the Route 2 example map).
 * Added a new map renderer, which should fix lag spikes for AMD graphics card users. Removed support for map flash\_data, which you didn't know existed and which was unusable in RMXP anyway.
* Added extended autotile format, which is the same as the large format but with four whole tile concave corners on the bottom.
* Added support for animated autotiles to have their own animation speeds - just add "[5]" to the end of the autotile's filename to set how long each of its frames lingers for (the number is in 1/20ths of a second; default is 5).
 * Rewrote and refactored dependent event code. Dependent events are now called followers.
* Added `def follower_move_route` which makes the next "Move Route" event command apply to the follower instead.
* Added `def follower_animation` which makes the next "Show Animation" event command apply to the follower instead.
* Events are no longer automatically erased if they become followers.
* Added example events to Route 3 of how to make a follower stop following, including how to make the follower move around by itself.
* Improved how followers go through and come out of doors.
 * Added potential for surfing/diving/cycling movement types having their own running/jumping/stationary speeds and/or charsets.
* Tweaked fishing animation.
* The player's charset now only changes itself at the start of a step or the start of not moving.
* The player no longer makes a bump sound when walking into something because of a move route.
* A purchase SE now plays when buying entry to the Safari Zone, withdrawing a Pokémon from Day Care, and when buying coins or Game Corner prizes.
* Replaced the overworld exclaim and question animations with better-looking ones.
* Refactored and improved transition animations.
* Added the HGSS "Vs Trainer" battle transition animation.
* Added a battle transition animation for the Elite Four/Champion.
* Added a battle transition animation for Team Rocket Grunts.
* Added a battle transition animation for Team Rocket Admins.
* Made it easier to register multiple special battle animations, like the old Vs animation one.
* Refactored random dungeon generator code.
* Refactored berry plant code.
* Made Player Transfer event command not cancel surfing/diving, so `pbTransferSurfing` and `pbTransferUnderwater` are deprecated.
* Re-added a way to erase (or change) a map's tiles on the fly. Used by soot grass.
* The current map's encounter tables are now updated immediately if `$PokemonGlobal.encounter_version` is changed.
* Brought controls more in line with official controls by swapping the alternate movement speed key (was Z) with pause menu key (was X).
* Updated/improved messages when using a field move.
* Added "Sight(x)" event name snippet, which lets the event spot the player at a distance. "Trainer(x)" is now just shorthand for "Trainer Sight(x)".
 * Renamed various PBS files.
* Removed support for the PBS file tm.txt.
* Added "Flags" properties to abilities, map metadata, ribbons, species, trainer types and types.
* Abilities that hasten egg hatching now have a flag in abilities.txt for this effect.
* Added new section-based format for berry\_plants.txt.
* Removed support for old encounters.txt format.
* items.txt:
	+ Added new section-based format for items.txt. The old format is still supported for now.
	+ Added separate "SellPrice" property for items.
	+ Added "Consumable" property to items.txt.
	+ An item can now have any number of flags, rather than just one.
	+ Repels now have a flag in items.txt which determines if they can be reused when one runs out.
	+ Added flags for Fling power and Natural Gift type/power.
* metadata.txt:
	+ Split metadata.txt into metadata.txt and map\_metadata.txt. Player character data is now in separate sections in metadata.txt, one per character, and you can now have as many characters as you like. NOTE: If you're using old PBS files, you will need to make these changes manually (move map metadata sections into map\_metadata.txt without changing them, and move player character metadata into their own sections). Also, calls to pbChangePlayer will need to have their numbers increased by 1.
	+ Added "Name" property to map\_metadata.txt, which is the display name in-game.
	+ When rewriting map\_metadata.txt via the Debug function, map names will be added if possible and if the map doesn't already have a name in map\_metadata.txt.
	+ Added map metadata flag "HideEncountersInPokedex" which will make the Pokédex ignore that map’s wild encounters when displaying a Pokémon’s area.
* moves.txt:
	+ Added new section-based format for moves.txt.
	+ Deprecated three move flags (can Magic Coat, can Snatch, affected by King's Rock) as they should depend on move effects instead.
	+ Turned move flags into separate words rather than letters in a string.
	+ Added move flag "TramplesMinimize" instead of having that effect be related to function codes.
	+ Added move flag "CannotMetronome" instead of hardcoding the signature moves Metronome is forbidden to use.
* pokemon.txt/pokemon\_forms.txt:
	+ Changed the names of some properties in pokemon.txt and pokemon\_forms.txt.
	+ Merged species "Type1"/"Type2" into "Types".
	+ The "EVs" property's preferred format is now "ATTACK,2,SPEED,1" instead of "0,2,0,1,0,0".
	+ The "Shape" property in pokemon.txt must now be a name and not a number.
	+ Allowed the "WildItem" properties for species to contain multiple items each.
	+ Added species flags that govern form inheritance while breeding, and a flag that sets a particular form by default.
	+ Added pokemon.txt/pokemon\_forms.txt property "Offspring" for species that can be produced by breeding instead of itself (although this property can include itself anyway).
	+ Renumbered Spiky-Eared Pichu to form 2, so it doesn't clash with Alolan Raichu's form 1.
* Added PBS file pokemon\_metrics.txt, for all Pokémon sprite positionings. Can be distributed with sprite pack resources.
* Added new section-based format for ribbons.txt.
* Added new section-based format for shadow\_pokemon.txt, which can now also define heart gauge sizes and flags.
* Added new section-based format for trainer\_types.txt.
* trainers.txt:
	+ Removed support for the old trainers.txt format.
	+ The "Ability" property in trainers.txt can now only be an ability ID.
	+ The "Ball" property in trainers.txt can now only be an item ID (specifically an item that is a Poké Ball).
 * Renamed all battle-related classes and modules.
* Added battle debug menu (access with F9).
* Refactoring of code relating to switching, effect damage, effects that trigger after a move is used, and end of round.
* Added a Setting that lets some overworld weather set the default terrain effect in battle.
* Added battle rule "disablePokeBalls" which prevents the player throwing Poké Balls at all.
* Refactored battle-starting methods into `WildBattle.start` and `TrainerBattle.start`. They're now more convenient to use because they no longer have parameters for battle properties that can be set by battle rules.
* Added Aura Wheel's visible type change in battle.
* Added "display" methods for several move properties (which is how those properties are shown to the player) and quoted-out examples of their use (e.g. Hidden Power, Judgment).
* Made it a little easier to disable move text getting its colour from its button in battle.
* Added settings that enable disobedience check for all foreign Pokémon/all player's Pokémon.
* Berries now trigger immediately when a Pokémon with Unnerve leaves the field or has its ability negated.
* Added `$player.has_exp_all` that has the same effect as the (turned on) Exp. All item.
* NPC trainers now require a Mega Ring item in their inventory (defined in trainers.txt) to Mega Evolve, rather than assuming they always can.
* Added Poké Ball burst animations for sending out a Pokémon (for each kind of Poké Ball).
* Added Poké Ball burst animation for recalling a Pokémon.
* Added Poké Ball burst animations for attempting to capture a Pokémon (for each kind of Poké Ball).
* Added animation for when a capture is successful.
* Added a prompt for what to do with a caught Pokémon if the party is full, and an Options screen option that toggles whether it appears.
* Added a battle rule that forces a captured Pokémon into the party.
* Added support for separate cries that play when a Pokémon faints (put "\_faint" on the end of the filename).
* AI will now not use their last defined Pokémon until the end.
* Improved message when an opposing trainer is sending in a new Pokémon.
* Improved message when Exp All awards Exp.
 * Added the Town Map to the pause menu if you don't have the Pokégear but do have the Town Map item.
* Added the option to use Fly while looking at the Town Map (if possible).
* Changed when the title screen BGM starts playing.
* Tweaked the timings of evolution messages and audio.
* Added option to Options screen that can disable all nicknaming prompts.
* Tweaked appearance of Options screen, including adding descriptions for all options.
* Changed the available special characters in the naming screen.
* When entering something's name, after entering the first letter and it is upper case, the letter tray automatically shifts to lower case.
* Changed messages when learning a move.
* Updated message when sending a Pokémon to storage.
* Pokémon in storage no longer recalculate their form.
* Updated Poké Mart messages to reflect the latest games.
* Minor improvements to the Purify Chamber screen.
* Added a Setting that makes a new Pokémon's Pokédex entry show after evolution, trading, hatching, gaining from Mystery Gift and general adding.
* Added a Setting that determines whether the Move Reminder can teach previously known egg moves/moves taught by TRs.
* Multiple "Show Choices" event commands next to each other will now be merged together, allowing more than four choices to be shown at once.
 * Pokémon and battlers now have a single "types" variable, rather than separate variables for types 1 and 2.
* Added Pokémon properties cannot\_store (applies to Day Care as well), cannot\_release and cannot\_trade.
* Changed how Pokémon markings are recorded, and allowed variants of each mark (e.g. alternate colours).
* Added blue and pink marking colours.
* `Pokemon#foreign?` now defaults to comparing the Pokémon's owner to the player if no trainer is given in its parameter.
* Made Giratina's form use a map\_metadata flag "DistortionWorld" instead of a hardcoded array of map numbers.
* Tweaked code around inheriting forms from breeding with a Ditto.
* Removed form-randomising code for Basculin, Flabébé and Oricorio.
 * Removed all uses and support for ID numbers.
* Removed support for trainer type graphics using ID numbers in their names.
* Removed all deprecated code slated for removal.
* Removed support for pre-v19 save files.
* Removed sprite renamer code.
* Removed `$BallTypes` (which translated Poké Ball item IDs into special ID numbers) and all related code.
* Cleaned up evolution method definitions by removing old probability arrays (no longer needed as the old encounters.txt format is now gone).
* Added conversion of berry plant data in old save files to convert ID numbers of berry and mulch items to symbols.
* Updated to mkxp-z v2.3.1. Ruby version updated to 3.1. The green lines bug should be fixed.
* Changed mkxp.json to fix some uncommon rendering problems.
* Rewrote random dungeon generator code to improve it and add comments.
* Refactored Day Care code, including allowing any number of slots to be in it (default is 2).
* Replaced `get_character(0)` with `get_self`.
* Made `def _I` able to replace text like `_INTL`.
* Rewrote and generalised `def pbPickup`, and moved its item arrays and chances into separate constants.
* Many style and formatting improvements to the scripts thanks to Rubocop.
* Forced encoding of text to UTF-8.
* Renamed `$PokemonBag` to `$bag`. `$PokemonBag` will still work for now, but not if you try replacing it (e.g. when switching characters).
* Renamed variables and methods relating to the Bag. `$bag.has?` can now check for a minimum quantity. Rewrote Bag's def rearrange.
* Renamed `$Trainer` to `$player`. `$Trainer` will still work for now, but not if you try replacing it (e.g. when switching characters).
* Renamed some other global variables.
* Merged `class PokemonTemp` into `class Game_Temp`.
* Merged `Events` and `EncounterModifier` into `module EventHandlers` for consistency.
* Each proc registered to an event in EventHandlers now has a name so it can be individually referenced/replaced by other code, e.g. plugins.
* Created `module MenuHandlers` for the contents of various menus.
* Added `def count` to all GameData variants, and one that returns the number of species for Species.
* Made more use of `GameData::XYZ.keys`.
* A Pokémon's ability no longer needs manually setting to nil when changing its ability\_index.
* Moved code for using a HM/TM/TR into its own handler to better match how other items work.
* Added some more utility code.
 * Rewrote the "Fill Bag" Debug feature to make it much faster.
* Terrain Tag Editor can now only set terrain tags that are defined, rather than any number.
* Added terrain tag 17: NoEffect, to be used when covering up another tile's terrain tag (e.g. floor over water).
* Added Debug function to reload system cache.
* Added Debug function to toggle whether the next play of the credits can be ended early.
* The Pokémon debug menu now shows the Pokémon's status problem.
* Improved default console messages and colouring.
* Added text indicating the GPU cache size to the console messages.
* Changed the content of error messages raised by code in a Script event command.
* Wrote a generalised data property editor that deals with a list of things from a GameData module.
* Added a simple way to replace code in events with other code when compiling (should help with replacing outdated code).
* The game will now automatically compile if it is missing any necessary .dat files.
 * Converted all mp3 and wav files to ogg files.
* Replaced and renamed many BGMs, and made some of them ogg files to demonstrate looping.
* Turned trainer intro MEs into BGMs.
* Turned battle victory MEs into BGMs. The "Change Battle End ME" event command no longer does anything.
* Added an SE for picking berries.
* Added underscore to berry plant charsets to be more consistent with other file-naming conventions. Added a Debug menu function that checks for and renames berry plant charset files (both the files themselves and map events that use them).
* Added missing water shore corner tiles to Cave tileset.
* Added plugin meta.txt property "Essentials", which lists versions of Essentials the plugin is compatible with. Warns if this isn't defined or doesn't include the version of Essentials being used, but loads the plugin anyway.
* Added an intro splash screen for mkxp-z.
* Updated the Power Green fonts with more accurate glyphs and additional characters. Repositioned lots of text to accommodate the changes.
 * Added `class GameStats`, accessible via `$stats`, which records a lot of stats.
* Added Pokédex records for eggs seen per species, and expanded seen\_forms to include shinies.
* Made an example map event for the Gen 8 fossil combiner.
* Added Hidden Power checker NPC to the Day Care example map.
* Turned fusion items into two separate items for the sake of them having different descriptions.
* Added a Setting that allows the use of multiple stat-related items on a Pokémon at once (Rare Candy, Exp Candies, vitamins, Feathers/Wings, EV-lowering berries).
* Added a method that checks whether the player has enough Triple Triad cards to play.
* Removed all instances of changing the game window's title.

### Bug fixes

 * Fixed player's legs staying invisible when in tall grass and performing a map transfer (e.g. using Fly, blacking out).
* The player's charset now changes accordingly when moved fast/slow by a move route.
* Fixed crash when moving directly into really tall grass on a connected map.
* Fixed follower glitchiness across connected maps.
* Fixed follower glitchiness around bridges.
* Followers can now have reflections (i.e. their event name now applies to the follower object as well).
* Fixed problems when you have multiple followers and you remove one of them.
* Other improvements to follower behaviour.
* Light effects now properly centre themselves on the event regardless of graphic size.
* Fixed overworld weather moving relative to the screen rather than the map.
* Fixed the default field weather being 0 instead of :None.
* Fixed crash when setting a fog's or panorama's graphic to "(None)" in the "Change Map Settings..." event command.
* Fixed berry plant sparkles always showing on the current map even if the plant is on a connected map.
* Fixed field animations relating to events and followers not showing if they're on a connected map.
* Fixed grass not rustling if the player walks onto it directly from a connected map.
* Random dungeon generator now works properly with cells that aren't square (because corridor patterns are no longer rotated).
* Fixed some rooms in a random dungeon sometimes not being connected to any other room.
* Fixed mulch not being consumed when spread onto a berry patch.
* Fixed Poké Radar rustling grass not always causing a wild encounter when stepping in it.
* Fixed abilities that force wild encounters with a particular type using the wrong value as the preferred type and usually crashing.
* Fixed fishing/Rock Smash/Headbutt being able to cause double wild battles.
* Fixed the default transition animation not being FPS-agnostic.
* Fixed RMXP-style transition animations not working.
* Fixed Vs animation not triggering.
* Fixed `pbOnStepTaken` being called every frame if you open a menu immediately at the end of a step.
 * Fixed slightly inaccurate chances for each number of hits for moves that hit 2-5 times.
* Fixed Pledge combination moves using the incorrect type.
* Fixed Acrobatics not doubling in power if it consumes a Flying Gem.
* Fixed typo in Conversion's code that treated a type as an item.
* Fixed Incinerate's message not knowing the name of the item it destroyed.
* Misty Terrain now prevents affected Pokémon from becoming confused in Gen 7+ mechanics.
* Fixed typo in Relic Song's code that changes Meloetta's form.
* Fixed Roost not removing the Flying type.
* Fixed Knock Off being able to remove usable Mega Stones.
* Fixed bug in code for Shadow Half.
* Fixed damage from Toxic only going up to 15/16 of total HP.
* Stopped U-turn switching if the battle is over.
* Fixed Analytic's effect not considering whether Pokémon other than the target have already moved.
* Corrosion now allows a Steel/Poison Pokémon to poison itself with Toxic Orb.
* Imposter now only triggers when the Pokémon enters battle, and not at any other time.
* Fixed Mummy treating a Pokémon's ability as a number.
* Fixed Normalize not boosting damage in Gen 7+.
* Fixed error in code used by Pickup.
* Fixed Sweet Veil not protecting allies from falling asleep.
* Fixed Symbiosis not working.
* Fixed some items not working in battle.
* Fixed error when trying to return an unused item to the Bag in battle.
* Fixed code relating to items initially held by Pokémon in battle.
* Fixed berries that reduce damage from super-effective moves also working on moves that were normally effective.
* Fixed type-boosting Gems being consumed when they shouldn't and causing bugs.
* Made Leppa Berry's effect more accurate.
* Instruct and Dancer now won't make a Pokémon use a move if it has been locked into a different move by a Choice item.
* Fixed Magic Coat/Magic Bounce not checking failure conditions of the moves they bounce back.
* Fixed recalculating turn order after Mega Evolution not taking into account the Mega Evolved Pokémon's change of ability.
* Fixed Shadow Pokémon not owned by the player going into Hyper Mode.
* Fixed Shadow Pokémon saying how much Exp they gain from battle.
* Fixed incorrect layering of some sprites in battle.
* Fixed status icon in battle showing the wrong status.
* Fixed command windows in battle being too tall if possible.
* Only one battler can now be switched out due to using a move and related effects, as per official mechanics.
* Fixed incorrect animation when a critical capture Poké Ball fails to catch the Pokémon.
* Hardcoded battle animations no longer forget a sprite's colour if it's involved in that animation.
* Fixed visual glitch where a Pokémon's HP would raise then lower if its substitute took damage.
* Fixed issue with animating Exp bar upon hitting the maximum level in battle.
* Fixed typo in Shell Trap's AI.
* Fix for AI bug with Natural Gift when a Pokémon has no item.
* Fixed AI scores calculated for some moves not being added up properly.
* The AI now doesn't use Full Restores just to heal small amounts of HP.
 * Fixed Pokédex search not considering the properties of alternate forms of species if they were the ones last looked at.
* Fixed the Pokédex ignoring certain maps when drawing a species' area (maps that occupy multiple Town Map points but not the top left one in its rectangle, i.e. its second MapSize value starts with a 0).
* Fixed the nature of a Shadow Pokémon being shown when it shouldn't/not shown when it should, depending on its heart gauge.
* Improved Pokégear screen to work for all screen sizes.
* Fixed duplicated and missorted track listings in Jukebox.
* Fixed error when showing the Move Relearner a Pokémon that has no level-up moves it can relearn.
* Fixed crash when trading Pokémon.
* Fixed crash when choosing Pokémon for NPC Bug Catching Contest participants.
* Fixed cursor SE playing when choosing a quantity in the Bag/Poké Mart but the quantity doesn't change.
* Minor fixes to Voltorb Flip.
* Fixed slight text cropping in credits screen.
* The title screen now shows properly if there are no splash screens.
* Fixed SpriteWindow#back\_opacity not applying to all parts of the window graphic.
* Fixed panoramas/fogs/other graphics used as an AnimatedPlane not animating properly.
 * Fix for Pokémon editor deleting a moveset move when "changing" which move it is to the same move.
* Fixed changing a Pokémon's species to a single gendered/non-gendered one not updating its gender.
* Fixed Trainer Type Editor spamming the console when selecting the "new" option because it can't find a trainer sprite for it.
* Fixed Terrain Tag Editor's background disappearing when saving changes.
* Fixed visual bug in Day Care debug screen.
* Fixed some game data not being cleared when compiling.
* Fix for messages not being reloaded after the game is compiled.
* Fixed crash when compiling a moves.txt that uses the old format.
* Fixed incorrect data type for compiling LoseText in trainers.txt, so quote marks are no longer necessary even if there is a comma in the message.
* Fixed crash when generating Battle Frontier data.
 * Fixed Battle Factory Pokémon being chosen incorrectly.
* Fixed Battle Factory double mode being single battles.
* Fixed typo in Plugin Manager.
* Messages in plugin scripts are now extracted for translating.
* Fixed optional dependencies for plugins being treated as mandatory dependencies.
* Fixed bad code when checking if a trainer has a Pokémon of a given type.
* Fixed Nectar items being usable on fainted Oricorio despite showing a message saying that they can't.
* Fixed Pomeg Berry glitch.
* Fixed bad code in the definition of the evolution method HappinessMoveType.
* Minor improvements of some breeding inheritance code.
* Fixed Shiny Charm and Masuda method not working.
* Fixed regional form-exclusive species producing eggs of the wrong species.
* Fixed eggs not being the appropriate form based on the region they were made in.
* Destiny Knot no longer affects breeding in Gen 5 mechanics.
* Fixed form changing being able to leave a Pokémon knowing the same move twice.
* Pokémon cries no longer change pitch depending on their HP, except when fainting.
* Fixed Shadow Pokémon gaining Exp/EVs/happiness even at a high heart stage.
* Fixed changes to a Shadow Pokémon's heart gauge not depending on its nature.
* Fixed crash when using `upgradeRibbon`.
* Minor fixes to Pokérus code.
* Fixed the event command "Return to Title Screen"/resting in a Battle Facility run causing issues when trying to continue the game again immediately.
* Event choices shown without an accompanying message are now translated.
* Fixed `pbEventCommentInput` not working.
* Added missing berry\_plant.txt data and charsets for the Gen 6 berries.
* Fixed some incorrect apostrophes in PBS files.
* Fixed map names not being translated in some cases.
* Fixed crash when trying to play Triple Triad.
* Fixed typo in `def addBackgroundOrColoredPlane`.
* The default functionality for rand when no number is given is now as expected.
* `Bitmap#draw_text` now accepts a rect as originally intended.
* Added checks that prevent aliasing a method if the alias method already exists (and if re-aliasing it would cause infinite loop bugs).

## Essentials v20.1

### Feature changes and additions

* Renamed "moves.txt" property `BaseDamage` to `Power`.
* Added `def GameData::Species#base_stat_total`.
* Added support for the Bug Catching Contest taking place over multiple maps.
* Some improvements to map/event rendering when changing display tile width/height in map renderer.
* Refactored code that draws party screen panels.
* Refactored code that draws the Pokémon info box in battle.
* Removed all uses of the redundant `class SpriteWrapper`.
* Split up the AI code that modifies a move's score based on the move's effect.

### Bug fixes

* Fixed SystemStackError when loading a connected map with an event at its edge facing away from that edge.
* Fixed some maps being loaded when they shouldn't.
* Fixed the player animating super-fast for a while after surfing.
* Fixed player being able to be stuck in running position when opening the pause/ready menu.
* Fixed some Battle Challenge code not recognising a valid team if a team size limit is imposed.
* Fixed trainer intro BGM persisting after battles against multiple trainers.
* Fixed trainer intro BGM not stopping after skipping their battle.
 * Fixed event evolutions not working.
* Shadow Pokémon now regain 80% of the Exp they missed out on instead of 100%.
* Fixed error when using Rotom Catalog.
* Fixed error when using a Shadow Pokémon Scent or Time Flute item.
* Non-Scent items now can't be used on Shadow Pokémon in Hyper Mode.
* Scents now end a Shadow Pokémon's Hyper Mode.
* The Time Flute now purifies a Shadow Pokémon instead of just lowering its Heart Gauge.
 * Fixed being unable to walk across a map connection into an event even while holding Ctrl in Debug mode.
* Fixed "trainer\_types.txt" containing the property `VictoryME` instead of `VictoryBGM`.
* Fixed some warning messages relating to compiling "moves.txt".
* Updated "moves.txt" to fix a few mistakes.
* Fixed PBS files not being recovered properly if playing in Debug mode without a PBS folder.
* Fixed mistake in "Edit Individual Trainers" Debug editor.
* Fixed text positioning in "Roaming Pokémon" Debug function.
* Fixed empty wild encounter type tables not being editable in "Edit Wild Encounters" debug function.
* Fixed duplicate files listed in BGM/ME pickers in PBS file editors.
* Fixed error when the Compiler tries to convert some `pbTrainerBattle` code in events to `TrainerBattle.start`.
* Fixed console message colouring breaking when loading a plugin whose name contains an apostrophe.
 * Fixed incorrect status condition icon used for fainted Pokémon and Pokémon with Pokérus.
* Fixed not registering a gifted Pokémon as seen/owned before looking at its Pokédex entry.
* The Pokédex entry for a gifted Pokémon now won't appear if its form isn't supposed to be recorded in the Pokédex.
* Fixed the Bag lists having incorrect starting positions when choosing an item from a subset of your Bag.
 * Fixed incorrect capitalisation in message when Aurora Veil wears off.
* Fixed Dauntless Shield raising the wrong stat.
* Fixed error when using Future Sight.
* Fixed incorrect damage multiplier for Grav Apple in gravity.
* Fixed Grudge and Lunar Dance not properly changing PP amounts.
* Fixed Howl always failing.
* Fixed a Pokémon using Pursuit against a switcher being unable to use the next move it tries to use.
* Fixed error when applying Sea of Fire's damage.
* Fixed Gorilla Tactics also boosting Special Attack.
* Fixed error when calculating type effectiveness against a Pokémon with no types.
* Fixed Xerneas/Zacian/Zamazenta not being their alternate form throughout battle.
 * Fixed `def pbChooseItemFromList` not storing the correct result in a Game Variable.
* Fixed `GameData::Species.icon_bitmap_from_pokemon` causing a crash.
* Fixed some outdated code used in example map events.
* Fixed incorrect message when choosing a Pokémon to withdraw from Day Care.
* Fixed the "Sea deep" autotile not blending into the "Sea" autotile.
* Fixed broken hallfamebg.png file.
* Stopped various filenames being translatable when they don't need to be.