Randoloot/tests/captain/reactor_duration_test.gd
2026-10-17 19:46:45 +02:00

24 lines
1.2 KiB
GDScript

extends Node
func _ready() -> void:
GameState.start_new_run()
var ship := preload("res://scenes/game/player_ship.tscn").instantiate()
add_child(ship)
ship.set_physics_process(false)
ship.get_node("WeaponController").set_physics_process(false)
var captain := GameState.captain
captain.skills = {"reactor_overload": 1, "tactical_maneuver": 1}
captain.equipped_skills = ["reactor_overload", "tactical_maneuver", "", "", ""]
assert(captain.activate_skill("reactor_overload", ship))
assert(captain.activate_skill("tactical_maneuver", ship))
assert(captain.skill_durations.reactor_overload == 15.0)
assert(captain.skill_cooldowns.reactor_overload == 30.0)
captain.tick_skills(5.0)
assert(captain.is_skill_active("reactor_overload") and not captain.is_skill_active("tactical_maneuver"))
captain.tick_skills(9.9)
assert(captain.is_skill_active("reactor_overload"))
captain.tick_skills(0.11)
assert(not captain.is_skill_active("reactor_overload"))
assert(preload("res://scripts/captain/captain_skills.gd").description("reactor_overload", 1).contains("15 sekund"))
print("REACTOR_DURATION_TEST: PASS 15 seconds, 30-second cooldown, other skills still 5 seconds")
get_tree().quit()