484 lines
16 KiB
JSON
484 lines
16 KiB
JSON
{
|
|
"id": "010_white_horse_relief",
|
|
"name": "백마 구원전",
|
|
"objectives": {
|
|
"victory": "유인 진형이 펼쳐진 뒤 안량 선봉을 격파하라.",
|
|
"defeat": "조조가 퇴각하거나 제12군령에 이르면 패한다."
|
|
},
|
|
"conditions": {
|
|
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "turn_3_decoy_line" },
|
|
"defeat": [
|
|
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
|
|
{ "type": "turn_reached", "turn": 12, "team": "player" }
|
|
]
|
|
},
|
|
"briefing": {
|
|
"title": "백마 구원전",
|
|
"location": "백마, 건안 오년",
|
|
"lines": [
|
|
"원소의 전군이 안량을 앞세워 백마 나루를 짓누르고 있다.",
|
|
"곽가는 거짓 퇴각을 청하였다. 선봉을 길 한복판으로 끌어낸 뒤 양익이 길게 벌어진 틈을 칠 계책이다."
|
|
],
|
|
"conditional_lines": [
|
|
{
|
|
"campaign_flags": { "integrated_xu_province": true },
|
|
"lines": [
|
|
"서주에 남긴 관리들이 후방을 안정시켜, 북방 전선으로 보낼 예비 군량이 흔들리지 않는다."
|
|
]
|
|
},
|
|
{
|
|
"campaign_flags": { "pressed_northern_campaign": true },
|
|
"lines": [
|
|
"하비에서 곧장 북상한 군세가 원소의 선봉이 자리를 굳히기 전에 칼끝을 들이댄다."
|
|
]
|
|
}
|
|
],
|
|
"camp_conversations": [
|
|
{
|
|
"id": "white_horse_decoy_council",
|
|
"group": "officer",
|
|
"officer_id": "guo_jia",
|
|
"label": "곽가 - 유인 진형",
|
|
"speaker": "Guo Jia",
|
|
"summary": "안량을 엄호대에서 떼어낼 거짓 퇴각의 박자를 정한다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Guo Jia",
|
|
"side": "right",
|
|
"text": "안량은 휘어지는 전열을 약함으로 읽을 것입니다. 그가 보고 싶은 만큼만 보여 주면 됩니다."
|
|
},
|
|
{
|
|
"speaker": "Cao Cao",
|
|
"side": "left",
|
|
"text": "너무 교묘한 덫은 먹잇감에게 먼저 알려진다. 이번 덫은 두려움처럼 보여야 한다."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "white_horse_xiahou_dun_false_retreat",
|
|
"group": "officer",
|
|
"officer_id": "xiahou_dun",
|
|
"label": "하후돈 - 거짓 퇴각",
|
|
"speaker": "Xiahou Dun",
|
|
"summary": "중군이 무너지지 않고 물러서는 법을 다잡는다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Xiahou Dun",
|
|
"side": "left",
|
|
"text": "거짓으로 물러난다 해도 병사의 등은 그 맛을 압니다. 제가 중군의 물러섬이 참패가 되지 않게 붙들겠습니다."
|
|
},
|
|
{
|
|
"speaker": "Guo Jia",
|
|
"side": "right",
|
|
"text": "좋습니다. 공포가 아니라 자로 잰 만큼만 휘게 하십시오. 안량은 스스로 그 길을 골랐다고 믿어야 합니다."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "white_horse_xu_reserve_medicine",
|
|
"campaign_flags": { "integrated_xu_province": true },
|
|
"group": "topic",
|
|
"label": "서주 예비 약상",
|
|
"summary": "하비 뒤 안정된 후방로에서 전장 약재를 끌어온다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Cao Ren",
|
|
"side": "left",
|
|
"text": "서주는 뒤에서 조용합니다. 예비 수레가 젖지 않은 약재를 싣고, 천막에 화살 하나 맞지 않은 채 도착했습니다."
|
|
},
|
|
{
|
|
"speaker": "Cao Cao",
|
|
"side": "right",
|
|
"text": "그렇다면 패한 척하되 패해서는 안 될 자들에게 먼저 보내라."
|
|
}
|
|
],
|
|
"effects": [
|
|
{
|
|
"type": "grant_item",
|
|
"item_id": "panacea",
|
|
"count": 1,
|
|
"text": "서주 예비 약상에서 만능약 한 꾸러미를 군수에 보탰다."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "white_horse_fast_march_beans",
|
|
"campaign_flags": { "pressed_northern_campaign": true },
|
|
"group": "topic",
|
|
"label": "급행군 콩자루",
|
|
"summary": "큰 수레보다 먼저 백마에 닿은 병사들에게 휴대 군량을 나눈다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Xiahou Yuan",
|
|
"side": "right",
|
|
"text": "하비에서 북상한 길이 빨랐습니다. 기병은 아직 숨이 남았으나, 보병은 걸으며 먹었습니다."
|
|
},
|
|
{
|
|
"speaker": "Guo Jia",
|
|
"side": "left",
|
|
"text": "중군이 물러서기 전에 콩을 나누십시오. 배 속이 비지 않아야 거짓 퇴각도 흐트러지지 않습니다."
|
|
}
|
|
],
|
|
"effects": [
|
|
{
|
|
"type": "grant_item",
|
|
"item_id": "bean",
|
|
"count": 1,
|
|
"text": "급행군 콩자루에서 콩 한 꾸러미를 군수에 보탰다."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"shop": {
|
|
"items": [
|
|
"bean",
|
|
"panacea",
|
|
"wine",
|
|
"iron_sword",
|
|
"training_spear",
|
|
"short_bow",
|
|
"hand_axe",
|
|
"leather_armor",
|
|
"iron_armor"
|
|
],
|
|
"conditional_items": [
|
|
{
|
|
"campaign_flags": { "integrated_xu_province": true },
|
|
"items": ["imperial_seal"]
|
|
},
|
|
{
|
|
"campaign_flags": { "pressed_northern_campaign": true },
|
|
"items": ["war_drum"]
|
|
}
|
|
],
|
|
"merchant": {
|
|
"name": "백마 야상",
|
|
"lines": [
|
|
"깃발이 달아나는 척하기 전에 사 두십시오. 유인책이 시작되면 수레마다 맡은 두려움이 따로 있습니다.",
|
|
"중군에는 콩을, 실수에는 약을. 안량의 눈에 띌 무거운 짐은 뒤에 묻어 두었습니다."
|
|
]
|
|
}
|
|
},
|
|
"roster": {
|
|
"max_units": 6,
|
|
"required_officers": ["cao_cao", "guo_jia"]
|
|
},
|
|
"formation": {
|
|
"cells": [[1, 3], [1, 4], [1, 5], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 3], [3, 4]]
|
|
},
|
|
"map": {
|
|
"background": "res://art/backgrounds/white_horse_relief.png",
|
|
"width": 15,
|
|
"height": 10,
|
|
"terrain": [
|
|
"GGGGGGHHGGGGGGG",
|
|
"GGFFGGHHGGGFFGG",
|
|
"GGFFRRRRRRGFFGG",
|
|
"GGGGGRGGGRGGGGG",
|
|
"RRRRRRRRRRRRRRR",
|
|
"GGGGGRGGGRGGGGG",
|
|
"GGHHGRRRGGFFFGG",
|
|
"GGHHGFFFGGFFFGG",
|
|
"GGGGGFFFGGWWGGG",
|
|
"GGGGGGGGGGWWGGG"
|
|
]
|
|
},
|
|
"deployments": [
|
|
{
|
|
"unit_id": "cao_cao_ch10",
|
|
"officer_id": "cao_cao",
|
|
"team": "player",
|
|
"pos": [1, 4]
|
|
},
|
|
{
|
|
"unit_id": "guo_jia_ch10",
|
|
"officer_id": "guo_jia",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [2, 4]
|
|
},
|
|
{
|
|
"unit_id": "xiahou_dun_ch10",
|
|
"officer_id": "xiahou_dun",
|
|
"team": "player",
|
|
"pos": [1, 5]
|
|
},
|
|
{
|
|
"unit_id": "dian_wei_ch10",
|
|
"officer_id": "dian_wei",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [2, 5]
|
|
},
|
|
{
|
|
"unit_id": "xiahou_yuan_ch10",
|
|
"officer_id": "xiahou_yuan",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [2, 3]
|
|
},
|
|
{
|
|
"unit_id": "cao_ren_ch10",
|
|
"officer_id": "cao_ren",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [3, 3]
|
|
},
|
|
{
|
|
"unit_id": "yan_liang_vanguard",
|
|
"name": "안량 선봉",
|
|
"class_id": "elite_cavalry",
|
|
"team": "enemy",
|
|
"level": 10,
|
|
"pos": [11, 4],
|
|
"base": { "hp": 62, "atk": 20, "def": 11, "agi": 13 }
|
|
},
|
|
{
|
|
"unit_id": "yuan_shao_spear_line",
|
|
"name": "원소 창병대",
|
|
"class_id": "infantry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [9, 4],
|
|
"base": { "hp": 50, "atk": 16, "def": 10 }
|
|
},
|
|
{
|
|
"unit_id": "yuan_shao_guard",
|
|
"name": "원소 수비대",
|
|
"class_id": "infantry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [10, 5],
|
|
"base": { "hp": 48, "atk": 15, "def": 11 }
|
|
},
|
|
{
|
|
"unit_id": "white_horse_archer_north",
|
|
"name": "백마 궁병",
|
|
"class_id": "archer",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [10, 2],
|
|
"base": { "hp": 34, "atk": 14, "def": 6 }
|
|
},
|
|
{
|
|
"unit_id": "white_horse_archer_south",
|
|
"name": "백마 궁병",
|
|
"class_id": "archer",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [12, 6],
|
|
"base": { "hp": 34, "atk": 14, "def": 6 }
|
|
},
|
|
{
|
|
"unit_id": "yuan_shao_advisor",
|
|
"name": "원소 책사",
|
|
"class_id": "strategist",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [12, 5],
|
|
"skills": ["blaze"],
|
|
"base": { "hp": 38, "mp": 22, "atk": 6, "def": 6, "int": 14 }
|
|
}
|
|
],
|
|
"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": "Guo Jia", "text": "안량은 물러나는 깃발을 따라올 만큼 용맹합니다. 그 문을 우리가 열어 주는 것입니다." },
|
|
{ "speaker": "Cao Cao", "text": "그렇다면 중군은 딱 필요한 만큼만 물러난다. 그의 양익이 벌어지면 그때 베어 낸다." },
|
|
{ "speaker": "Xiahou Dun", "text": "거짓 퇴각이라 해도 패한 얼굴을 할 병사가 필요합니다." }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "turn_2_yan_liang_push",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "enemy", "turn": 2 },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Yan Liang", "text": "조조의 전열이 벌써 휘어진다. 길 한복판으로 그대로 밀어붙여라!" },
|
|
{ "speaker": "Guo Jia", "text": "미끼를 물었습니다. 두 번째 신호가 오기까지 붙드십시오." }
|
|
]
|
|
},
|
|
{
|
|
"type": "spawn_deployments",
|
|
"deployments": [
|
|
{
|
|
"unit_id": "yan_liang_rider_north",
|
|
"name": "안량 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [8, 2],
|
|
"base": { "hp": 42, "atk": 15, "def": 8, "agi": 11 }
|
|
},
|
|
{
|
|
"unit_id": "yan_liang_rider_south",
|
|
"name": "안량 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [8, 6],
|
|
"base": { "hp": 42, "atk": 15, "def": 8, "agi": 11 }
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "turn_3_decoy_line",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "player", "turn": 3 },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Cao Cao", "text": "반격 신호를 올려라. 안량이 엄호보다 앞서 달렸다." },
|
|
{ "speaker": "Guo Jia", "text": "선봉이 고립되었습니다. 먼저 말을 치고, 그다음 창진을 꺾으십시오." }
|
|
]
|
|
},
|
|
{
|
|
"type": "set_objective",
|
|
"victory": "안량과 고립된 선봉 전부를 격파하라.",
|
|
"defeat": "조조가 퇴각하거나 제12군령에 이르면 패한다."
|
|
},
|
|
{
|
|
"type": "spawn_deployments",
|
|
"deployments": [
|
|
{
|
|
"unit_id": "decoy_cutoff_guard",
|
|
"name": "차단 보병",
|
|
"class_id": "infantry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [7, 4],
|
|
"base": { "hp": 44, "atk": 15, "def": 9 }
|
|
},
|
|
{
|
|
"unit_id": "decoy_cutoff_archer",
|
|
"name": "차단 궁병",
|
|
"class_id": "archer",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [7, 5],
|
|
"base": { "hp": 32, "atk": 13, "def": 5 }
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "yan_liang_vanguard_defeated",
|
|
"once": true,
|
|
"when": { "type": "unit_defeated", "unit_ids": ["yan_liang_vanguard"] },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Guo Jia", "text": "안량의 깃발이 내려갔습니다. 원소가 답하기 전에 그의 기병들이 먼저 흔들릴 것입니다." },
|
|
{ "speaker": "Cao Cao", "text": "고립된 선봉을 밀어붙여 백마가 다시 숨 쉬게 하라." }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xu_province_reserve",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "player", "turn": 4, "campaign_flags": { "integrated_xu_province": true } },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Cao Ren", "text": "서주의 길은 조용합니다. 예비 수레가 때맞춰 들어왔습니다." },
|
|
{ "speaker": "Cao Cao", "text": "질서와 군량은 칼이 닿기 전에 이미 승패를 가른다." }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "northern_pressure",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "enemy", "turn": 4, "campaign_flags": { "pressed_northern_campaign": true } },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Yuan Scout", "text": "조조가 너무 빨리 왔다. 저들이 진을 굳히기 전에 후방 기병을 보내라!" },
|
|
{ "speaker": "Xiahou Yuan", "text": "동쪽에서 기병이 더 옵니다. 우리의 빠른 행군을 벌하려는 셈입니다." }
|
|
]
|
|
},
|
|
{
|
|
"type": "spawn_deployment",
|
|
"deployment": {
|
|
"unit_id": "yuan_rear_rider",
|
|
"name": "원소 후방 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [5, 8],
|
|
"base": { "hp": 40, "atk": 15, "def": 8, "agi": 11 }
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "turn_6_finish_vanguard",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "player", "turn": 6 },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Guo Jia", "text": "안량의 진형은 더는 군대가 아닙니다. 놀란 병사들이 흩어진 모양일 뿐입니다." },
|
|
{ "speaker": "Cao Cao", "text": "그렇다면 깨끗이 끝내라. 백마를 위협 아래 남겨 둘 수 없다." }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"rewards": {
|
|
"gold": 1500,
|
|
"items": ["bean", "wine", "iron_armor"]
|
|
},
|
|
"post_battle_dialogue": [
|
|
{ "speaker": "Xiahou Dun", "text": "안량의 돌격은 곽가가 말한 바로 그 자리에서 꺾였습니다." },
|
|
{ "speaker": "Guo Jia", "text": "용맹은 쓸모가 있습니다. 다만 읽히는 용맹은 길 표식과 다르지 않습니다." },
|
|
{ "speaker": "Cao Cao", "text": "백마는 풀렸다. 이제 원소는 숫자만으로 답할 수 없을 것이다." }
|
|
],
|
|
"post_battle_choices": [
|
|
{
|
|
"id": "fortify_white_horse",
|
|
"label": "백마 요새화",
|
|
"description": "조조가 관도 대전에 앞서 백마 나루의 방비를 굳힌다.",
|
|
"set_flags": { "fortified_white_horse": true, "raided_yuan_supplies": false },
|
|
"gold": 150,
|
|
"items": ["iron_armor"]
|
|
},
|
|
{
|
|
"id": "raid_yuan_supplies",
|
|
"label": "원소 군량 기습",
|
|
"description": "무너진 선봉의 빈틈을 타 원소의 보급 수레를 괴롭힌다.",
|
|
"set_flags": { "fortified_white_horse": false, "raided_yuan_supplies": true },
|
|
"gold": 100,
|
|
"items": ["wine", "training_spear"]
|
|
}
|
|
]
|
|
}
|