Randoloot/tests/levels/enemy_repair_notification_test.gd
2026-10-17 16:51:07 +02:00

37 lines
1.4 KiB
GDScript

extends Node
func _ready() -> void:
GameState.start_new_run()
var enemy := preload("res://scenes/game/enemy_ship.tscn").instantiate()
add_child(enemy)
enemy.set_physics_process(false)
enemy.max_hull = 100.0
enemy.max_shields = 200.0
enemy.hull = 9.0
enemy.shields = 0.0
assert(enemy.is_retreating())
enemy.regenerate_defenses(0.5)
assert(is_equal_approx(enemy.hull, 9.5) and is_equal_approx(enemy.shields, 1.0))
assert(enemy.is_retreating())
enemy.regenerate_defenses(0.5)
assert(is_equal_approx(enemy.hull, 10.0) and not enemy.is_retreating())
enemy.regenerate_defenses(1000.0)
assert(enemy.hull == enemy.max_hull and enemy.shields == enemy.max_shields)
enemy.hull = 0.0
enemy.regenerate_defenses(10.0)
assert(enemy.hull == 0.0)
var button := Button.new()
button.set_script(preload("res://scripts/ui/navigation_button.gd"))
button.configure_navigation(null, Color("b9a0ef"), "KAPITAN")
button.name = "OpenCaptainSkills"
add_child(button)
var original := (button.get_theme_stylebox("normal") as StyleBoxFlat).shadow_size
GameState.captain.learning_points = 1
button._process(0.4)
assert((button.get_theme_stylebox("normal") as StyleBoxFlat).shadow_size > original)
GameState.captain.learning_points = 0
button._process(0.1)
assert((button.get_theme_stylebox("normal") as StyleBoxFlat).shadow_size == original)
print("ENEMY_REPAIR_NOTIFICATION_TEST: PASS 1%/s, retreat threshold, caps, dead enemy, notification reset")
get_tree().quit()