Files
heros/data/scenarios/004_qingzhou_campaign.json

314 lines
12 KiB
JSON

{
"id": "004_qingzhou_campaign",
"name": "청주 평정전",
"objectives": {
"victory": "황건 잔당의 우두머리를 격파하라.",
"defeat": "조조가 퇴각하거나 제12턴에 이르면 패한다."
},
"conditions": {
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "turn_3_bandit_push" },
"defeat": [
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
{ "type": "turn_reached", "turn": 12, "team": "player" }
]
},
"briefing": {
"title": "청주 평정전",
"location": "청주, 초평 3년",
"lines": [
"연합군이 흩어진 뒤 조조는 청주로 눈을 돌렸다.",
"황건 잔당이 마을과 상로를 어지럽히며 백성을 겁박한다.",
"길목을 장악하고 적장을 베어, 흩어진 장정을 군율 아래 모아라."
],
"conditional_lines": [
{
"campaign_flags": { "pursued_dong_zhuo": true },
"lines": [
"사수관에서 형양까지 이어진 급한 추격으로 군세는 여위었으나, 매복을 넘긴 노병들의 눈빛은 더욱 단단하다."
]
},
{
"campaign_flags": { "regrouped_after_sishui": true },
"lines": [
"사수관에서 거둔 보급이 청주로 향하는 전열을 안정시킨다."
]
}
],
"camp_conversations": [
{
"id": "qingzhou_settlement_council",
"group": "officer",
"officer_id": "cao_cao",
"label": "조조 - 군세의 뿌리",
"speaker": "Cao Cao",
"display_speaker": "조조",
"summary": "흩어진 승리를 오래 버틸 군세로 묶을 방도를 논한다.",
"lines": [
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "연합은 헛그림자를 좇다 흩어졌다. 청주에서는 굶주린 무리를 군율 있는 병사로 세워야 한다." },
{ "speaker": "Xiahou Dun", "display_speaker": "하후돈", "side": "right", "text": "먼저 가장 사나운 잔당을 꺾고, 나머지에게 우리 깃발 아래 설 까닭을 보이겠습니다." }
]
},
{
"id": "qingzhou_village_screen",
"group": "officer",
"officer_id": "cao_ren",
"label": "조인 - 촌락 엄호",
"speaker": "Cao Ren",
"display_speaker": "조인",
"summary": "선봉이 나아가는 동안 촌락과 상로를 지킬 방도를 세운다.",
"lines": [
{ "speaker": "Cao Ren", "display_speaker": "조인", "side": "right", "text": "이제 마을은 모든 깃발을 두려워합니다. 우리 군열이 밭을 짓밟으면 백성은 황건과 우리를 가르지 못할 것입니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "곡식이 아니라 길을 지켜라. 질서는 서두른 승리보다 값지다." }
]
},
{
"id": "qingzhou_hardened_veterans",
"campaign_flags": { "pursued_dong_zhuo": true },
"group": "topic",
"label": "형양 노병",
"summary": "강행 추격과 형양 매복을 넘긴 병사들에게 술을 나눈다.",
"lines": [
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "side": "right", "text": "형양까지 동탁을 좇던 병사들은 아직 짐을 가볍게 메고 행군합니다. 원망이 줄어든 것이 오히려 마음에 걸립니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "길을 열기 전 노병들에게 술을 조금 나누어라. 말 없는 자존심보다 흔들리지 않는 손이 더 귀하다." }
],
"effects": [
{ "type": "grant_item", "item_id": "wine", "count": 1, "text": "형양을 넘긴 노병들이 술 한 병을 군수에 보탰다." }
]
},
{
"id": "qingzhou_sishui_stores",
"campaign_flags": { "regrouped_after_sishui": true },
"group": "topic",
"label": "사수관 묵은 보급",
"summary": "정비 중 보존해 둔 보급 꾸러미를 연다.",
"lines": [
{ "speaker": "Coalition Merchant", "display_speaker": "군막 상인", "side": "left", "text": "사수관의 묵은 보급이 웬만한 제후보다 더 멀리 왔습니다. 수레가 진창에 빠지기 전에 마른 콩을 따로 챙겨 두었지요." },
{ "speaker": "Cao Ren", "display_speaker": "조인", "side": "right", "text": "좋다. 마을을 지키라 명하기 전에 앞줄 병사들의 배부터 채워야 한다." }
],
"effects": [
{ "type": "grant_item", "item_id": "bean", "count": 1, "text": "사수관 보급에서 콩 한 줌을 군수에 보탰다." }
]
}
]
},
"shop": {
"items": [
"bean",
"antidote",
"panacea",
"wine",
"iron_sword",
"training_spear",
"short_bow",
"hand_axe",
"leather_armor",
"iron_armor"
],
"merchant": {
"name": "청주 길상인",
"lines": [
"청주 촌락은 동전보다 곡식으로 값을 치릅니다. 그래도 길 위의 군대에는 쇠붙이와 약이 먼저 필요하지요.",
"북이 울리기 전에 고르십시오. 잔당이 흩어지고 나면 이 길의 수레마다 피난민 행색을 할 겁니다."
]
}
},
"roster": {
"max_units": 4,
"required_officers": ["cao_cao"]
},
"formation": {
"cells": [[1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [2, 6], [3, 4], [3, 5]]
},
"map": {
"width": 14,
"height": 10,
"background": "res://art/backgrounds/qingzhou_village_road.png",
"terrain": [
"GGGGGGGGGGGGGG",
"GGGFFFGGGHHGGG",
"GGGFFFGRRHHGGG",
"GGGGGGRRRGGGGG",
"RRRRRRRRRRRRRR",
"GGGGGGRRRGGGGG",
"GGHGGGFFFGGGGG",
"GGHHGGFFFGGWWG",
"GGGGGGGFFGGWWG",
"GGGGGGGGGGGGGG"
]
},
"deployments": [
{
"unit_id": "cao_cao_ch4",
"officer_id": "cao_cao",
"team": "player",
"pos": [1, 4]
},
{
"unit_id": "xiahou_dun_ch4",
"officer_id": "xiahou_dun",
"team": "player",
"pos": [2, 4]
},
{
"unit_id": "xiahou_yuan_ch4",
"officer_id": "xiahou_yuan",
"team": "player",
"requires_joined": true,
"pos": [2, 3]
},
{
"unit_id": "cao_ren_ch4",
"officer_id": "cao_ren",
"team": "player",
"requires_joined": true,
"pos": [2, 5]
},
{
"unit_id": "qingzhou_chief",
"name": "청주 두령",
"class_id": "bandit",
"team": "enemy",
"level": 4,
"pos": [11, 4],
"base": { "hp": 48, "atk": 15, "def": 7 }
},
{
"unit_id": "yellow_turban_spearman_1",
"name": "황건 창병",
"class_id": "infantry",
"team": "enemy",
"level": 4,
"pos": [9, 3],
"base": { "hp": 38, "atk": 13, "def": 7 }
},
{
"unit_id": "yellow_turban_spearman_2",
"name": "황건 창병",
"class_id": "infantry",
"team": "enemy",
"level": 4,
"pos": [9, 5],
"base": { "hp": 38, "atk": 13, "def": 7 }
},
{
"unit_id": "yellow_turban_archer",
"name": "황건 궁병",
"class_id": "archer",
"team": "enemy",
"level": 4,
"pos": [10, 2],
"base": { "hp": 30, "atk": 11, "def": 5 }
},
{
"unit_id": "yellow_turban_strategist",
"name": "황건 요술사",
"class_id": "strategist",
"team": "enemy",
"level": 4,
"pos": [11, 6],
"base": { "hp": 32, "mp": 16, "atk": 7, "def": 4, "int": 11 }
}
],
"events": [
{
"id": "opening",
"once": true,
"when": { "type": "battle_start" },
"actions": [
{ "type": "log", "text": "조조군이 황건 잔당을 평정하고자 청주로 들어섰다." }
]
},
{
"id": "opening_dialogue",
"once": true,
"when": { "type": "battle_begin" },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "장수에게 필요한 것은 승전뿐이 아니다. 깃발이 지나간 뒤에도 땅을 지킬 사람이 필요하다." },
{ "speaker": "Xiahou Dun", "display_speaker": "하후돈", "text": "그렇다면 잔당을 꺾고, 마을 사람들이 우리 깃발을 믿을 까닭을 보이겠습니다." },
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "text": "적 궁병이 동쪽 언덕을 잡았습니다. 제가 길을 괴롭히지 못하게 막겠습니다." }
]
}
]
},
{
"id": "turn_3_bandit_push",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 3 },
"actions": [
{ "type": "log", "text": "숲속에 숨은 황건 약탈병이 일제히 뛰쳐나온다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Qingzhou Chief", "display_speaker": "청주 두령", "text": "마을의 곡식은 우리 배를 채울 몫이다. 조조를 서쪽으로 몰아내라!" },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "스스로 모습을 드러냈구나. 길을 지키며 하나씩 베어라." }
]
},
{
"type": "set_objective",
"victory": "청주 두령과 모든 약탈병을 격파하라.",
"defeat": "조조가 퇴각하거나 제12턴에 이르면 패한다."
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "qingzhou_raider_north",
"name": "청주 약탈병",
"class_id": "bandit",
"team": "enemy",
"level": 4,
"pos": [6, 1],
"base": { "hp": 34, "atk": 12, "def": 5 }
},
{
"unit_id": "qingzhou_raider_south",
"name": "청주 약탈병",
"class_id": "bandit",
"team": "enemy",
"level": 4,
"pos": [6, 8],
"base": { "hp": 34, "atk": 12, "def": 5 }
},
{
"unit_id": "qingzhou_raider_archer",
"name": "청주 궁병",
"class_id": "archer",
"team": "enemy",
"level": 4,
"pos": [13, 7],
"base": { "hp": 28, "atk": 11, "def": 4 }
}
]
}
]
},
{
"id": "turn_5_dian_wei_rumor",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 5 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Scout", "display_speaker": "척후", "text": "주공, 동쪽 언덕 너머에서 사나운 무사가 백성을 지킨다는 말이 돌고 있습니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "그 이름을 기억해 두어라. 약한 자를 지키는 무사는 약탈자 백 명보다 귀하다." }
]
}
]
}
],
"rewards": {
"gold": 800,
"items": ["bean", "hand_axe", "iron_armor"],
"join_officers": ["dian_wei"]
},
"post_battle_dialogue": [
{ "speaker": "Dian Wei", "display_speaker": "전위", "text": "약탈자와 흥정하지 않고 맞서 싸우셨군요. 그런 장수라면 믿을 만합니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "그렇다면 내 곁에 서라, 전위. 내게 필요한 것은 제 이름보다 군문을 지킬 무사다." },
{ "speaker": "Dian Wei", "display_speaker": "전위", "text": "대열 한가운데 자리를 주십시오. 제가 그 자리를 지키겠습니다." }
]
}