Files
heros/data/scenarios/005_puyang_raid.json

354 lines
14 KiB
JSON

{
"id": "005_puyang_raid",
"name": "복양 기습전",
"objectives": {
"victory": "여포군 전위영을 격파하라.",
"defeat": "조조가 퇴각하거나 제11턴에 이르면 패한다."
},
"conditions": {
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "turn_3_lu_bu_arrives" },
"defeat": [
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
{ "type": "turn_reached", "turn": 11, "team": "player" }
]
},
"briefing": {
"title": "복양 기습전",
"location": "복양, 흥평 원년",
"lines": [
"연주가 흔들리자 여포는 복양을 움켜쥐고 기세를 돋우었다.",
"조조는 밤 그늘을 타고 전위영을 찔러, 적 기병이 말고삐를 모으기 전에 그 앞줄을 꺾으려 한다.",
"전위가 새로 군문에 들어와 주공의 깃발 곁을 지킨다."
],
"camp_conversations": [
{
"id": "puyang_night_raid_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": "puyang_dian_wei_shield",
"group": "officer",
"officer_id": "dian_wei",
"label": "전위 - 철문 호위",
"speaker": "Dian Wei",
"display_speaker": "전위",
"summary": "주공의 깃발 곁에 선 전위의 첫 맹세를 듣는다.",
"lines": [
{ "speaker": "Dian Wei", "display_speaker": "전위", "side": "right", "text": "제게 대열 한가운데 자리를 주셨습니다. 그 자리는 어떤 기병도 쉽게 넘지 못하게 하겠습니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "경고의 북이 울리면 내 깃발 가까이에 서라. 여포의 병사는 전장을 읽기 전에 먼저 군기를 노릴 것이다." }
]
},
{
"id": "puyang_raider_stores",
"group": "topic",
"label": "야습 보급 묶음",
"summary": "밤길에 들고 갈 작은 군수 꾸러미를 챙긴다.",
"lines": [
{ "speaker": "Puyang Night Trader", "display_speaker": "복양 야상", "side": "right", "text": "야습에는 큰 수레가 따라붙지 못합니다. 콩을 검은 천에 묶어 갑옷 밑에도 숨길 수 있게 했습니다." },
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "side": "left", "text": "좋다. 여포의 기병이 깨어나면 누구도 수레 속을 뒤질 틈이 없을 것이다." }
],
"effects": [
{ "type": "grant_item", "item_id": "bean", "count": 1, "text": "야습 보급 묶음에서 콩 한 줌을 군수에 보탰다." }
]
},
{
"id": "puyang_hardened_vanguard",
"campaign_flags": { "pursued_dong_zhuo": true },
"group": "topic",
"label": "형양 노병",
"summary": "강행군과 매복을 넘긴 선봉에게 술을 나눈다.",
"lines": [
{ "speaker": "Xiahou Dun", "display_speaker": "하후돈", "side": "right", "text": "동탁을 쫓아 형양까지 달린 병사들은 아직 북소리가 끝나기 전에 움직입니다. 복양의 밤길도 겁내지 않을 것입니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "출진 전에 노병들에게 술을 조금 나누어라. 험한 길을 견딘 자에게는 그 수고를 안다는 말이 필요하다." }
],
"effects": [
{ "type": "grant_item", "item_id": "wine", "count": 1, "text": "형양 노병들이 술 한 병을 군수에 보탰다." }
]
},
{
"id": "puyang_qingzhou_reserve_wagon",
"campaign_flags": { "regrouped_after_sishui": true },
"group": "topic",
"label": "청주 예비 약거",
"summary": "정비 행군 중 보존한 의원의 꾸러미를 연다.",
"lines": [
{ "speaker": "Puyang Night Trader", "display_speaker": "복양 야상", "side": "right", "text": "청주에서 따라온 예비 수레에 아직 의원의 봉한 꾸러미가 남아 있습니다. 서두르지 않은 손이 싼 물건은 오래 버팁니다." },
{ "speaker": "Dian Wei", "display_speaker": "전위", "side": "left", "text": "깃발 가까이에 두게. 여포의 기병이 뚫고 들어오면 다친 병사에게 필요한 것은 담력만이 아닐 것이다." }
],
"effects": [
{ "type": "grant_item", "item_id": "panacea", "count": 1, "text": "청주 예비 약거에서 만능약 한 꾸러미를 군수에 보탰다." }
]
}
]
},
"shop": {
"items": [
"bean",
"panacea",
"wine",
"iron_sword",
"training_spear",
"short_bow",
"hand_axe",
"iron_armor"
],
"merchant": {
"name": "복양 야상",
"lines": [
"등불은 가려 두십시오. 여포의 척후는 빛나는 물건이라면 무엇이든 사 갑니다.",
"저들의 기병은 빠른 말에 은을 쓰고, 장군께서는 갑옷과 콩, 그리고 그것을 쓸 만큼 오래 버티는 데 은을 쓰시면 됩니다."
]
}
},
"roster": {
"max_units": 4,
"required_officers": ["cao_cao", "dian_wei"]
},
"formation": {
"cells": [[1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 4]]
},
"map": {
"width": 14,
"height": 10,
"background": "res://art/backgrounds/puyang_raid_camp.png",
"terrain": [
"GGGGGHHGGGGGGG",
"GGGFFHHGGGFFGG",
"GGGFFRRRRRFFGG",
"GGGGGRGGGRGGGG",
"RRRRRRRRRRRRRR",
"GGGGGRGGGRGGGG",
"GGFFFRRRRRFFGG",
"GGFFFHHGGGFFGG",
"GGGGGHHGGGWWGG",
"GGGGGGGGGGWWGG"
]
},
"deployments": [
{
"unit_id": "cao_cao_ch5",
"officer_id": "cao_cao",
"team": "player",
"pos": [1, 4]
},
{
"unit_id": "dian_wei_ch5",
"officer_id": "dian_wei",
"team": "player",
"requires_joined": true,
"pos": [2, 4]
},
{
"unit_id": "xiahou_dun_ch5",
"officer_id": "xiahou_dun",
"team": "player",
"pos": [1, 5]
},
{
"unit_id": "xiahou_yuan_ch5",
"officer_id": "xiahou_yuan",
"team": "player",
"requires_joined": true,
"pos": [2, 3]
},
{
"unit_id": "cao_ren_ch5",
"officer_id": "cao_ren",
"team": "player",
"requires_joined": true,
"pos": [2, 5]
},
{
"unit_id": "zhang_liao_vanguard",
"name": "장료 선봉",
"class_id": "cavalry",
"team": "enemy",
"level": 5,
"pos": [10, 4],
"base": { "hp": 48, "atk": 12, "def": 8, "agi": 10 },
"equipment": { "weapon": "training_spear" }
},
{
"unit_id": "gao_shun_guard",
"name": "고순 군영",
"class_id": "infantry",
"team": "enemy",
"level": 5,
"pos": [9, 3],
"base": { "hp": 44, "atk": 10, "def": 9 },
"equipment": { "weapon": "training_spear" }
},
{
"unit_id": "puyang_cavalry_1",
"name": "복양 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 5,
"pos": [11, 3],
"base": { "hp": 38, "atk": 9, "def": 7 },
"equipment": { "weapon": "training_spear" }
},
{
"unit_id": "puyang_cavalry_2",
"name": "복양 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 5,
"pos": [11, 5],
"base": { "hp": 38, "atk": 9, "def": 7 },
"equipment": { "weapon": "training_spear" }
},
{
"unit_id": "puyang_archer",
"name": "복양 궁병",
"class_id": "archer",
"team": "enemy",
"level": 5,
"pos": [10, 2],
"base": { "hp": 30, "atk": 9, "def": 5 },
"equipment": { "weapon": "short_bow" }
}
],
"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": "Dian Wei", "display_speaker": "전위", "text": "주공께서는 제 뒤에 계십시오. 주공께 닿는 말발굽은 제 도끼 앞에 설 것입니다." },
{ "speaker": "Xiahou Dun", "display_speaker": "하후돈", "text": "좋습니다. 새벽이 오기 전에 전위영을 열고 빠져나가겠습니다." }
]
}
]
},
{
"id": "turn_2_alarm",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 2 },
"actions": [
{ "type": "log", "text": "복양 전위영에서 경고의 북이 울린다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Zhang Liao", "display_speaker": "장료", "text": "조조가 밤을 틈타 왔다. 기병은 길을 닫고 저들을 이곳에 묶어라." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "북이 울렸구나. 여포가 직접 오기 전에 저 전열을 깨라." }
]
}
]
},
{
"id": "turn_3_lu_bu_arrives",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 3 },
"actions": [
{ "type": "log", "text": "동쪽 길 너머로 여포의 군기가 모습을 드러낸다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Lu Bu", "display_speaker": "여포", "text": "조조가 감히 복양을 밤에 치느냐? 내 기병이 얼마나 빨리 깨어나는지 보여 주마." },
{ "speaker": "Dian Wei", "display_speaker": "전위", "text": "목소리 하나는 크군요. 주공께서 전위영을 깨는 동안 길목은 제가 막겠습니다." }
]
},
{
"type": "set_objective",
"victory": "장료의 전위와 달려든 기병을 격파하라.",
"defeat": "조조가 퇴각하거나 제11턴에 이르면 패한다."
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "lu_bu_banner",
"name": "여포 기치병",
"class_id": "elite_cavalry",
"team": "enemy",
"level": 6,
"pos": [13, 4],
"base": { "hp": 54, "atk": 14, "def": 9, "agi": 12 },
"equipment": { "weapon": "training_spear" }
},
{
"unit_id": "lu_bu_rider_north",
"name": "여포 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 5,
"pos": [12, 2],
"base": { "hp": 38, "atk": 10, "def": 7 },
"equipment": { "weapon": "training_spear" }
},
{
"unit_id": "lu_bu_rider_south",
"name": "여포 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 5,
"pos": [12, 6],
"base": { "hp": 38, "atk": 10, "def": 7 },
"equipment": { "weapon": "training_spear" }
}
]
}
]
},
{
"id": "turn_5_pressure",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 5 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Dian Wei", "display_speaker": "전위", "text": "저들의 기병은 세게 부딪치나 전열은 이미 휘었습니다. 명만 내리시면 제가 갈라 놓겠습니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "몰아붙여라. 복양을 온전히 얻지 못하더라도, 오늘 밤 저들의 선봉은 꺾어 두고 간다." }
]
}
]
}
],
"rewards": {
"gold": 900,
"items": ["bean", "wine", "iron_sword"]
},
"post_battle_dialogue": [
{ "speaker": "Xiahou Dun", "display_speaker": "하후돈", "text": "여포의 군세는 아직 복양을 붙들고 있으나, 전위영은 오늘 밤을 잊지 못할 것입니다." },
{ "speaker": "Dian Wei", "display_speaker": "전위", "text": "빠르게 달려오더군요. 다음에는 조금 더 가까이 오게 두십시오." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "저들의 힘을 가늠했다. 이제 연주를 굳힐지, 흔들린 복양을 다시 누를지 정해야 한다." }
],
"post_battle_choices": [
{
"id": "fortify_yan_province",
"label": "연주 보강",
"description": "여포와 다시 겨루기 전에 군량길과 성책을 단단히 묶는다.",
"set_flags": { "fortified_yan_province": true, "pressed_lu_bu": false }
},
{
"id": "press_lu_bu",
"label": "여포 압박",
"description": "전위영이 흔들린 틈을 놓치지 않고 복양을 계속 누른다.",
"set_flags": { "fortified_yan_province": false, "pressed_lu_bu": true }
}
]
}