StCooler
Mayst thou thy peace discover.
- 9,792
- Posts
- 5
- Years
- Seen yesterday
The ZUD plugin
Z-moves, Ultra-Burst and Dynamax together in one plugin!
By Lucidious89 and StCooler, for the Gen 8 project.
Essentials v18 is deprecated, so is this version of the ZUD plugin.
For the newest release of ZUD, please check ZUD for Essentials19.1
ZUD is the result of the joint work by Lucidious89 and StCooler, merging the former's Dynamax/Max Raid plugin, and the latter's Z-move add-on update.
Contents
As the name suggest, the ZUD plugin contains all the scripting for:
- Z-moves (from SM and USUM)
- Necrozma's Ultra-Burst
- Dynamax
- Max Raid battles
- Dynamax Adventures (NEW Release 2021-04-13)
Detailed contents:
Spoiler:
Here are the main features of this plugin:
- Z-moves (including Z-moves from Ultra-Sun / Ultra-Moon)
- Ultra-Burst
- Dynamax
- Max Raid battles
- Dynamax Adventures
- Z-crystal item sprites
- Gigantamax Battler/icon sprites
- Compatibility with the Mid Battle Dialogue script
- Compatibility with the Essentials Modular Battle Scene
In the tutorial - Z-moves part:
- How to allow the use of Z-moves in game
- How to make a new Z-move for damaging moves
- How to make a new Z-move for status moves
- Mid Battle Dialogue addition
In the tutorial - Dynamax - part:
- A detailed overview on all Dynamax mechanics.
- How to allow the use of Dynamax in game.
- How to make a new G-Max Pokemon.
- How to make a new G-Max Move.
In the tutorial - Max Raid part:
- A detailed overview on all Max Raid mechanics.
- How to set up Max Raid Dens in your game.
- How to access and use the Max Raid Database.
In the tutorial - Dynamax Adventures part (found here)
- A detailed overview on all Dynamax Adventure mechanics.
- How to initiate a Dynamax Adventure.
- How to create your own custom Max Lair map.
What this plugin DOESN'T contain:
- Animations for Z-moves and Dynamax :(
But you can help here. - 4v1 Max Raid battles.
- Gen 8 content that is already found in other scripts, such as the Gen 8 project.
>> Download <<
Credits:
Spoiler:
Thank you for using!
Pls give credit, we crave for gratitude.
The ZUD plugin:
The ZUD plugin was adapted to the Gen 8 project and polished beyond reason by Lucidious89 and StCooler.
The tutorials were written by Lucidious89 and StCooler.
The ZUD plugin couldn't exist without these people:
The Z-move part:
For the base script (for Essentials v16.2):
Primary Scripting: Marcello
Beta Testers: Zumi, Ice Cream Sand Witch
Other Testers/Other Help: Amethyst, Jan, Sardines, Inuki
For the adaptation to Essentials v18.gen8: StCooler
The Ultra-Burst part:
For the base script for Essentials v17.2: WolfPP
The Dynamax part:
For the base tutorial: fauno
For the adaptation to Essentials v18.1: Lucidious89
Gigantamax sprites are taken from the Sword/Shield sprite project on Smogon.
About the version of Essentials
Spoiler:
This plugin is made as an addition to the Gen 8 project.
When possible, the tutorial inciudes different installations for v18 and v18.1, however the ZUD plugin was tested on v18.1 and many constants are missing. You will need to fix these bugs manually.
Installation
Spoiler:
File installation:
Spoiler:
- Merge the Graphics folder with your own Graphics folder, beware of Item conflict. Similarly, merge the Audio folder with your own Audio folder.
- Add the files ZUD_dynamax.txt and ZUD_zmoves.txt to your PBS folder.
- (Optional) The included pokemon.txt PBS file adds habitat information to all Pokémon. It should replace the original pokemon.txt PBS file.
If you modified the file pokemon.txt provided in the Gen 8 project, you should merge the two files using a text-comparison tool (like the Compare plugin for Notepad++, or the site Text Compare!).
- Copy/paste the content of the items.txt and moves.txt at the end of your own items.txt and moves.txt files. Beware of ID conflicts.
- Add the new scripts to your scripts. These new scripts should be added AFTER the Compiler scripts, in the following order:
=======================
Compiler
Compiler PBS
Compiler MapsAndEvents
=======================
ZUD_01_Settings_Misc
ZUD_02_Battle_Mechanics
ZUD_03_Battle_Display
ZUD_04_Battle_Effects
ZUD_05_Move_Data
ZUD_06_Move_Effects
ZUD_07_Updated_Effects
ZUD_08_Updated_Sprites
ZUD_09_Compilers
ZUD_10_Pokedex
ZUD_MaxRaid_01_Battle
ZUD_MaxRaid_02_Events
=======================
Main - If you use the Mid Battle Dialogue plugin, then the Mid Battle Dialogue scripts should be BEFORE the ZUD plugin. The ZUD plugin includes some compatibility with it.
In summary, your script list should look like this:
=======================
Compiler
Compiler PBS
Compiler MapsAndEvents
=======================
BattleScript_Main
BattleScript_Data
=======================
ZUD_01_Settings_Misc
ZUD_02_Battle_Mechanics
ZUD_03_Battle_Display
ZUD_04_Battle_Effects
ZUD_05_Move_Data
ZUD_06_Move_Effects
ZUD_07_Updated_Effects
ZUD_08_Updated_Sprites
ZUD_09_Compilers
ZUD_10_Pokedex
ZUD_MaxRaid_01_Battle
ZUD_MaxRaid_02_Events
=======================
Main
General script installations:
Spoiler:
- In Battler_UseMove, in the function:
Code:def pbUseMove(choice,specialUsage=false)
Paste this:
Code:#=========================================================================== # Changes Z-Move/Max Moves under certain conditions. (ZUD) #=========================================================================== ret = pbChangePowerMove(choice) choice[2] = ret if ret #===========================================================================
- In Editor_SaveData, in the function:
Code:def pbSaveAllData
Paste this:
Code:#============================================================================= # Z-Move/Dynamax Data (ZUD) #============================================================================= pbSaveZMoveCompatibility; Graphics.update pbSaveGigantamaxData; Graphics.update #=============================================================================
- In Compiler, in the function:
Code:def pbCompileAllData(mustCompile)
Paste this:
Code:#=========================================================================== # Compiles data for Z-Moves and Dynamax. (ZUD) #=========================================================================== # Depends on PBSpecies, PBMoves, PBItems yield(_INTL("Compiling Z-Moves compatibility data")) pbCompileZMoveCompatibility # Depends on PBSpecies, PBMoves, PBItems yield(_INTL("Compiling Gigantamax data")) pbCompileGigantamaxData #===========================================================================
In the function:
Code:def pbCompiler
And REPLACE it with this:
Code:"Constants.rxdata", #======================================================================== # Z-Moves/Dynamax Data (ZUD) #======================================================================== "ZUD_zmoves.dat", "ZUD_dynamax.dat" #========================================================================
In the same function:
Code:def pbCompiler
Find the line "types.txt" in the textFiles array:
And REPLACE it with this:
Code:"types.txt", #======================================================================== # Z-Moves/Dynamax Data (ZUD) #======================================================================== "ZUD_zmoves.txt", "ZUD_dynamax.txt" #========================================================================
Script installation for Z-moves:
Spoiler:
- In Battler_UseMove, in the function:
Code:def pbUseMove(choice,specialUsage=false)
Paste this:
Code:&& !choice[2].zMove? # Added for Z-Moves (ZUD)
- In the file Battle_Action_Switching, this step requires more attention, because Gen 8 project and v18.1 handle this part differently.
- HERE IS FOR V18 AND V18.1
Spoiler:
We have not tested this on v18 and v18.1, because Healing Wish and Lunar Dance are handled differently. But still, here is something you should try.
In the definition of pbOnActiveOne:
Code:def pbOnActiveOne(battler)
Code:# Lunar Dance if @positions[battler.index].effects[PBEffects::LunarDance] pbCommonAnimation("LunarDance",battler) pbDisplay(_INTL("{1} became cloaked in mystical moonlight!",battler.pbThis)) battler.pbRecoverHP(battler.totalhp) battler.pbCureStatus(false) battler.eachMove { |m| m.pp = m.totalpp } @positions[battler.index].effects[PBEffects::LunarDance] = false end
Code:# Z-Parting shot/Z-Memento if @positions[battler.index].effects[PBEffects::ZHeal] pbCommonAnimation("ZHeal",battler) pbDisplay(_INTL("The Z-Power healed {1}!",battler.pbThis)) battler.pbRecoverHP(battler.totalhp) @positions[battler.index].effects[PBEffects::ZHeal] = false end
- HERE IS FOR GEN 8 PROJECT
Spoiler:
In the definition of pbActivateHealingWish:
Code:def pbActivateHealingWish(battler)
Code:# Z-Parting shot/Z-Memento if @positions[battler.index].effects[PBEffects::ZHeal] && battler.canHeal? pbCommonAnimation("ZHeal",battler) pbDisplay(_INTL("The Z-Power healed {1}!",battler.pbThis)) battler.pbRecoverHP(battler.totalhp) @positions[battler.index].effects[PBEffects::ZHeal] = false end
Code:def pbOnActiveOne(battler)
Code:# Healing Wish / Lunar Dance
Code:# Healing Wish / Lunar Dance / Z-Parting shot/Z-Memento
- HERE IS FOR V18 AND V18.1
- In Battle_Action_Other, in the function pbCanMegaEvolve?
Code:def pbCanMegaEvolve?(idxBattler)
Paste this:
Code:return false if pbCanZMove?(idxBattler) # Added for Z-Moves (ZUD)
Script installations for Ultra-Burst:
Spoiler:
- In PokeBattle_Common, at the end of the function:
Code:def pbThrowPokeBall(idxBattler,ball,rareness=nil,showPlayer=false)
Paste this:
Code:pkmn.makeUnUltra # Reverts Ultra Burst (ZUD)
Script installations for Dynamax:
Spoiler:
- In Battler_UseMove_SuccessChecks, in the function:
Code:def pbCanChooseMove?(move,commandPhase,showMessages=true,specialUsage=false)
Code:next if !b.effects[PBEffects::Imprison] || !b.pbHasMove?(move.id)
Code:#========================================================================= # Dynamax - Imprison only blocks base moves, not Max Moves. (ZUD) #========================================================================= next if move.powerMove? basemove = false b.eachMoveWithIndex do |m,i| next if !b.effects[PBEffects::BaseMoves] basemove = true if b.effects[PBEffects::BaseMoves][i].id==move.id end hasmove = (b.dynamax?) ? basemove : b.pbHasMove?(move.id) next if !b.effects[PBEffects::Imprison] || !hasmove #=========================================================================
In the same file, in the function:
Code:def pbSuccessCheckAgainstTarget(move,user,target)
Paste this:
Code:#=========================================================================== # Dynamax - Success Checks (ZUD) #=========================================================================== ret = pbSuccessCheckDynamax(move,user,target) return false if ret==false #===========================================================================
- In Battler_UseMove_TriggerEffects, in the function:
Code:def pbEffectsOnMakingHit(move,user,target)
Code:# Grudge if target.effects[PBEffects::Grudge] && target.fainted? move.pp = 0 @battle.pbDisplay(_INTL("{1}'s {2} lost all of its PP due to the grudge!", user.pbThis,move.name)) end # Destiny Bond (recording that it should apply) if target.effects[PBEffects::DestinyBond] && target.fainted? if user.effects[PBEffects::DestinyBondTarget]<0 user.effects[PBEffects::DestinyBondTarget] = target.index end end
Code:#========================================================================= # Effects for Grudge and Destiny Bond. (ZUD) #========================================================================= pbEffectsOnKO(move,user,target) #=========================================================================
- In Move_Usage_Calculations, in the function:
Code:def pbIsCritical?(user,target)
Code:c += user.effects[PBEffects::FocusEnergy]
Code:#=========================================================================== # Dynamax - The crit-boosting effect of G-Max Chi Strike. (ZUD) #=========================================================================== c += user.effects[PBEffects::ChiStrike] #===========================================================================
- In Battle_Action_Switching, in the function:
Code:def pbOnActiveOne(battler)
Paste this:
Code:#=========================================================================== # Dynamax - G-Max Steelsurge hazard effect (ZUD) #=========================================================================== pbSteelsurgeEffect(battler) #===========================================================================
- In Battle_Phase_EndOfRound, in the function:
Code:def pbEndOfRoundPhase
Paste this:
Code:#=========================================================================== # Dynamax - End of round effects (G-Max Vine Lash, Wildfire, etc.) (ZUD) #=========================================================================== pbEORMaxMoveEffects(priority) #===========================================================================
Above line "@endOfRound = false":
Paste this:
Code:#=========================================================================== # Dynamax - Counts down Dynamax turns. (ZUD) #=========================================================================== pbDynamaxTimer #===========================================================================
- In PScreen_Party, in the class:
Code:class PokemonPartyPanel < SpriteWrapper
Code:def initialize(pokemon,index,viewport=nil)
differ)
Paste this:
Code:#=========================================================================== # Dynamax - Enlarges Pokemon icon sprite when Dynamaxed. (ZUD) #=========================================================================== pbDynamaxSize #===========================================================================
In the same class PokemonPartyPanel, in the function:
Code:def pokemon=(value)
In v18.1: below line "@pkmnsprite.pokemon = value"
Paste this:
Code:#=========================================================================== # Dynamax - Enlarges Pokemon icon sprite when Dynamaxed. (ZUD) #=========================================================================== pbDynamaxSize #===========================================================================
In the same class PokemonPartyPanel, in the function:
Code:def refresh
may differ)
Paste this:
Code:#========================================================================= # Dynamax - Colors Dynamax Pokemon's icon sprites. (ZUD) #========================================================================= pbDynamaxColor #=========================================================================
- In PScreen_Summary, in the function:
Code:def drawPage(page)
Code:# Show shininess star if @pokemon.shiny? imagepos.push([sprintf("Graphics/Pictures/shiny"),2,134]) end
Code:#=========================================================================== # Dynamax - Displays Dynamax Levels and G-Max Factor. (ZUD) #=========================================================================== pbDisplayGMaxFactor if defined?(@pokemon.dynamax?) pbDisplayDynamaxMeter if defined?(@pokemon.dynamax?) #===========================================================================
Code:# Show shininess star if @pokemon.shiny? imagepos.push([sprintf("Graphics/Pictures/shiny"),2,134]) end #=========================================================================== # Dynamax - Displays Dynamax Levels and G-Max Factor. (ZUD) #=========================================================================== pbDisplayGMaxFactor if defined?(@pokemon.dynamax?) pbDisplayDynamaxMeter if defined?(@pokemon.dynamax?) #===========================================================================
In the same function:
Code:def drawPage(page)
Paste this:
Code:#=========================================================================== # Dynamax - For Dynamax Level display. (ZUD) #=========================================================================== if defined?(@pokemon.dynamax?) textpos[3][0]="" if @page==3 && @pokemon.dynamaxAble? end #===========================================================================
In the function:
Code:def drawMoveSelection(moveToLearn)
Code:imagepos.push(["Graphics/Pictures/types",248,yPos+2,0,move.type*28,64,28]) textpos.push([PBMoves.getName(move.id),316,yPos,0,moveBase,moveShadow])
Code:#======================================================================= # Dynamax - Draws Max Move names and types. (ZUD) #======================================================================= movelist = drawMaxMoveSel(move,yPos,moveBase,moveShadow,moveToLearn) imagepos.push(movelist[0]) textpos.push(movelist[1]) #=======================================================================
In the function:
Code:def drawSelectedMove(moveToLearn,moveid)
line may differ)
Paste this:
Code:#=========================================================================== # Dynamax - Displays Max Move data. (ZUD) #=========================================================================== maxMoveData = pbGetMaxMoveData(moveToLearn,moveid) if maxMoveData basedamage = maxMoveData[0] accuracy = maxMoveData[1] moveid = maxMoveData[2] end #===========================================================================
- OPTIONAL: In Debug_Pokemon, in the function:
Code:def pbPokemonDebugCommands(settingUpBattle=false)
Paste this:
Code:#========================================================================= # Dynamax options. (ZUD) #========================================================================= commands.add("levelstats","dynamax",_INTL("Dynamax...")) #=========================================================================
Code:def pbPokemonDebugActions(command,pkmn,pkmnid,heldpoke=nil,settingUpBattle=false)
Paste this:
Code:#=========================================================================== # Dynamax Values (ZUD) #=========================================================================== when "dynamax" cmd = 0 if pkmn.egg? || pkmn.shadowPokemon? || !pkmn.dynamaxAble? pbDisplay(_INTL("Can't edit Dynamax values on that Pokémon.")) pkmn.dynamax_lvl = 0 pkmn.gmaxfactor = false if pkmn.dynamax? pkmn.makeUndynamax pkmn.calcStats pkmn.pbReversion(false) end return end loop do dlvl = pkmn.dynamax_lvl gmax = "No" gmax = "Yes" if pkmn.gmaxFactor? dmax = "No" dmax = "Yes" if pkmn.dynamax? cmd = @scene.pbShowCommands(_INTL("Dynamax Level: {1}\nG-Max Factor: {2}\nDynamaxed: {3}",dlvl,gmax,dmax),[ _INTL("Set Dynamax Level"), _INTL("Set G-Max Factor"), _INTL("Set Dynamax"), _INTL("Reset All")],cmd) break if cmd<0 case cmd when 0 # Set Dynamax Level params = ChooseNumberParams.new params.setRange(0,10) params.setDefaultValue(pkmn.dynamax_lvl) params.setCancelValue(pkmn.dynamax_lvl) f = Kernel.pbMessageChooseNumber(_INTL("Set {1}'s Dynamax level (max. 10).", pkmn.name),params) { @scene.update } if f!=pkmn.dynamax_lvl pkmn.dynamax_lvl = f pbRefreshSingle(pkmnid) end when 1 # Set G-Max Factor if pkmn.gmaxFactor? pkmn.removeGMaxFactor pbDisplay(_INTL("Gigantamax factor was removed from {1}.",pkmn.name)) else if pkmn.hasGmax? pkmn.giveGMaxFactor pbDisplay(_INTL("Gigantamax factor was given to {1}.",pkmn.name)) else pbDisplay(_INTL("{1} doesn't have a Gigantamax form.",pkmn.name)) if pbConfirm(_INTL("Give it Gigantamax factor anyway?")) pkmn.giveGMaxFactor pbDisplay(_INTL("Gigantamax factor was given to {1}.",pkmn.name)) end end end pbRefreshSingle(pkmnid) when 2 # Set Dynamax if pkmn.dynamax? pkmn.makeUndynamax pkmn.calcStats pkmn.pbReversion(false) pbDisplay(_INTL("{1} is no longer dynamaxed.",pkmn.name)) else pkmn.makeDynamax pkmn.calcStats pkmn.pbReversion(true) pbDisplay(_INTL("{1} is dynamaxed.",pkmn.name)) end pbRefreshSingle(pkmnid) when 3 # Reset All pkmn.setDynamaxLvl(0) pkmn.removeGMaxFactor if pkmn.dynamax? pkmn.makeUndynamax pkmn.calcStats pkmn.pbReversion(false) end pbDisplay(_INTL("All dynamax settings restored to default.")) pbRefreshSingle(pkmnid) end end #===========================================================================
Script installations for Max Raids:
Spoiler:
- In BattleHanders_Abilities, in the entry for Emergency Exit:
Code:BattleHandlers::AbilityOnHPDroppedBelowHalf.add(:EMERGENCYEXIT,
Paste this:
Code:next false if battler.effects[PBEffects::MaxRaidBoss] # For Max Raids (ZUD)
- In Battler_UseMove, in the function:
Code:def pbUseMove(choice,specialUsage=false)
Paste this:
Code:#======================================================================= # Max Raids - Ends multi-hit moves early when boss is defeated. (ZUD) #======================================================================= break if pbBreakRaidMultiHits(targets,i) #=======================================================================
Code:# HP-healing held items (checks all battlers rather than just targets # because Flame Burst's splash damage affects non-targets)
Paste this:
Code:#========================================================================= # Max Raids - Effects when target is a Max Raid Pokemon. (ZUD) #========================================================================= pbProcessRaidEffectsOnHit(move,user,targets,hitNum) #=========================================================================
Code:def pbProcessMoveHit(move,user,targets,hitNum,skipAccuracyCheck)
Code:if !user.hasActiveAbility?(:SHEERFORCE)
Code:#=========================================================================== # Max Raids - Effects when user is a Max Raid Pokemon. (ZUD) #=========================================================================== pbProcessRaidEffectsOnHit2(move,user,targets) #===========================================================================
- In the file Move_Usage,
OR in the file BattleScript_Main (if you have the Mid Battle Dialogue installed),
find the function:
Code:def pbReduceDamage(user,target)
Paste this:
Code:#=========================================================================== # Max Raids - Damage thresholds for triggering shields. (ZUD) #=========================================================================== damage = pbReduceMaxRaidDamage(target,damage) #===========================================================================
- In Move_Usage_Calculations, in the function:
Code:def pbCalcDamageMultipliers(user,target,numTargets,type,baseDmg,multipliers)
Code:multipliers[FINAL_DMG_MULT] = pbModifyDamage(multipliers[FINAL_DMG_MULT],user,target)
Code:#=========================================================================== # Max Raids - Reduces damage while behind a Raid Shield. (ZUD) #=========================================================================== pbCalcRaidShieldDamage(target,multipliers) #===========================================================================
- In PokeBattle_Common, in the function:
Code:def pbThrowPokeBall(idxBattler,ball,rareness=nil,showPlayer=false)
Paste this:
Code:#=========================================================================== # Max Raids - Prevents capture of Raid Pokemon until it's defeated. (ZUD) #=========================================================================== return if pbRaidCaptureFail(battler,ball) #===========================================================================
Paste this:
Code:pbResetRaidPokemon(pkmn) # Reverts Max Raid Boss (ZUD)
- In Battle_StartAndEnd,
OR in the file BattleScript_Main (if you have the Mid Battle Dialogue installed),
find the function:
Code:def pbStartBattleSendOut(sendOuts)
REPLACE it with this:
Code:#======================================================================= # Max Raids - Alters encounter text. (ZUD) #======================================================================= if defined?(MAXRAID_SWITCH) && $game_switches[MAXRAID_SWITCH] text = "Dynamaxed" text = "Gigantamax" if foeParty[0].gmaxFactor? text = "Eternamax" if isConst?(foeParty[0].species,PBSpecies,:ETERNATUS) pbDisplayPaused(_INTL("Oh! A {1} {2} lurks in the den!",text,foeParty[0].name)) else pbDisplayPaused(_INTL("Oh! A wild {1} appeared!",foeParty[0].name)) end #=======================================================================
- In Battle_Phase_Command, in the function:
Code:def pbCommandPhaseLoop(isPlayer)
Paste this:
Code:#======================================================================= # Max Raids - Replaces the Run command with Cheer during raids. (ZUD) #======================================================================= when 5 # Cheer break if pbCheerMenu(idxBattler) #=======================================================================
- In Battle_Phase_EndOfRound, in the function:
Code:def pbEndOfRoundPhase
Code:pbGainExp return if @decision>0 # Form checks
Code:#=========================================================================== # Max Raids - End of round effects. (ZUD) #=========================================================================== pbEORMaxRaidEffects(priority) #===========================================================================
- In Pokemon_Forms, find the instance for Rotom:
Code:MultipleForms.register(:ROTOM,{
Paste this:
Code:#=========================================================================== # Max Raids - Allows Rotom forms to properly spawn in Max Raids. (ZUD) #=========================================================================== moveKnown = true if pkmn.form>0 && pkmn.hasMove?(formMoves[pkmn.form-1]) break if moveKnown #===========================================================================
- In Scene_Commands, in the function:
Code:def pbCommandMenuEx(idxBattler,texts,mode=0)
Code:elsif Input.trigger?(Input::B) && mode==1 # Cancel
Code:elsif Input.trigger?(Input::B) && (mode==1 || mode==5) # Cancel (ZUD)
What to do if you already installed the previous Dynamax plugin or the Z-move addon
Spoiler:
Support for the previous version of the Dynamax plugin, and for the Z-move add-on is discontinued. You shouldn't download these scripts anymore.
There are three solutions, in decreasing order of radicality:
- Backup your file Scripts.rxdata, download the Gen 8 project again, replace your Scripts.rxdata with the clean one, and install the ZUD scripts. You'll also need to install every other script you added.
Do this if you only added new scripts from others, and did little to no scripting on your own.
- Backup your file Scripts.rxdata, download the Gen 8 project again, and open both your project, and the Gen 8 project. Copy/paste the following scripts from the Gen 8 project to your project:
Spoiler:
(If you installed the Z-move add-on for v18.dev by StCooler)
- Settings
- PokeBattle_Battler
- Battler_UseMove
- Battler_UseMove_SuccessChecks
- PokeBattle_Move
- PokeBattle_Battle
- Battle_Action_Switching
- Battle_Action_Other
- Battle_Phase_Command
- Battle_Phase_Attack
- PokeBattle_AI
- PokeBattle_SceneMenus
- Scene_Commands
- PBEffects
- PokeBattle_DebugScene
- PokeBattle_ActiveField
- PItem_Items
- PItem_ItemEffects
- PItem_Bag
- Pokemon_Forms
- Editor_SaveData
- Compiler
(If you installed the Dynamax/Max Raid addon by Lucidious89)
Just delete the current Dynamax and Mechanic_Compatibility scripts. The ZUD Plugin uses completely different scripts, all to be installed right above Main.
Also, undo steps 1 & 5 in the Additional Installation guide. These steps are changed in the new plugin. All the other steps *should* still be the same (although the plugin adds some additional new steps).
Audio and Graphics are the same, the new plugin just adds more. Item and Move PBS data is updated though, so those'll have to be replaced.
(This will reset these scripts).
You will need to check your other installed scripts, so that you make sure everything is working correctly.
Do this if you have installed new scripts, but not so many that alter things in battle.
- Backup your file Scripts.rxdata, and read carefully the installation processes detailed in the original post for Z-moves and Dynamax. Remove any added line.
This is tedious but it's the cleanest way to do it if you heavily modified your scripts for your project.
- Cry. It may help.
F.A.Q.
Spoiler:
Q: Oh no, I only wanted Z-moves and not Dynamax, Dynamax is a crappy mechanic that ruined Gen 8!
A: You can easily disable Dynamax; go to the file ZUD_01_Settings_Misc, find the line:
Code:
NO_DYNAMAX = 37 # The switch number for disabling Dynamax.
In your intro Event, set switch 37 to ON in order to DISABLE Dynamax. If you already use Switch 37 for other purposes, change the number here, and set the corresponding switch to ON.
Q: Oh no, I only wanted Dynamax and not Z-moves, Z-moves are a relic from the past, they are soooo Gen 7!
A: You can easily disable Z-moves; go to the file ZUD_01_Settings_Misc, find the line:
Code:
NO_Z_MOVE = 35 # The switch number for disabling Z-Moves.
In your intro Event, set switch 35 to ON in order to DISABLE Z-moves. If you already use Switch 35 for other purposes, change the number here, and set the corresponding switch to ON.
Q: I found a bug, pls halp!
A: Keep calm, don't panic, and above all, don't message us. Read the whole installation process completely again, be sure (like, SURE) your installation is correct.
If your installation is correct and you still have the error, make a unique and complete post with: a screenshot of your error + the code of the function that is mentioned in the error message. (Do not post the whole script, just the function).
Q: Will you make it compatible for Essentials v18 or v18.1?
A: This code should be already compatible with v18 and v18.1, however we didn't test it. Feel free to report any issue with those versions, following the abovementioned procedure.
Q: Will you make it compatible for Essentials v17.2 / v16.2?
A: No.
Q: Will you add animations for Z-moves / Max-moves?
A: No.
Q: Will you add AI partners / online in Max Raids?
A: No.
Q: Will you add 4v1 Max Raids?
A: You can already make them using the script Essentials Modular Battles by Pokeminer20.
Q: Will you add Max Raid Adventures?
A: No.
Q: Why are you so negative?
A: No.
Spoiler:
Bouh.
Last edited: