Class: PfrpgCore::EffectTotaler

Inherits:
Object
  • Object
show all
Defined in:
lib/pfrpg_core/effect_totaler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(character) ⇒ EffectTotaler

Returns a new instance of EffectTotaler.



4
5
6
# File 'lib/pfrpg_core/effect_totaler.rb', line 4

def initialize(character)
  @character = character
end

Instance Attribute Details

#characterObject (readonly)

Returns the value of attribute character.



3
4
5
# File 'lib/pfrpg_core/effect_totaler.rb', line 3

def character
  @character
end

Instance Method Details

#effectsObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pfrpg_core/effect_totaler.rb', line 8

def effects
  effects = []
  [
    NullObject.maybe(@character.feats),
    NullObject.maybe(@character.inventory.equipment),
    NullObject.maybe(@character.race).traits,
    NullObject.maybe(@character.class_features)
  ].each do |r|
    r.each do |x|
      effects << x.get_effects
    end
  end
  # TODO : calculate level based effects
  NullObject.maybe(@character.explode_levels).each do |l|
    l.class_features.each do |x|
      effects << x.get_effects
    end
  end
  return effects.flatten
end