Add new campaign opening prologue

This commit is contained in:
2026-06-19 23:31:17 +09:00
parent e64b86a363
commit 46f8b10d53
4 changed files with 264 additions and 16 deletions

View File

@@ -100,8 +100,22 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
scene._on_title_start_pressed()
if scene.title_screen_root != null and scene.title_screen_root.visible:
failures.append("starting a new game should hide the title screen")
if not scene._is_opening_prologue_visible():
failures.append("starting a new campaign should show the opening prologue before briefing")
if scene.briefing_panel != null and scene.briefing_panel.visible:
failures.append("opening prologue should hold back the first briefing until advanced")
if scene.opening_prologue_title_label == null or scene.opening_prologue_body_label == null:
failures.append("opening prologue should expose title and story text")
elif not scene.opening_prologue_body_label.text.contains("조조"):
failures.append("opening prologue should first explain Cao Cao before the Yellow Turban battle")
var prologue_guard := 0
while scene._is_opening_prologue_visible() and prologue_guard < 8:
scene._on_opening_prologue_next_pressed()
prologue_guard += 1
if scene._is_opening_prologue_visible():
failures.append("opening prologue should close after advancing through its pages")
if scene.briefing_panel == null or not scene.briefing_panel.visible:
failures.append("starting a new game should enter the first briefing")
failures.append("finishing the opening prologue should enter the first briefing")
if not scene.campaign_state.has_save():
failures.append("starting a new game should create the main campaign save")
@@ -112,8 +126,16 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
scene._on_title_load_pressed()
if scene.title_screen_root != null and scene.title_screen_root.visible:
failures.append("loading a saved game should hide the title screen")
if scene._is_opening_prologue_visible():
failures.append("loading a saved game should skip the new-campaign opening prologue")
if scene.briefing_panel == null or not scene.briefing_panel.visible:
failures.append("loading a saved game should enter the current campaign briefing")
scene._on_new_campaign_pressed()
if not scene._is_opening_prologue_visible():
failures.append("top New Campaign should also show the opening prologue")
scene._on_opening_prologue_skip_pressed()
if scene.briefing_panel == null or not scene.briefing_panel.visible:
failures.append("skipping the top New Campaign prologue should enter the first briefing")
scene.free()