The PokéCommunity Forums Fan Games Game Development Scripts, Tutorials & Tools
Essentials Script Custom abilities of mine that I thought I'd share (and some ability ideas)

Scripts, Tutorials & Tools This forum is for scripts and code, as well as all kinds of tutorials, software, tools and so forth. Remember to give credit!
The thread revival limit does not apply here.

Reply
 
Thread Tools
  #1    
Old February 2nd, 2016 (11:17 AM). Edited June 21st, 2016 by Lucidious89.
Lucidious89 Lucidious89 is offline
     
    Join Date: Apr 2014
    Gender: Male
    Posts: 208
    I was bored and made a bunch of Abilities, and I figured I'd share some of them.



    Ability: Fang Leech
    Effect: The user's biting moves will also heal 1/8th of its total HP.
    Notes: Healing is negated if Heal Block is in play. The user takes damage if used on a target with Liquid Ooze. This does not count as an absorbing effect, so Big Root doesn't affect this.

    Suggested Users: Zubat, Golbat, Crobat, Gligar, Gliscor, Woobat, Swoobat, Eelektrik, Eelektross, Noibat, Noivern

    Example Images:
    Spoiler:


    Installation:
    Spoiler:
    1) In PokeBattle_Battler, search the script for this line:
    Code:
    if target.hasWorkingAbility(:CURSEDBODY,true) && @battle.pbRandom(10)<3
    2) And past all of the following directly above it.
    Code:
    #============================================================================
            # Custom Ability - Fang Leech
            #============================================================================
            if user.hasWorkingAbility(:FANGLEECH) && move.isBitingMove?
              if target.hasWorkingAbility(:LIQUIDOOZE)
                PBDebug.log("[Ability triggered] #{user.pbThis}'s Fang Leech")
                PBDebug.log("[Ability triggered] #{target.pbThis}'s Liquid Ooze")
                hploss=user.pbReduceHP((totalhp/8).floor,true)
                @battle.pbDisplay(_INTL("{1} sucked up the liquid ooze!",user.pbThis))
              else 
                if user.effects[PBEffects::HealBlock]==0
                  PBDebug.log("[Ability triggered] #{user.pbThis}'s Fang Leech")
                  hpgain=user.pbRecoverHP((totalhp/8).floor,true)
                  if hpgain>0
                    @battle.pbDisplay(_INTL("{1}'s Fang Leech restored its HP!",user.pbThis))
                  end
                end
              end
            end
            #============================================================================



    Ability: Armor Piercer
    Effect: The user's contact moves bypass the target's attempt to negate damage.
    Notes: This negates the damage negation of Protect, Detect, Wide Guard, Quick Guard, Mat Block, King's Shield, and Spiky Shield. Crafty Shied is the lone exception since it only blocks status moves and this ability only applies this effect to contact moves. This is a potentially overpowered ability, so it's best to give it to Pokemon who are otherwise underwhelming.

    Suggested Users: Beedrill, Fearow, Rapidash, Heracross, Skorupi, Drapion, Escavalier, Keldeo

    Example Images:
    Spoiler:


    Installation:
    Spoiler:
    1) In PokeBattle_Battler, search the script for this section:
    Code:
    if target.effects[PBEffects::Protect] && thismove.canProtectAgainst? &&
           !target.effects[PBEffects::ProtectNegation]
            @battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
            @battle.successStates[user.index].protected=true
            PBDebug.log("[Move failed] #{target.pbThis}'s Protect stopped the attack")
            return false
        end
    2) And replace it with this:
    Code:
    if target.effects[PBEffects::Protect] && thismove.canProtectAgainst? &&
           !target.effects[PBEffects::ProtectNegation]
          #====================================================================
          # Custom Ability - Armor Piercer (Protect/Detect)
          #====================================================================
          if user.hasWorkingAbility(:ARMORPIERCER) && thismove.isContactMove?
            PBDebug.log("[Ability triggered] #{user.pbThis}'s Armor Piercer")
            target.effects[PBEffects::ProtectNegation]=true
            @battle.pbDisplay(_INTL("{1}'s {2} breaks {3}'s guard!",user.pbThis,
              PBAbilities.getName(user.ability),target.pbThis))
            return true
          else
          #=====================================================================
            @battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
            @battle.successStates[user.index].protected=true
            PBDebug.log("[Move failed] #{target.pbThis}'s Protect stopped the attack")
            return false
          end#
        end
    3) Then look further down for all of this code:
    Code:
    if target.pbOwnSide.effects[PBEffects::QuickGuard] && thismove.canProtectAgainst? &&
           p>0 && !target.effects[PBEffects::ProtectNegation]
            @battle.pbDisplay(_INTL("{1} was protected by Quick Guard!",target.pbThis))
            PBDebug.log("[Move failed] The opposing side's Quick Guard stopped the attack")
            return false
        end
        if target.pbOwnSide.effects[PBEffects::WideGuard] &&
           PBTargets.hasMultipleTargets?(thismove) && !thismove.pbIsStatus? &&
           !target.effects[PBEffects::ProtectNegation]
            @battle.pbDisplay(_INTL("{1} was protected by Wide Guard!",target.pbThis))
            PBDebug.log("[Move failed] The opposing side's Wide Guard stopped the attack")
            return false
        end
        if target.pbOwnSide.effects[PBEffects::CraftyShield] && thismove.pbIsStatus? &&
           thismove.function!=0xE5 # Perish Song
            @battle.pbDisplay(_INTL("Crafty Shield protected {1}!",target.pbThis(true)))
            PBDebug.log("[Move failed] The opposing side's Crafty Shield stopped the attack")
            return false
        end
        if target.pbOwnSide.effects[PBEffects::MatBlock] && !thismove.pbIsStatus? &&
           thismove.canProtectAgainst? && !target.effects[PBEffects::ProtectNegation]
            @battle.pbDisplay(_INTL("{1} was blocked by the kicked-up mat!",thismove.name))
            PBDebug.log("[Move failed] The opposing side's Mat Block stopped the attack")
            return false
        end
        # TODO: Mind Reader/Lock-On
        # --Sketch/FutureSight/PsychUp work even on Fly/Bounce/Dive/Dig
        if thismove.pbMoveFailed(user,target) # TODO: Applies to Snore/Fake Out
          @battle.pbDisplay(_INTL("But it failed!"))
          PBDebug.log(sprintf("[Move failed] Failed pbMoveFailed (function code %02X)",thismove.function))
          return false
        end
        # King's Shield (purposely after pbMoveFailed)
        if target.effects[PBEffects::KingsShield] && !thismove.pbIsStatus? &&
           thismove.canProtectAgainst? && !target.effects[PBEffects::ProtectNegation]
            @battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
            @battle.successStates[user.index].protected=true
            PBDebug.log("[Move failed] #{target.pbThis}'s King's Shield stopped the attack")
            if thismove.isContactMove?
              user.pbReduceStat(PBStats::ATTACK,2,nil,false)
            end
            return false
        end
        # Spiky Shield
        if target.effects[PBEffects::SpikyShield] && thismove.canProtectAgainst? &&
           !target.effects[PBEffects::ProtectNegation]
            @battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
            @battle.successStates[user.index].protected=true
            PBDebug.log("[Move failed] #{user.pbThis}'s Spiky Shield stopped the attack")
            if thismove.isContactMove?
              amt=user.pbReduceHP((user.totalhp/8).floor) if !user.isFainted?
              @battle.pbDisplay(_INTL("{1} was hurt!",user.pbThis)) if amt>0
            end
            return false
        end
    4) And replace it with all of this:
    Code:
    if target.pbOwnSide.effects[PBEffects::QuickGuard] && thismove.canProtectAgainst? &&
           p>0 && !target.effects[PBEffects::ProtectNegation]
          #====================================================================
          # Custom Ability - Armor Piercer (Quick Guard)
          #====================================================================
          if user.hasWorkingAbility(:ARMORPIERCER) && thismove.isContactMove?
            PBDebug.log("[Ability triggered] #{user.pbThis}'s Armor Piercer")
            target.effects[PBEffects::ProtectNegation]=true
            @battle.pbDisplay(_INTL("{1}'s {2} breaks {3}'s guard!",user.pbThis,
              PBAbilities.getName(user.ability),target.pbThis))
            return true
          else
          #=====================================================================
            @battle.pbDisplay(_INTL("{1} was protected by Quick Guard!",target.pbThis))
            PBDebug.log("[Move failed] The opposing side's Quick Guard stopped the attack")
            return false
          end#
        end
        if target.pbOwnSide.effects[PBEffects::WideGuard] &&
           PBTargets.hasMultipleTargets?(thismove) && !thismove.pbIsStatus? &&
           !target.effects[PBEffects::ProtectNegation]
          #====================================================================
          # Custom Ability - Armor Piercer (Wide Guard)
          #====================================================================
          if user.hasWorkingAbility(:ARMORPIERCER) && thismove.isContactMove?
            PBDebug.log("[Ability triggered] #{user.pbThis}'s Armor Piercer")
            target.effects[PBEffects::ProtectNegation]=true
            @battle.pbDisplay(_INTL("{1}'s {2} breaks {3}'s guard!",user.pbThis,
              PBAbilities.getName(user.ability),target.pbThis))
            return true
          else
          #=====================================================================
            @battle.pbDisplay(_INTL("{1} was protected by Wide Guard!",target.pbThis))
            PBDebug.log("[Move failed] The opposing side's Wide Guard stopped the attack")
            return false
          end#
        end
        if target.pbOwnSide.effects[PBEffects::CraftyShield] && thismove.pbIsStatus? &&
           thismove.function!=0xE5 # Perish Song
            @battle.pbDisplay(_INTL("Crafty Shield protected {1}!",target.pbThis(true)))
            PBDebug.log("[Move failed] The opposing side's Crafty Shield stopped the attack")
            return false
        end
        if target.pbOwnSide.effects[PBEffects::MatBlock] && !thismove.pbIsStatus? &&
           thismove.canProtectAgainst? && !target.effects[PBEffects::ProtectNegation]
          #====================================================================
          # Custom Ability - Armor Piercer (Mat Block)
          #====================================================================
          if user.hasWorkingAbility(:ARMORPIERCER) && thismove.isContactMove?
            PBDebug.log("[Ability triggered] #{user.pbThis}'s Armor Piercer")
            target.effects[PBEffects::ProtectNegation]=true
            @battle.pbDisplay(_INTL("{1}'s {2} breaks {3}'s guard!",user.pbThis,
              PBAbilities.getName(user.ability),target.pbThis))
            return true
          else
          #=====================================================================
            @battle.pbDisplay(_INTL("{1} was blocked by the kicked-up mat!",thismove.name))
            PBDebug.log("[Move failed] The opposing side's Mat Block stopped the attack")
            return false
          end#
        end
        # TODO: Mind Reader/Lock-On
        # --Sketch/FutureSight/PsychUp work even on Fly/Bounce/Dive/Dig
        if thismove.pbMoveFailed(user,target) # TODO: Applies to Snore/Fake Out
          @battle.pbDisplay(_INTL("But it failed!"))
          PBDebug.log(sprintf("[Move failed] Failed pbMoveFailed (function code %02X)",thismove.function))
          return false
        end
        # King's Shield (purposely after pbMoveFailed)
        if target.effects[PBEffects::KingsShield] && !thismove.pbIsStatus? &&
           thismove.canProtectAgainst? && !target.effects[PBEffects::ProtectNegation]
          #====================================================================
          # Custom Ability - Armor Piercer (King's Shield)
          #====================================================================
          if user.hasWorkingAbility(:ARMORPIERCER) && thismove.isContactMove?
            PBDebug.log("[Ability triggered] #{user.pbThis}'s Armor Piercer")
            target.effects[PBEffects::ProtectNegation]=true
            @battle.pbDisplay(_INTL("{1}'s {2} breaks {3}'s guard!",user.pbThis,
              PBAbilities.getName(user.ability),target.pbThis))
            return true
          else
          #=====================================================================
            @battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
            @battle.successStates[user.index].protected=true
            PBDebug.log("[Move failed] #{target.pbThis}'s King's Shield stopped the attack")
            if thismove.isContactMove?
              user.pbReduceStat(PBStats::ATTACK,2,nil,false)
            end
            return false
          end#
        end
        # Spiky Shield
        if target.effects[PBEffects::SpikyShield] && thismove.canProtectAgainst? &&
           !target.effects[PBEffects::ProtectNegation]
          #====================================================================
          # Custom Ability - Armor Piercer (Spiky Shield)
          #====================================================================
          if user.hasWorkingAbility(:ARMORPIERCER) && thismove.isContactMove?
            PBDebug.log("[Ability triggered] #{user.pbThis}'s Armor Piercer")
            target.effects[PBEffects::ProtectNegation]=true
            @battle.pbDisplay(_INTL("{1}'s {2} breaks {3}'s guard!",user.pbThis,
              PBAbilities.getName(user.ability),target.pbThis))
            return true
          else
          #=====================================================================
            @battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
            @battle.successStates[user.index].protected=true
            PBDebug.log("[Move failed] #{user.pbThis}'s Spiky Shield stopped the attack")
            if thismove.isContactMove?
              amt=user.pbReduceHP((user.totalhp/8).floor) if !user.isFainted?
              @battle.pbDisplay(_INTL("{1} was hurt!",user.pbThis)) if amt>0
            end
            return false
          end#
        end



    Ability: Pounce
    Effect: The user has increased priority on its first turn.
    Notes: This grants +1 priority to all of the user's moves during its very first turn on the field. Much like the move Fake Out, you can switch out to reset this effect. This is a potentially overpowered ability, so it's best to give it to Pokemon who are otherwise underwhelming.

    Suggested Users: Persian, Skitty, Delcatty, Glameow, Purugly, Purrloin, Liepard, Pyroar (Female)

    Installation:
    Spoiler:
    1) In PokeBattle_Battler, search the script for this line:
    Code:
    p+=1 if user.hasWorkingAbility(:GALEWINGS) && isConst?(thismove.type,PBTypes,:FLYING)
    2) And paste this directly below it:
    Code:
    #============================================================
          # Custom Ability - Pounce
          #============================================================
          p+=1 if user.hasWorkingAbility(:POUNCE) && user.turncount==1
          #============================================================
    3) Then in PokeBattle_Battle, search the script for this line:
    Code:
    isConst?(@choices[i][2].type,PBTypes,:FLYING)
    4) And paste this directly below it:
    Code:
    #======================================================
            # Custom Ability - Pounce
            #======================================================
            pri+=1 if @battlers[i].hasWorkingAbility(:POUNCE) &&
                      @battlers[i].turncount==1
            #======================================================



    Ability: Headache
    Effect: When the user is confused, Sp.Atk increases.
    Notes: Every turn the user is confused, the Sp.Atk stat increases by 1 stage. The user gets an additional boost if they hurt themselves while confused, so it's possible to get +2 in one turn.

    Suggested Users: Psyduck, Golduck

    Example Images:
    Spoiler:




    Installation:
    Spoiler:
    1) In PokeBattle_Battler, search the script for this line:
    Code:
    @effects[PBEffects::Confusion]-=1
    2) And paste the following directly below it:
    Code:
    #===========================================================================================
          # Custom Ability - Headache
          #===========================================================================================
          if self.hasWorkingAbility(:HEADACHE) && self.stages[PBStats::SPATK]<6
            @battle.pbDisplay(_INTL("{1}'s {2} is growing!",self.pbThis,PBAbilities.getName(self.ability)))
            if self.pbIncreaseStatWithCause(PBStats::SPATK,1,self,PBAbilities.getName(self.ability))
              PBDebug.log("[Ability triggered] #{self.pbThis}'s Headache")
            end
          end
          #===========================================================================================
    3) Then search a little further down for this line:
    Code:
    PBDebug.log("[Status] #{pbThis} hurt itself in its confusion and couldn't move")
    4) And paste the following directly below it:
    Code:
    #===========================================================================================
              # Custom Ability - Headache
              #===========================================================================================
              if self.hasWorkingAbility(:HEADACHE) && self.stages[PBStats::SPATK]<6
                @battle.pbDisplay(_INTL("{1}'s {2} is growing!",self.pbThis,PBAbilities.getName(self.ability)))
                if self.pbIncreaseStatWithCause(PBStats::SPATK,1,self,PBAbilities.getName(self.ability))
                  PBDebug.log("[Ability triggered] #{self.pbThis}'s Headache")
                end
              end
              #===========================================================================================



    Ability: Icy Veins
    Effect: The user's Ice and Water-type moves are 30% stronger in hail. This also makes the user immune to hail damage.
    Notes: This is essentially the hail equivalent of Sand Force.

    Suggested Users: Seel, Dewgong, Lapras, Piplup, Prinplup, Empoleon, Cubchoo, Beartic, Kyurem

    Installation:
    Spoiler:
    1) In PokeBattle_Move, search the script for this section:
    Code:
    if attacker.hasWorkingAbility(:SANDFORCE) &&
           @battle.pbWeather==PBWeather::SANDSTORM &&
           (isConst?(type,PBTypes,:ROCK) ||
           isConst?(type,PBTypes,:GROUND) ||
           isConst?(type,PBTypes,:STEEL))
          damagemult=(damagemult*1.3).round
        end
    2) And paste the following directly below it:
    Code:
    #================================================
        # Custom Ability - Icy Veins
        #================================================
        if attacker.hasWorkingAbility(:ICYVEINS) &&
           @battle.pbWeather==PBWeather::HAIL &&
           (isConst?(type,PBTypes,:ICE) ||
           isConst?(type,PBTypes,:WATER))
          damagemult=(damagemult*1.3).round
        end
        #================================================
    3) Then in PokeBattle_Battle, search the script for this line:
    Code:
    !i.hasWorkingAbility(:ICEBODY) &&
    4) And paste the following directly below it:
    Code:
    #======================================
                   # Custom Ability - Icy Veins
                   #======================================
                   !i.hasWorkingAbility(:ICYVEINS) &&
                   #======================================



    Ability: Crystallized
    Effect: Reduces the damage taken by super effective moves.
    Notes: This is an Ice-type equivalent of Solid Rock/Filter.

    Suggested Users: Glalie, Regice, Cryogonal, Kyurem, Amaura, Aurorus, Bergmite, Avalugg

    Installation:
    Spoiler:
    1) In PokeBattle_Move, search the script for this line:
    Code:
    if (opponent.hasWorkingAbility(:SOLIDROCK) ||
    2) And paste the following directly below it:
    Code:
    #======================================================
             # Custom Ability - Crystallized
             #======================================================
             opponent.hasWorkingAbility(:CRYSTALLIZED) ||
             #======================================================



    Ability: Sweet Dreams
    Effect: The user restores 1/8th of its max HP at the end of each turn it spends asleep.
    Notes: This is essentially the inverse of Bad Dreams. The user's partner is also affected by this ability.

    Suggested Users: Cresselia, Munna, Musharna

    Example Images:
    Spoiler:


    Installation:
    Spoiler:
    1) In PokeBattle_Battle, search the script for this line:
    Code:
    # Pickup
    2) And paste the following directly above it:
    Code:
    #=========================================================================
          # Custom Ability - Sweet Dreams
          #=========================================================================
          if i.status==PBStatuses::SLEEP && i.hp<i.totalhp
            if i.effects[PBEffects::HealBlock]==0
              if i.hasWorkingAbility(:SWEETDREAMS) ||
                 i.pbPartner.hasWorkingAbility(:SWEETDREAMS)
                PBDebug.log("[Ability triggered] #{i.pbThis}'s Sweet Dreams")
                hpgain=i.pbRecoverHP((i.totalhp/8).floor,true)
                pbDisplay(_INTL("{1} is having a sweet dream!",i.pbThis)) if hpgain>0
              end
            end
          end
          #=========================================================================



    Ability: Ethereal
    Effect: The user is immune to contact moves.
    Notes: This is a potentially overpowered ability, so it's best to give it to Pokemon who are otherwise underwhelming.

    Suggested Users: Gastly, Misdreavus, Shedinja, Shuppet, Duskull, Froslass, Rotom (Normal)

    Example Images:
    Spoiler:


    Installation:
    Spoiler:
    1) In PokeBattle_Move, search the script for this section:
    Code:
    if opponent.hasWorkingAbility(:BULLETPROOF) && isBombMove?
          PBDebug.log("[Ability triggered] #{opponent.pbThis}'s Bulletproof (made #{@name} ineffective)")
          @battle.pbDisplay(_INTL("{1}'s {2} made {3} ineffective!",
             opponent.pbThis,PBAbilities.getName(opponent.ability),self.name))
          return true
        end
    2) And paste the following directly below it:
    Code:
    #=================================================================================================
        # Custom Ability - Ethereal
        #=================================================================================================
        if opponent.hasWorkingAbility(:ETHEREAL) && isContactMove?
          PBDebug.log("[Ability triggered] #{opponent.pbThis}'s Ethereal (made #{@name} ineffective)")
          @battle.pbDisplay(_INTL("{1}'s {2} made {3} ineffective!",
             opponent.pbThis,PBAbilities.getName(opponent.ability),self.name))
          return true
        end
        #=================================================================================================



    Ability: Solidarity
    Effect: The user recognizes other Pokemon that share its Nature when switching in.
    Notes: This is more for in-game purposes, but it can potentially be useful in a competitive setting since often times you can deduce the entire set your opponent is running just by Nature alone. This ability shares the same field effect as Synchronize, making it so that wild Pokemon have a 50% chance to share the same Nature as the user. However, in addition to that effect, wild Pokemon also have a 50% chance of sharing each of the user's IV's.

    Suggested Users: Happini, Chansey, Blissey, Eevee, Togepi, Togetic, Togekiss, Delibird, Ralts, Kirlia, Gardevoir, Luvdisc, Uxie, Mesprit, Azelf, Audino, Elgyem, Beheeyem, Vivillon

    Example Images:
    Spoiler:


    Installation:
    Spoiler:
    1) In PokeBattle_Battler, search the script for this line:
    Code:
    # Anticipation
    2) And paste the following directly above it:
    Code:
    #========================================================================================
        # Custom Ability - Solidarity
        #========================================================================================
        if self.hasWorkingAbility(:SOLIDARITY) && @battle.pbOwnedByPlayer?(@index) && onactive
          selfnaturename=PBNatures.getName(self.nature)
          naturename1=PBNatures.getName(pbOpposing1.nature)
          naturename2=PBNatures.getName(pbOpposing2.nature)
          if selfnaturename==naturename1
            PBDebug.log("[Ability triggered] #{pbThis}'s Solidarity")
            @battle.pbDisplay(_INTL("{1} shares a common nature with {2}!",pbThis,pbOpposing1.name))
          end
          if selfnaturename==naturename2
            PBDebug.log("[Ability triggered] #{pbThis}'s Solidarity")
            @battle.pbDisplay(_INTL("{1} shares a common nature with {2}!",pbThis,pbOpposing2.name))
          end
        end
        #========================================================================================
    3) Then, in PField_Field, search the script for this line:
    Code:
    elsif isConst?(firstpoke.ability,PBAbilities,:SYNCHRONIZE)
    4) And paste the following directly above it:
    Code:
    #===================================================================
        # Custom Ability - Solidarity (Field)
        #===================================================================
        elsif isConst?(firstpoke.ability,PBAbilities,:SOLIDARITY)
          genwildpoke.setNature(firstpoke.nature) if !isroamer && rand(10)<5
          genwildpoke.iv[0]=firstpoke.iv[0] if !isroamer && rand(10)<5
          genwildpoke.iv[1]=firstpoke.iv[1] if !isroamer && rand(10)<5
          genwildpoke.iv[2]=firstpoke.iv[2] if !isroamer && rand(10)<5
          genwildpoke.iv[3]=firstpoke.iv[3] if !isroamer && rand(10)<5
          genwildpoke.iv[4]=firstpoke.iv[4] if !isroamer && rand(10)<5
          genwildpoke.iv[5]=firstpoke.iv[5] if !isroamer && rand(10)<5
        #===================================================================



    Ability: Sharp Edge
    Effect: Boosts damage of cutting and slashing moves by 20%.
    Notes: This is essentially Iron Fist, but for blade-like moves.

    Suggested Users: Farfetch'd, Scyther, Kabutops, Absol, Kriketune, Leafeon, Gallade, Pawniard, Bisharp, Keldeo, Honedge, Doublade

    Installation:
    Spoiler:
    1) In PokeBattle_Move, search the script for this section:
    Code:
    def isBombMove?
        return (@flags&0x2000)!=0 # flag n: Is bomb move
      end
    2) And paste the following directly below it:
    Code:
    #=============================================
      # Custom Ability - Sharp Edge
      #=============================================
      def isSwordMove?
        return isConst?(@id,PBMoves,:FURYCUTTER) ||
               isConst?(@id,PBMoves,:XSCISSOR) ||
               isConst?(@id,PBMoves,:NIGHTSLASH) ||
               isConst?(@id,PBMoves,:SACREDSWORD) ||
               isConst?(@id,PBMoves,:SECRETSWORD) ||
               isConst?(@id,PBMoves,:LEAFBLADE) ||
               isConst?(@id,PBMoves,:CUT) ||
               isConst?(@id,PBMoves,:FALSESWIPE) ||
               isConst?(@id,PBMoves,:SLASH) ||
               isConst?(@id,PBMoves,:CROSSPOISON) ||
               isConst?(@id,PBMoves,:PSYCHOCUT) ||
               isConst?(@id,PBMoves,:RAZORSHELL)
      end
      #=============================================
    3) Then further down, search the script for this line:
    Code:
    if attacker.hasWorkingAbility(:IRONFIST) && isPunchingMove?
    4) And paste the following directly above it:
    Code:
    #===========================================================
        # Custom Ability - Sharp Edge
        #===========================================================
        if attacker.hasWorkingAbility(:SHARPEDGE) && isSwordMove?
          damagemult=(damagemult*1.2).round
        end
        #===========================================================




    In order for any of these abilities to work, you must add them in the abilities.txt document in the PBS folder. They should look something like this:

    Code:
    XXX,FANGLEECH,Fang Leech,"HP is healed when using biting moves."
    XXX,ARMORPIERCER,Armor Piercer,"The user's contact moves bypass the effects of Protect."
    XXX,POUNCE,Pounce,"The user has priority during its first turn."
    XXX,HEADACHE,Headache,"Boosts Sp.Atk while confused."
    XXX,ICYVEINS,Icy Veins,"Boosts the user's Ice and Water-type moves in hail."
    XXX,CRYSTALLIZED,Crystallized,"Reduces damage from supereffective attacks."
    XXX,SWEETDREAMS,Sweet Dreams,"Restores the user's HP while asleep."
    XXX,ETHEREAL,Ethereal,"Contact moves cannot harm this Pokémon."
    XXX,SOLIDARITY,Solidarity,"The user recognizes opponents with the same Nature."
    XXX,SHARPEDGE,Sharp Edge,"Boosts the power of slashing moves."
    And replace the X's with the appropriate ability numbers that your project would use.

    To give these abilities to certain species, you will have to add them to that Pokemon's ability list in the pokemon.txt file in the PBS folder.


    Other scripts of mine that you may like:
    Spoiler:
    • "Pokemon Birthsigns"
      This is my most ambitious project, consisting of several scripts that adds an entirely new breeding mechanic to the game known as 'Birthsigns'. These are added perks that are applied to a Pokemon at its moment of birth, which vary depending on the different constellations for each month of the year. Think Elder Scrolls, but with a Pokemon twist!
      You can find this project here: http://www.pokecommunity.com/showthread.php?p=8740502#8740502
    • "IV Star Ratings"
      A script that gives a general indication of the Pokemon's IV's through a star ranking system in the summary. This may be more visually appealing if you don't like the idea of cramming your screen with a bunch of extra numbers, but still want to give the player some way to gauge a quality Pokemon at a glance.
      You can find this script here: http://www.pokecommunity.com/showthread.php?p=8957793#8957793
    • "Egg Group Types"
      A script that displays the Egg Groups that a Pokemon belongs to in its summary, allowing you to easily look up compatible species for breeding. You can even stick this script into other places, such as the Pokedex, or PC menu.
      You can find this script here: http://www.pokecommunity.com/showthread.php?p=8957794#8957794
    • "HGSS Shiny Leaf Display"
      A script that adds the ability to attach Shiny Leaves to your Pokemon, a feature exclusive to HGSS. This adds an extra way of adding some uniqueness to your Pokemon. How you utilize them is up to you!
      You can find this script here: http://www.pokecommunity.com/showthread.php?p=8956957#8956957
    Reply With Quote
      #2    
    Old February 3rd, 2016 (4:41 AM).
    HarmonyConcept HarmonyConcept is offline
       
      Join Date: Sep 2015
      Gender: Female
      Posts: 207
      Thank you, those abilities look great!
      Reply With Quote
        #3    
      Old February 3rd, 2016 (4:59 AM).
      Light and Darkness Dragon's Avatar
      Light and Darkness Dragon Light and Darkness Dragon is offline
      Gives Up
         
        Join Date: Feb 2016
        Age: 25
        Gender: Male
        Nature: Rash
        Posts: 221
        I love a long of these abilities. :)
        Reply With Quote
          #4    
        Old February 3rd, 2016 (8:00 AM).
        Lucidious89 Lucidious89 is offline
           
          Join Date: Apr 2014
          Gender: Male
          Posts: 208
          Thanks guys, glad you like them. I'll add any more I make to this thread if I come up with any.
          Reply With Quote
            #5    
          Old February 3rd, 2016 (9:10 AM).
          Rot8er_ConeX's Avatar
          Rot8er_ConeX Rot8er_ConeX is offline
             
            Join Date: May 2015
            Location: The Dissa Region
            Gender: Male
            Posts: 822
            I ended up taking the Headache ability and applying it as a second HA for the Psyduck line. Debating taking the Pounce one, too.
            __________________
            Features of Pokemon Entropy

            The black circular "doodles" in the lower right corner of my avatar are actually my username written in Gallifreyan. Yes I'm a Whovian.
            Reply With Quote
              #6    
            Old February 3rd, 2016 (12:38 PM).
            Light and Darkness Dragon's Avatar
            Light and Darkness Dragon Light and Darkness Dragon is offline
            Gives Up
               
              Join Date: Feb 2016
              Age: 25
              Gender: Male
              Nature: Rash
              Posts: 221
              Fang Leech, and Sweet Dreams particularly were my favorite.
              I also like how in your OP you gave suggestions to what pokemon could have the ability.
              Reply With Quote
                #7    
              Old February 4th, 2016 (11:50 AM). Edited February 4th, 2016 by Lucidious89.
              Lucidious89 Lucidious89 is offline
                 
                Join Date: Apr 2014
                Gender: Male
                Posts: 208
                A couple more I made this morning:


                Ability: Outbreak
                Effect: The user spreads its status conditions on contact.
                Info: When the user is suffering from a Burn, Poison, or Paralysis; the status effect is passed on to an attacker who makes physical contact with the user. Toxic poison is not passed, only regular.

                Suggested Users: Grimer, Muk, Yamask, Co***rigus, Trubbish, Garbodor, Solosis, Duosion, Reuniclus

                Example Images:
                Spoiler:




                Installation:
                Spoiler:
                1) In PokeBattle_Battler, search the script for this line:
                Code:
                if target.hasWorkingAbility(:POISONPOINT,true) && @battle.pbRandom(10)<3 &&
                2) And paste the following directly above it:
                Code:
                #=================================================================================================
                        # Custom Ability - Outbreak
                        #=================================================================================================
                        if target.hasWorkingAbility(:OUTBREAK,true) && !user.isFainted?
                          if target.status==PBStatuses::POISON
                            if user.pbCanPoison?(nil,false)
                              PBDebug.log("[Ability triggered] #{target.pbThis}'s Outbreak poisoned #{user.pbThis(true)}")
                              user.pbPoison(target,_INTL("{1}'s {2} poisoned {3}!",target.pbThis,
                             PBAbilities.getName(target.ability),user.pbThis(true)))
                            end
                          elsif target.status==PBStatuses::PARALYSIS
                            if user.pbCanParalyze?(nil,false)
                              PBDebug.log("[Ability triggered] #{target.pbThis}'s Outbreak paralyzed #{user.pbThis(true)}")
                              user.pbParalyze(target,_INTL("{1}'s {2} paralyzed {3}!",target.pbThis,
                             PBAbilities.getName(target.ability),user.pbThis(true)))
                            end
                          elsif target.status==PBStatuses::BURN 
                            if user.pbCanBurn?(nil,false)
                              PBDebug.log("[Ability triggered] #{target.pbThis}'s Outbreak burned #{user.pbThis(true)}")
                              user.pbBurn(target,_INTL("{1}'s {2} burned {3}!",target.pbThis,
                             PBAbilities.getName(target.ability),user.pbThis(true)))
                            end
                          end
                        end
                        #=================================================================================================



                Ability: Numbing Poison & Searing Poison
                Effect: (Numbing Poison) Moves that may poison the foe may paralyze instead.
                Effect: (Searing Poison) Moves that may poison the foe may burn instead.
                Info: Both abilities are tied into the same code, so its easier to list them together.

                Suggested Users: Ekans, Arbok, Tentacool, Tentacruel, Spinarak, Ariados, Seviper, Skorupi, Drapion, Joltik, Galvantula

                Example Images:
                Spoiler:



                Installation:
                Spoiler:
                1) In PokeBattle_MoveEffects, search the script for the section under this heading:
                Code:
                ################################################################################
                # Poisons the target.
                ################################################################################
                2) And replace all of the code within this section with this:
                Code:
                class PokeBattle_Move_005 < PokeBattle_Move
                  def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
                    return super(attacker,opponent,hitnum,alltargets,showanimation) if pbIsDamaging?
                    #==========================================================================================================
                    # Custom Ability - Numbing Poison & Searing Poison
                    #==========================================================================================================
                    return -1 if attacker.hasWorkingAbility(:NUMBINGPOISON) && !opponent.pbCanParalyze?(attacker,true,self)
                    return -1 if attacker.hasWorkingAbility(:SEARINGPOISON) && !opponent.pbCanBurn?(attacker,true,self)
                    return -1 if (!attacker.hasWorkingAbility(:NUMBINGPOISON) || !attacker.hasWorkingAbility(:SEARPOISON)) &&
                                 !opponent.pbCanPoison?(attacker,true,self)
                    pbShowAnimation(@id,attacker,opponent,hitnum,alltargets,showanimation)
                    if attacker.hasWorkingAbility(:NUMBINGPOISON)
                      opponent.pbParalyze(attacker)
                      return 0
                    elsif attacker.hasWorkingAbility(:SEARINGPOISON)
                      opponent.pbBurn(attacker)
                      return 0
                    else
                      opponent.pbPoison(attacker)
                      return 0
                    end
                  end
                
                  def pbAdditionalEffect(attacker,opponent)
                    #==========================================================================================================
                    # Custom Ability - Numbing Poison & Searing Poison
                    #==========================================================================================================
                    return false if attacker.hasWorkingAbility(:NUMBINGPOISON) && !opponent.pbCanParalyze?(attacker,false,self)
                    return false if attacker.hasWorkingAbility(:SEARINGPOISON) && !opponent.pbCanBurn?(attacker,false,self)
                    return false if (!attacker.hasWorkingAbility(:NUMBINGPOISON) || !attacker.hasWorkingAbility(:SEARPOISON)) &&
                                    !opponent.pbCanPoison?(attacker,false,self)
                    if attacker.hasWorkingAbility(:NUMBINGPOISON)
                      opponent.pbParalyze(attacker)
                      return true
                    elsif attacker.hasWorkingAbility(:SEARINGPOISON)
                      opponent.pbBurn(attacker)
                      return true
                    else
                      opponent.pbPoison(attacker)
                      return true
                    end
                  end
                end




                PBS File:
                Code:
                XXX,OUTBREAK,Outbreak,"The user spreads its status conditions on contact."
                XXX,NUMBINGPOISON,Numbing Poison,"Moves that may poison the target may paralyze instead."
                XXX,SEARINGPOISON,Searing Poison,"Moves that may poison the target may burn instead."
                Reply With Quote
                  #8    
                Old February 4th, 2016 (10:11 PM).
                Rot8er_ConeX's Avatar
                Rot8er_ConeX Rot8er_ConeX is offline
                   
                  Join Date: May 2015
                  Location: The Dissa Region
                  Gender: Male
                  Posts: 822
                  Here's a suggested ability:

                  Ability: Tanooki Tail
                  Effect: While the Pokemon is frozen, they take no damage
                  Note: This sounds at first to be quite overpowered, as it effectively turns you being frozen into your opponent wasting PP. But it should be noted that of the volatile statuses, freezing is the only one that lacks any moves specifically designed to freeze. (i.e. Toxic, Will-O-Wisp, Thunder Wave, Hypnosis). This is also how freezing works in the Mystery Dungeon games by default.

                  Installation:
                  Spoiler:
                  Find the following code in PokeBattle_Battler:
                  Code:
                        if target.hasWorkingAbility(:WONDERGUARD) && typemod<=8 && type>=0 &&
                                !user.hasBypassingAbility
                          if EFFECTMESSAGES
                            @battle.pbDisplay(_INTL("It doesn't affect {1}...",target.pbThis))
                          else
                            @battle.pbDisplay(_INTL("{1} avoided damage with Wonder Guard!",target.pbThis))
                          end
                          PBDebug.log("[#{user.pbThis}: move thwarted by Wonder Guard]")
                          return false
                  And add the following directly below it:
                  Code:
                        elsif target.hasWorkingAbility(:TANOOKITAIL) && target.status==PBStatuses::FROZEN &&
                                !user.hasBypassingAbility
                          if EFFECTMESSAGES
                            @battle.pbDisplay(_INTL("It doesn't affect {1}...",target.pbThis))
                          else
                            @battle.pbDisplay(_INTL("{1} avoided damage with Tanooki!",target.pbThis))
                          end
                          PBDebug.log("[#{user.pbThis}: move thwarted by Tanooki Tail]")
                          return false


                  Sadly, I don't have any suggestions as to who can get this.
                  __________________
                  Features of Pokemon Entropy

                  The black circular "doodles" in the lower right corner of my avatar are actually my username written in Gallifreyan. Yes I'm a Whovian.
                  Reply With Quote
                    #9    
                  Old February 5th, 2016 (5:10 AM). Edited February 5th, 2016 by Light and Darkness Dragon.
                  Light and Darkness Dragon's Avatar
                  Light and Darkness Dragon Light and Darkness Dragon is offline
                  Gives Up
                     
                    Join Date: Feb 2016
                    Age: 25
                    Gender: Male
                    Nature: Rash
                    Posts: 221
                    I was hesitant to post this but these were some ideas people came up with I want to say over half of these were designed with the ideas of mega in mind,

                    Accelerator- User always go first when using non priority moves.
                    Ancestry: All attacking moves gets a STAB bonus, and STAB modifier becomes 2.5x.

                    Apple Corps- User regains double the HP from healing items.

                    Artic Rush: Ice-type and Flying-type moves, are given a 25% boost in power.

                    Cacophony: Pokémon with this Ability negate the effects of sound-based Moves such as Screech, by drowning them out. This Ability is only available by hacking, and only in the 3rd Generation.

                    Color Change: When a Pokémon with this Ability is attacked, it will change its type to that of the move it was hit with.

                    Firewall Policy: A Pokémon with this ability, changes its type depending on opponent's Pokémon. It also raises a stat by 1 stage, depending on opponent's Pokémon. All Normal-Type moves becomes the wielder's new type.

                    Forecast: Pokémon with this Ability change their type according to the weather.

                    Fusion Generator: Exclusive to Mega Electrode. If Pokémon is hit with a Water, Flying, or an Electric Type move, its Sp.Att and Speed are raised by 1 stage. In a Double or Triple battle, allies get a 10% at a boost of Speed.

                    Gem Encrusted- Boost STAB modifier from 1.5x to 2x

                    Heatproof: Halves damage caused by Fire-type attacks and Burns.

                    Honey Gather: May pick up honey after battle; likelihood depends on level.

                    Hyponist- User has a 30% chance to afflict target with sleep or confusion status when they hit wih a non-contact move

                    Ice Body: Heals some HP every time it hails.

                    Illusion: Pokémon with this Ability will come out disguised as the final Pokémon in the party until damage is taken.

                    Immunity: Pokémon with this move have a natural immunity to all forms of Poison.

                    Iron Fist: Increases power of punch attacks (Ice Punch, Fire Punch, etc.) by 20%.

                    Molten Rush: Fire-type and Flying-type moves are given a 25% boost in power.

                    Nervous Rush: If a Pokémon with this ability is faced against a Pokémon, its weak against, the wielder's moves has priority.

                    Normalize: Changes the type of all moves in battle, including the opponent's moves, to Normal-type.

                    Ordinary Dash: Pokémon with this ability, gets priority to all Normal-type move and also a 10% power boost to that move.

                    Ovenbake: All Normal-type attacks becomes Fire-type attacks.

                    Poison Point: When a Pokémon with this Ability is attacked with a Direct Attack, there is a 30% chance of the attacker becoming Poisoned.

                    Shadow Boxer- All non-STAB moves get a 1.5x boost in power.

                    Shield Dust: Pokémon with this Ability are coated in a strange powder that the negates the extra effects of most moves.

                    Shifting Sands- User gets STAB bonus from Ground type moves, and resist both Ground and Fire-type moves.

                    Shock Rush: All Electric-type and Flying-type moves are given a 25% boost in power.

                    Slude Drain: A Pokémon with his ability, negates all Poison-type attacks, and regain 25% of their HP. Black Sludge doesn't hurt the Pokémon, but also heals it. Pokemon gains immunity to Poison status affliment.

                    Sludge Stick: When an opponent's Pokémon comes in contact with the wielder, the opponent's Pokémon's Speed stat is reduced by 1 stage, and has a 10% chance of Poison affliment.

                    Stall: Pokémon with this Ability always move after the foe.

                    Stench (Something for poison types): 10% Chance to flinch.

                    Post:
                    Some of those abilities and balancing and others are down right broken.
                    Reply With Quote
                      #10    
                    Old February 5th, 2016 (8:21 AM).
                    Nickalooose Nickalooose is offline
                    --------------------
                       
                      Join Date: Mar 2008
                      Gender: Female
                      Posts: 1,309
                      Some of these are interesting... I don't think I like how you've designed some of them though... But it's definitely a nice addition to a game, well done.
                      Reply With Quote
                        #11    
                      Old February 5th, 2016 (11:40 AM).
                      Super Dedenne's Avatar
                      Super Dedenne Super Dedenne is offline
                         
                        Join Date: Apr 2014
                        Gender: Other
                        Posts: 31
                        I'd argue that Big Root, seeing that it affects even Aqua Ring, should still effect Liquid Ooze and that Keldeo is faaaar from a suggestion for an underwhelming Pokemon, but these are very good!
                        __________________
                        Public Additions/Snippets:
                        Trainer Outfit: Acro/MachBike Fix
                        (Needs 15.1 update) Pokemon Summary Add-On: Improved Ribbons + Scroll!
                        I might release some of my private plug-n'-play scripts in the future.
                        Reply With Quote
                          #12    
                        Old February 5th, 2016 (12:57 PM).
                        Lucidious89 Lucidious89 is offline
                           
                          Join Date: Apr 2014
                          Gender: Male
                          Posts: 208
                          Quote:
                          Originally Posted by Super Dedenne View Post
                          I'd argue that Big Root, seeing that it affects even Aqua Ring, should still effect Liquid Ooze and that Keldeo is faaaar from a suggestion for an underwhelming Pokemon, but these are very good!
                          I'm torn on Big Root, mostly because the item explicitly says that it works on HP-stealing moves, not on abilities. Big Root does effect Liquid Ooze however, but that's because an HP draining move is still being used and all Liquid Ooze is doing is reversing the effects. In the case of Fang Leech, the healing factor is inherent in the ability itself, not the move being used. Also, Fang Leech isn't technically a "draining" effect, since you aren't being healed relative to the amount of damage done. It's simply a flat heal of 1/8th max HP every time. Semantics I know, but I sided with the line of thought that would be less work to code lol. I could probably give the ability a makeover so that it adds a true draining effect to biting moves, but I feel like in most cases it would be a downgrade for the Pokemon who'd want to be using it.

                          And yeah, Keldeo's probably not a great choice for Armor Piercer, in terms of balance. I just listed Pokemon that seem to physically match the characteristics of the ability. If people want to make OP Pokemon in their game, that's up to them.
                          Reply With Quote
                            #13    
                          Old February 25th, 2016 (10:59 PM).
                          insertbrackets insertbrackets is offline
                             
                            Join Date: Feb 2016
                            Location: Pacific Northwest
                            Gender: Male
                            Nature: Careful
                            Posts: 5
                            These are pretty good. I've come up with a few of my own for a fan game I'm working on.
                            -Frost Bite - Basically like Poison Point, but for freezing
                            -Hypothermia/Permafrost - Basically like Static/Flame Body, but for freezing
                            -Intangibility - Same idea as your "no-contact moves hit" ability
                            -Thick Skull - Powers up headbutting-type moves
                            -Bombadier - Powers up "bomb" and "bullet" type moves
                            -Life Drinker - Powers up HP-sapping moves
                            -Lunacy - A kind of stat-enhancing buff during strong moonlight (a weather condition I'm toying with)
                            Reply With Quote
                              #14    
                            Old November 11th, 2016 (6:05 PM).
                            Neoxus30 Neoxus30 is offline
                               
                              Join Date: Nov 2016
                              Gender: Other
                              Posts: 1
                              Hello, i know this Thread is too old to be active, but you can code an ability for me? This is the ability:
                              The pokemon is a Unique Psychic type, but it has a 50% percentage for being a type psychic/ghost type every turn, but it only is known when the opponent attacks, thanks :pink_boogie:
                              the ability is "Cuantical Box"
                              Reply With Quote
                                #15    
                              Old November 12th, 2016 (11:41 PM). Edited November 13th, 2016 by mej71.
                              WaterPunch WaterPunch is offline
                                 
                                Join Date: Nov 2016
                                Gender: Male
                                Posts: 1
                                Gallant: sword moves used by opponent fail and sword moves from the user always work or hit. Basically a scrappy for sword moves and never miss(even though sacred sword already ignores evasiveness) and swords dance can be used even if you are taunted, tormented, etc.

                                Batter up: if user misses three times while it is out it switches to chosen pokemon, if user hits move three times in a row restores 1/2 (or maybe just 1/4) health. Like striking out if you miss three, restoring health like getting a run and going to the dugout to rest.
                                Protect counts as a miss, if the user uses a status move the counter restarts.
                                Would be good for choice pokes.

                                Flip trick: attacks that "spin" or "kick" (rapid spin, fire spin, double kick, jump kick, high jump kick, low kick, mega kick, rolling kick, triple kick, twister, whirlpool) have 50% chance of increasing speed if they land.

                                Natural selection: first move the user is hit by it resists that type.
                                If it switches and comes back the ability restarts, but as long as the pokemon is out if it gets hit by a move it resists that type the whole time it's out. First hit acts normal though.
                                I.e. Water pokemon has natural selection. Water pokemon is hit by electric move, super effective, natural selection activates, from now until the pokemon switches/faints/loses it's ability/etc the water pokemon resists electric type attacks.

                                Resolve: accuracy is guaranteed to hit after second consecutive use of move that missed the last turn.
                                Basically, if a move misses, it'll always hit the next turn if it's used. It won't work if you miss then use a different move. Doesn't go through immunities and invulnerabilities.

                                Social adaptation: gains boosts in stats to compensate for stat boosts the opponent has.
                                I.e.: switches in, opponent has a 1.5x boost in atk, user gets a 1.5x boost in def. atk->def, def->atk, spatk->spdef, spdef->spatk, spe->spe (probably no speed copy, though. That might be too broken.)
                                Reply With Quote
                                  #16    
                                Old November 22nd, 2016 (11:56 AM).
                                Djaco75's Avatar
                                Djaco75 Djaco75 is offline
                                DAJ 775
                                   
                                  Join Date: Oct 2016
                                  Location: Australia
                                  Gender: Male
                                  Nature: Calm
                                  Posts: 34
                                  I've been waiting for something like this! Thanks so much!
                                  Reply With Quote
                                    #17    
                                  Old October 4th, 2018 (5:26 PM).
                                  Venomous_Zero86's Avatar
                                  Venomous_Zero86 Venomous_Zero86 is offline
                                  Pokemon Chosen Ones (Coming Soon)
                                     
                                    Join Date: Mar 2016
                                    Gender: Male
                                    Posts: 113
                                    anymore upcoming new one these are amazing
                                    __________________
                                    Whatever you do in this life, it's not legendary unless your friends are there to see it. -Barney Stinson
                                    Reply With Quote
                                      #18    
                                    Old October 4th, 2018 (10:25 PM).
                                    mgriffin's Avatar
                                    mgriffin mgriffin is offline
                                       
                                      Join Date: Apr 2014
                                      Posts: 146
                                      Quote:
                                      Originally Posted by Venomous_Zero86 View Post
                                      anymore upcoming new one these are amazing
                                      Not the OP but I participated in a similar thread over on Relic Castle.
                                      Reply With Quote
                                        #19    
                                      Old October 5th, 2018 (3:57 PM). Edited October 5th, 2018 by Lucidious89.
                                      Lucidious89 Lucidious89 is offline
                                         
                                        Join Date: Apr 2014
                                        Gender: Male
                                        Posts: 208
                                        Quote:
                                        Originally Posted by Venomous_Zero86 View Post
                                        anymore upcoming new one these are amazing
                                        Hmm I haven't really been working on more, but here's one I just whipped up:

                                        Ability: Bad Blood
                                        Effect: When a Pokemon shares this same ability with another Pokemon on the field, they become locked in a blood feud which prevents the other from switching out. Each turn spent on the field with each other will increase their Attack stat by 1 stage.

                                        Notes: This ability only triggers if both users of this Ability are of different species. So for example, if two Zangoose on the field have Bad Blood, the abilities won't activate. However if a Zangoose and a Seviper have this ability while on the field, it will activate. It's also worth noting that this ability will activate even if both Pokemon are from the same trainer. So partner Pokemon will become locked in a blood feud even if they are meant to be allies.


                                        Users: Zangoose, Seviper

                                        Example Images:
                                        Spoiler:















                                        Installation:
                                        Spoiler:
                                        1) In PokeBattle_Battler, find this line:
                                        Code:
                                        # Pressure message
                                        and paste the following directly above it:
                                        Code:
                                        #===========================================================================
                                            # Bad Blood - Message
                                            #===========================================================================
                                            if self.hasWorkingAbility(:BADBLOOD) && onactive
                                              rivals=[]
                                              rivals.push(pbOpposing1) if pbOpposing1.hasWorkingAbility(:BADBLOOD) && !pbOpposing1.fainted? && pbOpposing1.species!=self.species
                                              rivals.push(pbOpposing2) if pbOpposing2.hasWorkingAbility(:BADBLOOD) && !pbOpposing2.fainted? && pbOpposing2.species!=self.species
                                              rivals.push(pbPartner) if pbPartner.hasWorkingAbility(:BADBLOOD) && !pbPartner.fainted? && pbPartner.species!=self.species
                                              PBDebug.log("[Ability triggered] #{pbThis}'s Bad Blood locked it in a blood feud!") if rivals.length>0
                                              for i in rivals
                                                @battle.pbDisplay(_INTL("{1} becomes enraged at the sight of {2}!",pbThis,i.pbThis(true)))
                                              end
                                            end
                                            #===========================================================================

                                        2) In PokeBattle_Battle, find these lines:
                                        Code:
                                        if !thispkmn.hasWorkingAbility(:SHADOWTAG)
                                              opp=opp1 if opp1.hasWorkingAbility(:SHADOWTAG)
                                              opp=opp2 if opp2.hasWorkingAbility(:SHADOWTAG)
                                            end
                                        And paste the following directly below it:
                                        Code:
                                        #===========================================================================
                                            # Bad Blood - Prevents switching
                                            #===========================================================================
                                            if thispkmn.hasWorkingAbility(:BADBLOOD)
                                              pkmn=thispkmn
                                              ally=thispkmn.pbPartner
                                              opp=pkmn if opp1.hasWorkingAbility(:BADBLOOD) && opp1.species!=pkmn.species
                                              opp=pkmn if opp2.hasWorkingAbility(:BADBLOOD) && opp2.species!=pkmn.species
                                              opp=pkmn if ally.hasWorkingAbility(:BADBLOOD) && ally.species!=pkmn.species
                                            end
                                            #===========================================================================

                                        3) Finally, in PokeBattle_Battle, find this line:
                                        Code:
                                        # Bad Dreams
                                        And paste the following above it:
                                        Code:
                                        #=========================================================================
                                              # Bad Blood - Raises Attack each turn
                                              #=========================================================================
                                              rivals=[]
                                              rivals.push(i.pbOpposing1) if i.pbOpposing1.hasWorkingAbility(:BADBLOOD) && !i.pbOpposing1.fainted? && i.pbOpposing1.species!=i.species
                                              rivals.push(i.pbOpposing2) if i.pbOpposing2.hasWorkingAbility(:BADBLOOD) && !i.pbOpposing2.fainted? && i.pbOpposing2.species!=i.species
                                              rivals.push(i.pbPartner) if i.pbPartner.hasWorkingAbility(:BADBLOOD) && !i.pbPartner.fainted? && i.pbPartner.species!=i.species
                                              if i.turncount>0 && i.hasWorkingAbility(:BADBLOOD) && rivals.length>0
                                                if i.pbIncreaseStatWithCause(PBStats::ATTACK,1,i,PBAbilities.getName(i.ability))
                                                  PBDebug.log("[Ability triggered] #{i.pbThis}'s #{PBAbilities.getName(i.ability)}")
                                                end
                                              end
                                              #=========================================================================


                                        4) Now just add this to your ability PBS file (changing the X's to the appropriate number):
                                        Code:
                                        XXX,BADBLOOD,Bad Blood,"Boosts Attack each turn when locked in a blood feud."
                                        Reply With Quote
                                          #20    
                                        Old October 5th, 2018 (4:42 PM).
                                        Venomous_Zero86's Avatar
                                        Venomous_Zero86 Venomous_Zero86 is offline
                                        Pokemon Chosen Ones (Coming Soon)
                                           
                                          Join Date: Mar 2016
                                          Gender: Male
                                          Posts: 113
                                          Quote:
                                          Originally Posted by Lucidious89 View Post
                                          Hmm I haven't really been working on more, but here's one I just whipped up:

                                          Ability: Bad Blood
                                          Effect: When a Pokemon shares this same ability with another Pokemon on the field, they become locked in a blood feud which prevents the other from switching out. Each turn spent on the field with each other will increase their Attack stat by 1 stage.

                                          Notes: This ability only triggers if both users of this Ability are of different species. So for example, if two Zangoose on the field have Bad Blood, the abilities won't activate. However if a Zangoose and a Seviper have this ability while on the field, it will activate. It's also worth noting that this ability will activate even if both Pokemon are from the same trainer. So partner Pokemon will become locked in a blood feud even if they are meant to be allies.


                                          Users: Zangoose, Seviper

                                          Example Images:
                                          Spoiler:















                                          Installation:
                                          Spoiler:
                                          1) In PokeBattle_Battler, find this line:
                                          Code:
                                          # Pressure message
                                          and paste the following directly above it:
                                          Code:
                                          #===========================================================================
                                              # Bad Blood - Message
                                              #===========================================================================
                                              if self.hasWorkingAbility(:BADBLOOD) && onactive
                                                rivals=[]
                                                rivals.push(pbOpposing1) if pbOpposing1.hasWorkingAbility(:BADBLOOD) && !pbOpposing1.fainted? && pbOpposing1.species!=self.species
                                                rivals.push(pbOpposing2) if pbOpposing2.hasWorkingAbility(:BADBLOOD) && !pbOpposing2.fainted? && pbOpposing2.species!=self.species
                                                rivals.push(pbPartner) if pbPartner.hasWorkingAbility(:BADBLOOD) && !pbPartner.fainted? && pbPartner.species!=self.species
                                                PBDebug.log("[Ability triggered] #{pbThis}'s Bad Blood locked it in a blood feud!") if rivals.length>0
                                                for i in rivals
                                                  @battle.pbDisplay(_INTL("{1} becomes enraged at the sight of {2}!",pbThis,i.pbThis(true)))
                                                end
                                              end
                                              #===========================================================================

                                          2) In PokeBattle_Battle, find these lines:
                                          Code:
                                          if !thispkmn.hasWorkingAbility(:SHADOWTAG)
                                                opp=opp1 if opp1.hasWorkingAbility(:SHADOWTAG)
                                                opp=opp2 if opp2.hasWorkingAbility(:SHADOWTAG)
                                              end
                                          And paste the following directly below it:
                                          Code:
                                          #===========================================================================
                                              # Bad Blood - Prevents switching
                                              #===========================================================================
                                              if thispkmn.hasWorkingAbility(:BADBLOOD)
                                                pkmn=thispkmn
                                                ally=thispkmn.pbPartner
                                                opp=pkmn if opp1.hasWorkingAbility(:BADBLOOD) && opp1.species!=pkmn.species
                                                opp=pkmn if opp2.hasWorkingAbility(:BADBLOOD) && opp2.species!=pkmn.species
                                                opp=pkmn if ally.hasWorkingAbility(:BADBLOOD) && ally.species!=pkmn.species
                                              end
                                              #===========================================================================

                                          3) Finally, in PokeBattle_Battle, find this line:
                                          Code:
                                          # Bad Dreams
                                          And paste the following above it:
                                          Code:
                                          #=========================================================================
                                                # Bad Blood - Raises Attack each turn
                                                #=========================================================================
                                                rivals=[]
                                                rivals.push(i.pbOpposing1) if i.pbOpposing1.hasWorkingAbility(:BADBLOOD) && !i.pbOpposing1.fainted? && i.pbOpposing1.species!=i.species
                                                rivals.push(i.pbOpposing2) if i.pbOpposing2.hasWorkingAbility(:BADBLOOD) && !i.pbOpposing2.fainted? && i.pbOpposing2.species!=i.species
                                                rivals.push(i.pbPartner) if i.pbPartner.hasWorkingAbility(:BADBLOOD) && !i.pbPartner.fainted? && i.pbPartner.species!=i.species
                                                if i.turncount>0 && i.hasWorkingAbility(:BADBLOOD) && rivals.length>0
                                                  if i.pbIncreaseStatWithCause(PBStats::ATTACK,1,i,PBAbilities.getName(i.ability))
                                                    PBDebug.log("[Ability triggered] #{i.pbThis}'s #{PBAbilities.getName(i.ability)}")
                                                  end
                                                end
                                                #=========================================================================


                                          4) Now just add this to your ability PBS file (changing the X's to the appropriate number):
                                          Code:
                                          XXX,BADBLOOD,Bad Blood,"Boosts Attack each turn when locked in a blood feud."






                                          hey do u know any other pokemon i should use this for maybe btw thx this is amazing are u on a game project?
                                          __________________
                                          Whatever you do in this life, it's not legendary unless your friends are there to see it. -Barney Stinson
                                          Reply With Quote
                                            #21    
                                          Old October 5th, 2018 (4:55 PM). Edited October 5th, 2018 by Lucidious89.
                                          Lucidious89 Lucidious89 is offline
                                             
                                            Join Date: Apr 2014
                                            Gender: Male
                                            Posts: 208
                                            Quote:
                                            Originally Posted by Venomous_Zero86 View Post
                                            hey do u know any other pokemon i should use this for maybe btw thx this is amazing are u on a game project?
                                            I designed it specifically for Zangoose/Seviper. I can't really think of any other Pokemon pairings that have that sort of bitter rivalry with each other. Maybe Yungoos/Alolan Rattata. But then it wouldn't make sense why Yungoos and Zangoose activate Bad Blood when together (since the ability would technically activate on any pairing, as long as they are different species). So the concept only really works when the only species that have it should "hate" each other.

                                            Anyway, I'm not working on a game project. It's far too much of an investment and I just don't have that sort of time and patience. I basically just tinker around with making stuff here and there when im bored and in a creative mood.
                                            Reply With Quote
                                              #22    
                                            Old October 5th, 2018 (5:00 PM).
                                            Venomous_Zero86's Avatar
                                            Venomous_Zero86 Venomous_Zero86 is offline
                                            Pokemon Chosen Ones (Coming Soon)
                                               
                                              Join Date: Mar 2016
                                              Gender: Male
                                              Posts: 113
                                              Quote:
                                              Originally Posted by Lucidious89 View Post
                                              I designed it specifically for Zangoose/Seviper. I can't really think of any other Pokemon pairings that have that sort of bitter rivalry with each other. Maybe Yungoos/Alolan Rattata. But then it wouldn't make sense why Yungoos and Zangoose activate Bad Blood when together (since the ability would technically activate on any pairing, as long as they are different species). So the concept only really works when the only species that have it should "hate" each other.

                                              Anyway, I'm not working on a game project. It's far too much of an investment and I just don't have that sort of time and patience. I basically just tinker around with making stuff here and there when im bored and in a creative mood.

                                              well plz if you ever want to work on a game hit me up btw what else are good at i love birthsigns
                                              __________________
                                              Whatever you do in this life, it's not legendary unless your friends are there to see it. -Barney Stinson
                                              Reply With Quote
                                                #23    
                                              Old October 5th, 2018 (6:11 PM). Edited October 5th, 2018 by WolfPP.
                                              WolfPP's Avatar
                                              WolfPP WolfPP is offline
                                                 
                                                Join Date: Aug 2018
                                                Location: Brazil
                                                Gender: Male
                                                Nature: Jolly
                                                Posts: 155
                                                Quote:
                                                Originally Posted by Venomous_Zero86 View Post
                                                hey do u know any other pokemon i should use this for maybe btw thx this is amazing are u on a game project?
                                                Palkia n Dialga;
                                                Lugia n Ho-oh;
                                                Kyogre n Groundon;
                                                Cresselia n Darkrai;
                                                Necrozma n Solgaleo/Lunala (maybe?)
                                                Rayquaza n Deoxys
                                                Reply With Quote
                                                  #24    
                                                Old October 5th, 2018 (6:27 PM).
                                                Venomous_Zero86's Avatar
                                                Venomous_Zero86 Venomous_Zero86 is offline
                                                Pokemon Chosen Ones (Coming Soon)
                                                   
                                                  Join Date: Mar 2016
                                                  Gender: Male
                                                  Posts: 113
                                                  Quote:
                                                  Originally Posted by WolfPP View Post
                                                  Palkia n Dialga;
                                                  Lugia n Ho-oh;
                                                  Kyogre n Groundon;
                                                  Cresselia n Darkrai;
                                                  Necrozma n Solgaleo/Lunala (maybe?)
                                                  Rayquaza n Deoxys
                                                  cool thx
                                                  __________________
                                                  Whatever you do in this life, it's not legendary unless your friends are there to see it. -Barney Stinson
                                                  Reply With Quote
                                                  Reply

                                                  Quick Reply

                                                  Join the conversation!

                                                  Create an account to post a reply in this thread, participate in other discussions, and more!

                                                  Create a PokéCommunity Account
                                                  Thread Tools

                                                  Posting Rules
                                                  You may not post new threads
                                                  You may not post replies
                                                  You may not post attachments
                                                  You may not edit your posts

                                                  BB code is On
                                                  Smilies are On
                                                  [IMG] code is On
                                                  HTML code is Off

                                                  Forum Jump


                                                  All times are GMT -8. The time now is 6:25 AM.