Class: Oakdex::Pokemon::GrowthEvents::GainedExp

Inherits:
Base
  • Object
show all
Defined in:
lib/oakdex/pokemon/growth_events/gained_exp.rb

Overview

When pokemon gains exp

Instance Method Summary collapse

Methods inherited from Base

#initialize, #possible_actions, #read_only?, #to_h

Constructor Details

This class inherits a constructor from Oakdex::Pokemon::GrowthEvents::Base

Instance Method Details

#executeObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/oakdex/pokemon/growth_events/gained_exp.rb', line 11

def execute
  level_before = @pokemon.level
  @pokemon.add_exp(@options[:gained_exp])
  last_evt = self
  ((level_before + 1)...(@pokemon.level + 1)).to_a.each do |new_level|
    last_evt = @pokemon.add_growth_event(GrowthEvents::LevelUp,
                                         new_level: new_level,
                                         after: last_evt)
  end
  remove_event
end

#messageObject



7
8
9
# File 'lib/oakdex/pokemon/growth_events/gained_exp.rb', line 7

def message
  "#{@pokemon.name} gained #{@options[:gained_exp]} EXP."
end