Class: PfrpgReaders::WeaponMasteryMod

Inherits:
Object
  • Object
show all
Defined in:
lib/pfrpg_readers/filters/weapon_mastery_mod.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(character, feature) ⇒ WeaponMasteryMod

Returns a new instance of WeaponMasteryMod.



3
4
5
6
# File 'lib/pfrpg_readers/filters/weapon_mastery_mod.rb', line 3

def initialize(character, feature)
  @character = character
  @feature   = feature
end

Instance Attribute Details

#characterObject (readonly)

Returns the value of attribute character.



2
3
4
# File 'lib/pfrpg_readers/filters/weapon_mastery_mod.rb', line 2

def character
  @character
end

#featureObject (readonly)

Returns the value of attribute feature.



2
3
4
# File 'lib/pfrpg_readers/filters/weapon_mastery_mod.rb', line 2

def feature
  @feature
end

Instance Method Details

#filter(attack) ⇒ Object



8
9
10
11
12
# File 'lib/pfrpg_readers/filters/weapon_mastery_mod.rb', line 8

def filter(attack)
  if attack.weapon.name == @feature.weapon_type
    modify(attack)
  end
end

#increase_crit(crit_str) ⇒ Object



18
19
20
21
22
# File 'lib/pfrpg_readers/filters/weapon_mastery_mod.rb', line 18

def increase_crit(crit_str)
  crit_num = crit_str.split("x")[0].to_i
  crit_num += 1
  "#{crit_num}x"
end

#modify(attack) ⇒ Object



14
15
16
# File 'lib/pfrpg_readers/filters/weapon_mastery_mod.rb', line 14

def modify(attack)
  attack.critical_damage = increase_crit(attack.critical_damage)
end