Randoloot/scripts/abilities/tactical_extension_ability.gd
2026-10-16 22:04:36 +02:00

26 lines
887 B
GDScript

extends ActiveAbility
@export_enum("Teleport", "Cloak", "Mine", "Flares", "Solar shields") var kind := 0
func unavailable_reason(ship: CharacterBody2D) -> String:
match kind:
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)