466 lines
17 KiB
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": "대열 한가운데 자리를 주십시오. 제가 그 자리를 지키겠습니다." }
|
|
]
|
|
}
|