class HelpAction
typed: true
Attributes
target[RW]
Public Class Methods
apply!(battle, item)
click to toggle source
# File lib/natural_20/actions/help_action.rb, line 45 def self.apply!(battle, item) case item[:type] when :help Natural20::EventManager.received_event({ source: item[:source], target: item[:target], event: :help }) item[:source].help!(item[:battle], item[:target]) battle.consume!(item[:source], :action) end end
build(session, source)
click to toggle source
# File lib/natural_20/actions/help_action.rb, line 30 def self.build(session, source) action = HelpAction.new(session, source, :help) action.build_map end
can?(entity, battle)
click to toggle source
# File lib/natural_20/actions/help_action.rb, line 5 def self.can?(entity, battle) battle && entity.total_actions(battle).positive? end
Public Instance Methods
build_map()
click to toggle source
# File lib/natural_20/actions/help_action.rb, line 9 def build_map OpenStruct.new({ action: self, param: [ { type: :select_target, target_types: %i[allies enemies], range: 5, num: 1 } ], next: lambda { |target| self.target = target OpenStruct.new({ param: nil, next: -> { self } }) } }) end
resolve(_session, _map, opts = {})
click to toggle source
# File lib/natural_20/actions/help_action.rb, line 35 def resolve(_session, _map, opts = {}) @result = [{ source: @source, target: @target, type: :help, battle: opts[:battle] }] self end