17 lines
688 B
GDScript
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")
|