- 1,541
- Posts
- 11
- Years
- Seen yesterday
This is a compilation of custom abilities I've designed to be shared freely by anyone who's interested. Every Ability I have ever posted in this thread is included here, and have now been updated and collected in a single installation guide for Essentials v18.1. Custom Abilities I created that ended up becoming real Abilities in later gens (or were very similar in design) have been removed. Below are each Ability and a description of how it functions, along with suggested species that suit the ability thematically.
The code for all of the below abilities can be found here: Custom Abilities
You may install these abilities by simply pasting them into the BattleHanders_Abilities section of the script.
Certain abilities require extra installation. Those that do are marked with an asterisk below, with instructions included.
Below is the PBS data for all abilities. Renumber them to suit your game if necessary.
The code for all of the below abilities can be found here: Custom Abilities
You may install these abilities by simply pasting them into the BattleHanders_Abilities section of the script.
Certain abilities require extra installation. Those that do are marked with an asterisk below, with instructions included.
Below is the PBS data for all abilities. Renumber them to suit your game if necessary.
Spoiler:
Code:
# Custom Abilities
#-------------------------------
301,LEECHINGFANGS,Leeching Fangs,"Restores a little HP when using biting moves."
302,ECHOLOCK,Echo-Lock,"The user's sound-based moves never miss."
303,INFLATABLE,Inflatable,"Inhales wind-based moves to expand the body & boost defense."
304,WINDRIDER,Wind Rider,"Boosts speed when struck with strong winds."
305,CANNONFIRE,Cannon Fire,"Powers up the user's bomb and blast attacks."
306,SHARPSHOOTER,Sharpshooter,"Non-contact moves always hit their mark."
307,SHARPEDGE,Sharp Edge,"Boosts the power of slashing and blade moves."
308,SPELLCASTER,Spellcaster,"Powers up Fire, Ice, and Electric-type special attacks."
309,ICYVEINS,Icy Veins,"Boosts the user's Ice and Water-type moves in hail."
310,CRYSTALLIZED,Crystallized,"Reduces damage from super-effective attacks."
311,COLDBLOODED,Cold Blooded,"Fire & sunlight boosts speed. Ice & hail lowers it."
312,IRONHIDE,Iron Hide,"Resists contact moves, but Water reduces speed."
313,ETHEREALBODY,Ethereal Body,"The user ignores damage from contact moves."
314,PHANTOMIMAGE,Phantom Image,"Evasion scales higher against slower foes."
315,PATRIARCHY,Patriarchy,"Boosts damage when there are only male allies."
316,MATRIARCHY,Matriarchy,"Boosts damage when there are only female allies."
317,UNDERDOG,Underdog,"Boosts damage dealt when at a disadvantage."
318,PACKLEADER,Pack Leader,"Boosts damage when in the lead position of the party."
319,POUNCE,Pounce,"The user gains priority on its first turn."
320,NINELIVES,Nine Lives,"The user may use up some lives to survive a KO."
321,BADBLOOD,Bad Blood,"Boosts Attack each turn when locked in a blood feud."
322,WILDTANTRUM,Wild Tantrum,"Rage builds when struck, boosting Attack."
323,HEADACHE,Headache,"Boosts the user's Sp. Atk each turn spent confused."
324,NUMBINGPOISON,Numbing Poison,"Moves that inflict poison may paralyze instead."
325,SEARINGPOISON,Searing Poison,"Moves that inflict poison may burn instead."
326,OUTBREAK,Outbreak,"Spreads the user's status conditions when struck."
327,SWEETDREAMS,Sweet Dreams,"Pokémon restore a little HP each turn spent asleep."
328,NIGHTTERRORS,Night Terrors,"Thrashes while asleep & strikes all nearby Pokémon."
329,DELIVERY,Delivery,"Passes a held item to a foe upon entry."
330,GRAVEROBBER,Graverobber,"Immediately steals a fainted battler's held item."
331,SOLIDARITY,Solidarity,"The user recognizes foes with the same Nature."
332,MUTATE,Mutate,"Changes form based on the selected move."
333,MIDNIGHTCURSE,Midnight Curse,"Changes the user's form based on the time of day."
334,DAYLIGHTRUSH,Daylight Rush,"Boosts damage if the user is the first to move."
335,TWILIGHTSHIFT,Twilight Shift,"The user's stats change at the start of each turn."
336,MOONLITFRENZY,Moonlit Frenzy,"Immediately retaliates when struck with an attack."
337,ASTRALPLANE,Astral Plane,"Adds the Ghost-type to all Pokémon on the field."
338,PETRIFYINGGAZE,Petrifying Gaze,"Adds the Rock-type to foes upon entry."
339,PHEROMONELURE,Pheromone Lure,"Opposite-gendered Pokémon may not escape."
340,SEEDPARASITE,Seed Parasite,"Seeds an attacker that KO's the user on contact."
341,SPIKEBURST,Spike Burst,"Scatters spikes when a Pokémon makes contact."
342,COLORAURA,Color Aura,"The opposing foe's color affects the user's mood."
343,DANCINGPANIC,Dancing Panic,"Reverses stat changes of other's dance moves."
344,BOUNTYHUNTER,Bounty Hunter,"Collects rewards when a bounty target is KO'd."
345,HONEYFRENZY,Honey Frenzy,"Honey heals HP. Mindlessly strikes others who hold it."
346,GRIZZLYGUARD,Grizzly Guard,"Guards allies from harm & raises Attack when hit."
347,HIVEMIND,Hive Mind,"Commands ally Pokémon to shield it from harm."
348,GAMBLER,Gambler,"Rolls a pair of dice each turn for random effects."
349,LUCKY7,Lucky 7,"The user's luck kicks in every seventh turn."
350,COUNTDOWN,Countdown,"The user detonates after its countdown reaches 0."
- Ability: Leeching Fangs
Effect: Restores a little HP when using biting moves.
Notes: Heals 1/16th of the user's total HP after striking a target with a biting move that makes contact. HP healed is increased by 30% if the user is holding a Big Root. This ability will not trigger if under the effects of Heal Block. The user will be damaged instead if this ability triggers on a target with Liquid Ooze.
Suggested Users:
Spoiler:Zubat, Golbat, Crobat, Gligar, Gliscor, Woobat, Swoobat, Eelektrik, Eelektross, Noibat, Noivern
- Ability: Echo Lock
Effect: The user's sound-based moves never miss.
Notes: The user's sound-based moves become never-miss moves, and skip accuracy checks.
Suggested Users:
Spoiler:Zubat, Golbat, Crobat, Wailmer, Wailord, Woobat, Swoobat, Noibat, Noivern
- Ability: Inflatable*
Effect: Inhales wind-based moves to expand the body & boost defense.
Notes: Inhales wind-based moves, negating damage of the attack. Also increases Defense by 1 stage when struck by a move of this kind. The user's weight is also increased with each wind move inhaled. Add the "q" flag to moves to make them wind moves.
Suggested Users:
Spoiler:Jigglypuff, Wigglytuff, Koffing, Weezing, Drifloon, Drifblim
Additional Installations:
Spoiler:- In PokeBattle_Move, make sure this is installed below "def danceMove?"
Code:def windMove?; return @flags[/q/]; end # Custom Ability - Inflation/Wind Rider
- In your moves PBS file, add the "q" flag to any moves that should be designated as "wind" moves.
Suggested Moves: Silver Wind, Twister, Fairy Wind, Vacuum Wave, Aeroblast, Air Cutter, Air Slash, Gust, Hurricane, Ominous Wind, Icy Wind, Razor Wind
- In PokeBattle_Move, make sure this is installed below "def danceMove?"
- Ability: Wind Rider
Effect: Boosts speed when struck with strong winds.
Notes: Damage from wind-based moves is negated, and the user's Speed is increased by 1 stage when struck by a move of this kind. The user's weight is also decreased when struck by a wind-based move. If the user is on the field during the Strong Winds weather, its Speed stat is doubled. Add the "q" flag to moves to make them wind moves.
Suggested Users:
Spoiler:Hoppip, Skiploom, Jumpluff, Wingull, Pelipper, Chimecho, Drifloon, Drifblim, Carnivine, Cottonee, Whimsicott, Tornadus-I, Thundurus-I, Landorus-I, Flabebe, Floette
Additional Installations:
Spoiler:- In PokeBattle_Move, make sure this is installed below "def danceMove?"
Code:def windMove?; return @flags[/q/]; end # Custom Ability - Inflation/Wind Rider
- In your moves PBS file, add the "q" flag to any moves that should be designated as "wind" moves.
Suggested Moves: Silver Wind, Twister, Fairy Wind, Vacuum Wave, Aeroblast, Air Cutter, Air Slash, Gust, Hurricane, Ominous Wind, Icy Wind, Razor Wind
- In PokeBattle_Move, make sure this is installed below "def danceMove?"
- Ability: Cannon Fire
Effect: Powers up the user's bomb and blast attacks.
Notes: All of the user's moves flagged as bomb moves have their base damage increased by 50%.
Suggested Users:
Spoiler:Blastoise, Mega Blastoise, Golem (Alolan), Octillery, Kingdra, Rhyperior, Magmortar, Genesect, Clawitzer, Vikavolt
- Ability: Sharpshooter*
Effect: Non-contact moves always hit their mark.
Notes: All of the user's damaging moves that do not make contact become never-miss moves, and skip accuracy checks. Non-contact moves also ignore misdirection from effects such as Follow Me, and abilities like Lightning Rod.
Suggested Users:
Spoiler:Mega Blastoise, Remoraid, Octillery, Kingdra, Genesect, Clawitzer, Dartrix, Decidueye, Vikavolt, Inteleon
Additional Installations:
Spoiler:- In Battler_UseMove_Targeting, under line "return targets if move.cannotRedirect?", add this:
Code:#=========================================================================== # Custom Ability - Sharpshooter #=========================================================================== return targets if user.hasActiveAbility?(:SHARPSHOOTER) && move.damagingMove? && !move.contactMove? #===========================================================================
- In Battler_UseMove_Targeting, under line "return targets if move.cannotRedirect?", add this:
- Ability: Sharp Edge*
Effect: Boosts the power of slashing and blade moves.
Notes: All of the user's moves flagged as sword moves have their base damage increased by 20%. Add the "p" flag to moves to make them sword moves.
Suggested Users:
Spoiler:Farfetch'd, Scyther, Kabutops, Absol, Kriketune, Leafeon, Gallade, Pawniard, Bisharp, Keldeo, Honedge, Doublade, Kartana, Zacian (Crowned Sword)
Additional Installations:
Spoiler:- In PokeBattle_Move, add this below the line "def danceMove?"
Code:def swordMove?; return @flags[/p/]; end # Custom Ability - Sharp Edge
- In your moves PBS file, add the "p" flag to any moves that should be designated as "sword" moves.
Suggested Moves: X-Scissor, Night Slash, Sacred Sword, Secret Sword, Aerial Ace, Air Slash, Leaf Blade, Solar Blade, Cross Poison, Psycho Cut, Behemoth Blade, Razor Shell, Cut, False Swipe, Slash
- In PokeBattle_Move, add this below the line "def danceMove?"
- Ability: Spellcaster
Effect: Powers up Fire, Ice, and Electric-type special attacks.
Notes: Increases the base damage of special moves of the listed types by 20%.
Suggested Users:
Spoiler:Clefairy, Clefable, Abra, Kadabra, Alakazam, Togepi, Togetic, Togekiss, Misdreavus, Mismagius, Unown, Jirachi, Gothita, Gothorita, Gothitelle, Braixen, Delphox, Drampa, Hatenna, Hattrem, Hatterene
- Ability: Icy Veins*
Effect: Boosts the user's Ice and Water-type moves in hail.
Notes: Increases the base damage of Ice and Water moves by 30%. The user is also immune to Hail damage.
Suggested Users:
Spoiler:Seel, Dewgong, Lapras, Piplup, Prinplup, Empoleon, Cubchoo, Beartic, Kyurem
Additional Installations:
Spoiler:- In PokeBattle_Battler, find "def takesHailDamage?" and add :ICYVEINS to the hasActiveAbility array, so it looks like this:
Code:return false if hasActiveAbility?([:OVERCOAT,:ICEBODY,:SNOWCLOAK,:ICYVEINS]) # Custom Ability - Icy Veins
- In PokeBattle_Battler, find "def takesHailDamage?" and add :ICYVEINS to the hasActiveAbility array, so it looks like this:
- Ability: Crystallized*
Effect: Reduces damage from super-effective attacks.
Notes: This is a reskin of Solid Rock and Filter, to be used by Ice-type Pokemon.
Suggested Users:
Spoiler:Glalie, Regice, Cryogonal, Kyurem, Amaura, Aurorus, Bergmite, Avalugg, Glastrier
Additional Installations:
Spoiler:- In BattleHandlers_Abilities, find the code for the Filter ability, and add Crystallized to the list of abilities that copies its effect, so it looks like this:
Code:BattleHandlers::DamageCalcTargetAbility.copy(:FILTER,:SOLIDROCK,:CRYSTALLIZED) # Custom Ability - Crystallized
- In BattleHandlers_Abilities, find the code for the Filter ability, and add Crystallized to the list of abilities that copies its effect, so it looks like this:
- Ability: Cold Blooded
Effect: Fire & sunlight boosts speed. Ice & hail lowers it.
Notes: Various conditions apply to the user based on heat and cold:
Heat conditions:- The user is 25% more resistant to Fire-type moves.
- The user's Speed stat increases by 50% while in the sun.
- The user's Speed increases by 1 stage each time it is struck by a Fire-type attack.
- The user is 25% weaker to Ice-type moves.
- The user's Speed stat is halved while in a hailstorm.
- The user's Speed is reduced by 1 stage each time it is struck by an Ice-type attack.
Suggested Users:
Spoiler:Bulbasaur, Ivysaur, Venusaur, Charmander, Charmeleon, Charizard, Ekans, Arbok, Dratini, Dragonair, Dragonite, Totodile, Croconaw, Feraligatr, Politoed, Treecko, Grovyle, Sceptile, Seviper, Croagunk, Toxicroak, Snivy, Servine, Serperior, Seismitoad, Sandile, Krokorok, Krookodile, Scraggy, Scrafty, Druddigon, Froakie, Frogadier, Greninja, Helioptile, Heliolisk, Jangmo-o, Hakamo-o, Kammo-o, Soble, Drizzile, Inteleon
- Ability: Iron Hide
Effect: Resists contact moves, but Water reduces speed.
Notes: Damage from contact moves against the user is halved. However, the user will rust when struck by a Water-type move, reducing its Speed by 1 stage each time.
Suggested Users:
Spoiler:Forretress, Steelix, Skarmory, Aron, Lairon, Aggron, Beldum, Metang, Metagross, Registeel, Celesteela, Magearna, Stakataka, Melmetal, Copperajah, Duraludon, Zamazenta (Crowned Shield)
- Ability: Ethereal Body
Effect: The user ignores damage from contact moves.
Notes: The user lacks a solid physical form, and thus contact moves have no effect.
Suggested Users:
Spoiler:Gastly, Misdreavus, Shuppet, Duskull, Froslass, Rotom (Normal), Marshadow
- Ability: Phantom Image
Effect: Evasion scales higher against slower foes.
Notes: The user's gains an evasion multiplier based on how much higher its Speed stat is vs. the attacking opponent.
Evasion scaling:- If the user's speed is at least double the opponent's speed: Evasion x2.
- If the user's speed is at least 50% higher than the opponent's speed: Evasion x1.5
- If the user's speed is at least 25% higher than the opponent's speed: Evasion x1.25
Suggested Users:
Spoiler:Crobat, Ninjask, Weavile, Accelgor, Frogadier, Greninja, Marshadow
- Ability: Patriarchy
Effect: Boosts damage when there are only male allies.
Notes: When in a battle with one or more allies on the field, all ally Pokemon receive a 25% boost to all damage dealt if they are all male.
Suggested Users:
Spoiler:Nidoking, Tauros, Volbeat, Latios, Mothim, Gallade, Braviary, Pyroar (M)
- Ability: Matriarchy
Effect: Boosts damage when there are only female allies.
Notes: When in a battle with one or more allies on the field, all ally Pokemon receive a 25% boost to all damage dealt if they are all female.
Suggested Users:
Spoiler:Nidoqueen, Kangaskhan, Jynx, Illumise, Latias, Wormadam, Vespiquen, Mandibuzz, Florges, Pyroar (F), Tsareena, Salazzle
- Ability: Underdog
Effect: Boosts damage dealt when at a disadvantage.
Notes: The user gains a bonus to its base damage based on a variety of factors.
Bonus factors:- If the opponent has six stat boosts or more compared to the user (bonus = +50%)
- If the opponent has three stat boosts or more compared to the user (bonus = +30%)
- If the opponent has at least one more stat boost compared to the user (bonus = +20%)
- If the opponent is 10 or more levels higher than the user (bonus = +50%)
- If the opponent's HP is at half or higher while the user's HP is at 1/8th or below (bonus = +30%)
- If the opponent's status is healthy while the user is suffering from one (bonus = +20%)
Suggested Users:
Spoiler:Primeape, Farfetch'd, Hitmonchan, Magikarp, Ledian, Snubbull, Granbull, Houndour, Houndoom, Smeargle, Tyrogue, Meditite, Medicham, Riolu, Lucario, Pignite, Emboar, Throh, Sawk, Scraggy, Scrafty, Pawniard, Bisharp, Rufflet, Braviary, Pancham, Pangoro, Hawlucha, Incineroar, Crabrawler, Crabominable, Rockruff, Lycanroc, Passimian, Marshadow
- Ability: Pack Leader
Effect: Boosts damage when in the lead position of the party.
Notes: The user's base damage for all attacks is increased by 50% if they occupy the lead party slot. The party must contain at least 4 battle-able Pokemon for this boost to take effect. Changing the party order during battle through switching does not affect this ability.
Suggested Users:
Spoiler:Raticate (Alolan), Arcanine, Houndoom, Mightyena, Manectric, Vespiquen, Lucario, Stoutland, Scrafty, Bisharp, Pyroar (M), Lycanroc (Midday Form), Passimian, Boltund, Obstagoon
- Ability: Pounce
Effect: The user gains priority on its first turn.
Notes: All of the user's moves gain +1 priority only during its first turn on the field.
Suggested Users:
Spoiler:Persian, Skitty, Delcatty, Glameow, Purugly, Purrloin, Liepard, Pyroar (Female), Litten, Torracat
- Ability: Nine Lives*
Effect: The user may use up some lives to survive a KO.
Notes: The user will survive attacks that would otherwise KO it with 1 HP remaining, as long as it has at least one "life" remaining to be used. The user always starts out with 9 lives at the start of each battle, but lives will be consumed each time the ability kicks in to save the user from being KO'd. The Pokemon's life counter is not reset upon switching out, and will only reset after battle. The user must have more than 1 HP when hit to survive the attack, otherwise this ability will not activate. This ability will not save Pokemon from being KO'd by indirect damage, only attacking moves or moves that instantly set the Pokemon's HP to zero (OHKO).
Life costs:- 1 Life: The user is KO'd by an attack from a Pokemon that is 10 or more levels lower than the user.
- 2 Lives: The user is KO'd by an attack when its HP is critical (below 25%).
- 3 Lives: The user is KO'd by the effects of Destiny Bond.
- 4 Lives: The user is KO'd by the effects of Perish Song.
- 5 Lives: The user is KO'd by an attack when its HP is above 25%.
- 6 Lives: The user is KO'd by an attack when its HP is above 50%.
- 7 Lives: The user is KO'd by an attack when it is at full HP.
- 8 Lives: The user is KO'd by a OHKO move.
- 9 Lives: The user is KO'd by an attack from a Pokemon that is 10 or more levels higher than the user.
Suggested Users:
Spoiler:Meowth, Persian, Meowth (Alolan), Persian (Alolan), Vulpix, Ninetales, Skitty, Delcatty, Glameow, Purugly, Purrloin, Liepard, Litleo, Pyroar, Espurr, Meowstic, Litten, Torracat, Zeraora
Additional Installations:
Spoiler:- In Battler_UseMove_TriggerEffects, find the code for Destiny Bond that looks like this:
Spoiler:Code:if user.effects[PBEffects::DestinyBondTarget]>=0 && !user.fainted? dbName = @battle.battlers[user.effects[PBEffects::DestinyBondTarget]].pbThis @battle.pbDisplay(_INTL("{1} took its attacker down with it!",dbName)) user.pbReduceHP(user.hp,false) user.pbItemHPHealCheck user.pbFaint @battle.pbJudgeCheckpoint(user) end
Code:if user.effects[PBEffects::DestinyBondTarget]>=0 && !user.fainted? dbName = @battle.battlers[user.effects[PBEffects::DestinyBondTarget]].pbThis @battle.pbDisplay(_INTL("{1} took its attacker down with it!",dbName)) #========================================================================= # Custom Ability - Nine Lives #========================================================================= if user.hasActiveAbility(:NINELIVES) && user.hp>1 && user.lives>0 user.pokemon.lives=(user.lives-3) user.pbReduceHP(user.hp-1,false) user.pbItemHPHealCheck else user.pbReduceHP(user.hp,false) user.pbItemHPHealCheck user.pbFaint @battle.pbJudgeCheckpoint(user) end #========================================================================= end
- In Move_Usage, above the line "elsif damage==target.totalhp", add this:
Code:#========================================================================= # Custom Ability - Nine Lives #========================================================================= elsif target.hasActiveAbility?(:NINELIVES) && [email protected] && target.hp>1 && target.lives>0 if user.level>=target.level+10 # 9 lives used if attacker is 10+ lvls higher target.pokemon.lives=(0) elsif user.level<=target.level-10 # 1 life used if attacker is 10+ lvls lower target.pokemon.lives=(target.lives-1) elsif damage==target.totalhp # 7 lives used if KO'd at full HP target.pokemon.lives=(target.lives-7) elsif damage>=target.totalhp/2 # 6 lives used if KO'd at 1/2 HP target.pokemon.lives=(target.lives-6) elsif damage>=target.totalhp/4 # 5 lives used if KO'd at 1/4 HP target.pokemon.lives=(target.lives-5) else # 2 lives used if K0'd at >1/4 HP target.pokemon.lives=(target.lives-2) end damage -= 1 #=========================================================================
- In the same section, above the line "elsif target.damageState.focusSash", add this:
Code:#=========================================================================== # Custom Ability - Nine Lives #=========================================================================== elsif target.pokemon.lives<9 && target.hp==1 @battle.pbShowAbilitySplash(target) text="life" if target.lives==1 text="lives" if target.lives>1 @battle.pbDisplay(_INTL("{1} hung on by using up some of its Nine Lives!",target.pbThis)) @battle.pbDisplay(_INTL("{1} has no more lives left!",target.pbThis)) if target.lives<=0 @battle.pbDisplay(_INTL("{1} only has {2} {3} remaining!",target.pbThis,target.lives,text)) if target.lives>0 target.pokemon.lives=(0) if target.lives<0 @battle.pbHideAbilitySplash(target) #===========================================================================
- In Move_Effects_000-07F, find the code for OHKO moves, and replace the entire "def pbFixedDamage" code with this:
Code:def pbFixedDamage(user,target) #=========================================================================== # Custom Ability - Nine Lives #=========================================================================== if target.hasActiveAbility?(:NINELIVES) && [email protected] && target.hp>1 && target.lives>0 target.pokemon.lives=(pkmn.lives-8) return target.hp-1 else return target.totalhp end #=========================================================================== end
- In Battle_StartAndEnd, below the line "pkmn.setItem(@initialItems[0] || 0)", add this:
Code:#========================================================================= pkmn.lives=(9) # Custom Ability - Nine Lives #=========================================================================
Spoiler:Code:# Perish Song perishSongUsers = [] priority.each do |b| next if b.fainted? || b.effects[PBEffects::PerishSong]==0 b.effects[PBEffects::PerishSong] -= 1 pbDisplay(_INTL("{1}'s perish count fell to {2}!",b.pbThis,b.effects[PBEffects::PerishSong])) if b.effects[PBEffects::PerishSong]==0 perishSongUsers.push(b.effects[PBEffects::PerishSongUser]) b.pbReduceHP(b.hp) end b.pbItemHPHealCheck b.pbFaint if b.fainted? end
Code:# Perish Song perishSongUsers = [] priority.each do |b| next if b.fainted? || b.effects[PBEffects::PerishSong]==0 b.effects[PBEffects::PerishSong] -= 1 pbDisplay(_INTL("{1}'s perish count fell to {2}!",b.pbThis,b.effects[PBEffects::PerishSong])) if b.effects[PBEffects::PerishSong]==0 perishSongUsers.push(b.effects[PBEffects::PerishSongUser]) #======================================================================= # Custom Ability - Nine Lives #======================================================================= if b.hasActiveAbility(:NINELIVES) && b.hp>1 && b.lives>0 b.pokemon.lives=(b.lives-4) b.pbReduceHP(b.hp-1) else b.pbReduceHP(b.hp) end #======================================================================= end
[*]Ability: Bad Blood
Effect: Boosts Attack each turn when locked in a blood feud.
Notes: If two Pokemon of different species are on the field with this Ability, they become locked in a blood feud and are no longer able to escape. At the end of each turn, all Pokemon with this ability will have their Attack raised by 1 stage for each Pokemon on the field they have a blood feud with. This affects Pokemon even if they are on the same side. However, Pokemon on the same side that are caught in a blood feud are still able to switch out.
Suggested Users:
Spoiler:Zangoose, Seviper
[*]Ability: Wild Tantrum
Effect: Rage builds when struck, boosting Attack.
Notes: The user gains the Rage effect upon entering battle, increasing its Attack by 1 stage each time its struck by an attack.
Suggested Users:
Spoiler:Nidoking, Mankey, Primeape, Tauros, Gyarados, Feraligatr, Ursaring, Tyranitar, Sharpedo, Infernape, Rampardos, Darmanitan, Haxorus, Beartic, Druddigon, Bouffalant, Basculin, Deino, Zweilous, Hydreigon, Barbaricle, Tyrantrum, Lycanroc (Midnight Form), Perrserker, Zarude
[*]Ability: Headache
Effect: Boosts the user's Sp. Atk each turn spent confused.
Notes: The user's Sp.Atk increases by 1 stage at the end of each turn while confused.
Suggested Users:
Spoiler:Psyduck, Golduck
[*]Ability: Numbing Poison*
Effect: Moves that inflict poison may paralyze instead.
Notes: All moves and effects that would normally inflict poison will now inflict paralysis instead while this ability is active. Status moves that would normally inflict Poison, such as Toxic will no longer fail on Pokemon that would normally be immune to it (Steel-types, Poison-types, etc). However, Pokemon that are immune to Paralysis will now be immune to it instead.
Suggested Users:
Spoiler:Ekans, Arbok, Tentacool, Tentacruel, Spinarak, Ariados, Seviper, Skorupi, Drapion, Joltik, Galvantula, Toxtricity
Additional Installations:
Spoiler:- In Move_Effects_Generic, replace the entire class PokeBattle_PoisonMove with this:
Code:class PokeBattle_PoisonMove < PokeBattle_Move def initialize(battle,move) super @toxic = false end def pbFailsAgainstTarget?(user,target) return false if damagingMove? # Custom Ability - Numbing/Searing Poison if user.hasActiveAbility?(:NUMBINGPOISON) return !target.pbCanParalyze?(user,true,self) elsif user.hasActiveAbility?(:SEARINGPOISON) return !target.pbCanBurn?(user,true,self) else return !target.pbCanPoison?(user,true,self) end end def pbEffectAgainstTarget(user,target) return if damagingMove? # Custom Ability - Numbing/Searing Poison if user.hasActiveAbility?(:NUMBINGPOISON) target.pbParalyze(user) elsif user.hasActiveAbility?(:SEARINGPOISON) target.pbBurn(user) else target.pbPoison(user,nil,@toxic) end end def pbAdditionalEffect(user,target) return if target.damageState.substitute # Custom Ability - Numbing/Searing Poison if user.hasActiveAbility?(:NUMBINGPOISON) target.pbParalyze(user) if target.pbCanParalyze?(user,false,self) elsif user.hasActiveAbility?(:SEARINGPOISON) target.pbBurn(user) if target.pbCanBurn?(user,false,self) else target.pbPoison(user,nil,@toxic) if target.pbCanPoison?(user,false,self) end end end
Note that this installs the code for Searing Poison as well.
[*]Ability: Searing Poison*
Effect: Moves that inflict poison may burn instead.
Notes: All moves and effects that would normally inflict poison will now inflict burn instead while this ability is active. Status moves that would normally inflict Poison, such as Toxic will no longer fail on Pokemon that would normally be immune to it (Steel-types, Poison-types, etc). However, Pokemon that are immune to Burn will now be immune to it instead.
Suggested Users:
Spoiler:Ekans, Arbok, Tentacool, Tentacruel, Spinarak, Ariados, Seviper, Skorupi, Drapion, Salandit, Salazzle, Naganadel
Additional Installations:
Spoiler:- See Additional Installations for Numbing Poison.
[*]Ability: Outbreak
Effect: Spreads the user's status conditions when struck.
Notes: If the user is suffering from poison, burn, or paralysis; its condition will spread to any Pokemon that strikes it with a contact move.
Suggested Users:
Spoiler:Grimer, Muk, Yamask, Co***rigus, Trubbish, Garbodor, Solosis, Duosion, Reuniclus
[*]Ability: Sweet Dreams
Effect: Pokémon restore a little HP each turn spent asleep.
Notes: At the end of each turn, any sleeping Pokemon near the user will restore 1/8th of their max HP. This applies to the user as well. This effect fails if the sleeping Pokemon is under the effects of Heal Block.
Suggested Users:
Spoiler:Cresselia, Munna, Musharna
[*]Ability: Night Terrors
Effect: Thrashes while asleep & strikes all nearby Pokémon.
Notes: At the end of each turn spent asleep, the user will lash out while sleeping and attacks all nearby Pokemon on the field with a typeless, 40BP physical attack. Damage dealt with this attack is doubled if the user is under the effects of Nightmare, or a Pokemon with the Bad Dreams ability is near the user. If a Pokemon with the Sweet Dreams ability is near the user, this ability will not activate.
Suggested Users:
Spoiler:Snorlax, Ursaring, Vigoroth, Slaking
[*]Ability: Delivery
Effect: Passes a held item to a foe upon entry.
Notes: When the user is sent out, it will pass its held item on to the first viable opponent. An opponent is only viable if they are near the user, are not holding an item, and are not out of range due to certain two-turn attacks such as Fly or Dig.
Suggested Users:
Spoiler:Chansey, Kangaskhan, Dragonite, Delibird, Combee, Happiny, Passimian
[*]Ability: Grave Robber
Effect: Immediately steals a fainted battler's held item.
Notes: Whenever any nearby Pokemon on the field faints, the user will immediately steal their held item. It doesn't matter if the fainted Pokemon is an ally or a foe. This ability will fail to activate if the fainted Pokemon isn't holding an item, or if the fainted Pokemon is holding an unstealable item. The user will automatically consume the stolen item if the item can be used at the time it was stolen.
Suggested Users:
Spoiler:Marowak, Dusknoir, Cofagrigus, Mandibuzz
[*]Ability: Solidarity
Effect: The user recognizes foes with the same Nature.
Notes: The user will identify any opponents on the field that share the same nature as the user.
Suggested Users:
Spoiler:Happini, Chansey, Blissey, Eevee, Togepi, Togetic, Togekiss, Delibird, Ralts, Kirlia, Gardevoir, Luvdisc, Uxie, Mesprit, Azelf, Audino, Elgyem, Beheeyem, Vivillon, Magearna, Indeedee
[*]Ability: Mutate*
Effect: Changes form based on the selected move.
Notes: Before attacking, Deoxys will change into one of its forms based on the selected move.
Form changes:
- Speed Forme: Changes into this form when "speed" moves such as Agility, Extreme Speed, and Swift are selected.
- Defense Forme: Changes into this form when a "defense" move such as Recover, Rest, and Amnesia are selected.
- Attack Forme: Changes into this form when any damaging move not listed in the above categories is selected.
- Normal Forme: Reverts into this form when a move not listed in any of the above categories is selected.
Suggested Users:
Spoiler:Deoxys
Additional Installations:
Spoiler:- In Battler_UseMove, paste all of the following right above the line "# Stance Change":
Code:#=========================================================================== # Custom Ability - Mutate #=========================================================================== if isSpecies?(:DEOXYS) && isConst?(@ability,PBAbilities,: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 isConst?(move.id,PBMoves,i); end for i in defensemoves; defenseform=true if isConst?(move.id,PBMoves,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 #===========================================================================
[*]Ability: Midnight Curse*
Effect: Changes the user's form based on the time of day.
Notes: Upon entering battle, Lycanroc will change into one of its forms based on the time of day. After changing form, this ability will change into a new ability that suits Lycanroc's current form. Make sure each Lycanroc form has this ability listed in the same ability slot for this to work. This ability will only trigger while outdoors. The following abilities must also be installed for this ability to function as intended: Daylight Rush, Twilight Shift, Moonlit Frenzy.
Form changes:
- Midday Form: Changes into this form during daylight hours. This ability changes into Daylight Rush.
- Dusk Form: Changes into this form during evening hours. This ability changes into Twilight Shift.
- Midnight Form: Changes into this form during night hours. This ability changes into Moonlit Frenzy.
Suggested Users:
Spoiler:Lycanroc (all forms)
Additional Installations:
Spoiler:- In Battler_ChangeSelf, find the line "@hp = @totalhp-oldDmg" in def pbChangeForm, and paste this below it:
Code:@hp = 1 if @hp<1 # Custom Ability - Midnight Curse
[*]Ability: Daylight Rush
Effect: Boosts damage if the user is the first to move.
Notes: When the user attacks before any other Pokemon on the field has had the chance to act, the base damage of its attack is increased by 30% this turn. Pokemon using their turn to switch out or use an item does not count as an action. This ability may only trigger during the day, or while the weather is sunny.
Suggested Users:
Spoiler:Lycanroc (Midday Form)
Notes: This ability does not need to be set on Lycanroc if using Midnight Curse, as that ability automatically changes into this ability when appropriate.
[*]Ability: Twilight Shift*
Effect: The user's stats change at the start of each turn.
Notes: At the start of each turn, the user phases between favoring daylight or moonlight. This ability may only trigger during evening hours.
Phase effects:
- Daylight: The user's Speed stat is increased by 2 stages. Any accumulated moonlight boosts are negated.
- Moonlight: The user's Attack and Defense are both increased by 1 stage. Any accumulated daylight boosts are negated.
Suggested Users:
Spoiler:Lycanroc (Dusk Form)
Notes: This ability does not need to be set on Lycanroc if using Midnight Curse, as that ability automatically changes into this ability when appropriate.
Additional Installations:
Spoiler:- In Battle_Phase_Attack, above the line "@choices[b.index][2].pbDisplayChargeMessage(b)", make sure this is installed:
Code:#========================================================================= # Custom Ability - Start of Round Ability Trigger #========================================================================= BattleHandlers.triggerSOREffectAbility(b.ability,b,self) if b.abilityActive? #=========================================================================
[*]Ability: Moonlit Frenzy
Effect: Immediately retaliates when struck with an attack.
Notes: Whenever the user is struck by an attack that deals damage, it immediately counter-attacks with a weak, typeless physical attack. This effect can trigger multiple times per turn. This ability cannot trigger if the user is asleep or frozen, or out of range of the attacking Pokemon. This ability will also not trigger if the user was KO'd before it could counter-attack. This ability may only trigger during the nighttime.
Suggested Users:
Spoiler:Lycanroc (Midnight Form)
Notes: This ability does not need to be set on Lycanroc if using Midnight Curse, as that ability automatically changes into this ability when appropriate.
[*]Ability: Astral Plane*
Effect: Adds the Ghost-type to all Pokémon on the field.
Notes: As long as a Pokemon on the field has this ability, all battlers have the Ghost-type added to them as a third type (including the user). This is a constant effect, so even new Pokemon switching in to battle will be under these effects. If the user of this ability faints or switches out, this effect ends, and all Pokemon will have the extra Ghost-typing removed. If a Pokemon has their third type changed to something else by the effects of a move (ex: Forest's Curse), this ability will immediately override the effects of that move, and return it to Ghost. This ability has no effect on Pokemon that already have the Ghost-type.
Suggested Users:
Spoiler:Xatu, Mega Medicham, Spiritomb, Dusknoir, Cresselia, Giratina, Darkrai, Musharna, Sigilyph, Marshadow, Spectrier
Additional Installations:
Spoiler:- In Battler_AbilityAndItem, at the bottom of "def pbAbilitiesOnFainting", add this:
Code:#=========================================================================== # Custom Ability - Astral Plane #=========================================================================== newType = getConst(PBTypes,:GHOST) if self.fainted? && hasConst?(PBAbilities,:ASTRALPLANE) @battle.pbPriority(true).each do |b| if b.effects[PBEffects::Type3]==newType b.effects[PBEffects::Type3] = -1 end end end #===========================================================================
- Next, in the same section, find the line "# Trace" and paste this above it:
Code:#=========================================================================== # Custom Ability - Astral Plane #=========================================================================== newType = getConst(PBTypes,:GHOST) if @battle.pbCheckGlobalAbility(:ASTRALPLANE) @battle.eachBattler do |b| next if b.pbHasType?(newType) next if !b.pbHasOtherType?(newType) b.effects[PBEffects::Type3] = newType end end #===========================================================================
[*]Ability: Petrifying Gaze
Effect: Adds the Rock-type to foes upon entry.
Notes: Upon entering battle, all nearby foes are given the Rock-type as a third type. This ability cannot target Pokemon if they are out of range due to the effects of certain two-turn attacks such as Fly or Dig. This ability has no effect on Pokemon that already have the Rock-type.
Suggested Users:
Spoiler:Ekans, Arbok, Jynx, Sableye, Seviper, Duskull, Dusclops, Dusknoir, Serperior, Watchog, Gothitelle, Silicobra, Sandaconda
[*]Ability: Pheromone Lure
Effect: Opposite-gendered Pokémon may not escape.
Notes: While a Pokemon with this ability is on the field, opposing Pokemon of the opposite gender of the user cannot switch out. This ability has no effect if the user or switching Pokemon is genderless. If two opposing Pokemon are on the field with this ability and have opposing genders, they will both be trapped by each other's abilities.
Suggested Users:
Spoiler:Butterfree, Jynx, Eevee, Milotic, Wormadam, Vespiquen, Lopunny, Togekiss, Lilligant, Gothitelle, Florges, Aromatisse, Primarina, Salazzle, Tsareena, Pheromosa
[*]Ability: Seed Parasite
Effect: Seeds an attacker that KO's the user on contact.
Notes: When the user is KO'd by an attacker's contact move, the Leech Seed effect is applied to that attacking Pokemon. This ability fails to activate if the attacker is Grass-type, or already under the effects of Leech Seed.
Suggested Users:
Spoiler:Paras, Parasect, Shroomish, Breloom, Foongus, Amoongus, Morelull, Shiinotic
[*]Ability: Spike Burst
Effect: Scatters spikes when a Pokémon makes contact.
Notes: Whenever the user is struck by a contact move, it spits a layer of spikes on the attacker's side of the field. If the user is Poison-type, it will spit a layer of Toxic Spikes instead. This ability will fail to activate if the attacker's field already has the maximum layers of spikes. Spikes will be applied to your own side of the field if the attacker is one of the user's allies.
Suggested Users:
Spoiler:Sandslash, Forretress, Qwilfish, Roselia, Roserade, Cacnea, Cacturne, Maractus, Ferroseed, Ferrothorn, Stunfisk (Galarian), Mareanie, Toxapex, Togedemaru, Turtonator, Pincurchin
[*]Ability: Color Aura
Effect: The color of the opposing Pokémon affects the user's mood.
Notes: When the user is sent out into battle, it gains a different effect based on the color of the Pokemon (found in its PBS data) directly opposing it.
Color effects:
- Red: Increases the user's Attack by 1 stage.
- Blue: Increases the user's Defense by 1 stage.
- Purple: Increases the user's Sp. Atk by 1 stage.
- Green: Increases the user's Sp. Def by 1 stage.
- Yellow: Increases the user's Speed by 1 stage.
- White: Increases the user's Accuracy by 1 stage.
- Black: Increases the user's Evasion by 1 stage.
- Brown: Increases the user's Critical Hit ratio (Focus Energy).
- Gray: The user's stats cannot be lowered.
- Pink: The user is immune to status effects.
Note that the Gray and Pink effects only last as long as a Pokemon of that color remains directly opposed to them. These effects end if that Pokemon moves positions or leaves the battlefield. Also keep in mind that the status immunity granted by the pink effect only prevents status conditions, it will not heal any existing statuses.
Suggested Users:
Spoiler:Butterfree, Ponyta (Galarian), Rapidash (Galarian), Muk (Alolan), Eevee, Mew, Togepi, Togetic, Togekiss, Smeargle, Ho-oh, Kecleon, Flabebe, Floette, Florges, Aurorus, Necrozma
[*]Ability: Dancing Panic*
Effect: Reverses stat changes from dance moves on other Pokémon.
Notes: As long as any Pokemon on the field has this ability, all Pokemon besides the user will have the effect of their stat-changing dance moves reversed.
Reversed dance moves:
- Swords Dance: Lowers the user's Attack by 2 stages.
- Dragon Dance: Lowers the user's Attack and Speed by 1 stage each.
- Quiver Dance: Lowers the user's Sp. Atk, Sp. Def, and Speed by 1 stage each.
- Feather Dance: Increases the target's Attack stat by 2 stages.
- Fiery Dance: May lower the user's Sp. Atk stat by 1 stage.
Suggested Users:
Spoiler:Marowak (Alolan Form), Mr. Mime (Galarian Form), Bellossom, Hitmontop, Kirlia, Gardevoir, Ludicolo, Spinda, Lilligant, Meloetta (Pirouette Form), Maractus, Oricorio, Mr. Rime
Additional Installations:
Spoiler:- In Move_Effects_Generic, replace the entire "class PokeBattle_StatUpMove" with this:
Spoiler:Code:class PokeBattle_StatUpMove < PokeBattle_Move def pbMoveFailed?(user,targets) return false if damagingMove? if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic return !user.pbCanLowerStatStage?(@statUp[0],user,self,true) else return !user.pbCanRaiseStatStage?(@statUp[0],user,self,true) end end def pbEffectGeneral(user) return if damagingMove? if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic user.pbLowerStatStage(@statUp[0],@statUp[1],user) else user.pbRaiseStatStage(@statUp[0],@statUp[1],user) end end def pbAdditionalEffect(user,target) if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic if user.pbCanLowerStatStage?(@statUp[0],user,self) user.pbLowerStatStage(@statUp[0],@statUp[1],user) end else if user.pbCanRaiseStatStage?(@statUp[0],user,self) user.pbRaiseStatStage(@statUp[0],@statUp[1],user) end end end end
- Next, replace the entire "class PokeBattle_MultiStatUpMove" with this:
Spoiler:Code:class PokeBattle_MultiStatUpMove < PokeBattle_Move def pbMoveFailed?(user,targets) return false if damagingMove? failed = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !user.pbCanLowerStatStage?(@statUp[i*2],user,self) failed = false break end if failed @battle.pbDisplay(_INTL("{1}'s stats won't go any lower!",user.pbThis)) return true end else for i in [email protected]/2 next if !user.pbCanRaiseStatStage?(@statUp[i*2],user,self) failed = false break end if failed @battle.pbDisplay(_INTL("{1}'s stats won't go any higher!",user.pbThis)) return true end end return false end def pbEffectGeneral(user) return if damagingMove? showAnim = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !user.pbCanLowerStatStage?(@statUp[i*2],user,self) if user.pbLowerStatStage(@statUp[i*2],@statUp[i*2+1],user,showAnim) showAnim = false end end else for i in [email protected]/2 next if !user.pbCanRaiseStatStage?(@statUp[i*2],user,self) if user.pbRaiseStatStage(@statUp[i*2],@statUp[i*2+1],user,showAnim) showAnim = false end end end end def pbAdditionalEffect(user,target) showAnim = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !user.pbCanLowerStatStage?(@statUp[i*2],user,self) if user.pbLowerStatStage(@statUp[i*2],@statUp[i*2+1],user,showAnim) showAnim = false end end else for i in [email protected]/2 next if !user.pbCanRaiseStatStage?(@statUp[i*2],user,self) if user.pbRaiseStatStage(@statUp[i*2],@statUp[i*2+1],user,showAnim) showAnim = false end end end end end
- Next, replace the entire "class PokeBattle_StatDownMove" with this:
Spoiler:Code:class PokeBattle_StatDownMove < PokeBattle_Move def pbEffectWhenDealingDamage(user,target) return if @battle.pbAllFainted?(target.idxOwnSide) showAnim = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !user.pbCanRaiseStatStage?(@statDown[i*2],user,self) if user.pbRaiseStatStage(@statDown[i*2],@statDown[i*2+1],user,showAnim) showAnim = false end end else for i in [email protected]/2 next if !user.pbCanLowerStatStage?(@statDown[i*2],user,self) if user.pbLowerStatStage(@statDown[i*2],@statDown[i*2+1],user,showAnim) showAnim = false end end end end end
- Then, replace the entire "class PokeBattle_TargetStatDownMove" with this:
Spoiler:Code:class PokeBattle_TargetStatDownMove < PokeBattle_Move def pbFailsAgainstTarget?(user,target) return false if damagingMove? if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic return !target.pbCanRaiseStatStage?(@statDown[0],user,self,true) else return !target.pbCanLowerStatStage?(@statDown[0],user,self,true) end end def pbEffectAgainstTarget(user,target) return if damagingMove? if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic target.pbRaiseStatStage(@statDown[0],@statDown[1],user) else target.pbLowerStatStage(@statDown[0],@statDown[1],user) end end def pbAdditionalEffect(user,target) return if target.damageState.substitute if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic return if !target.pbCanRaiseStatStage?(@statDown[0],user,self) target.pbRaiseStatStage(@statDown[0],@statDown[1],user) else return if !target.pbCanLowerStatStage?(@statDown[0],user,self) target.pbLowerStatStage(@statDown[0],@statDown[1],user) end end end
- Finally, replace the entire "class PokeBattle_TargetMultiStatDownMove" with this:
Spoiler:Code:class PokeBattle_TargetMultiStatDownMove < PokeBattle_Move def pbFailsAgainstTarget?(user,target) return false if damagingMove? failed = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !target.pbCanRaiseStatStage?(@statDown[i*2],user,self) failed = false break end else for i in [email protected]/2 next if !target.pbCanLowerStatStage?(@statDown[i*2],user,self) failed = false break end end if failed # NOTE: It's a bit of a faff to make sure the appropriate failure message # is shown here, I know. canLower = false if target.hasActiveAbility?(:CONTRARY) && [email protected] for i in [email protected]/2 next if target.statStageAtMax?(@statDown[i*2]) canLower = true break end @battle.pbDisplay(_INTL("{1}'s stats won't go any higher!",target.pbThis)) if !canLower else for i in [email protected]/2 next if target.statStageAtMin?(@statDown[i*2]) canLower = true break end @battle.pbDisplay(_INTL("{1}'s stats won't go any lower!",target.pbThis)) if !canLower end if canLower target.pbCanLowerStatStage?(@statDown[0],user,self,true) end return true end return false end def pbEffectAgainstTarget(user,target) return if damagingMove? showAnim = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !target.pbCanRaiseStatStage?(@statDown[i*2],user,self) if target.pbRaiseStatStage(@statDown[i*2],@statDown[i*2+1],user,showAnim) showAnim = false end end else for i in [email protected]/2 next if !target.pbCanLowerStatStage?(@statDown[i*2],user,self) if target.pbLowerStatStage(@statDown[i*2],@statDown[i*2+1],user,showAnim) showAnim = false end end end end def pbAdditionalEffect(user,target) return if target.damageState.substitute showAnim = true if pbReverseDanceEffect?(user) # Custom Ability - Dancing Panic for i in [email protected]/2 next if !target.pbCanRaiseStatStage?(@statDown[i*2],user,self) if target.pbRaiseStatStage(@statDown[i*2],@statDown[i*2+1],user,showAnim) showAnim = false end end else for i in [email protected]/2 next if !target.pbCanLowerStatStage?(@statDown[i*2],user,self) if target.pbLowerStatStage(@statDown[i*2],@statDown[i*2+1],user,showAnim) showAnim = false end end end end end
[*]Ability: Bounty Hunter*
Effect: Collects rewards when a bounty target is KO'd.
Notes: When the user is sent into battle, it assesses each opponent and determines if there is a "rare" Pokemon among them. If one is found, it marks that Pokemon as the bounty target. When the user scores the final blow on a bounty target, it collects its bounty reward, earning you bonus exp as well as extra cash you pick up at the end of the battle. The amount of extra exp and money you earn depends on the rarity of the bounty target, as well as the levels of both the user and the target. The user will also claim the bounty target's held item, if it isn't already carrying an item. You can't earn money or exp from this ability in Battle Facilities or in PvP battles.
How a "rare" Pokemon is determined:
Any Pokemon with a "Rareness" rating in its PBS data of 75 or below is considered a rare Pokemon by this ability. If the Pokemon is shiny, its rareness rating is halved when calculated by this ability. The lower this number is, the more rare the species is considered. If multiple rare species are present on the opponent's field, this ability searches for the rarest one among them, based on the above factors. If multiple Pokemon share the same rareness rating, this ability simply chooses the first viable target in the opponent's lineup to mark as the bounty target. The rarer a species is, the higher your base payout will be when collecting your bounty.
Suggested Users:
Spoiler:Meowth, Persian, Growlithe, Arcanine, Marowak, Sneasel, Weavile, Houndour, Houndoom, Mightyena, Sableye, Zangoose, Absol, Honchkrow, Lucario, Gallade, Stoutland, Krokorok, Krookodile, Escavalier, Bisharp, Mandibuzz, Lycanroc (all forms), Dhelmise, Nickit, Thievul, Sirfetch'd
Additional Installations:
Spoiler:- In PBEffects, add these new effects to the list and renumber them if necessary:
Code:#=========================================================================== # Custom Ability - Bounty Hunter #=========================================================================== BountyTarget = 131 BountyCollected = 132 #===========================================================================
- Next, in Battler_Initialize, add these effects at the end of "def pbInitEffects":
Code:#=========================================================================== # Custom Ability - Bounty Hunter #=========================================================================== @effects[PBEffects::BountyTarget] = false @effects[PBEffects::BountyCollected] = -1 #===========================================================================
- Finally, in Battle_ExpAndMoveLearning, above the line "# Modify Exp gain", add this:
Code:#=========================================================================== # Custom Ability - Bounty Hunter #=========================================================================== @battlers.each do |b| next if !b || !b.effects[PBEffects::BountyCollected] exp += b.effects[PBEffects::BountyCollected] end #===========================================================================
[*]Ability: Honey Frenzy*
Effect: Honey heals HP. Mindlessly strikes others who hold it.
Notes: Different effects occur depending on whether a Pokemon on the field is holding Honey.
If the user is holding Honey:
- The user becomes docile, cutting its Speed in half.
- The user heals 1/8th its max HP at the end of each turn.
- The user becomes enraged, doubling all damage dealt on targets holding Honey.
- The user is unruly, and will redirect its own attacks to a nearby Pokemon holding Honey if a target that isn't holding Honey was selected. This includes ally Pokemon. If multiple Pokemon on the field are holding Honey, the user's attacks will be redirected to Honey holders based on their speed priority. If the Honey item held is transferred from one Pokemon to another before the user attacks this round, the user will redirect its attacks to the new Honey holder. If the Honey holder is out of range this turn due to the effects of a move (Fly, Dig, Bounce, etc), or is not near the user, the user will not be forced to redirect its attacks to that target.
Suggested Users:
Spoiler:Teddiursa, Ursaring, Zigzagoon, Linoone, Combee, Stunky, Skuntank
Additional Installations:
Spoiler:- In Battler_UseMove_Targeting, add this above the line "# Lightning Rod":
Code:targets = pbHoneyFrenzyTarget(move,user,targets,priority,nearOnly) # Custom Ability - Honey Frenzy
[*]Ability: Grizzly Guard*
Effect: Guards allies from harm & raises Attack when hit.
Notes: Whenever a nearby ally is targeted by an opponent's direct attack (single-target, non-status move), that attack will be redirected to the user instead. This doesn't override the effects of Follow Me, or other redirection abilities such as Lightning Rod. If the user successfully defends its partner by redirecting an attack to itself with this ability, the user's Attack will increase by 1 stage after being hit. The user must receive damage from the redirected attack for this Attack boost to trigger. If the user redirects a multi-hit move to itself, it will receive an Attack boost for each hit.
This ability will not trigger if:
- The opponent uses a spread move.
- The opponent uses a status move.
- The user is not near the attacking Pokemon.
- The targeted ally is not near the user.
- An ally used a move or has an ability that redirects attacks to itself, such as Follow Me, or Lightning Rod.
- The opponent has Mold Breaker or abilities that ignore misdirection.
- The user is asleep or frozen.
- The user or its ally are out of range (Fly, Dig, Dive, etc).
- The user or the targeted ally used Protect, or any Protect-like move (King's Shield, Wide Guard, Mat Block, etc).
- The user or its targeted ally are behind a Substitute.
- The user has less than 25% of its total HP remaining.
- The user's level is 10 or more levels lower than the targeted ally.
- The user or its targeted ally are under the effects of Dynamax (if installed).
Suggested Users:
Spoiler:Ursaring, Beartic, Pangoro, Bewear
Additional Installations:
Spoiler:- In PBEffects, add this in as a new battler effect (renumber if necessary):
Code:GrizzlyGuard = 130 # Custom Ability - Grizzly Guard
- In Battler_Initialize, add this to the bottom of "def pbInitEffects":
Code:@effects[PBEffects::GrizzlyGuard] = false # Custom Ability - Grizzly Guard
- In Battler_UseMove_Targeting, add this above the line "# Lightning Rod":
Code:targets = pbGrizzlyGuardTarget(move,user,targets,priority,nearOnly) # Custom Ability - Grizzly Guard
[*]Ability: Hive Mind*
Effect: Commands ally Pokémon to shield it from harm.
Notes: Whenever the user is targeted by an opponent's direct attack (single-target, non-status move), the user will redirect that attack to a nearby ally instead. This doesn't override the effects of Follow Me, or other redirection abilities such as Lightning Rod.
This ability will not trigger if:
- The opponent uses a spread move.
- The opponent uses a status move.
- No available allies are near the user.
- No available allies are near the attacking Pokemon.
- The user used a move to redirect attacks to itself, such as Follow Me.
- The opponent has Mold Breaker or abilities that ignore misdirection.
- All available allies are asleep or frozen.
- The user or all available allies are out of range (Fly, Dig, Dive, etc).
- The user or all available allies used Protect, or any Protect-like move (King's Shield, Wide Guard, Mat Block, etc).
- The user or all available allies are behind a Substitute.
- All available allies have less than 25% of their total HP remaining.
- All available allies are 10 or more levels lower than the user.
- The user or all available allies are under the effects of Dynamax (if installed).
Suggested Users:
Spoiler:Vespiquen
Additional Installations:
Spoiler:- In Battler_UseMove_Targeting, add this above the line "# Lightning Rod":
Code:targets = pbHiveMindTarget(move,user,targets,priority,nearOnly) # Custom Ability - Hive Mind
[*]Ability: Gambler
Effect: Rolls a pair of dice each turn for random effects.
Notes: At the end of each turn, the user rolls a pair of dice and an effect is put into play depending on the number that was randomly rolled. The effects can be both good and bad, and can completely change up the flow of a battle. This ability won't activate on turns the user spends asleep or frozen.
Dice rolls:
- Roll 2: The user's current HP is halved.
- Roll 3: Free turn. No effect.
- Roll 4: Traps all Pokemon on the field, preventing switching or fleeing.
- Roll 5: The user becomes Cursed.
- Roll 6: Any stat changes for all Pokemon on the field are reset.
- Roll 7: The user and its allies are fully healed, and their status is cured. Also removes several negative effects including: Curse, Confusion, Attraction, Nightmare, Mean Look, Disable, Imprison, Taunt, Torment, Gastro Acid, Leech Seed, and Heal Block.
- Roll 8: All eligible Pokemon on the field are put to sleep and have the Nightmare status inflicted.
- Roll 9: Cuts the Attack and Sp. Atk stats of all opponents by 3 stages.
- Roll 10: All eligible opponents have their ability replaced with Truant.
- Roll 11: All opponents are fully healed, and their status is cured. Also removes several negative effects including: Curse, Confusion, Attraction, Nightmare, Mean Look, Disable, Imprison, Taunt, Torment, Gastro Acid, Leech Seed, and Heal Block.
- Roll 12: Each of the user's stats are increased by 2 stages.
Suggested Users:
Spoiler:Vulpix, Ninetales, Meowth, Persian, Mr. Mime, Jynx, Porygon, Ledian, Sneasel, Delibird, Porygon2, Ludicolo, Sableye, Grumpig, Spinda, Baltoy, Claydol, Absol, Honchkrow, Stunky, Skuntank, Mime Jr., Spiritomb, Weavile, Lickilicky, Porygon-Z, Krokorok, Krookodile, Scraggy, Scrafty, Pawniard, Bisharp, Pancham, Pangoro, Inkay, Malamar, Klefki, Hoopa, Oranguru, Blacephalon, Mr. Rime
[*]Ability: Lucky 7*
Effect: The user's luck kicks in every seventh turn.
Notes: Every seventh consecutive turn the user remains on the field, they are granted with seven different bonuses that are all in effect for that turn only.
Seven effects:
- The user's selected move has perfect accuracy for this turn only.
- The user gains the Laser Focus effect, guaranteeing a critical hit this turn only.
- The user will Endure all incoming attacks with 1 HP remaining for this turn only.
- The user's team gains the Lucky Chant effect for 1 turn, negating the opponent's ability to land critical hits.
- The user's team gains the Rainbow effect for 1 turn, doubling the odds of additional effects from moves occurring.
- The user's status conditions are cured, if any. This includes confusion and infatuation.
- The user makes a Wish that will be granted by the end of the turn, restoring up to 50% of their max HP.
Suggested Users:
Spoiler:Clefairy, Clefable, Vulpix, Ninetales, Meowth, Persian, Chansey, Eevee, Porygon, Ledian, Togepi, Togetic, Sneasel, Porygon2, Ho-oh, Sableye, Grumpig, Spinda, Absol, Luvdisc, Jirachi, Buneary, Lopunny, Happiny, Weavile, Lickilicky, Togekiss, Porygon-Z, Victini, Hoopa, Minior, Drampa, Blacephalon, Mr. Rime
Additional Installations:
Spoiler:- In Battle_Phase_Attack, above the line "@choices[b.index][2].pbDisplayChargeMessage(b)", make sure this is installed:
Code:#========================================================================= # Custom Ability - Start of Round Ability Trigger #========================================================================= BattleHandlers.triggerSOREffectAbility(b.ability,b,self) if b.abilityActive? #=========================================================================
[*]Ability: Countdown
Effect: The user detonates after its countdown reaches 0.
Notes: When the user enters the battlefield, a timer is set at 3. With each passing turn, this timer is reduced by 1 at the end of the turn. Once the timer reaches 0, the user will detonate, creating a deadly explosion that OHKO's every Pokemon on the field, including itself. The damage from this effect is typeless, and cannot be evaded. However, there are a few counters to this effect.
Counters:
- Pokemon with the Damp ability will prevent the user from detonating after the timer reaches 0. The user will have to be switched out to reset the timer.
- Pokemon who are out of range due to moves like Fly and Dig will avoid any damage from this effect.
- Pokemon that used a Protect move will negate any damage taken. If Wide Guard or Mat Block was used, all Pokemon will be protected. You can even use this to protect your own Pokemon from the blast, however the user will always be KO'd regardless.
- Pokemon with the Sturdy ability ignore all damage from this effect.
- Pokemon behind a Substitute will avoid being KO'd. However, the Substitute will always be destroyed, regardless of its HP.
- Pokemon using the move Endure, or holding a Focus Sash/Band may survive the blast with 1 HP.
- Pokemon with the Nine Lives ability (if installed) will survive the blast with 1 HP.
Suggested Users:
Spoiler:Graveler, Golem, Magneton, Voltorb, Electrode, Koffing, Weezing, Porygon, Forretress, Qwilfish, Porygon2, Camerupt, Solrock, Claydol, Magnezone, Porygon-Z, Probopass, Golurk, Carbink, Minior, Turtonator, Cosmoem, Magearna, Stakataka, Blacephalon, Melmetal
Last edited: