• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Script: Essentials Deluxe [v20.1] [DEPRECATED]

1,408
Posts
10
Years
    • Seen today
    Update (v1.2.1)


    General
    • Fixed a bug with certain midbattle effects that would cause crashes when triggered by wild Pokemon in particular.
    • Sped up the black bar animation that appears during trainer dialogue.
    • Cleaned up the DEMO_SPEECH triggers in Midbattle_Config.
    • Added the Generation 9 Pack as an optional dependency to hopefully address compatibility issues.
    • Moved all battle animation-related graphics used by other plugins to Essentials Deluxe, for tidiness.
    • Made many changes to code related to Pokemon sprites to accommodate changes made to Dynamax sprites in ZUD.
    • Revamped battle animations for compatibility with animated battler sprites.
    • Expanded the functionality of the "ace" flag to now have a function when applied to wild Pokemon. Wild Pokemon with the "ace" flag may now initiate battle mechanics such as Mega Evolution without needing a trainer.
    • In a Deluxe wild battle call, you may now flag a wild Pokemon as an "ace" by setting :ace to true.
    • Added debug Pokemon options to allow you to toggle the "ace" flag on Pokemon.

    Below is an example of how you would set up a basic battle vs. a wild Pokemon that can use Mega Evolution.
    Code:
    WildBattle.dx_start([:CHARIZARD, 50], {}, {
      :ace => true,
      :item => :CHARIZARDITEX
    })


    Mega Evolution
    • Revamped Mega Evolution and Primal Reversion code for better compatibility with other mechanics.
    • Made it so now all battle mechanics utilize the ZUD sound effect when triggered, including Mega Evolution.
    • Moved all code in ZUD that edited Mega Evolution mechanics into this plugin instead.
    • Added custom animations for Mega Evolution and Primal Reversion to keep it consistent with other plugins.
    • Changed the Mega Evolution icon used in battle to be more consistent Primal Reversion and other mechanics.
    • Pokemon holding Mega Stones will now display a Mega Stone icon in the party menu, instead of the standard held item icon.
    • Added a Deluxe Plugin debug tool to allow you to toggle the availability of Mega Evolution.

    Examples:
    Spoiler:



    Terastallization
    • Revamped the entire plugin in preparation for the release of the Terastal Phenomenon plugin.
    • Removed some placeholder code previously used for the beta Terastal plugin by wrigty12.
    • Added placeholder data for Tera Types so that you may edit the Tera Types of NPC Trainer Pokemon if Terastallization is installed.
    • Implemented storage screen compatibility so that Tera Type icons may be displayed along with additions made by other plugins.
    • Updated BW Storage System compatibility to support Tera Type icons.
    • Updated Interactable Bag Screen compatibility to support Tera Shard mechanics, as well as compatibility with the Improved Item Text plugin.
    • In a Deluxe wild battle call, you may now set a wild Pokemon's Tera Type by setting :teratype to a type ID.
    • In a midbattle hash, you may now use :teracharge to set whether the player's Tera Orb is charged or not.


    Midbattle Triggers
    • Added the "primal" midbattle trigger, which activates whenever a Pokemon initiates Primal Reversion.
    • Added the "gmax" midbattle trigger when using the ZUD Plugin, which activates whenever a Pokemon Dynamaxes specifically when doing so would cause them to enter Gigantamax form.
    • Added the "tera" midbattle trigger when using the Terastal Phenomenon plugin, which activates whenever a Pokemon Terastallizes.
    • Added the "teraType" midbattle trigger when using the Terastal Phenomenon plugin, which activates whenever a Terastallized Pokemon selects a damaging move that matches their Tera Type.
    • Expanded the functionality of several midbattle triggers to now allow you to specify certain criteria. These triggers are as follows:
      • "item"
        You may now attach a specific item ID to this trigger so that it may only trigger when that specific item is used. For example, "itemPOTION" will only ever trigger if the player uses a Potion from their inventory, whereas "itemFULLRESTORE_foe" would only ever trigger when an opponent uses a Full Restore.

      • "statusInflicted"
        You may now attach a specific status ID to this trigger so that it may only trigger when that specific status is inflicated. For example, "statusInflictedPOISON" will only ever trigger if the player's Pokemon is inflicted with the Poison status, whereas "statusInflictedBURN_foe" would only ever trigger when an opponent's Pokemon is inflicted with the Burn status.

      • "mega", "primal", "ultra", "dynamax", "gmax", "zmove", "tera", "teraType"
        You may now attach a specific species ID to these triggers so that they may only trigger when that specific species triggers them. For example, "megaGYARADOS" will only ever trigger if the player specifically Mega Evolves a Gyarados, and no other species; whereas "primalKYOGRE_foe" would only ever trigger specifically when the opponent has a Kyogre that enters Primal form. You may also attach a Type ID instead to trigger when a Pokemon of a particular type triggers these mechanics, instead. When using a Type ID with the "zmove" or "teraType" triggers, the type will instead refer to the type of the Pokemon's selected move. When using a Type ID with the "tera" trigger, the type will instead refer to the Tera Type of the Pokemon, instead of its actual types.

      • "recall", "beforeNext", "afterNext"
        You may now attach a specific species ID OR a specific type ID to these triggers so that they may only trigger when the specific species OR a Pokemon of a specific type is switched out or enters battle. For example, "recallPIKACHU" will only ever trigger when the player withdraws a Pikachu from battle; whereas "afterNextPSYCHIC_foe" would only ever trigger specifically when the opponent sends in a Psychic-type Pokemon.

      • "fainted"
        You may now attach a specific species ID OR a specific type ID to these triggers so that they may only trigger when the specific species OR a Pokemon of a specific type faints. For example, "faintedMEOWTH" will only ever trigger when the player has a Meowth on the field that faints; whereas "faintedWATER_foe" would only ever trigger specifically when the opponent has a Water-type Pokemon on the field that faints.


    Please refer to the tutorial for more information about changes to specific mechanics.

    Note: When updating, please make a copy of any custom work you've added to Midbattle_Config. Updating the plugin will overwrite any of your additions.
     
    211
    Posts
    7
    Years
    • Seen May 5, 2024
    umm....how to fix this?
    Spoiler:
     
    1,408
    Posts
    10
    Years
    • Seen today
    umm....how to fix this?
    Spoiler:

    The issue is with the Visually Different Super Shiny plugin. Many scripts related to Pokemon sprites were changed in this last update to Essentials Deluxe, so that plugin is no longer compatible. You should make the author aware so that they can update it.
     
    73
    Posts
    4
    Years
    • Seen May 13, 2024
    So I have this issue, when using :speech in the turnCommand trigger, it shows the name of the player, instead of the opposing trainer's.
    I noticed that in the Midbattle_Config file, the Demo scenario vs. Rocket Grunt in a collapsing cave, has a turnCommand trigger with speech, with :Opposing before the actual speech text, separated by a comma
    I tried it with that as well, but it still shows the player's name
    Also, the trigger lowHPLast_foe doesn't seem to work either
    lowHP_foe works just fine, and beforeLast_foe works too
    All this happened after either the last update, or the one before that
     
    Last edited:
    1,408
    Posts
    10
    Years
    • Seen today
    So I have this issue, when using :speech in the turnCommand trigger, it shows the name of the player, instead of the opposing trainer's.
    I noticed that in the Midbattle_Config file, the Demo scenario vs. Rocket Grunt in a collapsing cave, has a turnCommand trigger with speech, with :Opposing before the actual speech text, separated by a comma
    I tried it with that as well, but it still shows the player's name
    Also, the trigger lowHPLast_foe doesn't seem to work either
    lowHP_foe works just fine, and beforeLast_foe works too
    All this happened after either the last update, or the one before that

    I might've broken something with speech in the last update. Tbh, I need to overhaul speech in general, the way it's set up is quite janky.
     
    73
    Posts
    4
    Years
    • Seen May 13, 2024
    I see
    But I don't think the problem wish with :speech, I found that in Midbattle_Triggers, it's checking for lowHPFinal instead of lowHPLast

    if target.hp <= target.totalhp / 2
    lowHP = target.hp <= target.totalhp / 4
    if @battle.pbParty(target.index).length > @battle.pbSideSize(target.index)
    if @battle.pbAbleNonActiveCount(target.index) == 0
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHPFinal" : (target.opposes?) ? "halfHPFinal_foe" : "halfHPFinal_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHPFinal" : (target.opposes?) ? "lowHPFinal_foe" : "lowHPFinal_ally") if lowHP
    else
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHP" : (target.opposes?) ? "halfHP_foe" : "halfHP_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHP" : (target.opposes?) ? "lowHP_foe" : "lowHP_ally") if lowHP
    end
    else
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHP" : (target.opposes?) ? "halfHP_foe" : "halfHP_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHPFinal" : (target.opposes?) ? "halfHPFinal_foe" : "halfHPFinal_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHP" : (target.opposes?) ? "lowHP_foe" : "lowHP_ally") if lowHP
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHPFinal" : (target.opposes?) ? "lowHPFinal_foe" : "lowHPFinal_ally") if lowHP
    end
    end
    end
     
    1,408
    Posts
    10
    Years
    • Seen today
    I see
    But I don't think the problem wish with :speech, I found that in Midbattle_Triggers, it's checking for lowHPFinal instead of lowHPLast

    if target.hp <= target.totalhp / 2
    lowHP = target.hp <= target.totalhp / 4
    if @battle.pbParty(target.index).length > @battle.pbSideSize(target.index)
    if @battle.pbAbleNonActiveCount(target.index) == 0
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHPFinal" : (target.opposes?) ? "halfHPFinal_foe" : "halfHPFinal_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHPFinal" : (target.opposes?) ? "lowHPFinal_foe" : "lowHPFinal_ally") if lowHP
    else
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHP" : (target.opposes?) ? "halfHP_foe" : "halfHP_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHP" : (target.opposes?) ? "lowHP_foe" : "lowHP_ally") if lowHP
    end
    else
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHP" : (target.opposes?) ? "halfHP_foe" : "halfHP_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "halfHPFinal" : (target.opposes?) ? "halfHPFinal_foe" : "halfHPFinal_ally")
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHP" : (target.opposes?) ? "lowHP_foe" : "lowHP_ally") if lowHP
    target_triggers.push((target.pbOwnedByPlayer?) ? "lowHPFinal" : (target.opposes?) ? "lowHPFinal_foe" : "lowHPFinal_ally") if lowHP
    end
    end
    end

    Yeah, that is definitely a mistake in terms of the trigger. The speech issue is a separate issue though that requires fixing.
     
    1,408
    Posts
    10
    Years
    • Seen today
    Minor Update (v1.2.2)


    • Fixed a bug that would cause a crash with Safari Zone encounters.
    • Fixed a bug that prevented the "halfHPLast" and "lowHPLast" midbattle triggers from being properly detected.
    • Made the following changes to the file Midbattle_Config:
      • Added the DEMO_MEGA_EVOLUTION hash to showcase midbattle triggers related to Mega Evolution.
      • Added the DEMO_PRIMAL_REVERSION hash to showcase midbattle triggers related to Primal Reversion.
      • Added the DEMO_TERASTALLIZE hash to showcase midbattle triggers related to Terastallization.
      • Edited the DEMO_ZUD_MECHANICS hash to showcase new midbattle triggers related to ZUD mechanics.
      • Added comments for each demo hash with suggested battle rules to be set in battles that utilize those hashes.
    • Revamped how midbattle speech is sorted so that it will more consistently display the correct speaker.
    • Made it so that multiple trainers may now speak during the same speech animation, as seen in the example gif below.

    Multi-trainer dialogue in a single speech event:
    Essentials Deluxe [v20.1] [DEPRECATED]


    Please refer to the tutorial for more information about changes to specific mechanics.

    Note: When updating, please make a copy of any custom work you've added to Midbattle_Config. Updating the plugin will overwrite any of your additions.
     
    2
    Posts
    1
    Years
    • she/her
    • Seen May 18, 2023
    Awesome looking plug-in! Just found it and think it looks great. I did have one question though, I assume from it not being mentioned in the hash commands for mid-battle that there is currently no way to create a Show Choices box mid-battle? I've been previously using the Mid Battle Dialogue for v.20 and was using the show choices a fair bit and wanted to see if that functionality was present before switching over, as I have a number of instances where the player needs to select from some responses to an opponent's dialogue. If not then no worries but I figured I would check and make sure just in case I was missing how to potentially how to implement this.
     
    1,408
    Posts
    10
    Years
    • Seen today
    Awesome looking plug-in! Just found it and think it looks great. I did have one question though, I assume from it not being mentioned in the hash commands for mid-battle that there is currently no way to create a Show Choices box mid-battle? I've been previously using the Mid Battle Dialogue for v.20 and was using the show choices a fair bit and wanted to see if that functionality was present before switching over, as I have a number of instances where the player needs to select from some responses to an opponent's dialogue. If not then no worries but I figured I would check and make sure just in case I was missing how to potentially how to implement this.

    This functionality doesn't currently exist, but it's a great suggestion for a future update.
     
    2
    Posts
    1
    Years
    • she/her
    • Seen May 18, 2023
    Alright, thanks for letting me know. I'll definitely be keeping an eye out here in case a future update includes this functionality.
     

    TheShinyMew

    Wild Challenger appeared!
    125
    Posts
    14
    Years
  • I got this error when I click on "Give Demo Party" on the Focus Meter selection:

    Code:
    =================
    
    [2023-02-24 01:01:19 -0500]
    [Pokémon Essentials version 20.1]
    [v20.1 Hotfixes 1.0.7]
    
    Exception: NoMethodError
    Message: undefined method `party' for nil:NilClass
    
    Backtrace:
    [Focus Meter System] [012] Debug.rb:83:in `pbFocusDemoParty'
    [Focus Meter System] [012] Debug.rb:31:in `block in <main>'
    036:Event_HandlerCollections:121:in `call'
    370:Debug_Menus:138:in `block in pbDebugMenu'
    370:Debug_Menus:100:in `loop'
    370:Debug_Menus:100:in `pbDebugMenu'
    [Following Pokemon EX] Refresh.rb:117:in `pbDebugMenu'
    291:UI_Load:336:in `block (2 levels) in pbStartLoadScreen'
    082:MessageConfig:572:in `pbFadeOutIn'
    291:UI_Load:336:in `block in pbStartLoadScreen'
     

    TheShinyMew

    Wild Challenger appeared!
    125
    Posts
    14
    Years
  • I also got an error when I fight a wild Victini.

    Code:
    [2023-02-24 01:22:27 -0500]
    [Pokémon Essentials version 20.1]
    [v20.1 Hotfixes 1.0.7]
    
    Exception: NoMethodError
    Message: undefined method `length' for nil:NilClass
    
    Backtrace:
    [Essentials Deluxe] Midbattle_Main.rb:235:in `block in pbMidbattleSpeech'
    [Essentials Deluxe] Midbattle_Main.rb:228:in `each'
    [Essentials Deluxe] Midbattle_Main.rb:228:in `pbMidbattleSpeech'
    [Essentials Deluxe] Midbattle_Main.rb:138:in `block (2 levels) in dx_midbattle'
    [Essentials Deluxe] Midbattle_Main.rb:101:in `each'
    [Essentials Deluxe] Midbattle_Main.rb:101:in `block in dx_midbattle'
    [Essentials Deluxe] Midbattle_Main.rb:63:in `each'
    [Essentials Deluxe] Midbattle_Main.rb:63:in `dx_midbattle'
    [Essentials Deluxe] Battle.rb:185:in `pbCommandPhase'
    [Terastal Phenomenon] [004] Battle.rb:159:in `pbCommandPhase'
     
    1,408
    Posts
    10
    Years
    • Seen today
    I also got an error when I fight a wild Victini.

    Code:
    [2023-02-24 01:22:27 -0500]
    [Pokémon Essentials version 20.1]
    [v20.1 Hotfixes 1.0.7]
    
    Exception: NoMethodError
    Message: undefined method `length' for nil:NilClass
    
    Backtrace:
    [Essentials Deluxe] Midbattle_Main.rb:235:in `block in pbMidbattleSpeech'
    [Essentials Deluxe] Midbattle_Main.rb:228:in `each'
    [Essentials Deluxe] Midbattle_Main.rb:228:in `pbMidbattleSpeech'
    [Essentials Deluxe] Midbattle_Main.rb:138:in `block (2 levels) in dx_midbattle'
    [Essentials Deluxe] Midbattle_Main.rb:101:in `each'
    [Essentials Deluxe] Midbattle_Main.rb:101:in `block in dx_midbattle'
    [Essentials Deluxe] Midbattle_Main.rb:63:in `each'
    [Essentials Deluxe] Midbattle_Main.rb:63:in `dx_midbattle'
    [Essentials Deluxe] Battle.rb:185:in `pbCommandPhase'
    [Terastal Phenomenon] [004] Battle.rb:159:in `pbCommandPhase'

    Every single error you've posted here and on the ZUD thread are all NilClass related. It sounds to me that the issues aren't related to my plugins, and more to do with the fact that your game is just missing a bunch of files or data that are expected to be there.
     
    1,408
    Posts
    10
    Years
    • Seen today
    Update (v1.2.3)
    NOTE: This update heavily overhauls many of the previous systems used in this plugin. Even if you are well versed in how to use it, It's highly recommended that you go through the tutorial again to get a handle on what's been changed and/or added.

    Midbattle Triggers
    I've overhauled and renamed a ton of the existing midbattle triggers. I know this'll be annoying for those of you who have a lot of existing battles set up with the old trigger names, so I'm going to try not to go on a mass re-naming spree from here on out. But I wanted to redo all of the triggers so that all of the ones that are closely related to each other all start with the same word, to make them all easier to sort and remember. For example, all the triggers related to moves now start with the word "move", all of the triggers related to switching now start with the word "switch", etc. A lot of the triggers previously would just have no rhyme or reason for the way they were named, and in this update I tried to make everything much neater and organized.

    In addition to this, I've also split a ton of existing triggers into two separate ones. Primarily, this has to do with the triggers related to the Attack Phase of battle. For example, previously there was only one trigger that checked if an attacking Pokemon dealt a critical hit, but no trigger that would activate on the defending side that would activate when a Pokemon took critical damage. To address this I've now split every trigger that deals with scenarios like this into "attacker" and "defender" triggers, so you can choose which side to trigger the effect from.

    The following triggers have been removed, renamed or replaced, and are no longer used:
    Spoiler:

    Here are all of the re-worked triggers. A few may still have the same name, but have been given additional functionality. Others simply are renamed versions of old triggers. And some are completely brand new:
    Spoiler:


    General Fixes
    • Standardized the "statusInflicted" midbattle trigger throughout the plugin. Some places were using a differently named trigger by accident.
    • Fixed an error that would occur when setting up midbattle messages in wild battles with some configurations.
    • Fixed an error that would occur when using the Interactable Party w/ Bag plugin when the Terastal Phenomenon plugin is not present.
    • Generalized how the Tera button is displayed in battle when the Terastal Phenomenon plugin is installed so that the button now appears correctly even if you've added or removed types from your game.
    • Fixed a typo error with the :teracharge midbattle key.
    • Fixed a bug when using the :delay and :ignore keys in a midbattle hash that wouldn't reset their conditions after the battle concluded, keeping them stuck as if they have already activated if initiating the same battle again.
    • Fixed a potential infinite loop that could occur when using midbattle triggers to force switching.
    • Fixed a potential infinite loop that could occur when using midbattle triggers to force a Pokemon to faint.
    • Opponent trainer sprites that slide in during speech will now appear in front of their Pokemon sprites if their active Pokemon in slot 1 is currently Dynamaxed. This both reflects how it works in SwSh (the Dynamax Pokemon is behind the trainer), as well as fixing awkward visual situations where the speaking trainer would be completely obscured by enlarged Dynamax sprites.

    Midbattle Speech & Text
    • All custom messages entered in a midbattle hash have been updated to now accept \\PN to display the player's name.
    • The name of a speaker that is displayed during midbattle speech will now be displayed in its own text box above the speaker's dialogue, instead of appearing in all caps as part of the speaker's speech. The windowskin for this name plate will default to one with a blue outline for male speakers and one with a red outline for female speakers. This windowskin may also be customized for each speaker as well.
    • You may now display speech events for opponents during wild battles, not just trainer battles. Doing so will allow the wild Pokemon to "speak", complete with their own name plates.
    • The name displayed for a speaker during midbattle speech may now be customized, allowing you to display a name or title that doesn't necessarily match the actual name of the speaker.
    • You may now have any trainer or Pokemon sprite you want slide in and speak during battle, even if they aren't your current opponent. For example, if you are currently in a battle with your rival, you can have Prof. Oak slide in to speak, even though he isn't your opponent.
    • New functionality with midbattle speech has been implemented to now allow you to set up choice boxes during dialogue, and set up different outcomes depending on the chosen option. Refer to the tutorial for an in-depth guide on how this can be accomplished.

    Midbattle Rules
    • Added the :compbattle Deluxe battle rule. When set to true, the battle will function with the same rules as competitive PvP battles, or those found in the Battle Frontier. Specifically, no exp. or money is earned from this battle, and the player is unable to use any items from the bag. The player may also select "Run" to forfeit the match.
    • Added the :introtext Deluxe battle rule. You may use this to override the default battle text that appears at the start of the battle, such as "A wild __ appeared!" in wild battles, or "You are challenged by ___!" in trainer battles.
    • Added the :losetext Deluxe battle rule. You may use this to override the speech text that will display at the end of battle for opposing trainers when they are defeated.
    • Added the :wintext Deluxe battle rule. You may use this to override the speech text that will display at the end of battle for opposing trainers when they defeat you. This text only appears when the :compbattle rule is active, since trainers only show their win speech text in those types of battles (such as in the Battle Frontier). For all other battles, you can still use the "loss" midbattle trigger to display trainer speech when you lose.

    Midbattle Hashes
    • When the :move key used in a midbattle hash is set as an array, the array will now accept "nil" as a valid entry. This will make it so that you can use this feature to delete moves from a Pokemon's moveset. For example, [nil, :TACKLE, nil, :LEER] would delete the Pokemon's moves that appear at indexes 0 and 2, and replace the moves at indexes 1 and 3 with Tackle and Leer, respectively. You may also set all of a Pokemon's moves to nil to force it to Struggle.
    • Added new midbattle functionality that allows you to set and manipulate a variable during midbattle events that you can use to proc different outcomes. For example, you can have a battle that keeps track of "points" earned by the player throughout the battle, and different events are triggered depending on what number this variable is currently at. More details are covered in the tutorial.
    • Added the :setvariable key to be used in a midbattle hash to allow you to set or alter a midbattle variable.
    • Added the "variable_#" midbattle trigger which activate whenever the midbattle variable reaches a certain total, represented with #.
    • Added the "variable_over_#" and "variable_under_#" midbattle triggers which activate whenever the midbattle variable reaches a total that is above or below the number represented with #, respectively.
    • Added the "variable_up" and "variable_down" midbattle triggers which activate whenever the midbattle variable is increased or decreased, respectively.
    • Added the :setchoice key to be used in a midbattle hash to allow you to set up a tag for a specific speech event that contains a question for the player to select an answer to.
    • Added the "choice_/tag/_#" midbattle trigger which activates whenever the player selects a response to a question represented by /tag/, and the index of that selection matches the number represented with #.
    • Added the "choice_/tag/_correct" and "choice_/tag/_incorrect" midbattle triggers which activate whenever the player selects the correct or incorrect response to a question represented by /tag/, respectively.
    • Added the DEMO_VS_OPAL hash to Midbattle_Config to showcase and replicate the battle quizzes found in the battle vs Gym Leader Opal from Pokemon Sword & Shield.
    • Added the DEMO_BATTLE_QUIZMASTER hash to Midbattle_Config to showcase a more elaborate example of what the new choice/variable functionality of this update is capable of.

    Other
    • Added a placeholder for the NoDynamax attribute for NPC trainer's Pokemon, to be used by the ZUD Plugin. This may be used to allow NPC trainers to use Dynamax and Terastallization in the same battle. More details found in the ZUD Plugin.
    • Added the :nodynamax setting to be used in the Pokemon hash of a Deluxe wild battle. This flags the Pokemon as being unable to use Dynamax when the ZUD Plugin is present. This allows wild Pokemon to Terastallize even if you are on a map that would normally cause them to prioritize Dynamax instead.


    Video Examples:
    Below are example battles showcasing just a few up the new features in this update. Keep in mind that these videos were made prior to the new name plate additions, so they are mostly just to show off the dialogue choice features.
    Battle vs Gym Leader Opal
    Battle vs Quizmaster

    Here is a GIF to showcase the new :introtext Deluxe battle rule, name plates, as well as the ability to set guest speakers during midbattle speech.
    Essentials Deluxe [v20.1] [DEPRECATED]


    Please refer to the tutorial for more information about changes to specific mechanics.

    Note: When updating, please make a copy of any custom work you've added to Midbattle_Config. Updating the plugin will overwrite any of your additions.
     
    35
    Posts
    3
    Years
    • Seen yesterday
    Update to this, update to Enhanced UI and randomised trainer teams got a compatibility patch. Nice.
     
    1,408
    Posts
    10
    Years
    • Seen today
    Minor Update (v1.2.4)


    • Fixed some speech in DEMO_VS_SADA_PHASE_1 from displaying the wrong speaker.
    • Fixed how the :ignore midbattle key works so that it no longer repeats infinitely until the conditions for the ignore are met. The trigger now only occurs once (unless set to repeat), regardless if the trigger was ignored or not.
    • The :useitem midbattle key can now be triggered by wild Pokemon, allowing them to use items on themselves in battle, as if they were a trainer.
    • The :bgm midbattle key now accepts arguments to control volume and pitch when set as an array.
    • Added :disableballs as a new midbattle key. You may set this to true or false to toggle the availability of Poke Balls mid-battle.
    • Added :shadow as a Pokemon property when setting up a wild Deluxe battle. This can be used to make wild Pokemon into Shadow Pokemon.
    • Made several small edits related to the (eventual) upcoming Pokemon Birthsigns plugin.
    • Aliased how trainers are generated for better compatibility with other plugins.
    • Aliased several methods related to battle databoxes for better compatibility with other plugins or custom edits.
    • Added compatibility with the All Abilities Mutation plugin (v1.2).
    • Added a new PBS file to this plugin that adds various new item categories to existing items to better group them.
    • Added a ton of new methods to check for new item categories. These can be used to more easily check for a certain category of item, instead of having to list each relevant item.
      Spoiler:


    Note: When updating, please make a copy of any custom work you've added to Midbattle_Config. Updating the plugin will overwrite any of your additions.
     
    1
    Posts
    1
    Years
    • Seen Mar 18, 2023
    Hi there,

    Thank you so much for creating these amazing resources. I wanted to report a bug that I experience on a fresh install of Essentials 20.1, with the plugins Following Pokemon EX (ver. 2.2.2), Generation 8 Pack Scripts (ver. 1.0.3) and of course Essentials Deluxe (ver. 1.2.4). Every time I try to initiate a trainer or wild battle (whether via events or via the debug menu), I am presented with the following error:

    [Pokémon Essentials version 20.1]
    [v20.1 Hotfixes 1.0.7]

    Exception: NoMethodError
    Message: undefined method `[]=' for true:TrueClass

    Backtrace:
    [Essentials Deluxe] Pokedex.rb:331:in `register'
    [Essentials Deluxe] Battle_Misc.rb:359:in `pbSetSeen'
    Battle_ActionSwitching:293:in `block in pbSendOut'
    Battle_ActionSwitching:291:in `each'
    Battle_ActionSwitching:291:in `pbSendOut'
    [Essentials Deluxe] Battle.rb:366:in `block in pbStartBattleSendOut'
    [Essentials Deluxe] Battle.rb:338:in `each'
    [Essentials Deluxe] Battle.rb:338:in `pbStartBattleSendOut'
    Battle_StartAndEnd:284:in `pbStartBattleCore'
    Battle_StartAndEnd:270:in `pbStartBattle'

    Other than the installation of the plugins which I handled exactly as instructed through the forums, I haven't modified this game and I'm not using any plugins that aren't listed as compatible with this one. I am using the demo party from Pokemon Essentials (done via debug) to initiate these battles.

    Any help would be much appreciated, as this plugin has so much potential that I wish to utilise!

    EDIT: This only seems to occur when using the demo party from Pokemon Essentials. Do you have any idea why? This can easily be worked around, of course, but it would be convenient if there was a way to edit the demo party so that this doesn't happen.
     
    Last edited:
    1,408
    Posts
    10
    Years
    • Seen today
    Hi there,

    Thank you so much for creating these amazing resources. I wanted to report a bug that I experience on a fresh install of Essentials 20.1, with the plugins Following Pokemon EX (ver. 2.2.2), Generation 8 Pack Scripts (ver. 1.0.3) and of course Essentials Deluxe (ver. 1.2.4). Every time I try to initiate a trainer or wild battle (whether via events or via the debug menu), I am presented with the following error:

    [Pokémon Essentials version 20.1]
    [v20.1 Hotfixes 1.0.7]

    Exception: NoMethodError
    Message: undefined method `[]=' for true:TrueClass

    Backtrace:
    [Essentials Deluxe] Pokedex.rb:331:in `register'
    [Essentials Deluxe] Battle_Misc.rb:359:in `pbSetSeen'
    Battle_ActionSwitching:293:in `block in pbSendOut'
    Battle_ActionSwitching:291:in `each'
    Battle_ActionSwitching:291:in `pbSendOut'
    [Essentials Deluxe] Battle.rb:366:in `block in pbStartBattleSendOut'
    [Essentials Deluxe] Battle.rb:338:in `each'
    [Essentials Deluxe] Battle.rb:338:in `pbStartBattleSendOut'
    Battle_StartAndEnd:284:in `pbStartBattleCore'
    Battle_StartAndEnd:270:in `pbStartBattle'

    Other than the installation of the plugins which I handled exactly as instructed through the forums, I haven't modified this game and I'm not using any plugins that aren't listed as compatible with this one. I am using the demo party from Pokemon Essentials (done via debug) to initiate these battles.

    Any help would be much appreciated, as this plugin has so much potential that I wish to utilise!

    EDIT: This only seems to occur when using the demo party from Pokemon Essentials. Do you have any idea why? This can easily be worked around, of course, but it would be convenient if there was a way to edit the demo party so that this doesn't happen.

    As the instructions of this plugin state, you must start a new game after installing. This will not work on previous saves.
     
    Back
    Top