class SemiGuidedMissile
Follows targets location only at time of launch. Will not follow target
Constants
- ADVANCED_HIT_BOX_DETECTION
ADVANCED_HIT_BOX_DETECTION
= true- AOE
- COOLDOWN_DELAY
- DAMAGE
- INITIAL_DELAY
- MAX_CURSOR_FOLLOW
- MAX_SPEED
- SPEED_INCREASE_FACTOR
- STARTING_SPEED
Attributes
health[R]
mouse_start_x[R]
mouse_start_y[R]
time_alive[R]
x[R]
y[R]
Public Class Methods
new(scale, screen_width, screen_height, object, homing_object, angle_min = nil, angle_max = nil, angle_init = nil, options = {})
click to toggle source
Calls superclass method
Projectile::new
# File line-em-up/models/semi_guided_missile.rb, line 22 def initialize(scale, screen_width, screen_height, object, homing_object, angle_min = nil, angle_max = nil, angle_init = nil, options = {}) options[:relative_object] = object super(scale, screen_width, screen_height, object, homing_object.x, homing_object.y, angle_min, angle_max, angle_init, options) @health = 5 # puts "CUSTOM DELAY: #{@custom_initial_delay}" end
Public Instance Methods
destructable?()
click to toggle source
# File line-em-up/models/semi_guided_missile.rb, line 29 def destructable? true end
drops()
click to toggle source
# File line-em-up/models/semi_guided_missile.rb, line 37 def drops [ SmallExplosion.new(@scale, @screen_width, @screen_height, @x, @y, nil, {ttl: 2, third_scale: true}), ] end
get_image()
click to toggle source
# File line-em-up/models/semi_guided_missile.rb, line 17 def get_image # Gosu::Image.new("#{MEDIA_DIRECTORY}/mini_missile_reverse.png") Gosu::Image.new("#{MEDIA_DIRECTORY}/tiny_missile.png") end
is_alive()
click to toggle source
# File line-em-up/models/semi_guided_missile.rb, line 33 def is_alive @health > 0 end
take_damage(damage)
click to toggle source
# File line-em-up/models/semi_guided_missile.rb, line 44 def take_damage damage @health -= damage end
update(mouse_x = nil, mouse_y = nil, player = nil, scroll_factor = 1)
click to toggle source
Calls superclass method
Projectile#update
# File line-em-up/models/semi_guided_missile.rb, line 49 def update mouse_x = nil, mouse_y = nil, player = nil, scroll_factor = 1 if is_alive super(mouse_x, mouse_y) else false end end