From c0972824e48e5c05c60843378c4968f5f24582a6 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Thu, 18 Jun 2026 14:47:54 +0900 Subject: [PATCH] Normalize opening battle defeat rules --- data/scenarios/001_yellow_turbans.json | 11 +++++++++-- tools/smoke_objective_progress.gd | 10 ++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/data/scenarios/001_yellow_turbans.json b/data/scenarios/001_yellow_turbans.json index a6fb7c1..0ec4e45 100644 --- a/data/scenarios/001_yellow_turbans.json +++ b/data/scenarios/001_yellow_turbans.json @@ -3,11 +3,14 @@ "name": "Yingchuan Skirmish", "objectives": { "victory": "Defeat all Yellow Turban units.", - "defeat": "All allied units are defeated." + "defeat": "Cao Cao is defeated or the battle reaches Turn 8." }, "conditions": { "victory": { "type": "all_units_defeated", "team": "enemy" }, - "defeat": { "type": "all_units_defeated", "team": "player" } + "defeat": [ + { "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] }, + { "type": "turn_reached", "turn": 8, "team": "player" } + ] }, "briefing": { "title": "Yingchuan Skirmish", @@ -20,6 +23,10 @@ "shop": { "items": ["bean", "antidote"] }, + "roster": { + "max_units": 2, + "required_officers": ["cao_cao", "xiahou_dun"] + }, "formation": { "cells": [[1, 3], [1, 4], [2, 3], [2, 4]] }, diff --git a/tools/smoke_objective_progress.gd b/tools/smoke_objective_progress.gd index 6370660..ea98422 100644 --- a/tools/smoke_objective_progress.gd +++ b/tools/smoke_objective_progress.gd @@ -15,9 +15,15 @@ func _init() -> void: ) _check_contains( failures, - "001 briefing progress", + "001 commander defeat risk", _defeat_text("res://data/scenarios/001_yellow_turbans.json"), - "Allies remaining" + "Cao Cao safe" + ) + _check_contains( + failures, + "001 turn pressure risk", + _defeat_text("res://data/scenarios/001_yellow_turbans.json"), + "Turns left 7" ) _check_contains( failures,