- 6
- Posts
- 3
- Years
- Seen Apr 24, 2023
I recently started with Pokémon Essentials and I couldn't be more of a newbie with the scripting part.
Before you start reading, I'm sorry for any misspelling / grammatical error / mistake in general. I'm working on improving my english since it's my 3rd language.
I write this post with the intention of creating some sort of "ability mega-thread" discussion for help and contributions.
I've written almost 40 custom abilities with some inspiration from other users (only a few, and I almost always change them to mantain originality) and I'll post them
with the code attached (if they are implemented). It'll be nice if you could stop by and help with whichever ability catches your sight.
You can also use them in your games if you like.
No more chattering, let's get straight to the thread:
- Vampirism: bite attacks heal the user a percentage of the damage dealt.
- Slime: halves contact move's damage directed to the user. Additionaly, if the user is hit by a water move, it lowers it's speed 1 stage.
- Bad Blood: critically strikes enemies that are affected by a status condition (like Merciless but for every status condition).
- Avidity: two-turn attacks don't require the charge turn (like Solar Beam on the sun or Power Herb effect).
- Brave Waters: water moves always have priority.
- Spectral Image: the greater the difference in speed stat with the enemy, the greater the boost in evasion (max. +2).
- Conditioning: each time a move is used against the user in succession, the damage will be decreased by 1/4 (only of that move, breaks the reduction if a different move is used [Torment~ish?]).
- Adrenaline Rush: raises the Speed stat by 50% when the user has less than or equal to 50% of its maximum HP remaining.
- Scavenger: when the user knocks out a foe, it recovers 25% of their maximum HP.
- Gravitation: applies Gravity while the bearer is in battle.
- Quickdraw: nullifies the priority of all moves. Protect-like moves are unaffected.
- Elemental Supremacy: status effects caused by the user can't be cured by any means.
- Resilience: halves non-supereffective damage.
- Chemical Burn: fire type moves have a chance to badly poison the foe.
- Pyromancer: fire type moves always burn the foe. In exchange, they consume 2 PP.
- Backfire: a random status effect is induced on the Pokémon that defeated the bearer of this ability.
- Martialize: normal type moves become fighting type and their power is boosted (Pixilate, Galvanize...).
Also add it here:
- Blademaster: boosts sword-like moves.
- Winged Spirit: summons Tailwind upon entering combat.
- Prism Cannon: boosts bolt-like and light related moves.
- Ghostly Touch: this Pokémon's attacks don't make contact.
- Ninja Tabi: the user is unaffected by entry hazards.
- Ferrofurnace: fire type moves don't affect the bearer of this ability and boosts it's own contact moves.
- Etheric Body: the user is immune to contact moves.
- Grand Finale: triples the damage of the next attack if the user has used all of it's other moves consecutively (kind of how Last Resort works but the moves have to be used one after another without repeating).
- Star's Blessing: if the bearer of this ability falls under 50% of it's maximum HP, summons a Wish (the normal type move and ONLY ONCE). Additionaly, it's immune to status effects if it has 100% of HP.
- Bushido: receives +1 in atk. and special atk. if the Pokémon goes into combat after an ally is defeated (Retaliate as an ability but more boosted).
- Final Flare: the user boosts it's fire moves but burns itself in the process.
Additionally:
- Spike Shield: contact moves harm the attacker.
Also add it here:
- Neuro-control: all damaging moves performed by this Pokémon are considered special moves.
- Friend of the Forest: bug, grass, flying and poison moves have their power halved against the bearer of this ability. However, it takes twice the damage from fire type attacks.
- Stargazer: cosmic-related attacks have their effects / power / accuracy doubled (Cosmic Power, Ancient Power, Astral Barrage, Dark Void...). I kinda like the concept but the ability seems underwhelming...
- Ice Momentum: ice, flying and water type contact moves of the user have their power boosted by x1.5 (some love for penguin Pokémon).
- Rewind (Dialga): when Dialga falls under 25% of it's maximum HP, it's HP is reverted to what it was the last turn (only once).
- Realm Warp (Palkia): when a Pokémon makes Palkia fall under 25% of it's maximum HP, it's switched out from the battle and the entering Pokémon has it's defenses lowered by 1 stage (only once).
- Underdog: the user's weak moves go first.
That's all I have for the moment. Any suggestion / coding help is much appreciated :).
Before you start reading, I'm sorry for any misspelling / grammatical error / mistake in general. I'm working on improving my english since it's my 3rd language.
I write this post with the intention of creating some sort of "ability mega-thread" discussion for help and contributions.
I've written almost 40 custom abilities with some inspiration from other users (only a few, and I almost always change them to mantain originality) and I'll post them
with the code attached (if they are implemented). It'll be nice if you could stop by and help with whichever ability catches your sight.
You can also use them in your games if you like.
No more chattering, let's get straight to the thread:
- Vampirism: bite attacks heal the user a percentage of the damage dealt.
- Slime: halves contact move's damage directed to the user. Additionaly, if the user is hit by a water move, it lowers it's speed 1 stage.
- Bad Blood: critically strikes enemies that are affected by a status condition (like Merciless but for every status condition).
Code:
BattleHandlers::CriticalCalcUserAbility.add(:BADBLOOD,
proc { |ability,user,target,c|
next 99 if target.poisoned? || target.burned? || target.asleep? || target.frozen? || target.paralyzed?
}
)
- Brave Waters: water moves always have priority.
Code:
BattleHandlers::PriorityChangeAbility.add(:BRAVEWATERS,
proc { |ability,battler,move,pri|
next pri+1 if move.type == :WATER
}
)
- Conditioning: each time a move is used against the user in succession, the damage will be decreased by 1/4 (only of that move, breaks the reduction if a different move is used [Torment~ish?]).
- Adrenaline Rush: raises the Speed stat by 50% when the user has less than or equal to 50% of its maximum HP remaining.
- Scavenger: when the user knocks out a foe, it recovers 25% of their maximum HP.
- Gravitation: applies Gravity while the bearer is in battle.
- Quickdraw: nullifies the priority of all moves. Protect-like moves are unaffected.
- Elemental Supremacy: status effects caused by the user can't be cured by any means.
- Resilience: halves non-supereffective damage.
- Chemical Burn: fire type moves have a chance to badly poison the foe.
- Pyromancer: fire type moves always burn the foe. In exchange, they consume 2 PP.
- Backfire: a random status effect is induced on the Pokémon that defeated the bearer of this ability.
- Martialize: normal type moves become fighting type and their power is boosted (Pixilate, Galvanize...).
Code:
BattleHandlers::MoveBaseTypeModifierAbility.add(:MARTIALIZE,
proc { |ability,user,move,type|
next if type != :NORMAL || !GameData::Type.exists?(:FIGHTING)
move.powerBoost = true
next :FIGHTING
}
)
Code:
BattleHandlers::DamageCalcUserAbility.copy(:AERILATE, :PIXILATE, :REFRIGERATE, :GALVANIZE, :NORMALIZE, :MARTIALIZE)
- Winged Spirit: summons Tailwind upon entering combat.
- Prism Cannon: boosts bolt-like and light related moves.
- Ghostly Touch: this Pokémon's attacks don't make contact.
- Ninja Tabi: the user is unaffected by entry hazards.
- Ferrofurnace: fire type moves don't affect the bearer of this ability and boosts it's own contact moves.
- Etheric Body: the user is immune to contact moves.
- Grand Finale: triples the damage of the next attack if the user has used all of it's other moves consecutively (kind of how Last Resort works but the moves have to be used one after another without repeating).
- Star's Blessing: if the bearer of this ability falls under 50% of it's maximum HP, summons a Wish (the normal type move and ONLY ONCE). Additionaly, it's immune to status effects if it has 100% of HP.
- Bushido: receives +1 in atk. and special atk. if the Pokémon goes into combat after an ally is defeated (Retaliate as an ability but more boosted).
- Final Flare: the user boosts it's fire moves but burns itself in the process.
Code:
BattleHandlers::DamageCalcUserAbility.add(:FINALFLARE,
proc { |ability,user,target,move,mults,baseDmg,type,battler,battle|
mults[:base_damage_multiplier] *= 1.5 if type == :FIRE
}
)
Code:
BattleHandlers::AbilityOnSwitchIn.add(:FINALFLARE,
proc { |ability, battler, battle|
if battler.status != :BURN
battle.pbShowAbilitySplash(battler)
battler.pbCureStatus
battler.pbBurn(nil,_INTL("Typhlosion was burned by it's own power!")) #In my game this ability is exclusive to Mega Typhlosion, you can just change the text as you please.
end
battle.pbHideAbilitySplash(battler)
}
)
Code:
BattleHandlers::TargetAbilityOnHit.add(:SPIKESHIELD,
proc { |ability,user,target,move,battle|
next if !move.pbContactMove?(user)
battle.pbShowAbilitySplash(target)
if user.takesIndirectDamage?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH) &&
user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH)
battle.scene.pbDamageAnimation(user)
user.pbReduceHP(user.totalhp/8,false)
if PokeBattle_SceneConstants::USE_ABILITY_SPLASH
battle.pbDisplay(_INTL("{1} is hurt!",user.pbThis))
else
battle.pbDisplay(_INTL("{1} is hurt by {2}'s {3}!",user.pbThis,
target.pbThis(true),target.abilityName))
end
end
battle.pbHideAbilitySplash(target)
}
)
Code:
BattleHandlers::TargetAbilityOnHit.copy(:IRONBARBS,:ROUGHSKIN,:SPIKESHIELD)
- Friend of the Forest: bug, grass, flying and poison moves have their power halved against the bearer of this ability. However, it takes twice the damage from fire type attacks.
- Stargazer: cosmic-related attacks have their effects / power / accuracy doubled (Cosmic Power, Ancient Power, Astral Barrage, Dark Void...). I kinda like the concept but the ability seems underwhelming...
- Ice Momentum: ice, flying and water type contact moves of the user have their power boosted by x1.5 (some love for penguin Pokémon).
- Rewind (Dialga): when Dialga falls under 25% of it's maximum HP, it's HP is reverted to what it was the last turn (only once).
- Realm Warp (Palkia): when a Pokémon makes Palkia fall under 25% of it's maximum HP, it's switched out from the battle and the entering Pokémon has it's defenses lowered by 1 stage (only once).
- Underdog: the user's weak moves go first.
That's all I have for the moment. Any suggestion / coding help is much appreciated :).
Last edited: