• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

Lucidious89's Custom Ability Thread [Essentials v18.1]

1,408
Posts
10
Years
    • Seen today
    Alternatively, rather than enduring the hit with one HP, they could actually faint still, but after fainting and switching out, the ability heals them to half the max HP so they can re-enter battle.

    This is kinda just Regenerator, but it only triggers upon fainting. I like the idea of having more abilities that trigger upon fainting, but its really tricky to implement them once the user is no longer on the field. You could probably accomplish this though by having a check at the end of each round that searches through each party for any fainted Pokemon with this ability, and then setting the HP of those party members to half. You can probably just put this at the end of pbEndOfRoundPhase.

    Or alternatively, if you want the ability to trigger upon fainting, but BEFORE switching out, you could do something like this:
    Code:
    BattleHandlers::TargetAbilityOnHit.add(:TEMPORALREWIND,
      proc { |ability,user,target,move,battle|
        next if !target.fainted?
        next if user.hasMoldBreaker?
        next if target.effects[PBEffects::TemporalRewindUsed]
        battle.pbShowAbilitySplash(target)
        target.pbRecoverHP(target.damageState.hpLost,false)
        target.effects[PBEffects::TemporalRewindUsed] = true
        battle.pbDisplay(_INTL("{1} warped back in time to undo damage taken from the attack!",target.pbThis))
        battle.pbHideAbilitySplash(target)
      }
    )
    How this works is whenever the user is KO'd by an attack, its HP will restore to whatever the amount it was prior to being KO'd, essentially undoing any damage from the attack as if it never happened. This effect fails to trigger if the attacking Pokemon has Mold Breaker.

    I set this up by introducing a new effect, "TemporalRewindUsed", so that the ability may only trigger once per switch-in. So if you're KO'd a second time while out on the field, the ability will no longer activate. You'll have to switch out and in again to reset the use of this ability. So you'll have to add the TemporalRewindUsed effect to your PBEffects and initialize the effects in pbInitEffects.

    Alternatively, if you want this ability to trigger based on HP (like only at full HP or something) instead of the once-per switch-in effect, then remove the "TemporalRewindUsed" lines and add in your desired HP thresholds instead. Something like:
    Code:
    next if target.damageState.hpLost<target.totalhp
     
    40
    Posts
    3
    Years
    • Seen Jan 13, 2022
    Decided to run with the first one.
    As for a new idea, Spatial Warp is my concept for Palkia. It would work like Teleport does as of LGPE and SWSH, except triggering after Palkia is hit.
    Palkia switches places with a party Pokémon in waiting, if any, by warping space around itself to make a portal and escape back into its Poke Ball.
    So kinda like Wimp Out/Emergency Exit I guess? But as a unique deal, the Pokemon that switches in has their strongest stat boosted like Beast Boost.
     
    1,408
    Posts
    10
    Years
    • Seen today
    Decided to run with the first one.
    As for a new idea, Spatial Warp is my concept for Palkia. It would work like Teleport does as of LGPE and SWSH, except triggering after Palkia is hit.
    Palkia switches places with a party Pokémon in waiting, if any, by warping space around itself to make a portal and escape back into its Poke Ball.
    So kinda like Wimp Out/Emergency Exit I guess? But as a unique deal, the Pokemon that switches in has their strongest stat boosted like Beast Boost.

    Yeah sounds like its basically just a combination of Emergency Exit and Beast Boost. Shouldn't be hard to implement by just copying those.

    Maybe to differentiate this ability more, it could switch the OPPONENT out, instead of the user. Like an auto-Roar. Palkia bends space to swap the positions of the opponent's Pokemon with a random one in their lineup. This could trigger whenever Palkia is at low health and targeted by a Super Effective attack (just spitballing here) as a means of balancing it. It would probably need a once-per-switch-in limit though, to prevent infinite loops.

    Or another possibility is making this an ability version of Ally Switch, automatically teleporting Palkia to different positions in battle (obviously the downside is that this doesn't work in singles, unless you give it an additional effect that triggers in 1v1 fights). This could be triggered whenever a nearby ally is targeted by a Super Effective move, and Palkia essentially swaps positions to take the hit for its ally.

    Idk, just random ideas I'm throwing out there.
     
    9
    Posts
    3
    Years
    • Seen Mar 20, 2021
    Pastebin link is dead, for me at least

    Is there any way i can still get it or did i arrive too late? 😅
     
    Last edited:
    3
    Posts
    3
    Years
    • Seen Nov 5, 2023
    Hello! First, let me say that I love the ability scripts you've created! I've been using them to sort of learn how to make my own, and I've been doing pretty well so far. I'm usually someone who learns on their own and I don't like to bother people with questions, but there is something I've run into an issue with.

    I have a Pokemon who has an ability that allows it to change its form based on whatever status problem it's given. When it gets the status effect (Burn/Freeze/Paralyze/Poison/Sleep) it is immune to said status' effects and causes the Pokemon to change into a certain form, similar to Castform's Forecast. I thought I would be able to just copy Forecast's code, and edit it to work with the statuses, but I am stuck on how to even start making everything work with each other. I would be appreciative if someone can assist me, as it can help me do more of those things on my own.
     
    1,408
    Posts
    10
    Years
    • Seen today
    Hello! First, let me say that I love the ability scripts you've created! I've been using them to sort of learn how to make my own, and I've been doing pretty well so far. I'm usually someone who learns on their own and I don't like to bother people with questions, but there is something I've run into an issue with.

    I have a Pokemon who has an ability that allows it to change its form based on whatever status problem it's given. When it gets the status effect (Burn/Freeze/Paralyze/Poison/Sleep) it is immune to said status' effects and causes the Pokemon to change into a certain form, similar to Castform's Forecast. I thought I would be able to just copy Forecast's code, and edit it to work with the statuses, but I am stuck on how to even start making everything work with each other. I would be appreciative if someone can assist me, as it can help me do more of those things on my own.

    I feel like you can probably just copy my Midnight Curse ability and make it change forms based on statuses instead of time of day.
     
    55
    Posts
    6
    Years
    • Seen Nov 24, 2023
    Speaking about the Lynanroc abilities, I tried implementing them in my project, but I get an NameError in regards to uninitialized constant BattleHandlers::SOREffectAbility.
    Any idea what that might be causing it?
     
    1,408
    Posts
    10
    Years
    • Seen today
    Speaking about the Lynanroc abilities, I tried implementing them in my project, but I get an NameError in regards to uninitialized constant BattleHandlers::SOREffectAbility.
    Any idea what that might be causing it?

    You didn't install it properly. Twilight Shift in particular requires additional installations, which I made a note of in the main post. All Abilities with an asterisk require script edits beyond just copy/pasting the ability code in the script.

    EDIT: Oh yeah, and you may have also just copy/pasted the individual abilities from the pastebin link. Twilight Shift (and a few others) depend on some general additions too, which are found at the top of the script above all the individual abilities.
     
    Last edited:
    37
    Posts
    8
    Years
    • Seen May 10, 2024
    is it compatible with v19 ? I tried adding the ability Mutate but it crashed, its code is also a bit different from Stance Change.
     
    1,408
    Posts
    10
    Years
    • Seen today
    is it compatible with v19 ? I tried adding the ability Mutate but it crashed, its code is also a bit different from Stance Change.

    Some might be, some might not. These were all written for 18.1, as the main post states. Most of them are probably fine though, or require very minor edits.
     
    40
    Posts
    3
    Years
    • Seen Jan 13, 2022
    A new ability concept, kind of similar to Mutate but has its own differentiations enough to warrant a new code.

    Cloned Weapon - Mewtwo changes its form based on what it uses in battle.

    Physical moves - Changes into Mega Mewtwo X and gains an Iron Fist-like boost to all physical moves.
    Special moves - Changes into Mega Mewtwo Y and gains an Iron Fist-like boost to all special moves.
    Status moves/start of battle - Changes back into base Mewtwo and gains an Ancient Power boost. Lost on switching out, but if not switching out carries over to the other forms.
     

    superdude001

    Stargazer
    50
    Posts
    15
    Years
    • Seen Apr 29, 2024
    Does anyone know how to modify the scripts for the abilities so they work with 19.1? I had some of them in my fan game, but when I upgraded to 19.1 the scripting changed and it's causing issues. One in particular that I was really depending on for a story beat was Mutate. I'm trying to toy with it to see if I can figure out how to fix myself, but I'm still learning the scripting language. Has anyone had any success modifying these abilities for 19.1?
     

    superdude001

    Stargazer
    50
    Posts
    15
    Years
    • Seen Apr 29, 2024
    To anyone reading this in the future, I figured out Mutate for 19.1. For a script noobie, I feel pretty proud :P Hope it helps someone. See below:

    #===========================================================================
    # Custom Ability - Mutate
    #===========================================================================
    if isSpecies?(:DEOXYS) && self.ability == :MUTATE
    speedmoves = [:AGILITY,:EXTREMESPEED,:SWIFT,:PURSUIT,:DOUBLETEAM,:TAUNT,
    :TRICK,:SNATCH,:TORMENT,:TELEPORT,:ALLYSWITCH,:ROLEPLAY,
    :SKILLSWAP,:PSYCHUP,:SWAGGER,:THUNDERWAVE,:SUBSTITUTE,
    :SUNNYDAY,:RAINDANCE,:LASERFOCUS,:TELEKINESIS,:FLING,:FLASH,
    :PSYCHOSHIFT,:TRICKROOM,:WONDERROOM,:RECYCLE,:THROATCHOP]

    defensemoves = [:RECOVER,:REST,:AMNESIA,:IRONDEFENSE,:CALMMIND,:COSMICPOWER,
    :REFLECT,:LIGHTSCREEN,:SAFEGUARD,:PROTECT,:DETECT,:MAGICCOAT,
    :MIRRORCOAT,:COUNTER,:SPIKES,:STEALTHROCK,:GRAVITY,:ENDURE,:SNORE,
    :SLEEPTALK,:NIGHTSHADE,:KNOCKOFF,:TOXIC,:DREAMEATER,:SEISMICTOSS,
    :DRAINPUNCH]

    for i in speedmoves; speedform=true if move.id == i; end
    for i in defensemoves; defenseform=true if move.id == i; end

    if speedform
    if form!=3
    @battle.pbShowAbilitySplash(self,true)
    pbChangeForm(3,_INTL("{1} mutated into Speed Forme!",pbThis))
    end
    elsif defenseform
    if form!=2
    @battle.pbShowAbilitySplash(self,true)
    pbChangeForm(2,_INTL("{1} mutated into Defense Forme!",pbThis))
    end
    elsif move.damagingMove?
    if form!=1
    @battle.pbShowAbilitySplash(self,true)
    pbChangeForm(1,_INTL("{1} mutated into Attack Forme!",pbThis))
    end
    else
    if form!=0
    @battle.pbShowAbilitySplash(self,true)
    pbChangeForm(0,_INTL("{1} reverted into Normal Forme!",pbThis))
    end
    end
    @battle.pbHideAbilitySplash(self)
    end
    #===========================================================================
     
    24
    Posts
    7
    Years
    • Seen Jan 17, 2024
    Hi guys!

    I am pretty new here and I couldn't help but appreciate the creativity, so I decided to add a few abilities that I came up with. Note that many of these were designed with my current roster of Fakemon in mind so I had trouble coming up with examples for applications, but I'm sure that you can think up somewhere to use them. Please enjoy!

    Ability:Hydroponic
    Effect: Powers up Grass-moves in rain

    Suggested Users:
    Spoiler:



    Ability: Photosensitive
    Effect: Prevents the opponent from increasing its own evasion or lowering the user's accuracy. Increases the power of moves that can't miss.

    Suggester Users:
    Spoiler:



    Ability: Oil Fire
    Effect: Powers up Fire-moves when hit by Water-move.
    Note: Works the same way Flash Fire does.

    Suggested Users:
    Spoiler:



    Ability: Salt in the Wound
    Effect: Increases Speed and Attack if the opponent has a status condition.

    Suggested Users:
    Spoiler:



    Ability: Trance
    Effect: Contact with the pokemon may cause confusion.

    Suggested Users:
    Spoiler:



    Ability:Winter Coat
    Effect: Reduces damage from Ice-attacks, user is also no longer affected by Hail.

    Suggested Users:
    Spoiler:
     
    Back
    Top