Files
heros/data/scenarios/004_qingzhou_campaign.json

466 lines
17 KiB
JSON

{
"id": "004_qingzhou_campaign",
"name": "청주 평정전",
"objectives": {
"victory": "청주 촌락을 지키고 황건 잔당을 평정하라.",
"defeat": "조조가 퇴각하거나 제18턴이 시작되면 패한다."
},
"conditions": {
"victory": {
"type": "all",
"conditions": [
{ "type": "all_units_defeated", "team": "enemy", "after_event": "turn_9_village_last_stand" },
{
"type": "unit_reaches_tile",
"label": "촌락 보호",
"team": "player",
"unit_ids": ["cao_cao_ch4", "xiahou_dun_ch4", "xiahou_yuan_ch4", "cao_ren_ch4"],
"officer_ids": ["cao_cao", "xiahou_dun", "xiahou_yuan", "cao_ren"],
"cells": [[10, 3], [11, 3], [10, 5], [11, 5]]
}
]
},
"defeat": [
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
{ "type": "turn_reached", "turn": 18, "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",
"GGGGGGRRRGTTGG",
"RRRRRRRRRRRRRR",
"GGGGGGRRRGTTGG",
"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 }
},
{
"unit_id": "qingzhou_village_guard",
"name": "촌락 약탈병",
"class_id": "bandit",
"team": "enemy",
"level": 4,
"pos": [10, 3],
"base": { "hp": 36, "atk": 13, "def": 5 }
},
{
"unit_id": "qingzhou_road_spearman",
"name": "상로 창병",
"class_id": "infantry",
"team": "enemy",
"level": 4,
"pos": [8, 4],
"base": { "hp": 40, "atk": 13, "def": 7 }
},
{
"unit_id": "qingzhou_hill_archer",
"name": "언덕 궁병",
"class_id": "archer",
"team": "enemy",
"level": 4,
"pos": [11, 2],
"base": { "hp": 30, "atk": 12, "def": 5 }
}
],
"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": "조조가 퇴각하거나 제18턴이 시작되면 패한다."
},
{
"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": "그 이름을 기억해 두어라. 약한 자를 지키는 무사는 약탈자 백 명보다 귀하다." }
]
}
]
},
{
"id": "turn_6_village_raiders",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 6 },
"actions": [
{ "type": "log", "text": "마을 뒤편에서 잔당의 별동대가 다시 약탈길을 연다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Cao Ren", "display_speaker": "조인", "text": "마을 뒤쪽에 또 다른 약탈병입니다. 길목을 비우면 백성들이 먼저 베입니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "적을 쫓는 칼보다 백성을 등지는 발이 더 무겁다. 촌락을 붙들어라." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "qingzhou_village_raider_west",
"name": "촌락 약탈병",
"class_id": "bandit",
"team": "enemy",
"level": 4,
"pos": [5, 6],
"base": { "hp": 34, "atk": 13, "def": 5 }
},
{
"unit_id": "qingzhou_village_raider_spear",
"name": "촌락 창병",
"class_id": "infantry",
"team": "enemy",
"level": 4,
"pos": [8, 6],
"base": { "hp": 38, "atk": 13, "def": 7 }
},
{
"unit_id": "qingzhou_village_raider_archer",
"name": "촌락 궁병",
"class_id": "archer",
"team": "enemy",
"level": 4,
"pos": [12, 6],
"base": { "hp": 30, "atk": 12, "def": 4 }
}
]
},
{
"type": "set_ai_target_priority",
"unit_id": "xiahou_dun_ch4",
"priority": 8,
"text": "촌락 별동대가 하후돈의 엄호선을 노린다."
}
]
},
{
"id": "turn_9_village_last_stand",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 9 },
"actions": [
{ "type": "log", "text": "청주 두령의 마지막 무리가 촌락 입구로 몰려든다." },
{
"type": "set_objective",
"victory": "마지막 잔당을 격파하고 촌락 길목을 지켜라.",
"defeat": "조조가 퇴각하거나 제18턴이 시작되면 패한다."
},
{
"type": "dialogue",
"lines": [
{ "speaker": "Dian Wei", "display_speaker": "전위", "text": "백성을 등지고 달아나는 군대가 아니라면, 그 길목을 끝까지 지켜 보십시오." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "듣던 무사가 저 자인가. 좋다. 청주의 길목에서 우리 군율을 보이겠다." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "qingzhou_last_guard",
"name": "잔당 호위병",
"class_id": "infantry",
"team": "enemy",
"level": 4,
"pos": [12, 3],
"base": { "hp": 42, "atk": 14, "def": 8 }
},
{
"unit_id": "qingzhou_last_rider",
"name": "잔당 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 4,
"pos": [13, 4],
"base": { "hp": 42, "atk": 15, "def": 7 }
},
{
"unit_id": "qingzhou_last_archer",
"name": "잔당 궁병",
"class_id": "archer",
"team": "enemy",
"level": 4,
"pos": [12, 5],
"base": { "hp": 30, "atk": 12, "def": 4 }
}
]
},
{
"type": "set_ai_target_priority",
"unit_id": "cao_cao_ch4",
"priority": 11,
"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": "대열 한가운데 자리를 주십시오. 제가 그 자리를 지키겠습니다." }
]
}