Age battle UI toward ancient campaign style

This commit is contained in:
2026-06-19 02:47:18 +09:00
parent f26952e39e
commit 9d31448573
3 changed files with 146 additions and 47 deletions

View File

@@ -211,16 +211,16 @@ func _check_objective_notice(failures: Array[String]) -> void:
scene._on_objective_updated("Defeat the new vanguard.", "")
if scene.objective_notice_panel == null or not scene.objective_notice_panel.visible:
failures.append("objective notice panel should be visible after objective update")
elif not scene.objective_notice_label.text.contains("New Battle Mandate") or not scene.objective_notice_label.text.contains("Mandate: Defeat the new vanguard."):
failures.append("objective notice label should use battle mandate wording: %s" % scene.objective_notice_label.text)
elif not scene.objective_notice_label.text.contains("New Sealed Edict") or not scene.objective_notice_label.text.contains("Imperial Mandate: Defeat the new vanguard."):
failures.append("objective notice label should use sealed edict wording: %s" % scene.objective_notice_label.text)
scene._on_objective_updated("", "Supply train is lost.")
if scene.objective_notice_panel == null or not scene.objective_notice_panel.visible:
failures.append("objective notice panel should be visible after defeat update")
elif not scene.objective_notice_label.text.contains("New Battle Mandate") or not scene.objective_notice_label.text.contains("Omen: Supply train is lost."):
elif not scene.objective_notice_label.text.contains("New Sealed Edict") or not scene.objective_notice_label.text.contains("Defeat Omen: Supply train is lost."):
failures.append("objective notice label should use omen wording: %s" % scene.objective_notice_label.text)
if scene._format_log_entry_text("Objective updated: Defeat the new vanguard.") != "Mandate revised: Defeat the new vanguard.":
failures.append("objective log display should use mandate wording")
if scene._format_log_entry_text("Defeat condition updated: Supply train is lost.") != "Omen revised: Supply train is lost.":
if scene._format_log_entry_text("Objective updated: Defeat the new vanguard.") != "Edict amended: Defeat the new vanguard.":
failures.append("objective log display should use edict wording")
if scene._format_log_entry_text("Defeat condition updated: Supply train is lost.") != "Omen amended: Supply train is lost.":
failures.append("defeat log display should use omen wording")
if scene.objective_notice_timer <= 0.0:
failures.append("objective notice timer should be active")

View File

@@ -1516,9 +1516,16 @@ func _check_ancient_ui_theme(failures: Array[String]) -> void:
scene.free()
return
var briefing_text := scene._format_briefing_objectives()
for expected in ["Mandate of Victory:", "Omen of Ruin:", "Battle Register:", "Dire Portents:", "Spoils Ledger:"]:
for expected in ["Imperial Victory Edict:", "Defeat Omen:", "Bamboo Battle Register:", "Ominous Signs:", "Spoils Seal:"]:
if not briefing_text.contains(expected):
failures.append("briefing objective parchment should use ancient heading `%s`: %s" % [expected, briefing_text])
var hud_objective := scene._format_objective_hud_text()
if not hud_objective.begins_with("Imperial Mandate:"):
failures.append("HUD objective should read as an imperial mandate: %s" % hud_objective)
var mission_text := scene._format_mission_panel_text()
for expected in ["Imperial Edict:", "Bamboo Register:", "Ominous Signs:"]:
if not mission_text.contains(expected):
failures.append("mission panel should use old campaign wording `%s`: %s" % [expected, mission_text])
_check_panel_style_fill(failures, scene.briefing_panel, "briefing panel", Color(0.58, 0.47, 0.29, 0.985))
_check_panel_style_frame(failures, scene.briefing_panel, "briefing panel", Color(0.09, 0.055, 0.032, 1.0), 4)
_check_panel_style_fill(failures, scene.briefing_objective_panel, "briefing objective edict panel", Color(0.73, 0.60, 0.38, 0.99))
@@ -1532,8 +1539,8 @@ func _check_ancient_ui_theme(failures: Array[String]) -> void:
failures.append("dialogue continue button should use ancient slip text")
if scene.dialogue_previous_button == null or scene.dialogue_previous_button.text != "Earlier Slip":
failures.append("dialogue previous button should use ancient slip text")
if scene.mission_title_label == null or scene.mission_title_label.text != "Battle Mandate":
failures.append("mission panel title should use battle mandate wording")
if scene.mission_title_label == null or scene.mission_title_label.text != "Imperial Mandate":
failures.append("mission panel title should use imperial mandate wording")
if scene.shop_button == null or scene.shop_button.text != "Sutler":
failures.append("briefing shop button should use sutler wording")
if scene.talk_button == null or scene.talk_button.text != "War Council":
@@ -1554,6 +1561,14 @@ func _check_ancient_ui_theme(failures: Array[String]) -> void:
if scene.briefing_camp_overview_fallback_label == null or scene.briefing_camp_overview_fallback_label.text != "Silk War Map":
failures.append("briefing map fallback should read as an old campaign map")
_check_panel_style_fill(failures, scene.result_panel, "result panel", Color(0.58, 0.47, 0.29, 0.985))
if not scene._format_victory_result_text().contains("Bronze Victory Proclamation"):
failures.append("victory result should read like a bronze proclamation")
if not scene._format_defeat_result_text().contains("Defeat Memorial Tablet"):
failures.append("defeat result should read like a memorial tablet")
var scroll_rod := scene._make_scroll_rod(120, 4)
if scroll_rod.get_child_count() != 5:
failures.append("scroll rod ornament should use five visual strips")
scroll_rod.free()
scene.free()
@@ -1654,7 +1669,7 @@ func _check_action_button_disabled_reasons(failures: Array[String]) -> void:
scene.state.current_team = BattleState.TEAM_PLAYER
scene.battle_started = false
scene._update_threat_button()
if scene.threat_button.text != "Enemy Lines - Enter Field" or not scene.threat_button.tooltip_text.to_lower().contains("begin"):
if scene.threat_button.text != "Enemy Lines - Unroll Map" or not scene.threat_button.tooltip_text.to_lower().contains("unroll"):
failures.append("inactive battle should explain disabled threat button: %s | %s" % [scene.threat_button.text, scene.threat_button.tooltip_text])
_free_action_button_test_scene(scene)