Add tentacled boss planet encounter

This commit is contained in:
Loïc Wisniewski 2026-09-03 10:33:05 +02:00
commit 40f284dcdd
38 changed files with 1051 additions and 19 deletions

View file

@ -49,6 +49,12 @@ func _compose_surface(profile: Resource) -> void:
var caption: Label = get_node(caption_path)
caption.add_theme_color_override("font_color", profile.caption_color)
caption.add_theme_color_override("font_outline_color", profile.caption_outline_color)
var capture_label: Label = get_node("../UI/CaptureLabel")
# This controller readies before the UI sibling. Store the policy on the
# label itself so its first process tick cannot make a scripted encounter's
# deliberately hidden generic objective readout visible again.
capture_label.display_enabled = bool(profile.show_capture_status)
capture_label.visible = bool(profile.show_capture_status)
if profile.features_scene != null:
var features: Node = profile.features_scene.instantiate()
feature_host.add_child(features)
@ -64,7 +70,7 @@ func _compose_surface(profile: Resource) -> void:
var setup_host: Node = SETUP_HOST_SCENE.instantiate()
feature_host.add_child(setup_host)
setup_host.apply_setup(setup)
else:
elif profile.encounter_scene == null:
# No PlanetSetup exists for this profile at all (#55: "void" has
# none authored) - register zero required points directly, rather
# than leaving this planet's conquest state unregistered forever.
@ -75,6 +81,10 @@ func _compose_surface(profile: Resource) -> void:
# points() treats a total of 0 as vacuously already conquered.
GameState.register_capture_points(GameState.planet_id, 0)
if profile.encounter_scene != null:
var encounter: Node = profile.encounter_scene.instantiate()
feature_host.add_child(encounter)
func _on_exit_pressed() -> void:
if transitioning: