Script Essentials Deluxe [v20.1] Page 7

Started by Lucidious89 August 5th, 2022 6:54 PM
  • 25418 views
  • 161 replies
Male
Online now
Posted 2 Hours Ago
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.

TheShinyMew

Ravioli ravioli, give me the formuoli.

Age 33
Non-binary
Unknown
Seen 4 Weeks Ago
Posted 4 Weeks Ago
119 posts
12.9 Years
I got this error when I click on "Give Demo Party" on the Focus Meter selection:

=================

[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'
~Welcome! Where's my land?~

TheShinyMew

Ravioli ravioli, give me the formuoli.

Age 33
Non-binary
Unknown
Seen 4 Weeks Ago
Posted 4 Weeks Ago
119 posts
12.9 Years
I also got an error when I fight a wild Victini.

[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'
~Welcome! Where's my land?~
Male
Online now
Posted 2 Hours Ago
I also got an error when I fight a wild Victini.

[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.
Male
Online now
Posted 2 Hours Ago
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:
  • "damageMove"
  • "physicalMove"
  • "specialMove"
  • "statusMove"
  • "superEffective"
  • "notVeryEffective"
  • "immune"
  • "miss"
  • "criticalHit"
  • "damageTaken"
  • "halfHP"
  • "lowHP"
  • "halfHPLast"
  • "lowHPLast"
  • "recall"
  • "beforeNext"
  • "afterNext"
  • "beforeLast"
  • "afterLast"
  • "beforeCapture"
  • "afterCapture"
  • "failedCapture"


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:
  • Capture Triggers
    These triggers activate at different points during the capture process when the player throws a Poke Ball. You may add a species ID to these triggers to only activate when attempting to capture a specific species, or a type ID to trigger on a Pokemon of a specific type. These triggers are only usable by the player, so the
    _foe
    and
    _ally
    extensions do not apply.
    • "captureAttempt" - Previously named "beforeCapture". Triggers prior to throwing a Poke Ball.
    • "captureSuccess" - Previously named "afterCapture". Triggers upon successfully capturing a Pokemon.
    • "captureFailure" - Previously named "failedCapture". Triggers upon a Pokemon escaping from a Poke Ball.


  • Move Triggers
    These triggers activate upon selecting a move, but prior to actually using the move. You may add a type ID to these triggers to only activate when selecting a move of a particular type, or a species ID to only trigger when a Pokemon of a particular species uses the move. With the
    "move"
    trigger in particular, you may also add a move ID to check if a specific move has been selected. You may specify which trainers this should trigger for by using the
    _foe
    and
    _ally
    extensions.
    • "move" - Triggers when any move was selected.
    • "moveDamaging" - Previously named "damageMove". Triggers when a damage-dealing move was selected.
    • "movePhysical" - Previously named "physicalMove". Triggers when a physical move was selected.
    • "moveSpecial" - Previously named "specialMove". Triggers when a special move was selected.
    • "moveStatus"- Previously named "statusMove". Triggers when a status move was selected.


  • Switching Triggers
    These triggers activate at different points during the process of switching Pokemon. You may add a species ID to these triggers to only activate when attempting to switch in/out a specific species, or a type ID to trigger on a Pokemon of a specific type. You may specify which trainers this should trigger for by using the
    _foe
    and
    _ally
    extensions.
    • "switchOut" - Previously named "recall". Triggers when a trainer manually selects to switch out an active Pokemon, but prior to actually withdrawing them.
    • "switchIn" - Previously named "beforeNext". Triggers when a trainer is about to send in a new Pokemon.
    • "switchInLast" - Previously named "beforeLast". Triggers when a trainer is about to send in their final Pokemon.
    • "switchSentOut" - Previously named "afterNext". Triggers after a trainer successfully sent out a new Pokemon.
    • "switchSentOutLast"- Previously named "afterLast". Triggers after a trainer successfully sent out their final Pokemon.


  • Attacker Triggers
    These triggers activate after an attacking Pokemon uses their move on an opponent and damage has been calculated. You may add a species ID to these triggers to only activate when the attacking Pokemon is of a particular species; a move ID to only activate when a particular move was used, or a type ID to only trigger if a move of a particular type was used. You may specify which trainers this should trigger for by using the
    _foe
    and
    _ally
    extensions.
    • "attackerDamaged" - Triggers when an attacking Pokemon deals damage with an attack and reduces an opponent's HP.
    • "attackerSubDamaged" - Triggers when an attacking Pokemon deals damage to an opponent's Substitute without breaking it.
    • "attackerSubBroken" - Triggers when an attacking Pokemon deals enough damage to break an opponent's Substitute.
    • "attackerSEdmg" - Triggers when an attacking Pokemon deals Super Effective damage to an opponent and reduces their HP.
    • "attackerNVEdmg" - Triggers when an attacking Pokemon deals Not Very Effective damage to an opponent and reduces their HP.
    • "attackerNegated" - Triggers when an attacking Pokemon's move is negated due to an effect or type immunity, and deals no damage to an opponent.
    • "attackerDodged" - Triggers when an attacking Pokemon's move misses the opponent, and deals no damage.
    • "attackerCrit" - Triggers when an attacking Pokemon deals a Critical Hit to an opponent and reduces their HP.
    • "attackerHPHalf" - Triggers when an attacking Pokemon's HP is at 50% or less after using an attack.
    • "attackerHPHalfLast" - Triggers when an attacking Pokemon's is the last remaining Pokemon in the party, and its HP is at 50% or less after using an attack.
    • "attackerHPLow" - Triggers when an attacking Pokemon's HP is at 25% or less after using an attack.
    • "attackerHPLowLast" - Triggers when an attacking Pokemon's is the last remaining Pokemon in the party, and its HP is at 25% or less after using an attack.


  • Defender Triggers
    These triggers activate after a defending Pokemon is targeted by an opponent's move and damage has been calculated. You may add a species ID to these triggers to only activate when the defending Pokemon is of a particular species; a move ID to only activate when a particular move was used on it, or a type ID to only trigger if the move it was targeted with is of a particular type. You may specify which trainers this should trigger for by using the
    _foe
    and
    _ally
    extensions.
    • "defenderDamaged" - Triggers when a defending Pokemon takes damage from an attack and its HP is reduced.
    • "defenderSubDamaged" - Triggers when a defending Pokemon absorbs damage with a Substitute without it breaking.
    • "defenderSubBroken" - Triggers when a defending Pokemon absorbs enough damage with a Substitute that it breaks.
    • "defenderSEdmg" - Triggers when a defending Pokemon takes Super Effective damage from an opponent's attack.
    • "defenderNVEdmg" - Triggers when a defending Pokemon takes Not Very Effective damage from an opponent's attack.
    • "defenderNegated" - Triggers when a defending Pokemon negates an opponent's attack due to an effect or type immunity, and takes no damage.
    • "defenderDodged" - Triggers when a defending Pokemon evades an opponent's attack and takes no damage.
    • "defenderCrit" - Triggers when a defending Pokemon suffers a Critical Hit from an opponent's attack.
    • "defenderHPHalf" - Triggers when a defending Pokemon is left with 50% of their total HP or less after taking damage.
    • "defenderHPHalfLast" - Triggers when a defending Pokemon is the last remaining Pokemon in the party and its HP is at 50% or less after taking damage.
    • "defenderHPLow" - Triggers when a defending Pokemon is left with 25% of their total HP or less after taking damage.
    • "defenderHPLowLast" - Triggers when a defending Pokemon is the last remaining Pokemon in the party and its HP is at 25% or less after taking damage.


  • Pokemon Effects
    These triggers activate when certain effects on a battler or a certain side of the battlefield expire. Specifically, this pertains to certain effects that count down each turn until their effects end, such as with Taunt or Light Screen. You may add the name of a specific effect in all caps to only have these triggers activate when a particular effect expires. You may specify which trainers this should trigger for by using the
    _foe
    and
    _ally
    extensions.
    • "endEffect" - Triggers when an effect on an individual battler expires. You may specify a particular effect such as
      "endEffectDISABLE"
      .
      Eligible effects: Disable, Embargo, Heal Block, Magnet Rise, Taunt, Telekinesis, Yawn, Focus Lock (Focus Meter System)
    • "endTeamEffect" - Triggers when an effect on a particular side of the battlefield expires. You may specify a particular effect such as
      "endTeamEffectREFLECT"

      Eligible effects: Aurora Veil, Light Screen, Lucky Chant, Mist, Rainbow, Reflect, Safeguard, Sea of Fire, Swamp, Tailwind, Vine Lash (ZUD), Wildfire (ZUD), Cannonade (ZUD), Volcalith (ZUD), Focused Guard (Focus Meter System)


  • Field Effects
    These triggers activate when certain effects that apply to the entire battlefield expire. Specifically, this pertains to certain effects that count down each turn until their effects end, such as with Weather, Terrain, or effects like Trick Room. You may add the name of a specific effect in all caps to only have these triggers activate when a particular effect expires. Since these effects affect the entire battlefield and not any specific trainer, the
    _foe
    and
    _ally
    extensions cannot be used.
    • "endFieldEffect" - Triggers when an effect that applies to the entire battlefield ends. You may specify a particular effect such as
      "endFieldEffectGRAVITY"
      .
      Eligible effects: Gravity, Magic Room, Mud Sport Field, Trick Room, Water Sport Field, Wonder Room
    • "endWeather" - Triggers when a weather condition ends. You may specify a particular weather such as
      "endWeatherRAIN"
      .
    • "endTerrain" - Triggers when a battle terrain ends. You may specify a particular terrain such as
      "endTerrainGRASSY"
      .


  • Randomized Triggers
    All midbattle triggers that end in
    "_random"
    may now be given specific odds for them to trigger. For example, a trigger such as
    "turnEnd_random_20"
    will trigger 20% of the time at the end of the turn, where something like
    "moveDamaging_foe_repeat_random_70"
    would repeatedly trigger 70% of the time each time the opponent uses a damage-dealing move.

  • All Other Triggers
    If a trigger is not mentioned anywhere in this section, then it's safe to assume that it remains unchanged, and functions the same as it did before.



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.


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.
Male
Online now
Posted 2 Hours Ago
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:
    • is_repel?: Returns true if the item has the "Repel" flag. (Repel, Max Repel, etc.)
    • is_medicine?: Returns true if the item has the "Medicine" flag. (Potion, Ether, Revive, etc.)
    • is_remedy?: Returns true if the item has the "Remedy" flag. (Energy Root, Revival Herb, all bitter healing items.)
    • is_vitamin?: Returns true if the item has the "Vitamin" flag. (Protein, HP Up, PP Up, etc.)
    • is_exp_candy?: Returns true if the item has the "ExpCandy" flag. (Exp. Candy S, Exp. Candy XL, all Exp. Candies.)
    • is_feather?: Returns true if the item has the "Feather" flag. (Muscle Feather, Swift Feather, all feathers.)
    • is_mint?: Returns true if the item has the "Mint" flag. (Jolly Mint, Naive Mint, all mints.)
    • is_incense?: Returns true if the item has the "Incense" flag. (Rock Incense, Wave Incense, all incenses.)
    • is_contest_item?: Returns true if the item has the "Contest" flag. (Red Scarf, Blue Scarf, all items that boost contest stats.)
    • is_ev_booster?: Returns true if the item has the "EVBooster" flag. (Macho Brace, Power Weight, etc.)
    • is_flute?: Returns true if the item has the "Flute" flag. (Black Flute, Red Flute, etc.)
    • is_shard?: Returns true if the item has the "Shard" flag. (Green Shard, Yellow Shard, etc.)
    • is_nectar?: Returns true if the item has the "Nectar" flag. (Red Nectar, Purple Nectar, all Oricorio nectars.)
    • is_sweet?: Returns true if the item has the "Sweet" flag. (Love Sweet, Ribbon Sweet, all Alcremie sweets.)
    • is_plate?: Returns true if the item has the "Plate" flag. (Insect Plate, Dread Plate, all Arceus plates.)
    • is_memory?: Returns true if the item has the "Memory" flag. (Fire Memory, Ice Memory, all Silvally memories.)
    • is_drive?: Returns true if the item has the "Drive" flag. (Burn Drive, Douse Drive, all Genesect drives.)
    • is_fossil_half?: Returns true if the item has the "FossilHalf" flag. (Fossilized Bird, Fossilized Dino, all Gen 8 fossils.)
    • is_enhancer?: Returns true if the item has the "BattleEnhancer" flag. (X Attack, Dire Hit, Guard Spec., etc.)
    • is_heal_berry?: Returns true if the item has the "HealBerry" flag. (Oran Berry, Sitrus Berry, all berries that heal HP.)
    • is_status_berry?: Returns true if the item has the "StatusBerry" flag. (Pecha Berry, Persim Berry, Lum Berry, all berries that cure status conditions.)
    • is_flavor_berry?: Returns true if the item has the "FlavorBerry" flag. (Figy Berry, Wiki Berry, all berries that may cause confusion based on flavor.)
    • is_ev_berry?: Returns true if the item has the "EVReduceBerry" flag. (Pomeg Berry, Tomato Berry, all berries that reduce EV's.)
    • is_type_berry?: Returns true if the item has the "TypeReduceBerry" flag. (Yache Berry, Haban Berry, all berries that reduce damage from certain types.)
    • is_pinch_berry?: Returns true if the item has the "PinchBerry" flag. (Salac Berry, Starf Berry, all berries that trigger at low HP.)
    • is_tera_shard?: Returns true if the item has the "TeraShard_TYPE" flag. (Requires Terastal Phenomenon)


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.
Seen 1 Week Ago
Posted 1 Week Ago
1 posts
12 Days
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.
Male
Online now
Posted 2 Hours Ago
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.
Male
Online now
Posted 2 Hours Ago
Constructive Criticism: Instead of just telling people just to install all this stuff, you should show steps how to do it or make a video to detail this stuff.

I've tried to add in this and extra features and none of it will activate, and I'm not entirely sure how to sort out the wise array of files.
I feel like if you require a video demonstration for installing this, then you are dramatically overcomplicating what the installation actually is. Its a 3 second process that is mainly just a single step of highlighting all of the folders contained in the download, and dragging them all at once into your root Essentials folder so that all the files merge. That's it. A video demonstration feels like overkill for something that is just a single step of dragging and dropping. So I don't really see the utility in making one. If youre feeling overwhelmed by where to put files, or how to "sort out" where to put things, then again - you're kinda making your own problem for yourself by overcomplicating things. You dont need to sort anything out, everything is done automatically for you. Open the download contents, and open your Essentials folder. Drag A to B. That's it. At most, the most technical thing you might have to do is refresh your plugins if its not immediately recognized. But thats just a general Essentials 101 maintenance issue, not something related to my plugins specifically.

Now on the other hand, if you were to suggest that a video demonstration to cover everything covered in the tutorial would be nice to have, then yes, I would agree with you. Because the tutorial is very dense and complex, and youre pretty much not gonna understand any of it if youre inexperienced. But that has the opposite problem that the hypothetical instructions video has. Where the instructions video would be so short that it wouldnt be worth the time to make, a video on the tutorial would be a massive undertaking because of how much work would have to go into it to visually explain everything. So thats why a video doesn't exist for either one.