• 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!
  • 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.

[Scripting Question] Custom ability: Dragon's Blessing

  • 158
    Posts
    6
    Years
    I am inventing an ability called Dragon's Blessing for a Pokemon named Dramoth. Dramoth basically has two forms, its normal Moth Form and its Dragon Form. Dragon's Blessing should allow Dramoth to transform into its Dragon Form after it uses a Dragon-type move in battle but Idk how to do that.

    Can anyone help me?
     
    But I want this ability to activate after the Pokemon uses any Dragon-type move and remain in that form for the remainder of the battle. I also want it to stay in that form even when switched out but change back when it faints or the battle ends.

    Yes that is easy. You take the Gulp Missile Code and edit it to check for a Dragon Type move instead of Surf and Dive.

    And about the remaining in Dragon form for the whole battle thing may be a little bit OP don't you think? Anyways what you need to do for that is you create 3 new methods isDragon?, makeDragon and makeMoth.

    isDragon? checks whether you're in Dragon forme or not and returns true or false. This should be somewhere near where isMega? method is in PokeBattle_Battler

    Then makeDragon method should set your form to 1 if isDragon? is false and you use a Dragon Move. It should be created near the makeMega method in PokeBattle_Battler. And this method should be used in the line where Gulp Missile checks for whether the move used is Surf or Dive

    Finally makeMoth method should set your form to 0 if isDragon? is true. It should be created where makeUnmega is in PokeBattle_Battler. It should be used wherever you find "makeUnmega" after using Ctrl+Shift+F.

    Hope I could help
     
    Yeah buddy, you have to adapt my code. :p

    How?

    Yes that is easy. You take the Gulp Missile Code and edit it to check for a Dragon Type move instead of Surf and Dive.

    And about the remaining in Dragon form for the whole battle thing may be a little bit OP don't you think? Anyways what you need to do for that is you create 3 new methods isDragon?, makeDragon and makeMoth.

    isDragon? checks whether you're in Dragon forme or not and returns true or false. This should be somewhere near where isMega? method is in PokeBattle_Battler

    Then makeDragon method should set your form to 1 if isDragon? is false and you use a Dragon Move. It should be created near the makeMega method in PokeBattle_Battler. And this method should be used in the line where Gulp Missile checks for whether the move used is Surf or Dive

    Finally makeMoth method should set your form to 0 if isDragon? is true. It should be created where makeUnmega is in PokeBattle_Battler. It should be used wherever you find "makeUnmega" after using Ctrl+Shift+F.

    Hope I could help

    Can you give me an example code?
     
    Last edited by a moderator:
    I got the makeDragon and makeMoth code but the rest is confusing.

    Easy, check whether the species is Dramoth and form is 0. If yes then return true else false.
     
    From my experience, every time people have an issue implementing something, there already exists something similar to what they want in the script that they could just copy and adapt.

    As for changing forms in battle, there already exists plenty of examples of that. Aegislash and Meloetta spring to mind immediately. The Cramorant code that was offered works, too.

    As for KEEPING forms in battle, the clearest example of this already existing are Mega Evolutions. So it really shouldn't be too hard to view both of these mechanics and just adapt them for your purposes.
     
    From my experience, every time people have an issue implementing something, there already exists something similar to what they want in the script that they could just copy and adapt.

    As for changing forms in battle, there already exists plenty of examples of that. Aegislash and Meloetta spring to mind immediately. The Cramorant code that was offered works, too.

    As for KEEPING forms in battle, the clearest example of this already existing are Mega Evolutions. So it really shouldn't be too hard to view both of these mechanics and just adapt them for your purposes.

    Okay!
     
    Is this a start?

    I copied and edited the Primal code.
    Spoiler:
     
    Great job now all you gotta do is call the makeDragon and makeMoth code wherever the Primal Reversion methods makePrimal and makeUnprimal methods are called. But you gotta make sure that you define the Dragon and Moth forms in the same way Primal Groudon and Kyogre are defined in Pokemon_Forms

    Alternatively you can try adapting this code
     
    Great job now all you gotta do is call the makeDragon and makeMoth code wherever the Primal Reversion methods makePrimal and makeUnprimal methods are called. But you gotta make sure that you define the Dragon and Moth forms in the same way Primal Groudon and Kyogre are defined in Pokemon_Forms

    Alternatively you can try adapting this code

    It's a bit confusing. A little help please?
     
    Back
    Top