Expand opening prologue beats

This commit is contained in:
2026-06-20 00:39:57 +09:00
parent eceb36e04c
commit 82dc5d1f2c
3 changed files with 22 additions and 3 deletions

View File

@@ -116,7 +116,7 @@ Godot 4 tactical RPG prototype inspired by classic turn-based Romance of the Thr
- Campaign completion screen.
- New campaign save reset.
- Manual campaign checkpoint save/load.
- Cinematic title screen uses the battlefield backdrop and Cao Cao portrait art, offers start/load/settings, leads new campaigns through a short Cao Cao and Xiahou Dun opening prologue, exposes the same audio/edge-scroll settings from the top in-game toolbar, and persists BGM/SFX volume, sound toggles, and edge-scroll preference in `user://heros_settings.json`.
- Cinematic title screen uses the battlefield backdrop and Cao Cao portrait art, offers start/load/settings, leads new campaigns through a four-beat Cao Cao decision and Xiahou Dun opening prologue, exposes the same audio/edge-scroll settings from the top in-game toolbar, and persists BGM/SFX volume, sound toggles, and edge-scroll preference in `user://heros_settings.json`.
- Victory and defeat result overlay.
- Dialogue portrait slot stays fixed across speaker and narration lines, with officer default image paths, optional per-line overrides, and speaker-initial or record fallback.
- Initial AI-generated photorealistic officer portraits for Cao Cao, Xiahou Dun, Xiahou Yuan, Cao Ren, Dian Wei, Guo Jia, and Zhang He.

View File

@@ -36,8 +36,12 @@ const OPENING_PROLOGUE_PAGES := [
"body": "젊은 조조는 재주와 결단으로 이름을 얻었지만, 조정 안팎의 권세와 부패를 가까이 보며 법만으로는 세상을 붙들기 어렵다는 것을 알았다."
},
{
"title": "하후돈과 첫 군세",
"body": "가문의 친척 하후돈은 먼저 창을 들고길에 섰다. 두 사람은 큰 명성보다 무너지는 고을을 구하는 첫 군령을 택했다."
"title": "맹덕의 결심",
"body": "황건의 봉기가 고을을 삼키자 조조는 더는명만 기다리지 않았다. 그는 작은 군세라도 직접 세워 백성이 빠져나갈 길을 열기로 했다."
},
{
"title": "하후돈의 합류",
"body": "가문의 친척 하후돈은 먼저 창을 들고 조조의 길에 섰다. 두 사람은 큰 명성보다 무너지는 고을을 구하는 첫 군령을 함께 택했다."
},
{
"title": "영천으로",

View File

@@ -112,6 +112,21 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
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")
if scene.opening_prologue_step_label == null or not scene.opening_prologue_step_label.text.ends_with("/4"):
failures.append("opening prologue should give Cao Cao, decision, Xiahou Dun, and Yingchuan their own beats")
scene._on_opening_prologue_next_pressed()
if scene.opening_prologue_title_label == null or scene.opening_prologue_title_label.text != "맹덕의 결심":
failures.append("opening prologue should move from Cao Cao background to his decision")
elif not scene.opening_prologue_body_label.text.contains("황건") or not scene.opening_prologue_body_label.text.contains("작은 군세"):
failures.append("opening prologue decision page should explain why Cao Cao raises troops")
scene._on_opening_prologue_next_pressed()
if scene.opening_prologue_title_label == null or scene.opening_prologue_title_label.text != "하후돈의 합류":
failures.append("opening prologue should then show Xiahou Dun joining Cao Cao")
elif not scene.opening_prologue_body_label.text.contains("하후돈") or not scene.opening_prologue_body_label.text.contains("첫 군령"):
failures.append("opening prologue Xiahou Dun page should link the relationship to the first command")
scene._on_opening_prologue_next_pressed()
if scene.opening_prologue_title_label == null or scene.opening_prologue_title_label.text != "영천으로":
failures.append("opening prologue should end by pointing toward Yingchuan")
var prologue_guard := 0
while scene._is_opening_prologue_visible() and prologue_guard < 8:
scene._on_opening_prologue_next_pressed()