Class: Oakdex::Pokemon::ExperienceGainCalculator

Inherits:
Object
  • Object
show all
Defined in:
lib/oakdex/pokemon/experience_gain_calculator.rb

Overview

Calculates the experience a pokemon gains after a defeat bulbapedia.bulbagarden.net/wiki/Experience#Experience_gain_in_battle

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fainted, winner, options = {}) ⇒ ExperienceGainCalculator

Returns a new instance of ExperienceGainCalculator.



10
11
12
13
14
# File 'lib/oakdex/pokemon/experience_gain_calculator.rb', line 10

def initialize(fainted, winner, options = {})
  @options = options
  @fainted = fainted
  @winner = winner
end

Class Method Details

.calculate(fainted, winner, options = {}) ⇒ Object



6
7
8
# File 'lib/oakdex/pokemon/experience_gain_calculator.rb', line 6

def self.calculate(fainted, winner, options = {})
  new(fainted, winner, options).calculate
end

Instance Method Details

#calculateObject



16
17
18
# File 'lib/oakdex/pokemon/experience_gain_calculator.rb', line 16

def calculate
  (flat? ? flat_formula : scaled_formula).to_i
end