extends Resource class_name ActiveAbility @export var ability_id: String = "" @export var cooldown: float = 0.0 @export var display_name: String = "" @export_multiline var description: String = "" # Subclasses return an empty string when ready, otherwise a reason. func unavailable_reason(_ship: CharacterBody2D) -> String: return "" func activate(_ship: CharacterBody2D) -> void: pass