extends ActiveAbility @export_enum("Teleport", "Cloak", "Mine", "Flares", "Solar shields", "Combat drones") var kind := 0 func unavailable_reason(ship: CharacterBody2D) -> String: match kind: 5: if float(ship.get_node("ExtensionSystems").get("drones_remaining")) > 0.0: return "Drony już walczą" if int(ship.get_node("ShipInventory").get("ammunition")) < 50: return "Wymagane 50 szt. zwykłej amunicji" if float(ship.get_node("ShipInventory").call("get_total_dps")) <= 0.0: return "Wymagana zamontowana broń" 0: if float(ship.get("energy")) <= 0.0: return "Brak energii" if not ship.get_node("ExtensionSystems").call("has_teleport_destination"): return "Brak bezpiecznego miejsca na teleport" 1: if ship.call("is_cloaked"): return "Kamuflaż już działa" 4: if GameState.captain.is_skill_active("power_redirect"): return "Tarcze wyłączone przez Przekierowanie zasilania" if float(ship.call("get_solar_regeneration")) <= 0.0: return "Wymagany zasięg gwiazdy" if float(ship.get("shields")) >= float(ship.get("max_shields")): return "Tarcze są pełne" return "" func activate(ship: CharacterBody2D) -> void: ship.get_node("ExtensionSystems").call("activate", kind)