Hello There, Guest! Login Register


Def and HP ev training + leveling at Mt. Silver
#1
HP and DEF EV training on Mt. Silver

This script trains Hp and Def as well as levels the pokemon with the help of low level gastly/hunter. For most effective leveling use low level hunter with curse. This script also catches shiny.

ENJOY!!!

Requirements
  1. Ghost Pokemon with curse move like Gastly, Hunter and Gengar.
  2. False swiper with sleep move
Known Bugs
  1. Need to press play again when Pokemon wants to learn new move


name = "Def/Hp EV Trainer"
author = "Sh4Dow"
description = "This script trains def and hp effort value at Mt. Silver to first pokemon using gengar with curse as support."
    
--########################################### CONFIGURATION ############################################################--
    GangerIndex = 2 --{ the slot index of gengar (2-6)}
    FalseSwiperIndex = 6 --{ the slot of False Swiper (2-6)}
    SleepMove = "Spore" --{Sleep Move. Must be on fasle swiper.}


--############################################ DO NOT TOUCH IF U DONT KNOW WHAT U ARE DOING ####################################--
    useableGhost = 0
    reset = 0

function onBattleMessage(message)
      if stringContains(message, "Donphan") or stringContains(message, "Graveler") or stringContains(message, "Onix") or stringContains(message, "Phanpy") or stringContains(message, "Quagsire") then
          reset = 0
  end
      if stringContains(message, "Curse") then
      reset = 1
   end
end


function onPathAction()
    CheckCurse()
    if isPokemonUsable(1) and CheckCurse() == 0 then
        if getMapName() == "Mt. Silver Pokecenter" then
            moveToMap("Mt. Silver Exterior")
        elseif getMapName() == "Mt. Silver Exterior" then
                if not isMounted() then
                    useItem("Bicycle")
                elseif isMounted() then
                    moveToMap("Mt. Silver 1F")
                end
        elseif getMapName() == "Mt. Silver 1F" then
            moveToMap("Mt. Silver Lower Mountainside")
        elseif getMapName() == "Mt. Silver Lower Mountainside" then
            moveToGrass()
        end
    else
        if getMapName() == "Mt. Silver Lower Mountainside" then
            moveToCell(22, 34)
        elseif getMapName() == "Mt. Silver 1F" then
            moveToMap("Mt. Silver Exterior")
        elseif getMapName() == "Mt. Silver Exterior" then
            moveToMap("Mt. Silver Pokecenter")
        elseif getMapName() == "Mt. Silver Pokecenter" then
            usePokecenter()
        end
    end
end


function onLearningMove(moveName, pokemonIndex)
    log(getPokemonName(pokemonIndex) .. " is learning a new move " .. moveName)
    return forgetAnyMoveExcept("Curse")
end


function onBattleAction()

    if isWildBattle() and isOpponentShiny() then
        return falseSwipe()
    elseif (getOpponentName() == "Donphan" or getOpponentName() == "Graveler" or getOpponentName() == "Onix" or getOpponentName() == "Phanpy" or getOpponentName() == "Quagsire") then
        if getActivePokemonNumber() == 1 then
            if getRemainingPowerPoints(GangerIndex, "Curse") > 0 and isPokemonUsable(GangerIndex) then
                return sendPokemon(GangerIndex)
            end
        elseif getActivePokemonNumber() == GangerIndex and reset == 0 then
            useMove("Curse")
        elseif reset == 1 then
            return attack() or sendUsablePokemon or run()
        else
            return run()
        end
    else
        return run()
    end
end

function CheckCurse()
    if getRemainingPowerPoints(GangerIndex, "Curse") > 0 and isPokemonUsable(GangerIndex)then
        return 0
    else
        return 1
    end

end

function falseSwipe()
    if getActivePokemonNumber() == 1 then
        return sendPokemon(FalseSwiperIndex) or useItem("Pokeball") or useItem("Great Ball") or useItem("Ultra Ball") or sendAnyPokemon() or run()
    elseif getActivePokemonNumber == FalseSwiperIndex then
        if getOpponentHealth() > 1 then
            return useMove("False Swipe") or useItem("Pokeball") or useItem("Great Ball") or useItem("Ultra Ball") or sendAnyPokemon() or run()
        elseif getOpponentHealth() == 1 and getOpponentStatus() != "SLEEP" then
            return useMove(SleepMove) or useItem("Pokeball") or useItem("Great Ball") or useItem("Ultra Ball") or sendAnyPokemon() or run()
        elseif getOpponentHealth() == 1 and getOpponentStatus() == "SLEEP" then
            return useItem("Pokeball") or useItem("Great Ball") or useItem("Ultra Ball") or sendAnyPokemon() or run()
        end
    end
end
 
Reply
  


Forum Jump:


Browsing: 1 Guest(s)