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.

Ad Content
Reply
 
Thread Tools
  #51   Link to this post, but load the entire thread.  
Old February 2nd, 2019 (9:36 AM).
mybusiness's Avatar
mybusiness mybusiness is offline
Discord: mybusiness#3879
     
    Join Date: Dec 2018
    Location: Spain
    Gender: Male
    Nature: Lonely
    Posts: 59
    My script for Beast Boost is that of this thread. Soul Heart and Beast Boost are very distinct abilities; I don´t imagine putting them together.

    Idk how to verify if a pokemon of an opponent is the last in battle. For a given condition, say isLastPok?(pok) (probably in Battle class), you could put if !@battle.isLastPok?(self) then `Soul Heart code`.
    Reply With Quote
      #52   Link to this post, but load the entire thread.  
    Old February 3rd, 2019 (11:38 AM).
    Juno and Ice's Avatar
    Juno and Ice Juno and Ice is offline
       
      Join Date: May 2018
      Gender: Male
      Posts: 68
      Quote:
      Originally Posted by mybusiness View Post
      My script for Beast Boost is that of this thread. Soul Heart and Beast Boost are very distinct abilities; I don´t imagine putting them together.

      Idk how to verify if a pokemon of an opponent is the last in battle. For a given condition, say isLastPok?(pok) (probably in Battle class), you could put if !@battle.isLastPok?(self) then `Soul Heart code`.
      Do you have the Dancer ability as well? The one I have doesn't seem to work with all Dance moves.
      Reply With Quote
        #53   Link to this post, but load the entire thread.  
      Old February 3rd, 2019 (1:09 PM).
      mybusiness's Avatar
      mybusiness mybusiness is offline
      Discord: mybusiness#3879
         
        Join Date: Dec 2018
        Location: Spain
        Gender: Male
        Nature: Lonely
        Posts: 59
        https://www.pokecommunity.com/showpost.php?p=9971123&postcount=21
        Reply With Quote
          #54   Link to this post, but load the entire thread.  
        Old February 4th, 2019 (7:53 AM). Edited February 4th, 2019 by Richard PT.
        Richard PT's Avatar
        Richard PT Richard PT is offline
           
          Join Date: Aug 2014
          Location: Portugal
          Gender: Male
          Nature: Calm
          Posts: 147
          Where i can find Surge surfer ability?

          EDIT: Nevermind, i just realize that ability within the surges abilities codes.
          __________________
          Reply With Quote
            #55   Link to this post, but load the entire thread.  
          Old 4 Weeks Ago (8:09 AM). Edited 4 Weeks Ago by WolfPP.
          WolfPP's Avatar
          WolfPP WolfPP is online now
          Discord: Wolf#1235
             
            Join Date: Aug 2018
            Location: Brazil
            Gender: Male
            Nature: Jolly
            Posts: 357
            Quote:
            Originally Posted by mybusiness View Post
            Sorry, I won't post each one of them because, firstly, there are many of the abilities posted here, here, here and here, and, secondly, there is too much work for me now (I believe there are like 40 abilities introduced in gen 7). The purpose of this thread is to post the abilities that weren't previously completely solved by another, but I don't know which are those, so, make a concise request, like WolfPP.



            What is written with red is what you should add.

            Power of Alchemy and Receiver:
            Spoiler:
            In PokeBattle_Battler, where is Trace:
            Code:
            # Trace
                if self.hasWorkingAbility(:TRACE)
                  choices=[]
                  for i in 0...4
                    foe=@battle.battlers[i]
                    if pbIsOpposing?(i) && !foe.fainted?
                      abil=foe.ability
                      if abil>0 &&
                         !isConst?(abil,PBAbilities,:TRACE) &&
                         !isConst?(abil,PBAbilities,:MULTITYPE) &&
                         !isConst?(abil,PBAbilities,:ILLUSION) &&
                         !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                         !isConst?(abil,PBAbilities,:IMPOSTER) &&
                         !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                         !isConst?(abil,PBAbilities,:COMATOSE) &&
                         !isConst?(abil,PBAbilities,:BATTLEBOND) &&
                         !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                         !isConst?(abil,PBAbilities,:DISGUISE) &&
                         !isConst?(abil,PBAbilities,:POWEROFALCHEMY) &&
                         !isConst?(abil,PBAbilities,:RECEIVER) &&
                         !isConst?(abil,PBAbilities,:RKSSYSTEM) &&
                         !isConst?(abil,PBAbilities,:SCHOOLING) &&
                         !isConst?(abil,PBAbilities,:SHIELDSDOWN)
                        choices.push(i)
                      end
                    end
                  end
            In PokeBattle_Battler, under Moxie:
            Code:
            # Power of Alchemy, Receiver
                if (user.hasWorkingAbility(:POWEROFALCHEMY) ||
                  user.hasWorkingAbility(:RECEIVER)) && @battle.doublebattle &&
                   user.pbPartner.fainted?
                  usable=false
                  abil=user.pbPartner.ability
                  if abil>0 &&
                         !isConst?(abil,PBAbilities,:POWEROFALCHEMY) &&
                         !isConst?(abil,PBAbilities,:TRACE) &&
                         !isConst?(abil,PBAbilities,:MULTITYPE) &&
                         !isConst?(abil,PBAbilities,:ILLUSION) &&
                         !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                         !isConst?(abil,PBAbilities,:IMPOSTER) &&
                         !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                         !isConst?(abil,PBAbilities,:COMATOSE) &&
                         !isConst?(abil,PBAbilities,:BATTLEBOND) &&
                         !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                         !isConst?(abil,PBAbilities,:RECEIVER) &&
                         !isConst?(abil,PBAbilities,:FORECAST) &&
                         !isConst?(abil,PBAbilities,:WONDERGUARD) &&
                         !isConst?(abil,PBAbilities,:DISGUISE) &&
                         !isConst?(abil,PBAbilities,:ZENMODE) &&
                         !isConst?(abil,PBAbilities,:SCHOOLING) &&
                         !isConst?(abil,PBAbilities,:SHIELDSDOWN) &&
                         !isConst?(abil,PBAbilities,:RKSSYSTEM)
                        usable=true
                  end
                  if usable
                    abilityname=PBAbilities.getName(abil)
                    PBDebug.log("[Ability triggered] #{user.pbThis}'s #{PBAbilities.getName(user.ability)} turned into #{abilityname} from #{user.pbPartner}")
                    user.ability=abil
                    @battle.pbDisplay(_INTL("{1} copied {2}'s {3}!",user.pbThis,user.pbPartner,abilityname))
                  end
                end
            In PokeBattle_MoveEffects, where is Role Play:
            Code:
            if opponent.ability==0 ||
                   attacker.ability==opponent.ability ||
                   isConst?(attacker.ability,PBAbilities,:MULTITYPE) ||
                   isConst?(attacker.ability,PBAbilities,:STANCECHANGE) ||
                   isConst?(opponent.ability,PBAbilities,:FLOWERGIFT) ||
                   isConst?(opponent.ability,PBAbilities,:FORECAST) ||
                   isConst?(opponent.ability,PBAbilities,:ILLUSION) ||
                   isConst?(opponent.ability,PBAbilities,:IMPOSTER) ||
                   isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                   isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                   isConst?(opponent.ability,PBAbilities,:TRACE) ||
                   isConst?(opponent.ability,PBAbilities,:WONDERGUARD) ||
                   isConst?(opponent.ability,PBAbilities,:ZENMODE) ||
                   isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                   isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                   isConst?(opponent.ability,PBAbilities,:BATTLEBOND) ||
                   isConst?(opponent.ability,PBAbilities,:POWEROFALCHEMY) ||
                   isConst?(opponent.ability,PBAbilities,:RECEIVER) ||
                   isConst?(opponent.ability,PBAbilities,:RKSSYSTEM) ||
                   isConst?(opponent.ability,PBAbilities,:SCHOOLING) ||
                   isConst?(opponent.ability,PBAbilities,:SHIELDSDOWN)
                  @battle.pbDisplay(_INTL("But it failed!"))
                  return -1
                end
            In PokeBattle_MoveEffects, where is Entrainment:
            Code:
            if attacker.ability==0 ||
                   attacker.ability==opponent.ability ||
                   isConst?(opponent.ability,PBAbilities,:FLOWERGIFT) ||
                   isConst?(opponent.ability,PBAbilities,:IMPOSTER) ||
                   isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                   isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                   isConst?(opponent.ability,PBAbilities,:TRACE) ||
                   isConst?(opponent.ability,PBAbilities,:TRUANT) ||
                   isConst?(opponent.ability,PBAbilities,:ZENMODE) ||
                   isConst?(attacker.ability,PBAbilities,:FLOWERGIFT) ||
                   isConst?(attacker.ability,PBAbilities,:FORECAST) ||
                   isConst?(attacker.ability,PBAbilities,:ILLUSION) ||
                   isConst?(attacker.ability,PBAbilities,:IMPOSTER) ||
                   isConst?(attacker.ability,PBAbilities,:STANCECHANGE) ||
                   isConst?(attacker.ability,PBAbilities,:TRACE) ||
                   isConst?(attacker.ability,PBAbilities,:ZENMODE) ||
                   isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                   isConst?(attacker.ability,PBAbilities,:COMATOSE) ||
                   isConst?(opponent.ability,PBAbilities,:BATTLEBOND) ||
                   isConst?(attacker.ability,PBAbilities,:BATTLEBOND) ||
                   isConst?(opponent.ability,PBAbilities,:POWERCONSTRUCT) ||
                   isConst?(attacker.ability,PBAbilities,:POWERCONSTRUCT) ||
                   isConst?(attacker.ability,PBAbilities,:POWEROFALCHEMY) ||
                   isConst?(attacker.ability,PBAbilities,:RECEIVER) ||
                   isConst?(opponent.ability,PBAbilities,:RKSSYSTEM) ||
                   isConst?(opponent.ability,PBAbilities,:SCHOOLING) ||
                   isConst?(opponent.ability,PBAbilities,:SHIELDSDOWN)
            
                  @battle.pbDisplay(_INTL("But it failed!"))
                  return -1
                end
            Unfortunately, its script didnt work for me. Nothing happens. What could be?

            EDIT: Done!
            In 'PokeBattle_Battler', above 'Intimidate' script, paste:
            Spoiler:

            Code:
                # Power of Alchemist & Receiver
                if (self.hasWorkingAbility(:POWEROFALCHEMY) || self.hasWorkingAbility(:RECEIVER)) && 
                 @battle.doublebattle && pbPartner.fainted?
                  usable=false
                  abil=pbPartner.ability
                  if abil>0 &&
                     !isConst?(abil,PBAbilities,:POWEROFALCHEMY) &&
                     !isConst?(abil,PBAbilities,:RECEIVER) &&
                     !isConst?(abil,PBAbilities,:TRACE) &&
                     !isConst?(abil,PBAbilities,:FORECAST) &&
                     !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                     !isConst?(abil,PBAbilities,:MULTITYPE) &&
                     !isConst?(abil,PBAbilities,:ILLUSION) &&
                     !isConst?(abil,PBAbilities,:WONDERGUARD) &&
                     !isConst?(abil,PBAbilities,:ZENMODE) &&
                     !isConst?(abil,PBAbilities,:IMPOSTER) &&
                     !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                     !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                     !isConst?(abil,PBAbilities,:SCHOOLING) &&
                     !isConst?(abil,PBAbilities,:COMATOSE) &&
                     !isConst?(abil,PBAbilities,:SHIELDSDOWN) &&
                     !isConst?(abil,PBAbilities,:DISGUISE) &&
                     !isConst?(abil,PBAbilities,:RKSSYSTEM) &&
                     !isConst?(abil,PBAbilities,:BATTLEBOND)             
                    usable=true
                  end
                  if usable
                    battlername=pbPartner.pbThis(true)
                    abilityname=PBAbilities.getName(abil)
                    PBDebug.log("[Ability triggered] #{self.pbThis}'s #{PBAbilities.getName(self.ability)} turned into #{abilityname} from #{battlername}")
                    self.ability=abil
                    @battle.pbDisplay(_INTL("{1} copied {2}'s {3}!",pbThis,battlername,abilityname))
                  end
                end
            Reply With Quote
              #56   Link to this post, but load the entire thread.  
            Old 3 Weeks Ago (9:09 AM).
            gerff's Avatar
            gerff gerff is offline
               
              Join Date: Mar 2018
              Posts: 40
              Quote:
              Originally Posted by mybusiness View Post
              Stakeout:
              Spoiler:
              In PBEffects, add an effect that applies to a battler:
              Spoiler:
              Code:
              Stakeout           = 112 # Change this number with the next number after the number associated with last effect

              In PokeBattle_Battler:
              Spoiler:
              Just above # Moxie
              Spoiler:
              Code:
              # Stakeout
                  if user.hasWorkingAbility(:STAKEOUT) && target.effects[PBEffects::Stakeout]
                    PBDebug.log("[Ability triggered] #{user.pbThis}'s Stakeout worked")
                    @battle.pbDisplay(_INTL("{1}'s stakeout resulted in a stronger attack!",user.pbThis))
                  end

              where is # Tangling Hair (if you don't ahve it, skip), make it similar to this:
              Spoiler:
              Code:
              # Tangling Hair
                    if target.hasWorkingAbility(:TANGLINGHAIR) && thismove.isContactMove? &&
                       !target.damagestate.substitute && !user.hasWorkingAbility(:LONGREACH)
                      if user.pbReduceStatWithCause(PBStats::SPEED,1,user,PBAbilities.getName(target.ability))
                        PBDebug.log("[Ability triggered] #{target.pbThis}'s Tangling Hair was activated")
                      end
                    end

              In PokeBattle_Move:
              Spoiler:
              Under Sniper:
              Spoiler:
              Code:
              if attacker.hasWorkingAbility(:SNIPER) && opponent.damagestate.critical
                    finaldamagemult=(finaldamagemult*1.5).round
                  end
                  if attacker.hasWorkingAbility(:STAKEOUT) && opponent.effects[PBEffects::Stakeout]
                    finaldamagemult=(finaldamagemult*2.0).round
                  end

              below, in def pbOnDamageLost:
              Spoiler:
              Code:
              if pbIsPhysical?(type) && !attacker.hasWorkingAbility(:LONGREACH)
                    opponent.effects[PBEffects::Counter]=damage
                    opponent.effects[PBEffects::CounterTarget]=attacker.index

              In PokeBattle_Battle:
              Spoiler:

              Search '# the attack phase now ends', and add what's red:
              Spoiler:
              Code:
              if !pbRecallAndReplace(i.index,index,newpokename)
                        # If a forced switch somehow occurs here in single battles
                        # the attack phase now ends
                        if !@doublebattle
                          @switching=false
                          return
                        end
                      else
                        switched.push(i.index)
                        i.effects[PBEffects::Stakeout]=true
                      end

              below, where is # End of round.
              Spoiler:
              Code:
              def pbEndOfRoundPhase
                  PBDebug.log("[End of round]")
                  for i in 0...4
                    @battlers[i].effects[PBEffects::Electrify]=false
                    @battlers[i].effects[PBEffects::Endure]=false
                    @battlers[i].effects[PBEffects::FirstPledge]=0
                    @battlers[i].effects[PBEffects::HyperBeam]-=1 if @battlers[i].effects[PBEffects::HyperBeam]>0
                    @battlers[i].effects[PBEffects::KingsShield]=false
                    @battlers[i].effects[PBEffects::LifeOrb]=false
                    @battlers[i].effects[PBEffects::MoveNext]=false
                    @battlers[i].effects[PBEffects::Powder]=false
                    @battlers[i].effects[PBEffects::Protect]=false
                    @battlers[i].effects[PBEffects::ProtectNegation]=false
                    @battlers[i].effects[PBEffects::Quash]=false
                    @battlers[i].effects[PBEffects::Roost]=false
                    @battlers[i].effects[PBEffects::SpikyShield]=false
                    @battlers[i].effects[PBEffects::Stakeout]=false
                    @battlers[i].effects[PBEffects::Instruct]=false
                    @battlers[i].effects[PBEffects::BanefulBunker]=false
                  end



              Long Reach (I suggest this one):
              Spoiler:
              In PokeBattle_Battler:
              Spoiler:
              where is def pbEffectsOnDealingDamage:
              Spoiler:
              Code:
              def pbEffectsOnDealingDamage(move,user,target,damage)
                  movetype=move.pbType(move.type,user,target)
                  if damage>0 && move.isContactMove?(user)
                    if !target.damagestate.substitute

              below, where is # King's Shield:
              Spoiler:
              Code:
              # 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)
                      user.pbReduceStat(PBStats::ATTACK,2,nil,false)
                    end
                    return false
                  end

              below, where is # Spiky Shield
              Spoiler:
              Code:
              # 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?(user) && !user.fainted?
                      @battle.scene.pbDamageAnimation(user,0)
                      amt=user.pbReduceHP((user.totalhp/8).floor)
                      @battle.pbDisplay(_INTL("{1} was hurt!",user.pbThis)) if amt>0
                    end
                    return false
                  end

              where is #Baneful Bunker (if you don't have this, skip):
              Spoiler:
              Code:
              # Baneful Bunker
                  if target.effects[PBEffects::BanefulBunker] && 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 Baneful Bunker stopped the attack!")
                    if thismove.isContactMove?(user) && !user.isFainted? && user.pbCanPoison?(nil,false)
                      PBDebug.log("#{target.pbThis} poisoned by Baneful Bunker")
                      user.pbPoison(target,_INTL("{1} was poisoned!",target.pbThis))
                    end
                    return false
                  end

              where is # Tangling Hair (if you don't have this, skip)
              Spoiler:
              Code:
              # Tangling Hair
                    if target.hasWorkingAbility(:TANGLINGHAIR) && thismove.isContactMove?(user) &&
                       !target.damagestate.substitute
                      if user.pbReduceStatWithCause(PBStats::SPEED,1,user,PBAbilities.getName(target.ability))
                        PBDebug.log("[Ability triggered] #{target.pbThis}'s Tangling Hair was activated")
                      end
                    end

              where is # Beak Blast (if you don't have this, skip)
              Spoiler:
              Code:
              # Beak Blast
                    if target.effects[PBEffects::BeakBlast] && thismove.isContactMove?(user) && 
                       pbCanBurn?(target,false)
                        @battle.pbDisplay(_INTL("{1}'s beak is scorching!",target.pbThis))
                        user.pbBurn
                        PBDebug.log("[Ability triggered] #{target.pbThis}'s #{PBAbilities.getName(target.ability)}")
                    end

              In PokeBattle_Move:
              Spoiler:
              where is def isContactMove?
              Spoiler:
              Code:
              def isContactMove?(attacker=nil)
                  return false if (attacker && attacker.hasWorkingAbility(:LONGREACH))
                  return (@flags&0x01)!=0 # flag a: Makes contact
                end

              below, in def pbCalcDamage, where is Fluffy (only for those of you that have this), make sure is something like this
              Spoiler:
              Code:
              if opponent.hasWorkingAbility(:FLUFFY) && isContactMove?(attacker)
                      finaldamagemult=(finaldamagemult*0.5).round
                    elsif opponent.hasWorkingAbility(:FLUFFY) && isConst?(type,PBTypes,:FIRE)
                      finaldamagemult=(finaldamagemult*2.0).round
                    end



              Long Reach (alternative):
              Spoiler:
              In PokeBattle_Battler, where is def pbEffectsOnDealingDamage:
              Spoiler:
              Code:
              def pbEffectsOnDealingDamage(move,user,target,damage)
                  movetype=move.pbType(move.type,user,target)
                  if damage>0 && move.isContactMove? && !user.hasWorkingAbility(:LONGREACH)
                    if !target.damagestate.substitute

              below, where is # King's Shield:
              Spoiler:
              Code:
              # 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.hasWorkingAbility(:LONGREACH)
                      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? && !user.fainted? && !user.hasWorkingAbility(:LONGREACH)
                      @battle.scene.pbDamageAnimation(user,0)
                      amt=user.pbReduceHP((user.totalhp/8).floor)
                      @battle.pbDisplay(_INTL("{1} was hurt!",user.pbThis)) if amt>0
                    end
                    return false
                  end
                  # Baneful Bunker (if you don't have this, it's fine)
                  if target.effects[PBEffects::BanefulBunker] && 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 Baneful Bunker stopped the attack!")
                    if thismove.isContactMove? && !user.isFainted? && user.pbCanPoison?(nil,false)
                      && !user.hasWorkingAbility(:LONGREACH)
                      PBDebug.log("#{target.pbThis} poisoned by Baneful Bunker")
                      user.pbPoison(target,_INTL("{1} was poisoned!",target.pbThis))
                    end
                    return false
                  end

              In PokeBattle_Move, if you have Fluffy, make sure to be similar to this:
              Spoiler:
              Code:
              if opponent.hasWorkingAbility(:FLUFFY) && !attacker.hasWorkingAbility(:LONGREACH) &&
                       isContactMove?
                      finaldamagemult=(finaldamagemult*0.5).round
                    elsif opponent.hasWorkingAbility(:FLUFFY) && isConst?(type,PBTypes,:FIRE)
                      finaldamagemult=(finaldamagemult*2.0).round
                    end


              other: if you have Beak Blast coded, put something like:
              Spoiler:
              Code:
              # Beak Blast
                    if target.effects[PBEffects::BeakBlast] && thismove.isContactMove? && 
                      !user.hasWorkingAbility(:LONGREACH) && pbCanBurn?(target,false)


              Slush Rush:
              Spoiler:
              In PokeBattle_Battler, in def pbSpeed:
              Spoiler:
              Code:
              case @battle.pbWeather
                  when PBWeather::RAINDANCE, PBWeather::HEAVYRAIN
                    speedmult=speedmult*2 if self.hasWorkingAbility(:SWIFTSWIM)
                  when PBWeather::SUNNYDAY, PBWeather::HARSHSUN
                    speedmult=speedmult*2 if self.hasWorkingAbility(:CHLOROPHYLL)
                  when PBWeather::SANDSTORM
                    speedmult=speedmult*2 if self.hasWorkingAbility(:SANDRUSH)
                  when PBWeather::HAIL
                    speedmult=speedmult*2 if self.hasWorkingAbility(:SLUSHRUSH)
                  end
              Does the Stakeout ability clash with Wimp Out and Emergency Exit? I did everything as you said and although I don't get any errors, the ability doesn't get triggered. I tested by fighting a trainer with 2 pokémon, one with the Wimp Out ability. It switches to the other pokémon just fine when its HP gets below half but the Stakeout ability doesn't trigger and damage from my pokémon doesn't seem doubled. Is there another way to test this? I don't know how to make a trainer switches out a pokémon by himself.
              Reply With Quote
                #57   Link to this post, but load the entire thread.  
              Old 2 Weeks Ago (6:06 PM).
              WolfPP's Avatar
              WolfPP WolfPP is online now
              Discord: Wolf#1235
                 
                Join Date: Aug 2018
                Location: Brazil
                Gender: Male
                Nature: Jolly
                Posts: 357
                Quote:
                Originally Posted by gerff View Post
                Does the Stakeout ability clash with Wimp Out and Emergency Exit? I did everything as you said and although I don't get any errors, the ability doesn't get triggered. I tested by fighting a trainer with 2 pokémon, one with the Wimp Out ability. It switches to the other pokémon just fine when its HP gets below half but the Stakeout ability doesn't trigger and damage from my pokémon doesn't seem doubled. Is there another way to test this? I don't know how to make a trainer switches out a pokémon by himself.
                What script do you have?

                I did install that script
                Reply With Quote
                  #58   Link to this post, but load the entire thread.  
                Old 2 Weeks Ago (11:50 PM).
                Juno and Ice's Avatar
                Juno and Ice Juno and Ice is offline
                   
                  Join Date: May 2018
                  Gender: Male
                  Posts: 68
                  Quick question. I remember you saying that you have a disguise script that breaks after it gets hit by the first hit of a multihit attack. Could you post your Disguise script? Also if possible could you post your Battle Bond script as well, so it would be compatible with your Power Construct script?
                  Reply With Quote
                    #59   Link to this post, but load the entire thread.  
                  Old 2 Weeks Ago (3:38 AM).
                  WolfPP's Avatar
                  WolfPP WolfPP is online now
                  Discord: Wolf#1235
                     
                    Join Date: Aug 2018
                    Location: Brazil
                    Gender: Male
                    Nature: Jolly
                    Posts: 357
                    Quote:
                    Originally Posted by Juno and Ice View Post
                    Quick question. I remember you saying that you have a disguise script that breaks after it gets hit by the first hit of a multihit attack. Could you post your Disguise script? Also if possible could you post your Battle Bond script as well, so it would be compatible with your Power Construct script?
                    Did you check here?
                    Reply With Quote
                      #60   Link to this post, but load the entire thread.  
                    Old 2 Weeks Ago (9:30 AM).
                    Juno and Ice's Avatar
                    Juno and Ice Juno and Ice is offline
                       
                      Join Date: May 2018
                      Gender: Male
                      Posts: 68
                      Quote:
                      Originally Posted by WolfPP View Post
                      Did you check here?
                      Yeah I did, but mybusiness said that he has a different disguise script that breaks after the first hit of a multihit attack, unlike the one the one in that thread. I feel like the one mybusiness has is more balanced.
                      Reply With Quote
                        #61   Link to this post, but load the entire thread.  
                      Old 2 Weeks Ago (5:12 AM). Edited 2 Weeks Ago by mybusiness.
                      mybusiness's Avatar
                      mybusiness mybusiness is offline
                      Discord: mybusiness#3879
                         
                        Join Date: Dec 2018
                        Location: Spain
                        Gender: Male
                        Nature: Lonely
                        Posts: 59
                        Disguise
                        Spoiler:

                        In PokeBattle_Battler:
                        Spoiler:
                        Where is Trace:
                        Code:
                         # Trace
                            if self.hasWorkingAbility(:TRACE)
                              choices=[]
                              for i in 0...4
                                foe=@battle.battlers[i]
                                if pbIsOpposing?(i) && !foe.fainted?
                                  abil=foe.ability
                                  if abil>0 &&
                                     !isConst?(abil,PBAbilities,:TRACE) &&
                                     !isConst?(abil,PBAbilities,:MULTITYPE) &&
                                     !isConst?(abil,PBAbilities,:ILLUSION) &&
                                     !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                                     !isConst?(abil,PBAbilities,:IMPOSTER) &&
                                     !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                                     !isConst?(abil,PBAbilities,:COMATOSE) &&
                                     !isConst?(abil,PBAbilities,:BATTLEBOND) &&
                                     !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                                     !isConst?(abil,PBAbilities,:DISGUISE) &&
                        Where is Power of Alchemy, Receiver (if you don´t have this, skip)
                        Code:
                         # Power of Alchemy, Receiver
                            if (self.hasWorkingAbility(:POWEROFALCHEMY) || 
                              self.hasWorkingAbility(:RECEIVER)) && 
                              @battle.doublebattle && pbPartner.fainted?
                              usable=false
                              abil=pbPartner.ability
                              if abil>0 &&
                                 !isConst?(abil,PBAbilities,:POWEROFALCHEMY) &&
                                 !isConst?(abil,PBAbilities,:RECEIVER) &&
                                 !isConst?(abil,PBAbilities,:TRACE) &&
                                 !isConst?(abil,PBAbilities,:FORECAST) &&
                                 !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                                 !isConst?(abil,PBAbilities,:MULTITYPE) &&
                                 !isConst?(abil,PBAbilities,:ILLUSION) &&
                                 !isConst?(abil,PBAbilities,:WONDERGUARD) &&
                                 !isConst?(abil,PBAbilities,:ZENMODE) &&
                                 !isConst?(abil,PBAbilities,:IMPOSTER) &&
                                 !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                                 !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                                 !isConst?(abil,PBAbilities,:SCHOOLING) &&
                                 !isConst?(abil,PBAbilities,:COMATOSE) &&
                                 !isConst?(abil,PBAbilities,:SHIELDSDOWN) &&
                                 !isConst?(abil,PBAbilities,:DISGUISE) &&
                                 !isConst?(abil,PBAbilities,:RKSSYSTEM) &&
                        Where is Mummy
                        Code:
                        if target.hasWorkingAbility(:MUMMY,true) && !user.fainted?
                                  if !isConst?(user.ability,PBAbilities,:MULTITYPE) &&
                                     !isConst?(user.ability,PBAbilities,:STANCECHANGE) &&
                                     !isConst?(user.ability,PBAbilities,:MUMMY) &&
                                     !isConst?(user.ability,PBAbilities,:DISGUISE) &&
                                     !isConst?(user.ability,PBAbilities,:COMATOSE) &&
                                     !isConst?(user.ability,PBAbilities,:BATTLEBOND) &&
                                     !isConst?(user.ability,PBAbilities,:RKSSYSTEM) &&
                        Where is elsif target.hasWorkingItem(:WEAKNESSPOLICY) &&
                        Code:
                        elsif target.hasWorkingItem(:WEAKNESSPOLICY) && target.damagestate.typemod>8
                                  showanim=true
                                  if !target.hasWorkingAbility(:DISGUISE) || target.form!=0
                                    if target.pbIncreaseStatWithCause(PBStats::ATTACK,2,target,PBItems.getName(target.item),showanim)
                                      PBDebug.log("[Item triggered] #{target.pbThis}'s Weakness Policy (Attack)")
                                      showanim=false
                                    end
                                    if target.pbIncreaseStatWithCause(PBStats::SPATK,2,target,PBItems.getName(target.item),showanim)
                                      PBDebug.log("[Item triggered] #{target.pbThis}'s Weakness Policy (Special Attack)")
                                      showanim=false
                                    end
                                  end
                                  target.pbConsumeItem if !showanim
                        Under Illusion
                        Code:
                        # Illusion
                              if target.effects[PBEffects::Illusion] && target.hasWorkingAbility(:ILLUSION) &&
                                 damage>0 && !target.damagestate.substitute
                                PBDebug.log("[Ability triggered] #{target.pbThis}'s Illusion ended")    
                                target.effects[PBEffects::Illusion]=nil
                                @battle.scene.pbChangePokemon(target,target.pokemon)
                                @battle.pbDisplay(_INTL("{1}'s {2} wore off!",target.pbThis,
                                    PBAbilities.getName(target.ability)))
                              end
                              # Disguise
                              if target.hasWorkingAbility(:DISGUISE) && 
                                isConst?(target.species,PBSpecies,:MIMIKYU) && target.form==0 &&
                                thismove.pbIsDamaging? && !target.damagestate.substitute &&
                                !user.hasMoldBreaker #&& !thismove.doesBypassIgnorableAbilities?
                                PBDebug.log("[Ability triggered] #{target.pbThis}'s Disguise ended")
                                @battle.pbDisplay(_INTL("Its disguise served it as a decoy!"))
                                target.form=1
                                target.pbUpdate(true)
                                @battle.scene.pbChangePokemon(target,target.pokemon)
                                @battle.pbDisplay(_INTL("{1}'s disguise was busted!",target.pbThis))
                                if target.hasWorkingItem(:AIRBALLOON,true)
                                  PBDebug.log("[Item triggered] #{target.pbThis}'s Air Balloon popped")
                                  @battle.pbDisplay(_INTL("{1}'s Air Balloon popped!",target.pbThis))
                                  target.pbConsumeItem(true,false)
                                end
                              end

                        In PokeBattle_Move:
                        Spoiler:
                        Where is def pbReduceHPDamage:
                        Code:
                        def pbReduceHPDamage(damage,attacker,opponent)
                            endure=false
                            if opponent.effects[PBEffects::Substitute]>0 && !ignoresSubstitute?(attacker) &&
                               (!attacker || attacker.index!=opponent.index)
                              PBDebug.log("[Lingering effect triggered] #{opponent.pbThis}'s Substitute took the damage")
                              damage=opponent.effects[PBEffects::Substitute] if damage>opponent.effects[PBEffects::Substitute]
                              opponent.effects[PBEffects::Substitute]-=damage
                              opponent.damagestate.substitute=true
                              @battle.scene.pbDamageAnimation(opponent,0)
                              @battle.pbDisplayPaused(_INTL("The substitute took damage for {1}!",opponent.name))
                              if opponent.effects[PBEffects::Substitute]<=0
                                opponent.effects[PBEffects::Substitute]=0
                                @battle.pbDisplayPaused(_INTL("{1}'s substitute faded!",opponent.name))
                                PBDebug.log("[End of effect] #{opponent.pbThis}'s Substitute faded")
                              end
                              opponent.damagestate.hplost=damage
                              damage=0
                            else
                              opponent.damagestate.substitute=false
                              if opponent.hasWorkingAbility(:DISGUISE) && 
                                 !attacker.hasMoldBreaker && opponent.form==0 && damage>0 &&
                                 isConst?(opponent.species,PBSpecies,:MIMIKYU) #&& !doesBypassIgnorableAbilities?
                                damage=0
                              end
                              if damage>=opponent.hp
                                damage=opponent.hp
                                if @function==0xE9 # False Swipe
                                  damage=damage-1
                                elsif opponent.effects[PBEffects::Endure]
                                  damage=damage-1

                        In PokeBattle_MoveEffects
                        Spoiler:
                        Where is Simple Beam
                        Code:
                        if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                               isConst?(opponent.ability,PBAbilities,:SIMPLE) ||
                               isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                               isConst?(opponent.ability,PBAbilities,:TRUANT) ||
                               isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                               isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                        Where is Worry Seed
                        Code:
                        return -1 if pbTypeImmunityByAbility(pbType(@type,attacker,opponent),attacker,opponent)
                            if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                               isConst?(opponent.ability,PBAbilities,:INSOMNIA) ||
                               isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                               isConst?(opponent.ability,PBAbilities,:TRUANT) ||
                               isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                               isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                        Where is Role Play
                        Code:
                        if opponent.ability==0 ||
                               attacker.ability==opponent.ability ||
                               isConst?(attacker.ability,PBAbilities,:MULTITYPE) ||
                               isConst?(attacker.ability,PBAbilities,:STANCECHANGE) ||
                               isConst?(opponent.ability,PBAbilities,:FLOWERGIFT) ||
                               isConst?(opponent.ability,PBAbilities,:FORECAST) ||
                               isConst?(opponent.ability,PBAbilities,:ILLUSION) ||
                               isConst?(opponent.ability,PBAbilities,:IMPOSTER) ||
                               isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                               isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                               isConst?(opponent.ability,PBAbilities,:TRACE) ||
                               isConst?(opponent.ability,PBAbilities,:WONDERGUARD) ||
                               isConst?(opponent.ability,PBAbilities,:ZENMODE) ||
                               isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                               isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                        Where is Gastro Acid
                        Code:
                        if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                               isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                               isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                               isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                        Where is Core Enforcer (if you don´t have this, skip)
                        Code:
                        return if opponent.damagestate.substitute
                            if opponent.hasMovedThisRound? || @battle.choices[opponent.index][0]==3
                              if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                               isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                               isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                               isConst?(opponent.ability,PBAbilities,:COMATOSE) ||

                        In Pokemon_Forms
                        Spoiler:
                        Where is def initialize(*args)
                        Code:
                        def initialize(*args)
                            __mf_initialize(*args)
                            f=MultipleForms.call("getFormOnCreation",self)
                            if f
                              self.form=f
                              self.resetMoves
                            end
                          end
                          
                          def revertOtherForms
                            if isConst?(self.species,PBSpecies,:GRENINJA) ||
                               isConst?(self.species,PBSpecies,:MIMIKYU)
                              self.form=0 
                            end
                            if isConst?(self.species,PBSpecies,:ZYGARDE)
                              if $zygardeform>=0
                                self.form=$zygardeform
                                $zygardeform=-1
                              elsif self.form==2  # If encountered and caught a Full Forme
                                self.form=rand(2)
                              end
                            end
                            if isConst?(self.species,PBSpecies,:BURMY) && $burmyform
                              env=pbGetEnvironment()
                              if !pbGetMetadata($game_map.map_id,MetadataOutdoor)
                                self.form=2   # Trash Cloak
                              elsif env==PBEnvironment::Sand ||
                                    env==PBEnvironment::Rock ||
                                    env==PBEnvironment::Cave
                                 self.form=1  # Sandy Cloak
                              else
                                 self.form=0  # Plant Cloak
                              end
                              $burmyform=false
                            end
                          end
                        end




                        For Greninja, look at this.
                        Reply With Quote
                          #62   Link to this post, but load the entire thread.  
                        Old 2 Weeks Ago (9:41 AM). Edited 1 Week Ago by Juno and Ice.
                        Juno and Ice's Avatar
                        Juno and Ice Juno and Ice is offline
                           
                          Join Date: May 2018
                          Gender: Male
                          Posts: 68
                          Quote:
                          Originally Posted by mybusiness View Post
                          Disguise
                          Spoiler:

                          In PokeBattle_Battler:
                          Spoiler:
                          Where is Trace:
                          Code:
                           # Trace
                              if self.hasWorkingAbility(:TRACE)
                                choices=[]
                                for i in 0...4
                                  foe=@battle.battlers[i]
                                  if pbIsOpposing?(i) && !foe.fainted?
                                    abil=foe.ability
                                    if abil>0 &&
                                       !isConst?(abil,PBAbilities,:TRACE) &&
                                       !isConst?(abil,PBAbilities,:MULTITYPE) &&
                                       !isConst?(abil,PBAbilities,:ILLUSION) &&
                                       !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                                       !isConst?(abil,PBAbilities,:IMPOSTER) &&
                                       !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                                       !isConst?(abil,PBAbilities,:COMATOSE) &&
                                       !isConst?(abil,PBAbilities,:BATTLEBOND) &&
                                       !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                                       !isConst?(abil,PBAbilities,:DISGUISE) &&
                          Where is Power of Alchemy, Receiver (if you don´t have this, skip)
                          Code:
                           # Power of Alchemy, Receiver
                              if (self.hasWorkingAbility(:POWEROFALCHEMY) || 
                                self.hasWorkingAbility(:RECEIVER)) && 
                                @battle.doublebattle && pbPartner.fainted?
                                usable=false
                                abil=pbPartner.ability
                                if abil>0 &&
                                   !isConst?(abil,PBAbilities,:POWEROFALCHEMY) &&
                                   !isConst?(abil,PBAbilities,:RECEIVER) &&
                                   !isConst?(abil,PBAbilities,:TRACE) &&
                                   !isConst?(abil,PBAbilities,:FORECAST) &&
                                   !isConst?(abil,PBAbilities,:FLOWERGIFT) &&
                                   !isConst?(abil,PBAbilities,:MULTITYPE) &&
                                   !isConst?(abil,PBAbilities,:ILLUSION) &&
                                   !isConst?(abil,PBAbilities,:WONDERGUARD) &&
                                   !isConst?(abil,PBAbilities,:ZENMODE) &&
                                   !isConst?(abil,PBAbilities,:IMPOSTER) &&
                                   !isConst?(abil,PBAbilities,:STANCECHANGE) &&
                                   !isConst?(abil,PBAbilities,:POWERCONSTRUCT) &&
                                   !isConst?(abil,PBAbilities,:SCHOOLING) &&
                                   !isConst?(abil,PBAbilities,:COMATOSE) &&
                                   !isConst?(abil,PBAbilities,:SHIELDSDOWN) &&
                                   !isConst?(abil,PBAbilities,:DISGUISE) &&
                                   !isConst?(abil,PBAbilities,:RKSSYSTEM) &&
                          Where is Mummy
                          Code:
                          if target.hasWorkingAbility(:MUMMY,true) && !user.fainted?
                                    if !isConst?(user.ability,PBAbilities,:MULTITYPE) &&
                                       !isConst?(user.ability,PBAbilities,:STANCECHANGE) &&
                                       !isConst?(user.ability,PBAbilities,:MUMMY) &&
                                       !isConst?(user.ability,PBAbilities,:DISGUISE) &&
                                       !isConst?(user.ability,PBAbilities,:COMATOSE) &&
                                       !isConst?(user.ability,PBAbilities,:BATTLEBOND) &&
                                       !isConst?(user.ability,PBAbilities,:RKSSYSTEM) &&
                          Where is elsif target.hasWorkingItem(:WEAKNESSPOLICY) &&
                          Code:
                          elsif target.hasWorkingItem(:WEAKNESSPOLICY) && target.damagestate.typemod>8
                                    showanim=true
                                    if !target.hasWorkingAbility(:DISGUISE) || target.form!=0
                                      if target.pbIncreaseStatWithCause(PBStats::ATTACK,2,target,PBItems.getName(target.item),showanim)
                                        PBDebug.log("[Item triggered] #{target.pbThis}'s Weakness Policy (Attack)")
                                        showanim=false
                                      end
                                      if target.pbIncreaseStatWithCause(PBStats::SPATK,2,target,PBItems.getName(target.item),showanim)
                                        PBDebug.log("[Item triggered] #{target.pbThis}'s Weakness Policy (Special Attack)")
                                        showanim=false
                                      end
                                    end
                                    target.pbConsumeItem if !showanim
                          Under Illusion
                          Code:
                          # Illusion
                                if target.effects[PBEffects::Illusion] && target.hasWorkingAbility(:ILLUSION) &&
                                   damage>0 && !target.damagestate.substitute
                                  PBDebug.log("[Ability triggered] #{target.pbThis}'s Illusion ended")    
                                  target.effects[PBEffects::Illusion]=nil
                                  @battle.scene.pbChangePokemon(target,target.pokemon)
                                  @battle.pbDisplay(_INTL("{1}'s {2} wore off!",target.pbThis,
                                      PBAbilities.getName(target.ability)))
                                end
                                # Disguise
                                if target.hasWorkingAbility(:DISGUISE) && 
                                  isConst?(target.species,PBSpecies,:MIMIKYU) && target.form==0 &&
                                  thismove.pbIsDamaging? && !target.damagestate.substitute &&
                                  !user.hasMoldBreaker #&& !thismove.doesBypassIgnorableAbilities?
                                  PBDebug.log("[Ability triggered] #{target.pbThis}'s Disguise ended")
                                  @battle.pbDisplay(_INTL("Its disguise served it as a decoy!"))
                                  target.form=1
                                  target.pbUpdate(true)
                                  @battle.scene.pbChangePokemon(target,target.pokemon)
                                  @battle.pbDisplay(_INTL("{1}'s disguise was busted!",target.pbThis))
                                  if target.hasWorkingItem(:AIRBALLOON,true)
                                    PBDebug.log("[Item triggered] #{target.pbThis}'s Air Balloon popped")
                                    @battle.pbDisplay(_INTL("{1}'s Air Balloon popped!",target.pbThis))
                                    target.pbConsumeItem(true,false)
                                  end
                                end

                          In PokeBattle_Move:
                          Spoiler:
                          Where is def pbReduceHPDamage:
                          Code:
                          def pbReduceHPDamage(damage,attacker,opponent)
                              endure=false
                              if opponent.effects[PBEffects::Substitute]>0 && !ignoresSubstitute?(attacker) &&
                                 (!attacker || attacker.index!=opponent.index)
                                PBDebug.log("[Lingering effect triggered] #{opponent.pbThis}'s Substitute took the damage")
                                damage=opponent.effects[PBEffects::Substitute] if damage>opponent.effects[PBEffects::Substitute]
                                opponent.effects[PBEffects::Substitute]-=damage
                                opponent.damagestate.substitute=true
                                @battle.scene.pbDamageAnimation(opponent,0)
                                @battle.pbDisplayPaused(_INTL("The substitute took damage for {1}!",opponent.name))
                                if opponent.effects[PBEffects::Substitute]<=0
                                  opponent.effects[PBEffects::Substitute]=0
                                  @battle.pbDisplayPaused(_INTL("{1}'s substitute faded!",opponent.name))
                                  PBDebug.log("[End of effect] #{opponent.pbThis}'s Substitute faded")
                                end
                                opponent.damagestate.hplost=damage
                                damage=0
                              else
                                opponent.damagestate.substitute=false
                                if opponent.hasWorkingAbility(:DISGUISE) && 
                                   !attacker.hasMoldBreaker && opponent.form==0 && damage>0 &&
                                   isConst?(opponent.species,PBSpecies,:MIMIKYU) #&& !doesBypassIgnorableAbilities?
                                  damage=0
                                end
                                if damage>=opponent.hp
                                  damage=opponent.hp
                                  if @function==0xE9 # False Swipe
                                    damage=damage-1
                                  elsif opponent.effects[PBEffects::Endure]
                                    damage=damage-1

                          In PokeBattle_MoveEffects
                          Spoiler:
                          Where is Simple Beam
                          Code:
                          if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                                 isConst?(opponent.ability,PBAbilities,:SIMPLE) ||
                                 isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                                 isConst?(opponent.ability,PBAbilities,:TRUANT) ||
                                 isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                                 isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                          Where is Worry Seed
                          Code:
                          return -1 if pbTypeImmunityByAbility(pbType(@type,attacker,opponent),attacker,opponent)
                              if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                                 isConst?(opponent.ability,PBAbilities,:INSOMNIA) ||
                                 isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                                 isConst?(opponent.ability,PBAbilities,:TRUANT) ||
                                 isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                                 isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                          Where is Role Play
                          Code:
                          if opponent.ability==0 ||
                                 attacker.ability==opponent.ability ||
                                 isConst?(attacker.ability,PBAbilities,:MULTITYPE) ||
                                 isConst?(attacker.ability,PBAbilities,:STANCECHANGE) ||
                                 isConst?(opponent.ability,PBAbilities,:FLOWERGIFT) ||
                                 isConst?(opponent.ability,PBAbilities,:FORECAST) ||
                                 isConst?(opponent.ability,PBAbilities,:ILLUSION) ||
                                 isConst?(opponent.ability,PBAbilities,:IMPOSTER) ||
                                 isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                                 isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                                 isConst?(opponent.ability,PBAbilities,:TRACE) ||
                                 isConst?(opponent.ability,PBAbilities,:WONDERGUARD) ||
                                 isConst?(opponent.ability,PBAbilities,:ZENMODE) ||
                                 isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                                 isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                          Where is Gastro Acid
                          Code:
                          if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                                 isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                                 isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                                 isConst?(opponent.ability,PBAbilities,:COMATOSE) ||
                          Where is Core Enforcer (if you don´t have this, skip)
                          Code:
                          return if opponent.damagestate.substitute
                              if opponent.hasMovedThisRound? || @battle.choices[opponent.index][0]==3
                                if isConst?(opponent.ability,PBAbilities,:MULTITYPE) ||
                                 isConst?(opponent.ability,PBAbilities,:STANCECHANGE) ||
                                 isConst?(opponent.ability,PBAbilities,:DISGUISE) ||
                                 isConst?(opponent.ability,PBAbilities,:COMATOSE) ||

                          In Pokemon_Forms
                          Spoiler:
                          Where is def initialize(*args)
                          Code:
                          def initialize(*args)
                              __mf_initialize(*args)
                              f=MultipleForms.call("getFormOnCreation",self)
                              if f
                                self.form=f
                                self.resetMoves
                              end
                            end
                            
                            def revertOtherForms
                              if isConst?(self.species,PBSpecies,:GRENINJA) ||
                                 isConst?(self.species,PBSpecies,:MIMIKYU)
                                self.form=0 
                              end
                              if isConst?(self.species,PBSpecies,:ZYGARDE)
                                if $zygardeform>=0
                                  self.form=$zygardeform
                                  $zygardeform=-1
                                elsif self.form==2  # If encountered and caught a Full Forme
                                  self.form=rand(2)
                                end
                              end
                              if isConst?(self.species,PBSpecies,:BURMY) && $burmyform
                                env=pbGetEnvironment()
                                if !pbGetMetadata($game_map.map_id,MetadataOutdoor)
                                  self.form=2   # Trash Cloak
                                elsif env==PBEnvironment::Sand ||
                                      env==PBEnvironment::Rock ||
                                      env==PBEnvironment::Cave
                                   self.form=1  # Sandy Cloak
                                else
                                   self.form=0  # Plant Cloak
                                end
                                $burmyform=false
                              end
                            end
                          end




                          For Greninja, look at this.
                          So is there supposed to be the same script in both Pokemon_Forms and Pokemon_MegaEvolution? I remember in your Power Construct script you had the RevertOtherForms script in Pokemon_MegaEvolution but now you have it in Pokemon_Forms. Also, Greninja doesn't revert form after battle. Neither does Zygarde. Any help?
                          Reply With Quote
                            #63   Link to this post, but load the entire thread.  
                          Old 1 Week Ago (11:11 PM).
                          mybusiness's Avatar
                          mybusiness mybusiness is offline
                          Discord: mybusiness#3879
                             
                            Join Date: Dec 2018
                            Location: Spain
                            Gender: Male
                            Nature: Lonely
                            Posts: 59
                            @Juno and Ice told me that the problem was having multiple protagonists. So, keep that in mind. If you have one protagonist, it should work.
                            Reply With Quote
                              #64   Link to this post, but load the entire thread.  
                            Old 1 Week Ago (5:39 AM).
                            MillaLya's Avatar
                            MillaLya MillaLya is offline
                               
                              Join Date: Feb 2018
                              Gender: Other
                              Posts: 6
                              Where should I find the scripts for Battery?
                              __________________
                              Reply With Quote
                                #65   Link to this post, but load the entire thread.  
                              Old 1 Week Ago (1:52 PM).
                              WolfPP's Avatar
                              WolfPP WolfPP is online now
                              Discord: Wolf#1235
                                 
                                Join Date: Aug 2018
                                Location: Brazil
                                Gender: Male
                                Nature: Jolly
                                Posts: 357
                                Quote:
                                Originally Posted by MillaLya View Post
                                Where should I find the scripts for Battery?
                                Like Bulbapedia said:
                                Search this code in 'PokeBattle_Move':
                                Code:
                                    if (@battle.pbWeather==PBWeather::SUNNYDAY ||
                                       @battle.pbWeather==PBWeather::HARSHSUN) && pbIsPhysical?(type)
                                      if attacker.hasWorkingAbility(:FLOWERGIFT) ||
                                         attacker.pbPartner.hasWorkingAbility(:FLOWERGIFT)
                                        atkmult=(atkmult*1.5).round
                                      end
                                    end
                                and paste below:
                                Code:
                                    if attacker.pbPartner.hasWorkingAbility(:BATTERY) && pbIsSpecial?(type)
                                      atkmult=(atkmult*1.3).round
                                    end
                                Reply With Quote
                                  #66   Link to this post, but load the entire thread.  
                                Old 1 Week Ago (7:59 PM).
                                Juno and Ice's Avatar
                                Juno and Ice Juno and Ice is offline
                                   
                                  Join Date: May 2018
                                  Gender: Male
                                  Posts: 68
                                  Quote:
                                  Originally Posted by mybusiness View Post
                                  @Juno and Ice told me that the problem was having multiple protagonists. So, keep that in mind. If you have one protagonist, it should work.
                                  Correction, it was actually this script that was causing issues with Greninja, Mimikyu, and Zygarde. If you're using this script make sure you insert these.

                                  In the script above find i.heal on line 177, and line 184 and insert this line below both i.heal's:
                                  Spoiler:
                                  Code:
                                  if $PokemonGlobal.partner
                                         pbHealAll
                                         for i in $PokemonGlobal.partner[3]; 
                                           i.heal
                                          (i.makeUnmega rescue nil); (i.makeUnprimal rescue nil); (i.revertOtherForms rescue nil);
                                         end
                                       end
                                  Code:
                                  if canlose
                                           for i in $Trainer.party; 
                                             i.heal
                                            (i.makeUnmega rescue nil); (i.makeUnprimal rescue nil); (i.revertOtherForms rescue nil);
                                           end
                                           for i in 0...10
                                             Graphics.update
                                           end


                                  Then on line 197, find if decision==1 and put this line after it.
                                  Spoiler:
                                  Code:
                                  if decision==1
                                         for i in $Trainer.party
                                          (i.makeUnmega rescue nil); (i.makeUnprimal rescue nil); (i.revertOtherForms rescue nil);
                                         end


                                  That should fix any issues with that script for anyone using it. Multiple Protagonists still work as far as I'm concerned.
                                  Reply With Quote
                                    #67   Link to this post, but load the entire thread.  
                                  Old 1 Week Ago (5:09 AM).
                                  MillaLya's Avatar
                                  MillaLya MillaLya is offline
                                     
                                    Join Date: Feb 2018
                                    Gender: Other
                                    Posts: 6
                                    Quote:
                                    Originally Posted by WolfPP View Post
                                    Like Bulbapedia said:
                                    Search this code in 'PokeBattle_Move':
                                    Code:
                                        if (@battle.pbWeather==PBWeather::SUNNYDAY ||
                                           @battle.pbWeather==PBWeather::HARSHSUN) && pbIsPhysical?(type)
                                          if attacker.hasWorkingAbility(:FLOWERGIFT) ||
                                             attacker.pbPartner.hasWorkingAbility(:FLOWERGIFT)
                                            atkmult=(atkmult*1.5).round
                                          end
                                        end
                                    and paste below:
                                    Code:
                                        if attacker.pbPartner.hasWorkingAbility(:BATTERY) && pbIsSpecial?(type)
                                          atkmult=(atkmult*1.3).round
                                        end
                                    Thanks a lot! I was just too lazy to look into that :P
                                    __________________
                                    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
                                    Ad Content
                                    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:07 PM.