• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • The results of the game jam are out!
    See the Judge's Spotlight choices and vote for your favorites to win Community Choice Spotlight by the 28th! 🫙
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
Z-Power [DBK Add-On] [v21.1]

Resource Z-Power [DBK Add-On] [v21.1] v1.1.1

Hello, can you help me? When i try add any z-crystal by debug mode or by script event appears that error screen:

[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `each' for nil:NilClass

Backtrace:
PokemonBag:270:in `quantity'
PokemonBag:68:in `quantity'
PokemonBag:72:in `has?'
[[DBK] Z-Power] [002] Item Handlers.rb:218:in `add'
Debug_MenuCommands:792:in `block (2 levels) in <main>'
Editor_Listers:101:in `block in pbListScreenBlock'
Editor_Listers:85:in `loop'
Editor_Listers:85:in `pbListScreenBlock'
Debug_MenuCommands:783:in `block in <main>'
Event_HandlerCollections:121:in `call'
You're probably trying to add Z-Crystals to a bag from an old save file from before your bag had a Z-Crystals Pocket. You need to start a new save or give the player a new bag.
 
Is it possible to set up two different Ultra Burst forms? I want to do one for Electrode and have a different one for Hisuian Electrode because I want Hisuian Electrode to have a different Z-Move.
 
Is it possible to set up two different Ultra Burst forms? I want to do one for Electrode and have a different one for Hisuian Electrode because I want Hisuian Electrode to have a different Z-Move.
Sure. I mean, Necrozma already technically has two different Ultra Burst forms, since Dusk Mane (form 1) and Dawn Wings (form 2) Necrozma each Ultra Burst into their own forms (3 and 4, respectively). The only difference is that forms 3 and 4 are identical, in this case (Ultra Necrozma).
 
I must be missing something, because I'm getting an argument error that says given 4, expected 2. I didn't do much besides copying the code for Necrozma and changing the form numbers to match Electrode's.
Ruby:
Expand Collapse Copy
:ELECTRODE, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 2 if [0,2].include?(pkmn.form)
    next 3 if [1,3].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 2
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAELECTRIUMZ if pkmn.form = 0
    next :ULTRAHELECTRIUMZ if pkmn.form = 1
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [0].sample
    next [2, form, :ULTRAELECTRIUMZ]
    next [3, form, :ULTRAHELECTRIUMZ]
  }
}
I don't know if having a second Z-Crystal has anything to do with it, but it's there since I want a different Z-Move for Hisuian Ultra Electrode than Kantonian Ultra Electrode.
 
I must be missing something, because I'm getting an argument error that says given 4, expected 2. I didn't do much besides copying the code for Necrozma and changing the form numbers to match Electrode's.
Ruby:
Expand Collapse Copy
:ELECTRODE, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 2 if [0,2].include?(pkmn.form)
    next 3 if [1,3].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 2
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAELECTRIUMZ if pkmn.form = 0
    next :ULTRAHELECTRIUMZ if pkmn.form = 1
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [0].sample
    next [2, form, :ULTRAELECTRIUMZ]
    next [3, form, :ULTRAHELECTRIUMZ]
  }
}
I don't know if having a second Z-Crystal has anything to do with it, but it's there since I want a different Z-Move for Hisuian Ultra Electrode than Kantonian Ultra Electrode.
You should probably provide the actual error and the full code.
 
Unfortunately, the actual error doesn't really tell much. The most it does is point to the line that mentions Necrozma. That being said, I think I've just figured it out, and probably would have sooner if it had also mentioned Electrode's line and not just a single line.
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Error in Plugin: [[DBK] Z-Power]
Exception: ArgumentError
Message: wrong number of arguments (given 4, expected 2)

Backtrace:
Section281:11:in `register'
[[DBK] Z-Power] [009] Ultra Burst Mechanics.rb:529:in `<main>'
Section008:635:in `eval'
Section008:635:in `block (2 levels) in runPlugins'
Section008:625:in `each'
Section008:625:in `block in runPlugins'
Section008:616:in `each'
Section008:616:in `runPlugins'
Section403:28:in `mainFunctionDebug'
Section403:18:in `block in mainFunction'

Ruby:
Expand Collapse Copy
MultipleForms.register(:NECROZMA, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 3 if [1, 3].include?(pkmn.form)
    next 4 if [2, 4].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 3
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRANECROZIUMZ if pkmn.form > 0
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [1, 2].sample
    next [3, form, :ULTRANECROZIUMZ]
  },
  #-----------------------------------------------------------------------------
  # Default Essentials handler.
  "onSetForm" => proc { |pkmn, form, oldForm|
    next if form > 2 || oldForm > 2
    form_moves = [
      :SUNSTEELSTRIKE,
      :MOONGEISTBEAM
    ]
    if form == 0
      form_moves.each do |move|
        next if !pkmn.hasMove?(move)
        pkmn.forget_move(move)
        pbMessage(_INTL("{1} forgot {2}...", pkmn.name, GameData::Move.get(move).name))
      end
      pbLearnMove(pkmn, :CONFUSION) if pkmn.numMoves == 0
    else
      new_move_id = form_moves[form - 1]
      pbLearnMove(pkmn, new_move_id, true)
    end
  }
},
:ELECTRODE, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 2 if [0,2].include?(pkmn.form)
    next 3 if [1,3].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 2
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAELECTRIUMZ if pkmn.form = 0
    next :ULTRAHELECTRIUMZ if pkmn.form = 1
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [0].sample
    next [2, form, :ULTRAELECTRIUMZ]
    next [3, form, :ULTRAHELECTRIUMZ]
  }
})
If I hadn't figured it out, this probably would be the part where you'd tell me that I needed to set up a separate "MultipleForms.register" for Electrode, which I wished I had realized sooner.
 
Unfortunately, the actual error doesn't really tell much. The most it does is point to the line that mentions Necrozma. That being said, I think I've just figured it out, and probably would have sooner if it had also mentioned Electrode's line and not just a single line.
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Error in Plugin: [[DBK] Z-Power]
Exception: ArgumentError
Message: wrong number of arguments (given 4, expected 2)

Backtrace:
Section281:11:in `register'
[[DBK] Z-Power] [009] Ultra Burst Mechanics.rb:529:in `<main>'
Section008:635:in `eval'
Section008:635:in `block (2 levels) in runPlugins'
Section008:625:in `each'
Section008:625:in `block in runPlugins'
Section008:616:in `each'
Section008:616:in `runPlugins'
Section403:28:in `mainFunctionDebug'
Section403:18:in `block in mainFunction'

Ruby:
Expand Collapse Copy
MultipleForms.register(:NECROZMA, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 3 if [1, 3].include?(pkmn.form)
    next 4 if [2, 4].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 3
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRANECROZIUMZ if pkmn.form > 0
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [1, 2].sample
    next [3, form, :ULTRANECROZIUMZ]
  },
  #-----------------------------------------------------------------------------
  # Default Essentials handler.
  "onSetForm" => proc { |pkmn, form, oldForm|
    next if form > 2 || oldForm > 2
    form_moves = [
      :SUNSTEELSTRIKE,
      :MOONGEISTBEAM
    ]
    if form == 0
      form_moves.each do |move|
        next if !pkmn.hasMove?(move)
        pkmn.forget_move(move)
        pbMessage(_INTL("{1} forgot {2}...", pkmn.name, GameData::Move.get(move).name))
      end
      pbLearnMove(pkmn, :CONFUSION) if pkmn.numMoves == 0
    else
      new_move_id = form_moves[form - 1]
      pbLearnMove(pkmn, new_move_id, true)
    end
  }
},
:ELECTRODE, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 2 if [0,2].include?(pkmn.form)
    next 3 if [1,3].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 2
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAELECTRIUMZ if pkmn.form = 0
    next :ULTRAHELECTRIUMZ if pkmn.form = 1
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [0].sample
    next [2, form, :ULTRAELECTRIUMZ]
    next [3, form, :ULTRAHELECTRIUMZ]
  }
})
If I hadn't figured it out, this probably would be the part where you'd tell me that I needed to set up a separate "MultipleForms.register" for Electrode, which I wished I had realized sooner.
Gotcha. Ok, then it should be good now. However, the "getDataPageInfo" section of your code is broken. Although, thats only really important if you have the Pokedex Data Page plugin installed.
 
I have noticed something wrong with Z-Moves, but it seems to be minor. I made an upgraded version of Aurora Veil for my Ultra Aurorus. Functionally, it works as intended: a status move that applies Aurora Veil regardless of weather along with Safeguard and Mist for 5 turns. Visually? It says Z-Aurora Veil instead of the actual Z-Move name. As far as I can tell, that's the only thing wrong.
 
I have noticed something wrong with Z-Moves, but it seems to be minor. I made an upgraded version of Aurora Veil for my Ultra Aurorus. Functionally, it works as intended: a status move that applies Aurora Veil regardless of weather along with Safeguard and Mist for 5 turns. Visually? It says Z-Aurora Veil instead of the actual Z-Move name. As far as I can tell, that's the only thing wrong.
Status moves arent meant to be used as base moves for exclusive Z-Moves. Only damage-dealing moves are meant for that.

Status moves have their own specific and unique interaction with Z-Power, which just provides them an additional effect and changes their name to Z-whatever (Z-Growl, Z-Leer, etc.)

You can, however, make a damage-dealing base move convert into an exclusive status Z-Move (Extreme Evoboost, for example).
 
I seem to be having trouble with giving regional forms their own Ultra Burst Z-Crystals. The problem isn't the crystals themselves, but with Ultra Burst. Problem 1 my Pyroar's form is being set to 0 when it should be set to 1. 0 is normal Pyroar, 1 is Kantonian Pyroar, and 2 and 3 are each an Ultra Burst. I can debug it back into being the correct form temporarily, but then I run into Problem 2: Ultra Burst is not triggerable for the regional Pyroar. I can still give it the appropriate Z-Crystal for Ultra Burst without debug, and the Z-Move is usable in Ultra Burst, but not without using Debug to switch it to that form. It's very likely that I'll run into the same problem with Hisuian Electrode.
Ruby:
Expand Collapse Copy
MultipleForms.register(:PYROAR, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 2 if [0,2].include?(pkmn.form)
    next 3 if [1,3].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 2
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAPYRIUMZ if pkmn.form = 0
    next :ULTRAKPYRIUMZ if pkmn.form = 1
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [0].sample
    next [2, form, :ULTRAPYRIUMZ]
    form = [1].sample
    next [3, form, :ULTRAKPYRIUMZ]
  }
})
 
I seem to be having trouble with giving regional forms their own Ultra Burst Z-Crystals. The problem isn't the crystals themselves, but with Ultra Burst. Problem 1 my Pyroar's form is being set to 0 when it should be set to 1. 0 is normal Pyroar, 1 is Kantonian Pyroar, and 2 and 3 are each an Ultra Burst. I can debug it back into being the correct form temporarily, but then I run into Problem 2: Ultra Burst is not triggerable for the regional Pyroar. I can still give it the appropriate Z-Crystal for Ultra Burst without debug, and the Z-Move is usable in Ultra Burst, but not without using Debug to switch it to that form. It's very likely that I'll run into the same problem with Hisuian Electrode.
Ruby:
Expand Collapse Copy
MultipleForms.register(:PYROAR, {
  #-----------------------------------------------------------------------------
  # Gets appropriate Ultra Burst form.
  "getUltraForm" => proc { |pkmn|
    next 2 if [0,2].include?(pkmn.form)
    next 3 if [1,3].include?(pkmn.form)
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra form's appropriate base form.
  "getUnUltraForm" => proc { |pkmn|
    next pkmn.form - 2 if pkmn.form >= 2
  },
  #-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAPYRIUMZ if pkmn.form = 0
    next :ULTRAKPYRIUMZ if pkmn.form = 1
  },
  #-----------------------------------------------------------------------------
  # Pokedex Data Page compatibility.
  "getDataPageInfo" => proc { |pkmn|
    form = [0].sample
    next [2, form, :ULTRAPYRIUMZ]
    form = [1].sample
    next [3, form, :ULTRAKPYRIUMZ]
  }
})
Does Pyroar already have an existing MultipleForms handler?

Regional forms typically already use a MultipleForms handler in order to force them into the correct form based on the region youre in. It's likely that they're overwriting each other.
 
Does Pyroar already have an existing MultipleForms handler?

Regional forms typically already use a MultipleForms handler in order to force them into the correct form based on the region youre in. It's likely that they're overwriting each other.

To be perfectly honest, I wouldn't know how to set that up, so I was just going to have regional forms get passed down by mother. If it has it already without me setting it up, then it can only be gender specific since Pyroar also has different forms based on gender, which I wouldn't think that it would mess with form numbers.
 
To be perfectly honest, I wouldn't know how to set that up, so I was just going to have regional forms get passed down by mother. If it has it already without me setting it up, then it can only be gender specific since Pyroar also has different forms based on gender, which I wouldn't think that it would mess with form numbers.
Idk, I set up some dummy tests for both Electrode and Pyroar and it works fine for me. I will say though that what youre trying to set up is really complicated and messy, and I suspect that the fact that youre unfamiliar with form handlers must compound the confusion.

The only generic advice I can give is to pay attention to your form numbers both in the handlers and in your PBS files.
 
The only generic advice I can give is to pay attention to your form numbers both in the handlers and in your PBS files.
I went ahead and doublechecked the form numbers, and they seem correct.
Ruby:
Expand Collapse Copy
#-------------------------------
[PYROAR,1]
FormName = Kantonian
Types = FIRE,GHOST
Abilities = FLAMEBODY,CURSEDBODY
HiddenAbilities = SHADOWTAG
Moves = 1,LEER,1,EMBER,1,HYPERBEAM,1,WORKUP,1,TACKLE,11,HEADBUTT,15,NOBLEROAR,20,SHADOWCLAW,23,FIREFANG,28,ENDEAVOR,33,SHADOWBALL,38,FLAMETHROWER,42,CRUNCH,48,HEX,51,INCINERATE,57,OVERHEAT
TutorMoves = ACROBATICS,BODYSLAM,BULLDOZE,BURNINGJEALOUSY,CRUNCH,DARKPULSE,DIG,DOUBLEEDGE,ENDEAVOR,ENDURE,FACADE,FIREBLAST,FIREFANG,FIRESPIN,FLAMECHARGE,FLAMETHROWER,FLAREBLITZ,GIGAIMPACT,HEATWAVE,HELPINGHAND,HYPERBEAM,HYPERVOICE,MUDSLAP,OVERHEAT,PROTECT,PSYCHICFANGS,RAINDANCE,REST,ROAR,SLEEPTALK,SNARL,SOLARBEAM,SUBSTITUTE,SUNNYDAY,SWIFT,TAKEDOWN,TAUNT,TEMPERFLARE,THIEF,THUNDERFANG,TRAILBLAZE,WILDCHARGE,WILLOWISP,TERABLAST,PHANTOMFORCE,HIDDENPOWER,SHADOWBALL
Color = Black
Pokedex = It is said that the entire population of Pyroar in Kanto mysteriously vanished one day.
Generation = 9
Flags = InheritFormFromMother,StageOne,KantoGold
#-------------------------------
[PYROAR,2]
FormName = Ultra Pyroar
Types = FIRE
BaseStats = 86,83,83,127,131,71
BaseExp = 211
EVs = SPECIAL_ATTACK,2,SPEED,1
Abilities = IMMOLATE
Weight = 67.3
Color = Brown
Pokedex = Intense Z-Power has caused its body to ignite. It has gained the ability to control flames
Flags = CannotDynamax,ExcludeFromRandomSearch
#-------------------------------
[PYROAR,3]
FormName = Ultra Pyroar
Types = FIRE,GHOST
Abilities = IMMOLATE
Color = White
Flags = CannotDynamax,ExcludeFromRandomSearch
On top of that, most of the code for Ultra Pyroar is the same as Necrozma's, just with 1 subtracted from the form numbers and an extra Z-Crystal added. The only way I know that I can fix Kantonian Pyroar is to just remove the original's Ultra Burst. I've also noticed that it says that Kantonian Pyroar can't use the Z-Crystal's power even though I selected the correct one, which doesn't make sense since I used "getUltraForm" as an example for the rest of what I added. I do not get this message if I give Kantonian Pyroar the wrong UltraItem. It also will let me Ultra Burst Kantonian Pyroar, but to the wrong form

Seeing as how I'm the only one working on this game, I know a MultipleForms handler shouldn't exist for Pyroar outside of this. Kantonian Litleo also normally despite the game behaving constantly as if Pyroar's form should always be 0. After all, Dawn Wings Necrozma isn't having any of the same issues, but Necrozma only has the one Z-Move, and therefore only needs 1 Z-Crystal. Since I want Kanotnian Pyroar to have a Different Z-Move, it needs a second Z-Crystal. I can also confirm that Hisiuian Electrode is behaving the same as Pyroar. Give it an UltraItem, and suddenly the game thinks it should be Kantonian Electrode because it has 2 different Z-Crystals. Since I don't have an icon made for Kantonian Pyroar, I couldn't tell when the game was going it, but since Hisuian Electrode comes with one, I can tell immediately that it's as soon as either of the UltraItems is given.

So let me ask you this: does the code that I shared for either Electrode or Pyroar at least look like it should work? Ignoring the part about the Pokedex, of course. If not, then perhaps I was right about the problem being somewhere in my code, but if it does, then perhaps the problem is elsewhere within the add-on. In the latter case, I'll have no choice but to remove the Ultra forms that I don't need and wait patiently as I believe you have other priorities.
 
I went ahead and doublechecked the form numbers, and they seem correct.
Ruby:
Expand Collapse Copy
#-------------------------------
[PYROAR,1]
FormName = Kantonian
Types = FIRE,GHOST
Abilities = FLAMEBODY,CURSEDBODY
HiddenAbilities = SHADOWTAG
Moves = 1,LEER,1,EMBER,1,HYPERBEAM,1,WORKUP,1,TACKLE,11,HEADBUTT,15,NOBLEROAR,20,SHADOWCLAW,23,FIREFANG,28,ENDEAVOR,33,SHADOWBALL,38,FLAMETHROWER,42,CRUNCH,48,HEX,51,INCINERATE,57,OVERHEAT
TutorMoves = ACROBATICS,BODYSLAM,BULLDOZE,BURNINGJEALOUSY,CRUNCH,DARKPULSE,DIG,DOUBLEEDGE,ENDEAVOR,ENDURE,FACADE,FIREBLAST,FIREFANG,FIRESPIN,FLAMECHARGE,FLAMETHROWER,FLAREBLITZ,GIGAIMPACT,HEATWAVE,HELPINGHAND,HYPERBEAM,HYPERVOICE,MUDSLAP,OVERHEAT,PROTECT,PSYCHICFANGS,RAINDANCE,REST,ROAR,SLEEPTALK,SNARL,SOLARBEAM,SUBSTITUTE,SUNNYDAY,SWIFT,TAKEDOWN,TAUNT,TEMPERFLARE,THIEF,THUNDERFANG,TRAILBLAZE,WILDCHARGE,WILLOWISP,TERABLAST,PHANTOMFORCE,HIDDENPOWER,SHADOWBALL
Color = Black
Pokedex = It is said that the entire population of Pyroar in Kanto mysteriously vanished one day.
Generation = 9
Flags = InheritFormFromMother,StageOne,KantoGold
#-------------------------------
[PYROAR,2]
FormName = Ultra Pyroar
Types = FIRE
BaseStats = 86,83,83,127,131,71
BaseExp = 211
EVs = SPECIAL_ATTACK,2,SPEED,1
Abilities = IMMOLATE
Weight = 67.3
Color = Brown
Pokedex = Intense Z-Power has caused its body to ignite. It has gained the ability to control flames
Flags = CannotDynamax,ExcludeFromRandomSearch
#-------------------------------
[PYROAR,3]
FormName = Ultra Pyroar
Types = FIRE,GHOST
Abilities = IMMOLATE
Color = White
Flags = CannotDynamax,ExcludeFromRandomSearch
On top of that, most of the code for Ultra Pyroar is the same as Necrozma's, just with 1 subtracted from the form numbers and an extra Z-Crystal added. The only way I know that I can fix Kantonian Pyroar is to just remove the original's Ultra Burst. I've also noticed that it says that Kantonian Pyroar can't use the Z-Crystal's power even though I selected the correct one, which doesn't make sense since I used "getUltraForm" as an example for the rest of what I added. I do not get this message if I give Kantonian Pyroar the wrong UltraItem. It also will let me Ultra Burst Kantonian Pyroar, but to the wrong form

Seeing as how I'm the only one working on this game, I know a MultipleForms handler shouldn't exist for Pyroar outside of this. Kantonian Litleo also normally despite the game behaving constantly as if Pyroar's form should always be 0. After all, Dawn Wings Necrozma isn't having any of the same issues, but Necrozma only has the one Z-Move, and therefore only needs 1 Z-Crystal. Since I want Kanotnian Pyroar to have a Different Z-Move, it needs a second Z-Crystal. I can also confirm that Hisiuian Electrode is behaving the same as Pyroar. Give it an UltraItem, and suddenly the game thinks it should be Kantonian Electrode because it has 2 different Z-Crystals. Since I don't have an icon made for Kantonian Pyroar, I couldn't tell when the game was going it, but since Hisuian Electrode comes with one, I can tell immediately that it's as soon as either of the UltraItems is given.

So let me ask you this: does the code that I shared for either Electrode or Pyroar at least look like it should work? Ignoring the part about the Pokedex, of course. If not, then perhaps I was right about the problem being somewhere in my code, but if it does, then perhaps the problem is elsewhere within the add-on. In the latter case, I'll have no choice but to remove the Ultra forms that I don't need and wait patiently as I believe you have other priorities.
Ruby:
Expand Collapse Copy
#-----------------------------------------------------------------------------
  # Gets Ultra item for this species.
  "getUltraItem" => proc { |pkmn|
    next :ULTRAPYRIUMZ if pkmn.form = 0
    next :ULTRAKPYRIUMZ if pkmn.form = 1
  },
It's supposed to be == not =. That's all the problem is.
 
Lucidious89 updated Z-Power [DBK Add-On] [v21.1] with a new update entry:

v1.1.1 Update

  • When the player triggers a Z-Move while wearing an outfit, the animation will now properly display the trainer's current outfit during the animation.
  • Status move may now be used as the base move to be converted into an exclusive Z-Move. Previously, only damage-dealing moves would function correctly in this role.
  • The type of Z-Move that a base move is converted into will now take into consideration certain properties that alter that base move's type. For example, the move...

Read the rest of this update entry...
 
Back
Top