Advertisement
DefaKS

Check Pkmn or Move Type

Dec 2nd, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.38 KB | None | 0 0
  1. #Checks whether a Pokémon in party has a certain Type
  2. def pbHasPokemonType?(type)
  3.   if type.is_a?(String) || type.is_a?(Symbol)
  4.     type=getID(PBTypes,type)
  5.   end
  6.   for pokemon in $Trainer.party
  7.     next if pokemon.isEgg?
  8.     if pokemon.hasType?(type)
  9.       pbSet(1,$Trainer.party.index(pokemon))
  10.       pbSet(3,pokemon.name)
  11.       return true
  12.     end
  13.   end
  14.   pbSet(1,-1)
  15.   pbSet(3,"")
  16.   return false
  17. end
  18.  
  19. #Checks whether the selected Pokémon knows a Move of a certain Type
  20. #MUST BE USED after pbChoosePokemon or pbChooseNonEggPokemon or similar
  21. def pbHasMoveType?(type)
  22.   if type.is_a?(String) || type.is_a?(Symbol)
  23.     type=getID(PBTypes,type)
  24.   end
  25.   pokemon = pbGetPokemon(1)
  26.   for move in pokemon.moves
  27.     if move.type == type && move.id != 0
  28.       pbSet(2,pokemon.moves.index(move))
  29.       pbSet(4,PBMoves.getName(move.id))
  30.       return true
  31.     end
  32.   end
  33.   pbSet(2,-1)
  34.   pbSet(4,"")
  35.   return false
  36. end
  37.  
  38. #Checks whether a Pokémon in party knows a Move of a certain Type
  39. def pbPartyHasMoveType?(type)
  40.   if type.is_a?(String) || type.is_a?(Symbol)
  41.     type=getID(PBTypes,type)
  42.   end
  43.   for pokemon in $Trainer.party
  44.     next if pokemon.isEgg?
  45.     for move in pokemon.moves
  46.       if move.type == type && move.id != 0
  47.         pbSet(1,$Trainer.party.index(pokemon))
  48.         pbSet(2,pokemon.moves.index(move))
  49.         pbSet(3,pokemon.name)
  50.         pbSet(4,PBMoves.getName(move.id))
  51.         return true
  52.       end
  53.     end
  54.   end
  55.   pbSet(1,-1)
  56.   pbSet(2,-1)
  57.   pbSet(3,"")
  58.   pbSet(4,"")
  59.   return false
  60. end
  61.  
  62. #Checks whether a Pokémon in party has a certain Type or knows a Move
  63. #of a certain Type
  64. def pbPartyHasTypeOrMoveType?(type)
  65.   if pbHasPokemonType?(type)
  66.     ret = 0
  67.   else
  68.     if pbPartyHasMoveType?(type)
  69.       ret = 1
  70.     else
  71.       ret = -1
  72.     end
  73.   end
  74.   return ret
  75. end
  76.  
  77. #Checks a Pokémon's Moves and stores their names in variables 30, 31, 32 and 33
  78. #MUST BE USED after pbChoosePokemon or pbChooseNonEggPokemon or similar
  79. def pbMoveNames
  80.   pokemon = pbGetPokemon(1)
  81.   i = 0
  82.   for move in pokemon.moves
  83.     pbSet((30 + i),(move.id != 0 ? PBMoves.getName(move.id) : ""))
  84.     i += 1
  85.   end
  86. end
  87.  
  88. #Easier and shorter method to get infos of a Move
  89. #MUST BE USED after pbChoosePokemon or pbChooseNonEggPokemon or similar
  90. #AND MUST BE USED after pbChooseMove
  91. def pbMoveInfo
  92.   return PokeBattle_Move.new(nil,pbGetPokemon(1).moves[pbGet(2)])
  93. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement