• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokémon Sword and Shield tutor moves

DarkFoxVerdigris

Founder of Pokémon Verdigris
  • 11
    Posts
    5
    Years
    • Seen Nov 26, 2020
    Hey! Since I found a lot of these moves pretty neat, I decided to program them in my game. Not all are done yet and I'll update this as I go (excluding the ones like Scorching Sands that have already existing effects), but here's what I have so far. If you have suggestions to improve any of these scripts, do tell me.

    Terrain Pulse
    Code:
    class PokeBattle_Move_219 < PokeBattle_Move
      def pbBaseDamage(basedmg,attacker,opponent)
        if  @battle.field.effects!=0
          return basedmg*2
        end
        return basedmg
      end
    
      def pbModifyType(type,attacker,opponent)
        type=getConst(PBTypes,:NORMAL) || 0
        case @battle.field.effects
        when PBEffects::GrassyTerrain
          type=(getConst(PBTypes,:GRASS) || type)
        when PBEffects::PsychicTerrain
          type=(getConst(PBTypes,:PSYCHIC) || type)
        when PBEffects::MistyTerrain
          type=(getConst(PBTypes,:FAIRY) || type)
        when PBEffects::ElectricTerrain
          type=(getConst(PBTypes,:ELECTRIC) || type)
        end
        return type
      end
    end

    Grassy Glide
    I put this in PokeBattle_Battler after Gale Wings, Prankster and Triage, I'm pretty sure the function code itself can stay blank as the only effect Grassy Glide has is priority in Grassy Terrain
    Code:
          p+=1 if @function==0x220 && PBEffects::GrassyTerrain && !attacker.isAirborne?
      end

    Rising Voltage
    Code:
    class PokeBattle_Move_221 < PokeBattle_Move
      def pbModifyDamage(damagemult,attacker,opponent)
        if @battle.field.effects[PBEffects::ElectricTerrain]>0 &&
           !attacker.isAirborne?
          return (damagemult*2.0).round
        end
        return damagemult
      end
    end

    Meteor Beam
    Code:
    class PokeBattle_Move_222 < PokeBattle_Move
      def pbTwoTurnAttack(attacker)
        @immediate=false
        if !@immediate && attacker.hasWorkingItem(:POWERHERB)
          @immediate=true
        end
        return false if @immediate
        return attacker.effects[PBEffects::TwoTurnAttack]==0
      end
    
      def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
        if @immediate || attacker.effects[PBEffects::TwoTurnAttack]>0
          pbShowAnimation(@id,attacker,opponent,1,alltargets,showanimation) # Charging anim
          @battle.pbDisplay(_INTL("{1} is overflowing with space power!",attacker.pbThis))
          if attacker.pbCanIncreaseStatStage?(PBStats::SPATK,attacker,false,self)
            attacker.pbIncreaseStat(PBStats::SPATK,1,attacker,false,self)
          end
        end
        if @immediate
          @battle.pbCommonAnimation("UseItem",attacker,nil)
          @battle.pbDisplay(_INTL("{1} became fully charged due to its Power Herb!",attacker.pbThis))
          attacker.pbConsumeItem
        end
        return 0 if attacker.effects[PBEffects::TwoTurnAttack]>0
        return super(attacker,opponent,hitnum,alltargets,showanimation)
      end
    end
     
    Back
    Top