Module: PfrpgReaders::Attackable

Included in:
CombatReader
Defined in:
lib/pfrpg_readers/attackable.rb

Instance Method Summary collapse

Instance Method Details

#attack_filtersObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/pfrpg_readers/attackable.rb', line 12

def attack_filters
  standard_filters = [
    Filters::StrengthMod.new(character),
    Filters::WeaponFinesseMod.new(character),
    Filters::RangedAttackMod.new(character),
    Filters::WeaponFocusMod.new(character),
    Filters::WeaponSpecializationMod.new(character),
    Filters::ProficiencyMod.new(character)
  ]
  standard_filters << character.get_attack_filters
  standard_filters.flatten
end

#attacksObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/pfrpg_readers/attackable.rb', line 25

def attacks
  atk = []
  character.equipped_weapons.each do |w|
    atk << Attack.new({    :weapon_name =>  w.get_best_name,
                           :range        => w.range,
                           :weight_class => w.weight_class,
                           :damage       => w.damage,
                           :weapon_type  => w.weapon_type,
                           :critical_range => w.critical_range,
                           :critical_dmg => w.critical_dmg,
                           :bonus        => w.bonus,
                           :strength_bonus   => str_bonus,
                           :bab          => bab,
                           :size         => character.race.size,
                           :filters      => attack_filters,
                           :filter_str   => [],
                           :weapon       => w
                   })
  end
  return atk
end

#combat_maneuver_bonusObject



5
6
7
8
9
10
# File 'lib/pfrpg_readers/attackable.rb', line 5

def combat_maneuver_bonus
  base = str_bonus + bab - size_modifier
  misc = character.get_bonus('cmb').to_i
  base += misc
  return base
end