Expose tactical marker hints
This commit is contained in:
@@ -31,6 +31,7 @@ func _init() -> void:
|
||||
_check_opening_battle_camp_context(failures)
|
||||
_check_opening_battle_tactical_spacing(failures)
|
||||
_check_opening_battle_log_location_labels(failures)
|
||||
_check_opening_battle_marker_hints(failures)
|
||||
_check_opening_battle_lure_line_ai_reaction(failures)
|
||||
_check_opening_battle_post_battle_bridge(failures)
|
||||
_check_sishui_gate_camp_context(failures)
|
||||
@@ -837,6 +838,51 @@ func _check_opening_battle_log_location_labels(failures: Array[String]) -> void:
|
||||
failures.append("battle movement logs should name battlefield zones: %s" % log_text)
|
||||
|
||||
|
||||
func _check_opening_battle_marker_hints(failures: Array[String]) -> void:
|
||||
var scene = BattleSceneScript.new()
|
||||
if not scene.state.load_battle("res://data/scenarios/001_yellow_turbans.json"):
|
||||
failures.append("could not load opening battle for marker hints")
|
||||
scene.free()
|
||||
return
|
||||
|
||||
var castle_cell := Vector2i(20, 0)
|
||||
var castle_hint: String = scene.state.get_objective_cell_hint(castle_cell)
|
||||
if not castle_hint.contains("조조") or not castle_hint.contains("성채"):
|
||||
failures.append("castle objective should explain who must hold the gate: %s" % castle_hint)
|
||||
var castle_hover_text := "\n".join(scene._hover_info_badge_lines(castle_cell))
|
||||
if not castle_hover_text.contains("목표 성채 장악") or not castle_hover_text.contains("깃발"):
|
||||
failures.append("castle hover should expose objective hint text: %s" % castle_hover_text)
|
||||
var castle_minimap_text := "\n".join(scene._minimap_hover_badge_lines(castle_cell))
|
||||
if not castle_minimap_text.contains("목표 성채 장악") or not castle_minimap_text.contains("동쪽 성채"):
|
||||
failures.append("castle minimap hover should expose objective hint text: %s" % castle_minimap_text)
|
||||
var castle_cell_detail := scene._format_cell_info_detail_text(castle_cell)
|
||||
if not castle_cell_detail.contains("목표: 성채 장악") or not castle_cell_detail.contains("조조나 하후돈"):
|
||||
failures.append("cell info should carry castle objective detail: %s" % castle_cell_detail)
|
||||
|
||||
var lure_cell := Vector2i(4, 6)
|
||||
if scene.state.get_event_marker_kind(lure_cell) != "tactic":
|
||||
failures.append("lure line should keep a tactic marker kind")
|
||||
var lure_hint: String = scene.state.get_event_marker_hint(lure_cell)
|
||||
if not lure_hint.contains("유인선") or not lure_hint.contains("끌어낼"):
|
||||
failures.append("lure line should explain the tactical trigger: %s" % lure_hint)
|
||||
var lure_hover_text := "\n".join(scene._hover_info_badge_lines(lure_cell))
|
||||
if not lure_hover_text.contains("표식 유인선") or not lure_hover_text.contains("끌어낼"):
|
||||
failures.append("lure hover should expose tactical marker hint: %s" % lure_hover_text)
|
||||
|
||||
var woods_cell := Vector2i(4, 2)
|
||||
var woods_hint: String = scene.state.get_event_marker_hint(woods_cell)
|
||||
if not woods_hint.contains("콩") or not woods_hint.contains("보급"):
|
||||
failures.append("northern cache should explain its supply value: %s" % woods_hint)
|
||||
var village_cell := Vector2i(6, 5)
|
||||
var village_hint: String = scene.state.get_event_marker_hint(village_cell)
|
||||
if not village_hint.contains("치료소") or not village_hint.contains("회복"):
|
||||
failures.append("village supply should explain recovery and supply value: %s" % village_hint)
|
||||
var village_detail := scene._format_cell_info_detail_text(village_cell)
|
||||
if not village_detail.contains("마을 치료소") or not village_detail.contains("회복 거점"):
|
||||
failures.append("village cell info should explain the recovery/supply marker: %s" % village_detail)
|
||||
scene.free()
|
||||
|
||||
|
||||
func _check_opening_battle_lure_line_ai_reaction(failures: Array[String]) -> void:
|
||||
var state = BattleStateScript.new()
|
||||
if not state.load_battle("res://data/scenarios/001_yellow_turbans.json"):
|
||||
|
||||
Reference in New Issue
Block a user