class ItemLibrary::PitTrap
Represents a staple of DnD the concealed pit trap
Attributes
activated[RW]
Public Instance Methods
area_trigger_handler(entity, entity_pos, is_flying)
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 8 def area_trigger_handler(entity, entity_pos, is_flying) result = [] return nil if entity_pos != position return nil if is_flying unless activated damage = Natural20::DieRoll.roll(@properties[:damage_die]) result = [ { source: self, type: :state, params: { activated: true } }, { source: self, target: entity, type: :damage, attack_name: @properties[:attack_name] || 'pit trap', damage_type: @properties[:damage_type] || 'piercing', damage: damage } ] end result end
concealed?()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 55 def concealed? !activated end
jump_required?()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 59 def jump_required? activated end
label()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 41 def label return 'ground' unless activated @properties[:name].presence || 'pit trap' end
passable?()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 47 def passable? true end
placeable?()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 37 def placeable? !activated end
token()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 51 def token ["\u02ac"] end
Protected Instance Methods
setup_other_attributes()
click to toggle source
# File lib/natural_20/item_library/pit_trap.rb, line 65 def setup_other_attributes @activated = false end