Class: ProneAction
- Inherits:
-
Natural20::Action
- Object
- Natural20::Action
- ProneAction
- Defined in:
- lib/natural_20/actions/prone_action.rb
Overview
typed: true
Instance Attribute Summary collapse
-
#as_bonus_action ⇒ Object
Returns the value of attribute as_bonus_action.
Attributes inherited from Natural20::Action
#action_type, #errors, #result, #session, #source
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Natural20::Action
apply!, #initialize, #label, #name, #to_s, #validate
Constructor Details
This class inherits a constructor from Natural20::Action
Instance Attribute Details
#as_bonus_action ⇒ Object
Returns the value of attribute as_bonus_action.
3 4 5 |
# File 'lib/natural_20/actions/prone_action.rb', line 3 def as_bonus_action @as_bonus_action end |
Class Method Details
.build(session, source) ⇒ Object
16 17 18 19 |
# File 'lib/natural_20/actions/prone_action.rb', line 16 def self.build(session, source) action = ProneAction.new(session, source, :attack) action.build_map end |
.can?(entity, battle) ⇒ Boolean
5 6 7 |
# File 'lib/natural_20/actions/prone_action.rb', line 5 def self.can?(entity, battle) battle && !entity.prone? end |
Instance Method Details
#apply!(_battle, item) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/natural_20/actions/prone_action.rb', line 30 def apply!(_battle, item) case (item[:type]) when :prone item[:source].prone! end end |
#build_map ⇒ Object
9 10 11 12 13 14 |
# File 'lib/natural_20/actions/prone_action.rb', line 9 def build_map OpenStruct.new({ param: nil, next: -> { self } }) end |
#resolve(_session, _map, opts = {}) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/natural_20/actions/prone_action.rb', line 21 def resolve(_session, _map, opts = {}) @result = [{ source: @source, type: :prone, battle: opts[:battle] }] self end |