18 lines
674 B
GDScript
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")
|