Restyle battle UI with ancient war scroll theme
This commit is contained in:
@@ -2160,13 +2160,13 @@ func _check_scene_texture_loading(failures: Array[String]) -> void:
|
||||
var cache := scene._camp_conversation_by_id("northern_woods_cache")
|
||||
if cache.is_empty():
|
||||
failures.append("battle scene should find cache camp conversation by id")
|
||||
elif not scene._format_camp_conversation_button_text(cache).contains("Supply Bean"):
|
||||
elif not scene._format_camp_conversation_button_text(cache).contains("보급 Bean"):
|
||||
failures.append("camp conversation button text should preview supply effect")
|
||||
var merchant_notice := scene._format_shop_merchant_notice_text(scene.state.get_shop_merchant())
|
||||
if not merchant_notice.contains("Camp Merchant") or not merchant_notice.contains("Roadside stores"):
|
||||
failures.append("shop merchant notice should include name and flavor lines")
|
||||
var camp_overview := scene._format_briefing_camp_overview_text(scene.state.get_briefing(), false)
|
||||
for expected in ["Yingchuan, 184 CE", "War Chest 0G", "War Council 3", "1 supply", "Sutler 2 goods", "Muster Roll 2/2", "Battle Array 4 tiles", "Armory stocked"]:
|
||||
for expected in ["Yingchuan, 184 CE", "군자금 0G", "군막 회의 3", "보급 1", "군상 물품 2", "출진 명부 2/2", "진형 배치 4칸", "병장고 비축"]:
|
||||
if not camp_overview.contains(expected):
|
||||
failures.append("camp overview should include %s: %s" % [expected, camp_overview])
|
||||
var bean: Dictionary = scene.state.get_item_def("bean")
|
||||
@@ -2231,7 +2231,7 @@ func _check_hud_focus_text(failures: Array[String]) -> void:
|
||||
failures.append("Cao Cao HUD focus should describe command role: %s" % cao_text)
|
||||
if not cao_text.contains("March 4 (Foot)") or not cao_text.contains("Strike reach 1-1"):
|
||||
failures.append("Cao Cao HUD focus should clarify move/attack affordance: %s" % cao_text)
|
||||
if not cao_text.contains("Command:") or not cao_text.contains("March") or not cao_text.contains("Strike") or not cao_text.contains("Stratagem") or not cao_text.contains("Arms") or not cao_text.contains("Hold"):
|
||||
if not cao_text.contains("군령:") or not cao_text.contains("March") or not cao_text.contains("Strike") or not cao_text.contains("책략") or not cao_text.contains("병장") or not cao_text.contains("대기"):
|
||||
failures.append("Cao Cao HUD focus should summarize available actions: %s" % cao_text)
|
||||
if not cao_text.contains("Ground 2,4"):
|
||||
failures.append("Cao Cao HUD focus should include current tile: %s" % cao_text)
|
||||
@@ -2250,7 +2250,7 @@ func _check_hud_focus_text(failures: Array[String]) -> void:
|
||||
failures.append("Archer HUD focus should describe ranged role: %s" % archer_text)
|
||||
if not archer_text.contains("March 4 (Archer)") or not archer_text.contains("Strike reach 2-2"):
|
||||
failures.append("Archer HUD focus should clarify ranged attack affordance: %s" % archer_text)
|
||||
if not archer_text.contains("Command: Enemy banner"):
|
||||
if not archer_text.contains("군령: 적군 군기"):
|
||||
failures.append("Enemy archer HUD focus should describe enemy control: %s" % archer_text)
|
||||
if not scene._unit_current_terrain_text(archer).contains("Plain"):
|
||||
failures.append("Archer terrain text should reflect its current plain tile")
|
||||
@@ -2265,32 +2265,32 @@ func _check_ancient_ui_theme(failures: Array[String]) -> void:
|
||||
scene.free()
|
||||
return
|
||||
var briefing_text := scene._format_briefing_objectives()
|
||||
for expected in ["Imperial Victory Edict:", "Defeat Omen:", "Bamboo Battle Register:", "Ominous Signs:", "Spoils Seal:"]:
|
||||
for expected in ["승리 조서:", "패배 흉조:", "전공 죽간:", "흉조 징후:", "전리품 봉인:"]:
|
||||
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.contains("Bronze Edict:") or not hud_objective.contains("Black Omen:"):
|
||||
if not hud_objective.contains("승리 조서:") or not hud_objective.contains("패배 흉조:"):
|
||||
failures.append("HUD objective should read as paired edict and omen text: %s" % hud_objective)
|
||||
var mission_text := scene._format_mission_panel_text()
|
||||
for expected in ["Bronze Edict:", "Black Omen:", "Bamboo Register:", "Ominous Signs:"]:
|
||||
for expected in ["승리 조서", "패배 흉조", "전공 죽간", "흉조 징후"]:
|
||||
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.49, 0.37, 0.21, 0.992))
|
||||
_check_panel_style_fill(failures, scene.briefing_panel, "briefing panel", Color(0.72, 0.60, 0.39, 0.995))
|
||||
_check_panel_style_frame(failures, scene.briefing_panel, "briefing panel", Color(0.035, 0.018, 0.012, 1.0), 6)
|
||||
_check_panel_style_fill(failures, scene.briefing_objective_panel, "briefing objective edict panel", Color(0.67, 0.53, 0.31, 0.995))
|
||||
_check_panel_style_frame(failures, scene.briefing_objective_panel, "briefing objective edict panel", Color(0.035, 0.018, 0.012, 1.0), 4)
|
||||
_check_panel_style_fill(failures, scene.briefing_objective_panel, "briefing objective edict panel", Color(0.76, 0.63, 0.40, 0.995))
|
||||
_check_panel_style_frame(failures, scene.briefing_objective_panel, "briefing objective edict panel", Color(0.28, 0.020, 0.014, 1.0), 4)
|
||||
_check_panel_style_fill(failures, scene.dialogue_panel, "dialogue panel", Color(0.052, 0.022, 0.014, 0.995))
|
||||
_check_panel_style_frame(failures, scene.dialogue_panel, "dialogue panel", Color(0.50, 0.36, 0.16, 1.0), 6)
|
||||
_check_panel_style_frame(failures, scene.dialogue_panel, "dialogue panel", Color(0.12, 0.36, 0.25, 1.0), 6)
|
||||
_check_panel_style_fill(failures, scene.dialogue_portrait_panel, "dialogue portrait panel", Color(0.055, 0.025, 0.016, 1.0))
|
||||
_check_panel_style_fill(failures, scene.dialogue_speaker_panel, "dialogue speaker seal panel", Color(0.36, 0.030, 0.018, 1.0))
|
||||
_check_panel_style_fill(failures, scene.dialogue_text_panel, "dialogue text scroll panel", Color(0.69, 0.55, 0.32, 0.995))
|
||||
_check_panel_style_fill(failures, scene.dialogue_speaker_panel, "dialogue speaker seal panel", Color(0.28, 0.020, 0.014, 1.0))
|
||||
_check_panel_style_fill(failures, scene.dialogue_text_panel, "dialogue text scroll panel", Color(0.75, 0.62, 0.39, 0.995))
|
||||
_check_seal_ribbon(failures, scene.briefing_seal_ribbon, "briefing seal ribbon")
|
||||
_check_seal_ribbon(failures, scene.dialogue_seal_ribbon, "dialogue seal ribbon")
|
||||
_check_seal_ribbon(failures, scene.result_seal_ribbon, "result seal ribbon")
|
||||
_check_dialogue_column_budget(failures, scene)
|
||||
if scene.dialogue_continue_button == null or scene.dialogue_continue_button.text != "Next Slip":
|
||||
if scene.dialogue_continue_button == null or scene.dialogue_continue_button.text != "다음 죽간":
|
||||
failures.append("dialogue continue button should use ancient slip text")
|
||||
if scene.dialogue_previous_button == null or scene.dialogue_previous_button.text != "Earlier Slip":
|
||||
if scene.dialogue_previous_button == null or scene.dialogue_previous_button.text != "이전 죽간":
|
||||
failures.append("dialogue previous button should use ancient slip text")
|
||||
if scene._ui_font(false) == null:
|
||||
failures.append("ancient UI regular font should load from project assets")
|
||||
@@ -2306,31 +2306,31 @@ func _check_ancient_ui_theme(failures: Array[String]) -> void:
|
||||
failures.append("dialogue text should use the project serif font override")
|
||||
if scene.dialogue_continue_button == null or not scene.dialogue_continue_button.has_theme_font_override("font"):
|
||||
failures.append("dialogue continue button should use the project serif font override")
|
||||
if scene.mission_title_label == null or scene.mission_title_label.text != "Bronze Mandate Tablet":
|
||||
if scene.mission_title_label == null or scene.mission_title_label.text != "군령 목패":
|
||||
failures.append("mission panel title should use bronze tablet wording")
|
||||
if scene.shop_button == null or scene.shop_button.text != "Sutler":
|
||||
if scene.shop_button == null or scene.shop_button.text != "군상":
|
||||
failures.append("briefing shop button should use sutler wording")
|
||||
if scene.talk_button == null or scene.talk_button.text != "War Council":
|
||||
if scene.talk_button == null or scene.talk_button.text != "군막 회의":
|
||||
failures.append("briefing talk button should use war council wording")
|
||||
if scene.formation_button == null or scene.formation_button.text != "Battle Array":
|
||||
if scene.formation_button == null or scene.formation_button.text != "진형 배치":
|
||||
failures.append("briefing formation button should use battle array wording")
|
||||
if scene.post_move_title_label == null or scene.post_move_title_label.text != "Issue Order":
|
||||
if scene.post_move_title_label == null or scene.post_move_title_label.text != "군령 선택":
|
||||
failures.append("post-move command title should use order wording")
|
||||
if scene.post_move_cancel_button == null or scene.post_move_cancel_button.text != "Recall Step":
|
||||
if scene.post_move_cancel_button == null or scene.post_move_cancel_button.text != "발걸음 거두기":
|
||||
failures.append("post-move cancel button should use recall step wording")
|
||||
if scene.post_move_picker_back_button == null or scene.post_move_picker_back_button.text != "Return":
|
||||
if scene.post_move_picker_back_button == null or scene.post_move_picker_back_button.text != "돌아가기":
|
||||
failures.append("post-move picker back button should use return wording")
|
||||
if scene.targeting_hint_title_label == null or scene.targeting_hint_title_label.text != "Mark Foe":
|
||||
if scene.targeting_hint_title_label == null or scene.targeting_hint_title_label.text != "적장 지목":
|
||||
failures.append("targeting hint title should use mark foe wording")
|
||||
if scene.targeting_hint_back_button == null or scene.targeting_hint_back_button.text != "Return":
|
||||
if scene.targeting_hint_back_button == null or scene.targeting_hint_back_button.text != "돌아가기":
|
||||
failures.append("targeting hint back button should use return wording")
|
||||
scene._update_briefing_camp_overview(scene.state.get_briefing(), false)
|
||||
if scene.briefing_camp_overview_fallback_label == null or scene.briefing_camp_overview_fallback_label.text != "Silk War Map":
|
||||
if scene.briefing_camp_overview_fallback_label == null or scene.briefing_camp_overview_fallback_label.text != "비단 전장도":
|
||||
failures.append("briefing map fallback should read as an old campaign map")
|
||||
_check_panel_style_fill(failures, scene.result_panel, "result panel", Color(0.45, 0.34, 0.20, 0.992))
|
||||
if not scene._format_victory_result_text().contains("Bronze Victory Proclamation"):
|
||||
_check_panel_style_fill(failures, scene.result_panel, "result panel", Color(0.54, 0.43, 0.27, 0.992))
|
||||
if not scene._format_victory_result_text().contains("승전 조서"):
|
||||
failures.append("victory result should read like a bronze proclamation")
|
||||
if not scene._format_defeat_result_text().contains("Defeat Memorial Tablet"):
|
||||
if not scene._format_defeat_result_text().contains("패전 비문"):
|
||||
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:
|
||||
@@ -2431,7 +2431,7 @@ func _check_action_button_disabled_reasons(failures: Array[String]) -> void:
|
||||
"remaining_phases": 2
|
||||
}]
|
||||
scene._update_tactic_button(cao_cao)
|
||||
if scene.tactic_button.text != "Stratagem - Sealed" or not scene.tactic_button.tooltip_text.to_lower().contains("sealed"):
|
||||
if scene.tactic_button.text != "책략 - 봉인됨" or not scene.tactic_button.tooltip_text.contains("책략"):
|
||||
failures.append("sealed unit should explain disabled tactic button: %s | %s" % [scene.tactic_button.text, scene.tactic_button.tooltip_text])
|
||||
cao_cao["status_effects"] = []
|
||||
|
||||
@@ -2440,36 +2440,36 @@ func _check_action_button_disabled_reasons(failures: Array[String]) -> void:
|
||||
scene._update_tactic_button(cao_cao)
|
||||
scene._update_item_button(cao_cao)
|
||||
scene._update_equip_button(cao_cao)
|
||||
if not scene.wait_button.text.contains("Sealed"):
|
||||
if not scene.wait_button.text.contains("봉인됨"):
|
||||
failures.append("acted unit hold button should show Sealed: %s" % scene.wait_button.text)
|
||||
if not scene.tactic_button.text.contains("Sealed"):
|
||||
if not scene.tactic_button.text.contains("봉인됨"):
|
||||
failures.append("acted unit stratagem button should show Sealed: %s" % scene.tactic_button.text)
|
||||
if not scene.item_button.text.contains("Sealed"):
|
||||
if not scene.item_button.text.contains("봉인됨"):
|
||||
failures.append("acted unit supply button should show Sealed: %s" % scene.item_button.text)
|
||||
if not scene.equip_button.text.contains("Sealed"):
|
||||
if not scene.equip_button.text.contains("봉인됨"):
|
||||
failures.append("acted unit arms button should show Sealed: %s" % scene.equip_button.text)
|
||||
|
||||
cao_cao["acted"] = false
|
||||
cao_cao["moved"] = true
|
||||
scene._update_equip_button(cao_cao)
|
||||
if scene.equip_button.text != "Arms - Marched" or not scene.equip_button.tooltip_text.to_lower().contains("before"):
|
||||
if scene.equip_button.text != "병장 - 행군 후" or not scene.equip_button.tooltip_text.contains("행군 전"):
|
||||
failures.append("moved unit should explain disabled equip button: %s | %s" % [scene.equip_button.text, scene.equip_button.tooltip_text])
|
||||
|
||||
cao_cao["moved"] = false
|
||||
scene.state.set_inventory_snapshot({})
|
||||
scene._update_item_button(cao_cao)
|
||||
if scene.item_button.text != "Supply - Empty" or not scene.item_button.tooltip_text.to_lower().contains("no field supplies"):
|
||||
if scene.item_button.text != "도구 - 비어 있음" or not scene.item_button.tooltip_text.contains("도구"):
|
||||
failures.append("empty inventory should explain disabled item button: %s | %s" % [scene.item_button.text, scene.item_button.tooltip_text])
|
||||
|
||||
scene.state.current_team = BattleState.TEAM_ENEMY
|
||||
scene._update_end_turn_button()
|
||||
if scene.end_turn_button.text != "Pass Command - Enemy Phase" or not scene.end_turn_button.tooltip_text.to_lower().contains("player command phase"):
|
||||
if scene.end_turn_button.text != "차례 종료 - 적군 차례" or not scene.end_turn_button.tooltip_text.contains("아군 군령"):
|
||||
failures.append("enemy phase should explain disabled end turn button: %s | %s" % [scene.end_turn_button.text, scene.end_turn_button.tooltip_text])
|
||||
|
||||
scene.state.current_team = BattleState.TEAM_PLAYER
|
||||
scene.battle_started = false
|
||||
scene._update_threat_button()
|
||||
if scene.threat_button.text != "Enemy Lines - Unroll Map" or not scene.threat_button.tooltip_text.to_lower().contains("unroll"):
|
||||
if scene.threat_button.text != "적진 - 전장도 미개봉" or not scene.threat_button.tooltip_text.contains("전장도"):
|
||||
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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user