Class: RubyWarrior::Abilities::Attack
- Defined in:
- lib/ruby_warrior/abilities/attack.rb
Instance Method Summary collapse
Methods inherited from Base
#damage, #initialize, #offset, #pass_turn, #space, #unit, #verify_direction
Constructor Details
This class inherits a constructor from RubyWarrior::Abilities::Base
Instance Method Details
#description ⇒ Object
4 5 6 |
# File 'lib/ruby_warrior/abilities/attack.rb', line 4 def description "Attacks a unit in given direction (forward by default)." end |
#perform(direction = :forward) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ruby_warrior/abilities/attack.rb', line 8 def perform(direction = :forward) verify_direction(direction) receiver = unit(direction) if receiver @unit.say "attacks #{direction} and hits #{receiver}" if direction == :backward power = (@unit.attack_power/2.0).ceil else power = @unit.attack_power end damage(receiver, power) else @unit.say "attacks #{direction} and hits nothing" end end |