Advertisement
salvaterol

Script Recuerda Movimientos+

Feb 1st, 2022
873
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.98 KB | None | 0 0
  1. #True si quieres mostrar los movimientos huevo
  2. SHOWEGGMOVES=true
  3. #Nivel mínimo del Pokémon para mostrar los movimientos huevo
  4. EGGLEVEL=10
  5. #True si quieres mostrar los movimientos de tutor
  6. SHOWTUTORMOVES=false
  7. #Nivel mínimo del Pokémon para mostrar los movimientos de tutor
  8. TUTORLEVEL=15
  9. #True si quieres mostrar los movimientos de MT
  10. SHOWMACHINEMOVES=true
  11. #Nivel mínimo del Pokémon para mostrar los movimientos de MT
  12. MACHINELEVEL=10
  13. #True si quieres que pueda recordarse cualquier movimiento por nivel
  14. #como en el recuerdamovimientos de Sol y Luna
  15. SLOPTION=false
  16. #False si quieres mostrar solo las MT's que tiene el jugador
  17. ALLMTS=false
  18. def pbGetRelearnableMoves(pokemon, showeggmove=SHOWEGGMOVES, egglevel=EGGLEVEL,
  19.   showtutormoves=SHOWTUTORMOVES, tutorlevel=TUTORLEVEL, showmachinemoves=SHOWMACHINEMOVES,
  20.   machinelevel=MACHINELEVEL, sloption=SLOPTION, allmts=ALLMTS)
  21.  
  22.   return [] if !pokemon || pokemon.isEgg? || (pokemon.isShadow? rescue false)
  23.   moves=[]
  24.   pbEachNaturalMove(pokemon){|move,level|
  25.      if (level<=pokemon.level || sloption) && !pokemon.hasMove?(move)
  26.        moves.push(move) if !moves.include?(move)
  27.      end
  28.   }
  29.   tmoves=[]
  30.   if pokemon.firstmoves
  31.     for i in pokemon.firstmoves
  32.       tmoves.push(i) if !pokemon.hasMove?(i) && !moves.include?(i)
  33.     end
  34.   end
  35.  
  36.   eggMoves=[]
  37.   if showeggmove && egglevel <= pokemon.level
  38.     species=getID(PBSpecies,pokemon.species)
  39.     babyspecies=pbGetBabySpecies(species,0,0)
  40.     pbRgssOpen("Data/eggEmerald.dat","rb"){|f|
  41.       f.pos=(babyspecies-1)*8
  42.       offset=f.fgetdw
  43.       length=f.fgetdw
  44.       if length>0
  45.         f.pos=offset
  46.         i=0; loop do break unless i<length
  47.           atk=f.fgetw
  48.           eggMoves.push(atk) if !pokemon.hasMove?(atk) && !moves.include?(atk) &&
  49.           !tmoves.include?(atk) && !eggMoves.include?(atk)
  50.           i+=1
  51.         end
  52.       end
  53.       }
  54.     end
  55.  
  56.     tutorMoves=[]
  57.     machineMoves=[]
  58.     tmData=load_data("Data/tm.dat")
  59.     for move in 1...tmData.size
  60.       next if !tmData[move]
  61.       if tmData[move].any?{ |item| item==pokemon.species }
  62.         tutorMoves.push(move) if !pokemon.hasMove?(move) && !moves.include?(move) &&
  63.         !tmoves.include?(move) && !eggMoves.include?(move) && !tutorMoves.include?(move)
  64.       end
  65.     end
  66.      
  67.     for item in 1..PBItems.maxValue
  68.       if pbIsMachine?(item)
  69.         move = $ItemData[item][ITEMMACHINE]
  70.         if tutorMoves.include?(move)
  71.           tutorMoves.delete(move)
  72.           if !pokemon.hasMove?(move) && !moves.include?(move) && !tmoves.include?(move) &&
  73.             !eggMoves.include?(move) && !tutorMoves.include?(move)
  74.             machineMoves.push(move) if $PokemonBag.pbQuantity(item)>0 || allmts
  75.           end
  76.         end
  77.       end
  78.     end
  79.    
  80.     machineMoves=[] if !showmachinemoves || machinelevel > pokemon.level
  81.     tutorMoves=[] if !showtutormoves || tutorlevel > pokemon.level
  82.    
  83.   moves=tmoves+moves+eggMoves+tutorMoves+machineMoves
  84.   return moves|[] # remove duplicates
  85. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement