Polish opening story controls
This commit is contained in:
@@ -252,50 +252,50 @@ 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("조조") or 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.begins_with("장면 ") 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")
|
||||
if scene.opening_prologue_step_label == null or scene.opening_prologue_step_label.text != "첫 기록":
|
||||
failures.append("opening prologue should describe the current record without bare numeric counters")
|
||||
if scene.opening_prologue_root == null or scene.opening_prologue_root.find_child("OpeningChapterSeal", true, false) == null:
|
||||
failures.append("opening prologue should anchor the generated story art with a chapter seal")
|
||||
var opening_story_strip: Node = null
|
||||
if scene.opening_prologue_root != null:
|
||||
opening_story_strip = scene.opening_prologue_root.find_child("OpeningStoryBeatStrip", true, false)
|
||||
opening_story_strip = scene.opening_prologue_root.find_child("OpeningStoryLedgerStrip", true, false)
|
||||
if opening_story_strip == null:
|
||||
failures.append("opening prologue should show a compact four-beat story progress rail")
|
||||
failures.append("opening prologue should show a compact story ledger in the upper-right corner")
|
||||
else:
|
||||
var progress_caption := opening_story_strip.find_child("OpeningStoryProgressCaption", true, false) as Label
|
||||
if progress_caption == null or progress_caption.text != "전개":
|
||||
failures.append("opening story progress rail should use a subtle Korean caption instead of exposed numeric cards")
|
||||
if progress_caption == null or progress_caption.text != "영천으로":
|
||||
failures.append("opening story ledger should use a natural Korean chapter caption")
|
||||
var progress_scene := opening_story_strip.find_child("OpeningStoryProgressScene", true, false) as Label
|
||||
if progress_scene == null or not progress_scene.text.contains("첫 기록") or not progress_scene.text.contains("황건의 난"):
|
||||
failures.append("opening story ledger should name the current record and scene")
|
||||
var opening_story_cards: Array = opening_story_strip.find_children("OpeningStoryBeatCard*", "", true, false)
|
||||
if opening_story_cards.size() != 4:
|
||||
failures.append("opening story progress rail should expose four story knots: %d" % opening_story_cards.size())
|
||||
if not opening_story_cards.is_empty():
|
||||
failures.append("opening story ledger should not expose old numbered-card style nodes")
|
||||
var opening_story_ticks: Array = opening_story_strip.find_children("OpeningStoryLedgerTick*", "", true, false)
|
||||
if opening_story_ticks.size() != 4:
|
||||
failures.append("opening story ledger should expose four quiet progress ticks: %d" % opening_story_ticks.size())
|
||||
var current_count := 0
|
||||
var current_index := 0
|
||||
for opening_story_card in opening_story_cards:
|
||||
var card_node := opening_story_card as Node
|
||||
var beat_seal := card_node.find_child("OpeningStoryBeatSeal", true, false) as PanelContainer
|
||||
var beat_thread := card_node.find_child("OpeningStoryBeatThread", true, false) as ColorRect
|
||||
if not bool(card_node.get_meta("story_progress_knot", false)):
|
||||
failures.append("opening story beat should be rendered as a compact progress knot")
|
||||
if beat_seal == null or not bool(beat_seal.get_meta("generated_panel_texture", false)):
|
||||
failures.append("opening story beat should use a generated knot seal")
|
||||
if beat_thread == null:
|
||||
failures.append("opening story beat should join knots with a subdued thread")
|
||||
var numeric_labels := card_node.find_children("*", "Label", true, false)
|
||||
for numeric_label in numeric_labels:
|
||||
if str((numeric_label as Label).text).strip_edges() in ["1", "2", "3", "4"]:
|
||||
failures.append("opening story progress should not expose bare numeric labels")
|
||||
if bool(card_node.get_meta("current_story_beat", false)):
|
||||
for opening_story_tick in opening_story_ticks:
|
||||
var tick_node := opening_story_tick as Node
|
||||
if not bool(tick_node.get_meta("story_progress_tick", false)):
|
||||
failures.append("opening story tick should be marked as a quiet progress tick")
|
||||
if bool(tick_node.get_meta("current_story_beat", false)):
|
||||
current_count += 1
|
||||
current_index = opening_story_cards.find(opening_story_card) + 1
|
||||
current_index = opening_story_ticks.find(opening_story_tick) + 1
|
||||
if current_count != 1 or current_index != 1:
|
||||
failures.append("opening story strip should highlight the first story beat on entry")
|
||||
if opening_story_strip.custom_minimum_size.x > 360.0 or opening_story_strip.custom_minimum_size.y > 56.0:
|
||||
failures.append("opening story progress rail should stay compact in the upper-right corner: %s" % str(opening_story_strip.custom_minimum_size))
|
||||
if scene.opening_prologue_next_button == null or scene.opening_prologue_next_button.text != "이어 보기":
|
||||
failures.append("opening story ledger should highlight the first story tick on entry")
|
||||
var numeric_labels := opening_story_strip.find_children("*", "Label", true, false)
|
||||
for numeric_label in numeric_labels:
|
||||
if str((numeric_label as Label).text).strip_edges() in ["1", "2", "3", "4", "1/4", "2/4", "3/4", "4/4"]:
|
||||
failures.append("opening story ledger should not expose bare numeric labels")
|
||||
if opening_story_strip.custom_minimum_size.x > 380.0 or opening_story_strip.custom_minimum_size.y > 62.0:
|
||||
failures.append("opening story ledger should stay compact in the upper-right corner: %s" % str(opening_story_strip.custom_minimum_size))
|
||||
if scene.opening_prologue_next_button == null or scene.opening_prologue_next_button.text != "전기 넘기기":
|
||||
failures.append("opening prologue next button should read as a story action")
|
||||
else:
|
||||
_check_opening_story_button_art(failures, scene.opening_prologue_next_button, "opening next")
|
||||
if scene.opening_prologue_skip_button == null or scene.opening_prologue_skip_button.text != "바로 군막":
|
||||
if scene.opening_prologue_skip_button == null or scene.opening_prologue_skip_button.text != "전기 접기":
|
||||
failures.append("opening prologue skip button should read as a contextual camp shortcut")
|
||||
else:
|
||||
_check_opening_story_button_art(failures, scene.opening_prologue_skip_button, "opening skip")
|
||||
@@ -362,9 +362,9 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
failures.append("opening prologue should change story artwork per page")
|
||||
var second_story_card: Node = null
|
||||
if scene.opening_prologue_root != null:
|
||||
second_story_card = scene.opening_prologue_root.find_child("OpeningStoryBeatCard2", true, false)
|
||||
second_story_card = scene.opening_prologue_root.find_child("OpeningStoryLedgerTick2", true, false)
|
||||
if second_story_card == null or not bool(second_story_card.get_meta("current_story_beat", false)):
|
||||
failures.append("opening story strip should highlight the second beat after advancing")
|
||||
failures.append("opening story ledger should highlight the second tick after advancing")
|
||||
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("작은 군세"):
|
||||
|
||||
Reference in New Issue
Block a user