• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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: Z-Power [DBK Add-On] [v21.1]

How difficult would it be to add a "Partner Move" option for Pika Papow, VeeVee Volley or the stat boosts if the active Pokemon is not Partner Pikachu/Eevee?
I'm not really sure what this has to do with this plugin. Are you asking how to make these moves into Z-Moves or something?
 
No, I'm saying Essentials already has form 1 of Pikachu reserved for Alolan Raichu by default. You're overwriting that with Partner Pikachu. Form 1 of Pikachu should always be left blank because of this. Your forms should start from form 2 onwards.

Pikachu already *has* a form handler in Essentials to force it into form 1 for evolving it into Alolan Raichu. So the form handler you made for an Ultra Burst form is either overwriting that handler, or the base handler is overwriting yours (depending on where you put your Ultra Burst script). My guess is that's why there's a conflict. You have to combine both handlers into a single script if you want to retain both and not have them overlap each other.
I updated my code to combine both the Alolan Raichu form handler with my Partner and Ultra Burst form handler. It's as follows below, but Bonded Pikachu still can't use Ultra Burst. It can use the Z-Move, but not Ultra Burst.

Code:
MultipleForms.register(:PIKACHU,{
  "getMoveCompatibility"=>proc{|pkmn|
    next if pkmn.form==0
      movelist=[]
    case pokemon.form
    when 1; movelist=[
      :AGILITY,:ATTRACT,:BODYSLAM,:BRICKBREAK,:CAPTIVATE,:CHARGEBEAM,:CHARM,
      :CONFIDE,:COUNTER,:COVET,:DEFENSECURL,:DIG,:DOUBLEEDGE,:DOUBLETEAM,
      :DRAININGKISS,:DYNAMICPUNCH,:ECHOEDVOICE,:ELECTRICTERRAIN,:ELECTROBALL,
      :ELECTROWEB,:ENCORE,:ENDURE,:FACADE,:FLASH,:FLING,:FLOATINGFALL,
      :FOCUSPUNCH,:FRUSTRATION,:GRASSKNOT,:HEADBUTT,:HELPINGHAND,:HIDDENPOWER,
      :IRONTAIL,:KNOCKOFF,:LASERFOCUS,:LIGHTSCREEN,:MAGNETRISE,:MEGAKICK,
      :MEGAPUNCH,:MIMIC,:MUDSLAP,:NASTYPLOT,:NATURALGIFT,:PAYDAY,:PLAYROUGH,
      :PROTECT,:RAINDANCE,:REFLECT,:REST,:RETURN,:REVERSAL,:RISINGVOLTAGE,
      :ROCKSMASH,:ROLLOUT,:ROUND,:SECRETPOWER,:SEISMICTOSS,:SHOCKWAVE,
      :SIGNALBEAM,:SLEEPTALK,:SNORE,:SPARKYSURF,:STRENGTH,:SUBSTITUTE,:SURF,
      :SWAGGER,:SWIFT,:THIEF,:THUNDER,:THUNDERBOLT,:THUNDERPUNCH,:THUNDERWAVE,
      :UPROAR,:VOLTSWITCH,:VOLTTACKLE,:WILDCHARGE]
    end
    for i in 0...movelist.length
      movelist=getConst(PBMoves,movelist)
    end
    next movelist
    },
    "getForm" => proc { |pkmn|
      next if pkmn.form_simple >= 1
      if $game_map
        map_pos = $game_map.metadata&.town_map_position
        next 1 if map_pos && map_pos[0] == 1   # Tiall region
      end
      next 0
    },
    "getUltraForm" => proc { |pkmn|
      next 5
    },
    "getUnUltraForm" => proc { |pkmn|
      next 4
    },
    "getUltraItem" => proc { |pkmn|
      next :ULTRAPIKANIUM if pkmn.form == 4
    },
    "getDataPageInfo" => proc { |pkmn|
      next [pkmn.form, 3, :ULTRAPIKANIUM] if pkmn.form == 5
    }
})
 
I updated my code to combine both the Alolan Raichu form handler with my Partner and Ultra Burst form handler. It's as follows below, but Bonded Pikachu still can't use Ultra Burst. It can use the Z-Move, but not Ultra Burst.

Code:
MultipleForms.register(:PIKACHU,{
  "getMoveCompatibility"=>proc{|pkmn|
    next if pkmn.form==0
      movelist=[]
    case pokemon.form
    when 1; movelist=[
      :AGILITY,:ATTRACT,:BODYSLAM,:BRICKBREAK,:CAPTIVATE,:CHARGEBEAM,:CHARM,
      :CONFIDE,:COUNTER,:COVET,:DEFENSECURL,:DIG,:DOUBLEEDGE,:DOUBLETEAM,
      :DRAININGKISS,:DYNAMICPUNCH,:ECHOEDVOICE,:ELECTRICTERRAIN,:ELECTROBALL,
      :ELECTROWEB,:ENCORE,:ENDURE,:FACADE,:FLASH,:FLING,:FLOATINGFALL,
      :FOCUSPUNCH,:FRUSTRATION,:GRASSKNOT,:HEADBUTT,:HELPINGHAND,:HIDDENPOWER,
      :IRONTAIL,:KNOCKOFF,:LASERFOCUS,:LIGHTSCREEN,:MAGNETRISE,:MEGAKICK,
      :MEGAPUNCH,:MIMIC,:MUDSLAP,:NASTYPLOT,:NATURALGIFT,:PAYDAY,:PLAYROUGH,
      :PROTECT,:RAINDANCE,:REFLECT,:REST,:RETURN,:REVERSAL,:RISINGVOLTAGE,
      :ROCKSMASH,:ROLLOUT,:ROUND,:SECRETPOWER,:SEISMICTOSS,:SHOCKWAVE,
      :SIGNALBEAM,:SLEEPTALK,:SNORE,:SPARKYSURF,:STRENGTH,:SUBSTITUTE,:SURF,
      :SWAGGER,:SWIFT,:THIEF,:THUNDER,:THUNDERBOLT,:THUNDERPUNCH,:THUNDERWAVE,
      :UPROAR,:VOLTSWITCH,:VOLTTACKLE,:WILDCHARGE]
    end
    for i in 0...movelist.length
      movelist=getConst(PBMoves,movelist)
    end
    next movelist
    },
    "getForm" => proc { |pkmn|
      next if pkmn.form_simple >= 1
      if $game_map
        map_pos = $game_map.metadata&.town_map_position
        next 1 if map_pos && map_pos[0] == 1   # Tiall region
      end
      next 0
    },
    "getUltraForm" => proc { |pkmn|
      next 5
    },
    "getUnUltraForm" => proc { |pkmn|
      next 4
    },
    "getUltraItem" => proc { |pkmn|
      next :ULTRAPIKANIUM if pkmn.form == 4
    },
    "getDataPageInfo" => proc { |pkmn|
      next [pkmn.form, 3, :ULTRAPIKANIUM] if pkmn.form == 5
    }
})
I copy/pasted this code into my game, and it works perfectly fine for me, so idk. Your Pikachu is either in the wrong initial form, or you're giving it the wrong item or something. There isn't any code-related reason why this wouldn't work, assuming that you placed this form handler after any other Pikachu form handlers in the script.

Also, this is unrelated, but the "getForm" handler is incorrect. It should be next if pkmn.form_simple >= 2, not 1.
 
I copy/pasted this code into my game, and it works perfectly fine for me, so idk. Your Pikachu is either in the wrong initial form, or you're giving it the wrong item or something. There isn't any code-related reason why this wouldn't work, assuming that you placed this form handler after any other Pikachu form handlers in the script.

Also, this is unrelated, but the "getForm" handler is incorrect. It should be next if pkmn.form_simple >= 2, not 1.
It's still not working even after this edit. What's even stranger is that I have every form from the Form 2 (The Partner Form) to Form 5 (The Ultra Burst Form) set to Always Male in the Pokemon Forms Text Page and yet some playtests have given a Female Pikachu with that data. I have no other Pikachu modifiers in the FormHandlers script so I do not know where else the problem could be.
 
It's still not working even after this edit. What's even stranger is that I have every form from the Form 2 (The Partner Form) to Form 5 (The Ultra Burst Form) set to Always Male in the Pokemon Forms Text Page and yet some playtests have given a Female Pikachu with that data. I have no other Pikachu modifiers in the FormHandlers script so I do not know where else the problem could be.
I copy/pasted this code into my game, and it works perfectly fine for me, so idk. Your Pikachu is either in the wrong initial form, or you're giving it the wrong item or something. There isn't any code-related reason why this wouldn't work, assuming that you placed this form handler after any other Pikachu form handlers in the script.

Also, this is unrelated, but the "getForm" handler is incorrect. It should be next if pkmn.form_simple >= 2, not 1.
@Lucidious89 Ok. So now I've gotten Pikachu to transform, but now I'm having trouble carrying over the Ultra Burst form's stats and ability over. They do exist if I send out the Ultra Burst form normally, but not when it transforms from the Bonded Form.
 
Minor Update (v1.0.8)
  • Updated Z-Move animation to be compatible with trainer sprites of any size.
  • Improved the organization of debug menu options.
  • Made various additions in preparation for the Raid Battles add-on plugin.
 
@Lucidious89 Ok. So now I've gotten Pikachu to transform, but now I'm having trouble carrying over the Ultra Burst form's stats and ability over. They do exist if I send out the Ultra Burst form normally, but not when it transforms from the Bonded Form.
Oh wait, I bet I know why. It's probably because you're forcing Pikachu into form 4 using the debug tools in order to test this and not removing the forced form override. So Pikachu is flagged as being "forced" into form 4, meaning that it's unable to ever leave that form through natural means as long as its flagged in this way. So Ultra Burst triggers, but never actually changes its form when it completes.

Basically, there isn't an issue with the code or the plugin. You're just using the debug tools and not removing the forced form flag. This would explain why it's working fine for me, but not for you. Because when I tested it, I did not have the forced_form flag enabled.
 
Oh wait, I bet I know why. It's probably because you're forcing Pikachu into form 4 using the debug tools in order to test this and not removing the forced form override. So Pikachu is flagged as being "forced" into form 4, meaning that it's unable to ever leave that form through natural means as long as its flagged in this way. So Ultra Burst triggers, but never actually changes its form when it completes.

Basically, there isn't an issue with the code or the plugin. You're just using the debug tools and not removing the forced form flag. This would explain why it's working fine for me, but not for you. Because when I tested it, I did not have the forced_form flag enabled.
Oh! That worked! The Ultra Burst form is now working as intended! Thank you! Ultra Burst Pikachu celebrated by just deleting a Miraidon!
 
Minor Update (v1.0.9)
  • Added missing GameStat tracker for wild Z-Move battles won.
  • Tweaked the methods that put a Pokemon into Ultra Burst form to ensure ability and stats are properly set after changing forms.
 
Minor Update (v1.1)
  • Included battle rules added by this plugin to DBK's battle rule applicator in the debug menu.
  • Made various additions in preparation for the Raid Battles add-on plugin.
 
Back
Top