Module: PfrpgCore::Derived::Offense

Included in:
Combat
Defined in:
lib/pfrpg_core/derived/offense.rb

Instance Method Summary collapse

Instance Method Details

#attack_filtersObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/pfrpg_core/derived/offense.rb', line 11

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

#attacksObject



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

def attacks
  macros = Macro.find_available(character)

  atk = character.inventory.equipped_weapons(character.levels).collect do |w|
    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,
                   :macros       => macros.select { |m| m.applies_to? w }
               })
  end
  return atk
end

#combat_maneuver_bonusObject



4
5
6
7
8
9
# File 'lib/pfrpg_core/derived/offense.rb', line 4

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