Randoloot/scripts/abilities/auxiliary_shield_ability.gd
2026-10-26 19:33:45 +01:00

17 lines
688 B
GDScript

extends ActiveAbility
func unavailable_reason(ship: CharacterBody2D) -> String:
if GameState.captain.is_skill_active("power_redirect"):
return "Tarcze wyłączone przez Przekierowanie zasilania"
if float(ship.get("max_shields")) <= 0.0:
return "Wymagana dodatnia maksymalna pojemność tarcz"
if float(ship.get("auxiliary_shields")) > 0.0:
return "Dodatkowa tarcza już działa"
if float(ship.get("max_energy")) <= 0.0 or float(ship.get("energy")) < float(ship.get("max_energy"))*0.7:
return "Wymagane 70% maksymalnej energii"
return ""
func activate(ship: CharacterBody2D) -> void:
if not unavailable_reason(ship).is_empty(): return
ship.call("create_auxiliary_shield")