class Oakdex::Pokemon::GrowthEvents::LevelUp
When pokemon reached the next level
Public Instance Methods
execute()
click to toggle source
# File lib/oakdex/pokemon/growth_events/level_up.rb, line 11 def execute last_evt = self available_moves.each do |move_id| last_evt = @pokemon.add_growth_event(GrowthEvents::LearnMove, move_id: move_id, after: last_evt) end if available_evolution @pokemon.add_growth_event(GrowthEvents::Evolution, evolution: available_evolution, after: last_evt) end remove_event end
message()
click to toggle source
# File lib/oakdex/pokemon/growth_events/level_up.rb, line 7 def message "#{@pokemon.name} reached Level #{@options[:new_level]}." end
Private Instance Methods
available_evolution()
click to toggle source
# File lib/oakdex/pokemon/growth_events/level_up.rb, line 34 def available_evolution @available_evolution ||= Oakdex::Pokemon::EvolutionMatcher .new(@pokemon, 'level_up').evolution end
available_moves()
click to toggle source
# File lib/oakdex/pokemon/growth_events/level_up.rb, line 28 def available_moves @pokemon.species.learnset.map do |m| m['move'] if m['level'] && m['level'] == @options[:new_level] end.compact end