Files
heros/data/scenarios/010_white_horse_relief.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"]
}
]
}