Randoloot/scripts/abilities/shield_charge_ability.gd
2026-10-15 21:46:44 +02:00

18 lines
674 B
GDScript

extends ActiveAbility
@export var shield_amount: float = 100.0
func unavailable_reason(ship: CharacterBody2D) -> String:
if GameState.captain.is_skill_active("power_redirect"):
return "Tarcze wyłączone przez Przekierowanie zasilania"
if ship.get("shields") >= ship.get("max_shields"):
return "Tarcze są pełne"
return "Wymagana pełna energia" if ship.get("energy") < ship.get("max_energy") else ""
func activate(ship: CharacterBody2D) -> void:
if GameState.captain.is_skill_active("power_redirect"):
return
ship.set("energy", 0.0)
ship.set("shields", minf(ship.get("max_shields"), ship.get("shields") + shield_amount))
ship.call("_update_shield_visual")