Files
heros/data/scenarios/006_dingtao_counterattack.json

370 lines
12 KiB
JSON

{
"id": "006_dingtao_counterattack",
"name": "정도 반격전",
"objectives": {
"victory": "여포의 반격군을 격파하라.",
"defeat": "조조가 퇴각하거나 제12군령에 이르면 패한다."
},
"conditions": {
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "turn_3_counterattack" },
"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": { "fortified_yan_province": true },
"lines": [
"연주 보급로를 굳힌 덕에 조조는 먼저 지세를 고르고 예비대를 둘 시간을 얻었다."
]
},
{
"campaign_flags": { "pressed_lu_bu": true },
"lines": [
"복양을 계속 누른 탓에 여포의 기세는 흐트러졌으나, 조조군도 숨 돌릴 틈 없이 정도로 들어선다."
]
}
],
"camp_conversations": [
{
"id": "dingtao_countercharge_council",
"group": "officer",
"officer_id": "cao_cao",
"label": "조조 - 반격 대비",
"speaker": "Cao Cao",
"summary": "여포의 기병이 정도에 닿기 전 방진을 세운다.",
"lines": [
{ "speaker": "Cao Cao", "side": "left", "text": "여포는 복양의 야습을 속도로 갚으려 한다. 버릇은 무서우나, 버릇은 또한 기다릴 수 있다." },
{ "speaker": "Cao Ren", "side": "right", "text": "언덕이 저들의 말발굽을 꺾을 것입니다. 우리 전열만 먼저 흔들리지 않게 예비대를 붙들겠습니다." }
]
},
{
"id": "dingtao_dian_wei_roadblock",
"group": "officer",
"officer_id": "dian_wei",
"label": "전위 - 길목 철벽",
"speaker": "Dian Wei",
"summary": "전위가 좁은 길목에서 여포의 기병을 막겠다고 나선다.",
"lines": [
{ "speaker": "Dian Wei", "side": "right", "text": "말에는 길과 담력이 필요합니다. 길은 다 빼앗지 못해도, 기수의 담력은 시험할 수 있습니다." },
{ "speaker": "Xiahou Dun", "side": "left", "text": "길이 좁아지는 곳에 서라. 여포가 군기를 원한다면 그곳에 사람을 쏟아야 할 것이다." }
]
},
{
"id": "dingtao_fortified_reserves",
"campaign_flags": { "fortified_yan_province": true },
"group": "topic",
"label": "연주 예비 약상",
"summary": "굳힌 보급로에서 온 의원의 약상자를 나눈다.",
"lines": [
{ "speaker": "Dingtao Field Sutler", "side": "right", "text": "굳힌 길 덕에 의원의 약상자가 무사했습니다. 기병이 덮치기 전에 깨끗한 꾸러미부터 앞으로 옮겼습니다." },
{ "speaker": "Cao Cao", "side": "left", "text": "그렇다면 보급로를 굳힌 값이 이미 돌아온 셈이다. 중앙 진영 가까이 두어라." }
],
"effects": [
{ "type": "grant_item", "item_id": "panacea", "count": 1, "text": "연주 예비 약상에서 만능약 한 꾸러미를 군수에 보탰다." }
]
},
{
"id": "dingtao_pressed_vanguard",
"campaign_flags": { "pressed_lu_bu": true },
"group": "topic",
"label": "복양 압박 선봉",
"summary": "복양 뒤 추격을 이어 간 선봉에게 술을 나눈다.",
"lines": [
{ "speaker": "Xiahou Yuan", "side": "right", "text": "선봉은 꿈을 꿀 만큼도 자지 못했지만, 그래도 여포가 헤아린 때보다 먼저 정도에 닿았습니다." },
{ "speaker": "Dian Wei", "side": "left", "text": "술을 주고, 명령은 짧게 내리십시오. 지친 병사는 앞길이 단순할수록 더 세게 버팁니다." }
],
"effects": [
{ "type": "grant_item", "item_id": "wine", "count": 1, "text": "복양 압박 선봉이 술 한 병을 군수에 보탰다." }
]
}
]
},
"shop": {
"items": [
"bean",
"antidote",
"panacea",
"wine",
"iron_sword",
"training_spear",
"short_bow",
"hand_axe",
"leather_armor"
],
"conditional_items": [
{
"campaign_flags": { "fortified_yan_province": true },
"items": ["iron_armor"]
},
{
"campaign_flags": { "pressed_lu_bu": true },
"items": ["war_drum"]
}
],
"merchant": {
"name": "정도 야상",
"lines": [
"먼지가 오르기 전에 사 두십시오. 여포의 기병이 닿으면 좋은 값도 말 위에서 흔들립니다.",
"굳힌 길은 갑옷을 부르고, 강행군은 북을 부릅니다. 어느 길이든 약상자 하나는 곁에 두십시오."
]
}
},
"roster": {
"max_units": 4,
"required_officers": ["cao_cao", "dian_wei"]
},
"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",
"GGGFFGGGHHGGGG",
"GGGFFRRRHHGGGG",
"GGGGGRRRGGGGGG",
"RRRRRRRRRRRRRR",
"GGGGGRRRGGGGGG",
"GGHHGFFFGRRGGG",
"GGHHGFFFGGGWWG",
"GGGGGGFFGGGWWG",
"GGGGGGGGGGGGGG"
]
},
"deployments": [
{
"unit_id": "cao_cao_ch6",
"officer_id": "cao_cao",
"team": "player",
"pos": [1, 4]
},
{
"unit_id": "dian_wei_ch6",
"officer_id": "dian_wei",
"team": "player",
"requires_joined": true,
"pos": [2, 4]
},
{
"unit_id": "xiahou_dun_ch6",
"officer_id": "xiahou_dun",
"team": "player",
"pos": [1, 5]
},
{
"unit_id": "xiahou_yuan_ch6",
"officer_id": "xiahou_yuan",
"team": "player",
"requires_joined": true,
"pos": [2, 3]
},
{
"unit_id": "cao_ren_ch6",
"officer_id": "cao_ren",
"team": "player",
"requires_joined": true,
"pos": [2, 5]
},
{
"unit_id": "lu_bu_counterattack",
"name": "여포 반격대",
"class_id": "elite_cavalry",
"team": "enemy",
"level": 7,
"pos": [10, 4],
"base": { "hp": 58, "atk": 19, "def": 10, "agi": 12 }
},
{
"unit_id": "zhang_liao_pursuer",
"name": "장료 추격기",
"class_id": "cavalry",
"team": "enemy",
"level": 6,
"pos": [9, 3],
"base": { "hp": 46, "atk": 16, "def": 8, "agi": 11 }
},
{
"unit_id": "gao_shun_line",
"name": "고순 방진",
"class_id": "infantry",
"team": "enemy",
"level": 6,
"pos": [9, 5],
"base": { "hp": 46, "atk": 15, "def": 10 }
},
{
"unit_id": "dingtao_archer",
"name": "정도 궁병",
"class_id": "archer",
"team": "enemy",
"level": 6,
"pos": [11, 2],
"base": { "hp": 32, "atk": 12, "def": 5 }
},
{
"unit_id": "dingtao_strategist",
"name": "정도 책사",
"class_id": "strategist",
"team": "enemy",
"level": 6,
"pos": [11, 6],
"base": { "hp": 34, "mp": 18, "atk": 7, "def": 5, "int": 12 }
}
],
"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", "text": "여포는 속전으로 승패를 가르려 한다. 우리는 그 속도를 빼앗고 선봉을 꺾는다." },
{ "speaker": "Dian Wei", "text": "기병이 오게 두십시오. 제가 서면 넓은 길도 좁아집니다." },
{ "speaker": "Xiahou Dun", "text": "가운데 길이 저들의 돌격로다. 그곳을 받치고, 틈이 보이면 되친다." }
]
}
]
},
{
"id": "turn_3_fortified_reserve",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 3, "campaign_flags": { "fortified_yan_province": true } },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Scout", "text": "동쪽 기병이 예비 척후가 짚은 길목으로 그대로 움직입니다." },
{ "speaker": "Cao Cao", "text": "좋다. 준비한 땅에 저들의 첫 기세를 묻어 버려라." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "screened_lu_bu_rider",
"name": "견제 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 6,
"pos": [12, 3],
"base": { "hp": 38, "atk": 14, "def": 7 }
},
{
"unit_id": "screened_lu_bu_archer",
"name": "견제 궁병",
"class_id": "archer",
"team": "enemy",
"level": 6,
"pos": [12, 6],
"base": { "hp": 30, "atk": 12, "def": 5 }
}
]
}
]
},
{
"id": "turn_3_pressed_lu_bu_charge",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 3, "campaign_flags": { "pressed_lu_bu": true } },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Lu Bu", "text": "조조가 너무 깊이 쫓아왔다. 지친 전열을 말발굽 아래에 묻어라!" },
{ "speaker": "Dian Wei", "text": "궁지에 몰린 지친 병사도 팔은 세게 휘두릅니다." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "fierce_lu_bu_rider",
"name": "맹공 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 6,
"pos": [12, 2],
"base": { "hp": 40, "atk": 15, "def": 7 }
},
{
"unit_id": "fierce_lu_bu_guard",
"name": "맹공 방패병",
"class_id": "infantry",
"team": "enemy",
"level": 6,
"pos": [13, 4],
"base": { "hp": 42, "atk": 14, "def": 9 }
},
{
"unit_id": "fierce_lu_bu_rider_south",
"name": "맹공 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 6,
"pos": [12, 6],
"base": { "hp": 40, "atk": 15, "def": 7 }
}
]
}
]
},
{
"id": "turn_3_counterattack",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 3 },
"actions": [
{ "type": "log", "text": "여포가 후속 부대를 전장에 밀어 넣는다." },
{
"type": "set_objective",
"victory": "여포의 반격군과 후속 부대를 모두 격파하라.",
"defeat": "조조가 퇴각하거나 제12군령에 이르면 패한다."
}
]
},
{
"id": "turn_5_hold_center",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 5 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Cao Cao", "text": "저들의 돌격은 꺾였다. 이제 전열을 묶고 있는 장수를 찔러라." },
{ "speaker": "Xiahou Yuan", "text": "저쪽 궁병의 위치를 잡았습니다. 한 발만 길을 열면 길목이 무너집니다." }
]
}
]
}
],
"rewards": {
"gold": 1000,
"items": ["bean", "wine", "war_axe"]
},
"post_battle_dialogue": [
{ "speaker": "Cao Cao", "text": "여포의 돌격은 거세나, 꺾지 못할 것은 아니다." },
{ "speaker": "Dian Wei", "text": "저 기병들도 피는 흘립니다." },
{ "speaker": "Xiahou Dun", "text": "그렇다면 연주는 아직 잃지 않았습니다. 계속 싸우겠습니다." }
]
}