Class: PfrpgCore::SneakAttackMacro
- Inherits:
-
Macro
- Object
- Macro
- PfrpgCore::SneakAttackMacro
show all
- Defined in:
- lib/pfrpg_core/macros/sneak_attack_macro.rb
Instance Attribute Summary
Attributes inherited from Macro
#character
Instance Method Summary
collapse
Methods inherited from Macro
#as_json, find_available, macro_subclasses, #slug
Constructor Details
4
5
6
7
8
9
10
11
12
13
14
|
# File 'lib/pfrpg_core/macros/sneak_attack_macro.rb', line 4
def initialize(character)
super
sneak_attack_features = character.class_features.select do |feature|
feature.name.downcase.start_with? 'sneak a'
end
@sneak_attack_level = sneak_attack_features.map do |feature|
/Sneak Attack \((\d+)d6\)/.match(feature.name)[1].to_i
end.max || 0
end
|
Instance Method Details
#applies_to?(weapon) ⇒ Boolean
24
25
26
|
# File 'lib/pfrpg_core/macros/sneak_attack_macro.rb', line 24
def applies_to?(weapon)
true
end
|
#available? ⇒ Boolean
20
21
22
|
# File 'lib/pfrpg_core/macros/sneak_attack_macro.rb', line 20
def available?
@sneak_attack_level.nonzero?
end
|
#info ⇒ Object
28
29
30
|
# File 'lib/pfrpg_core/macros/sneak_attack_macro.rb', line 28
def info
{ sneakAttackLevel: @sneak_attack_level }
end
|
#name ⇒ Object
16
17
18
|
# File 'lib/pfrpg_core/macros/sneak_attack_macro.rb', line 16
def name
"Sneak Attack (level #{@sneak_attack_level})"
end
|