class_name VesselLaserComponent extends "res://vessels/VesselCooldownFillComponent.gd" var capability_id := "laser" var damage: int = 2 var beam_range: float = 950.0 const READY_COLOR := Color(0.3, 0.9, 1.0) const COOLING_COLOR := Color(0.08, 0.28, 0.34) func _init() -> void: cooldown_duration = 4.0 func apply_stats() -> void: var ship: Node = get_parent() var state: Node = ship.get_tree().root.get_node("GameState") damage = int(state.vessel_stat(ship.vessel_type, "damage")) beam_range = state.vessel_stat(ship.vessel_type, "beam_range") cooldown_duration = state.vessel_stat(ship.vessel_type, "beam_cooldown") queue_redraw() func consume_shot() -> bool: return _begin_cooldown(cooldown_duration) func _ready_color() -> Color: return READY_COLOR func _cooling_color() -> Color: return COOLING_COLOR