Advertisement
TechSkylander1518

Overworld Weather Moves

Sep 25th, 2021
429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.95 KB | None | 0 0
  1. #===============================================================================
  2. # Rain Dance
  3. #===============================================================================
  4. HiddenMoveHandlers::CanUseMove.add(:RAINDANCE,proc { |move,pkmn,showmsg|
  5.   map_metadata = GameData::MapMetadata.try_get($game_map.map_id)
  6.   if !map_metadata || !map_metadata.outdoor_map
  7.     pbMessage(_INTL("Can't use that indoors.")) if showmsg
  8.     next false
  9.   end
  10.   if $game_screen.weather_type==:Rain ||
  11.      $game_screen.weather_type==:HeavyRain
  12.     pbMessage(_INTL("It's already raining.")) if showmsg
  13.    next false
  14. end
  15.   for i in 0...pkmn.moves.length
  16.     if pkmn.moves[i].id==:RAINDANCE
  17.       moveno = i
  18.     end
  19.   end
  20.   if pkmn.moves[moveno].pp==0
  21.     pbMessage(_INTL("Not enough PP...")) if showmsg
  22.     next false
  23.   end
  24.   next true
  25. })
  26.  
  27. HiddenMoveHandlers::UseMove.add(:RAINDANCE,proc { |move,pokemon|
  28.   if !pbHiddenMoveAnimation(pokemon)
  29.     pbMessage(_INTL("{1} used {2}!",pokemon.name,move.name))
  30.   end
  31.   $game_screen.weather(:Rain, 9, 20)
  32.     for i in 0...pokemon.moves.length
  33.       if pokemon.moves[i].id==:RAINDANCE
  34.         pokemon.moves[i].pp -= 1
  35.       end
  36.     end
  37.     Graphics.update
  38.     Input.update
  39.     pbUpdateSceneMap
  40.   next true
  41. })
  42.  
  43. #===============================================================================
  44. # Sandstorm
  45. #===============================================================================
  46. HiddenMoveHandlers::CanUseMove.add(:SANDSTORM,proc { |move,pkmn,showmsg|
  47.   map_metadata = GameData::MapMetadata.try_get($game_map.map_id)
  48.   if !map_metadata || !map_metadata.outdoor_map
  49.     pbMessage(_INTL("Can't use that indoors.")) if showmsg
  50.     next false
  51.   end
  52.   if $game_screen.weather_type==:Sandstorm
  53.     pbMessage(_INTL("There is already a sandstorm.")) if showmsg
  54.    next false
  55. end
  56.   for i in 0...pkmn.moves.length
  57.     if pkmn.moves[i].id==:SANDSTORM
  58.       moveno = i
  59.     end
  60.   end
  61.   if pkmn.moves[moveno].pp==0
  62.     pbMessage(_INTL("Not enough PP...")) if showmsg
  63.     next false
  64.   end
  65.   next true
  66. })
  67.  
  68. HiddenMoveHandlers::UseMove.add(:SANDSTORM,proc { |move,pokemon|
  69.   if !pbHiddenMoveAnimation(pokemon)
  70.     pbMessage(_INTL("{1} used {2}!",pokemon.name,move.name))
  71.   end
  72.   $game_screen.weather(:Sandstorm, 9, 20)
  73.   for i in 0...pokemon.moves.length
  74.     if pokemon.moves[i].id==:SANDSTORM
  75.         pokemon.moves[i].pp -= 1
  76.       end
  77.     end
  78.     Graphics.update
  79.     Input.update
  80.     pbUpdateSceneMap
  81.   next true
  82. })
  83.  
  84. #===============================================================================
  85. # Hail
  86. #===============================================================================
  87. HiddenMoveHandlers::CanUseMove.add(:HAIL,proc { |move,pkmn,showmsg|
  88.   map_metadata = GameData::MapMetadata.try_get($game_map.map_id)
  89.   if !map_metadata || !map_metadata.outdoor_map
  90.     pbMessage(_INTL("Can't use that indoors.")) if showmsg
  91.     next false
  92.   end
  93.   if $game_screen.weather_type==:Snow ||
  94.      $game_screen.weather_type==:Blizzard
  95.     pbMessage(_INTL("It's already snowing.")) if showmsg
  96.    next false
  97.   end
  98.   for i in 0...pkmn.moves.length
  99.     if pkmn.moves[i].id==:HAIL
  100.       moveno = i
  101.     end
  102.   end
  103.   if pkmn.moves[moveno].pp==0
  104.     pbMessage(_INTL("Not enough PP...")) if showmsg
  105.     next false
  106.   end
  107.   next true
  108. })
  109.  
  110. HiddenMoveHandlers::UseMove.add(:HAIL,proc { |move,pokemon|
  111.   if !pbHiddenMoveAnimation(pokemon)
  112.     pbMessage(_INTL("{1} used {2}!",pokemon.name,move.name))
  113.   end
  114.   $game_screen.weather(:Snow, 9, 20)
  115.   for i in 0...pokemon.moves.length
  116.     if pokemon.moves[i].id==:HAIL
  117.         pokemon.moves[i].pp -= 1
  118.       end
  119.     end
  120.     Graphics.update
  121.     Input.update
  122.     pbUpdateSceneMap
  123.   next true
  124. })
  125.  
  126. #===============================================================================
  127. # Sunny Day
  128. #===============================================================================
  129. HiddenMoveHandlers::CanUseMove.add(:SUNNYDAY,proc { |move,pkmn,showmsg|
  130.   map_metadata = GameData::MapMetadata.try_get($game_map.map_id)
  131.   if !map_metadata || !map_metadata.outdoor_map
  132.     pbMessage(_INTL("Can't use that indoors.")) if showmsg
  133.     next false
  134.   end
  135.     if $game_screen.weather_type==:Sun
  136.     pbMessage(_INTL("It's already sunny.")) if showmsg
  137.    next false
  138. end
  139.   if PBDayNight.isNight?
  140.     pbMessage(_INTL("Can't use that at night.")) if showmsg
  141.    next false
  142. end
  143.   for i in 0...pkmn.moves.length
  144.     if pkmn.moves[i].id==:SUNNYDAY
  145.       moveno = i
  146.     end
  147.   end
  148.   if pkmn.moves[moveno].pp==0
  149.     pbMessage(_INTL("Not enough PP...")) if showmsg
  150.     next false
  151.   end
  152.   next true
  153. })
  154.  
  155. HiddenMoveHandlers::UseMove.add(:SUNNYDAY,proc { |move,pokemon|
  156.   if !pbHiddenMoveAnimation(pokemon)
  157.     pbMessage(_INTL("{1} used {2}!",pokemon.name,move.name))
  158.   end
  159.   $game_screen.weather(:Sun, 9, 20)
  160.   for i in 0...pokemon.moves.length
  161.     if pokemon.moves[i].id==:SUNNYDAY
  162.         pokemon.moves[i].pp -= 1
  163.       end
  164.     end
  165.     Graphics.update
  166.     Input.update
  167.     pbUpdateSceneMap
  168.   next true
  169. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement