• 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.
  • Dawn, Gloria, Juliana, or Summer - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • 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 Help

  • 4
    Posts
    7
    Years
    • Seen Sep 20, 2022
    Hello, I'd really appreciate if someone could help me, I've come up with a custom ability for my fangame and although I've been comfortable modifying the scripts of existing abilities to suit my needs I have a feeling this one requires reliable(as in not me lol) help. So heres the ability.


    Ability: Celestial Rights

    Effect: Gives priority to all Fairy type moves, while lowering Dark type moves by 20%


    I'm not sure if it seems overpowered or not but as only 4 Fakemon in my game have access to it seems pretty reasonble to me(though if you think so I wouldn't mind the feed back to balance it.) But anyway if someone could help with scripting suggestions I would really appreciate it.:smile:
     
    Well you should be able to work this out based on other abilities. Prankster already gives priority to moves that have a particular thing (i.e. are status), and there's a ton of abilities that modify the damage based on the move (e.g. Iron Fist, Aerialate, ...). What have you tried so far?

    As for balance, Fairy-type Extreme Speed seems very good, but not ridiculous.
     
    I'd look at Gale Wings in Essentials:

    p+=1 if user.hasWorkingAbility(:GALEWINGS) && isConst?(thismove.type,PBTypes,:FLYING)

    This basically says If the Pokemon has Gale Wings and the move it's using is Flying-Type, the priority level gets raised by 1. I'd try just copying/pasting and then changing it to what you need. This can be found in the PokeBattle_Battler Section.

    pri+=1 if @battlers.hasWorkingAbility(:GALEWINGS) &&
    isConst?(@choices[2].type,PBTypes,:FLYING)

    Also, copy and paste this under Gale Wings and modify it to whatever you want. You can find it in the PokeBattle_Battle section after using Ctrl + Shift + F to search for "Galewings". There's only like two results so, finding these two scripts shouldn't be too hard.

    As for the 20% buff, I'd look at something like Fur Coat/Thick Fat/etc.

    if opponent.hasWorkingAbility(:HEATPROOF) && isConst?(type,PBTypes,:FIRE)
    damagemult=(damagemult*0.5).round
    end

    Something like this probably:

    if opponent.hasWorkingAbility(:CELESTIALRIGHTS) && isConst?(type,PBTypes,:DARK)
    damagemult=(damagemult*0.2).round
    end

    0.2 = 20%, by the way.
     
    Last edited:
    I'd look at Gale Wings in Essentials:

    p+=1 if user.hasWorkingAbility(:GALEWINGS) && isConst?(thismove.type,PBTypes,:FLYING)

    This basically says If the Pokemon has Gale Wings and the move it's using is Flying-Type, the priority level gets raised by 1. I'd try just copying/pasting and then changing it to what you need. This can be found in the PokeBattle_Battler Section.

    pri+=1 if @battlers.hasWorkingAbility(:GALEWINGS) &&
    isConst?(@choices[2].type,PBTypes,:FLYING)

    Also, copy and paste this under Gale Wings and modify it to whatever you want. You can find it in the PokeBattle_Battle section after using Ctrl + Shift + F to search for "Galewings". There's only like two results so, finding these two scripts shouldn't be too hard.

    As for the 20% buff, I'd look at something like Fur Coat/Thick Fat/etc.

    if opponent.hasWorkingAbility(:HEATPROOF) && isConst?(type,PBTypes,:FIRE)
    damagemult=(damagemult*0.5).round
    end

    Something like this probably:

    if opponent.hasWorkingAbility(:CELESTIALRIGHTS) && isConst?(type,PBTypes,:DARK)
    damagemult=(damagemult*0.2).round
    end

    0.2 = 20%, by the way.


    Oh my gosh, thank you so much! It works wonderfully! I even made sure to test if the damage output for dark type moves were being effected by the 20% decrease by substituting the ability with a generic one to see if there was any actual change in power and I was ecstatic to see an obvious difference. Also thanks for the tidbit about the percentages, if you hadn't pointed that out I'd have been lost, math and decimals are not my strong suit, lol.
     
    Back
    Top