Files
heros/data/scenarios/045_fancheng_relief.json
2026-06-19 10:37:23 +09:00

396 lines
13 KiB
JSON

{
"id": "045_fancheng_relief",
"name": "번성 구원전",
"objectives": {
"victory": "조조가 번성 외문에 닿은 뒤 관우 선봉군을 격파하라.",
"defeat": "조조 또는 번성 전령이 퇴각하거나 18턴이 시작된다."
},
"conditions": {
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "fancheng_gate_relieved" },
"defeat": [
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
{ "type": "any_unit_defeated", "unit_ids": ["fancheng_messenger_ch45"] },
{ "type": "turn_reached", "turn": 18, "team": "player" }
]
},
"briefing": {
"title": "번성 구원전",
"location": "한수 번성, 건안 24년",
"lines": [
"유수 전역이 끝나자마자 북쪽에서 급보가 온다. 조인은 관우의 압박 아래 번성 안에 갇혀 있다.",
"형주 선봉이 포위를 성문 파괴로 바꾸기 전에, 조조의 구원군은 번성 외문에 닿아야 한다."
],
"conditional_lines": [
{
"campaign_flags": { "secured_ruxu_crossing": true },
"lines": [
"유수 도하점을 확보해 동쪽 거점이 안정되었으므로, 조조는 수로 전선을 버리지 않고도 구원 물자를 북상시킬 수 있다."
]
},
{
"campaign_flags": { "prepared_fancheng_relief": true },
"lines": [
"번성 구원을 일찍 준비한 덕분에 조조군은 빠르게 길에 올랐으나, 관우의 척후는 이미 조인 주위의 포위망을 조이고 있다."
]
}
],
"camp_conversations": [
{
"id": "fancheng_relief_council",
"label": "번성 구원 군의",
"group": "topic",
"speaker": "Cao Ren",
"lines": [
{ "speaker": "Cao Ren", "text": "번성은 아직 버티고 있으나, 성 밖의 북소리가 날마다 가까워집니다." },
{ "speaker": "Cao Cao", "text": "전령을 지키고 외문을 구하라. 내가 길 위에 있는 한 조인은 무너지지 않는다." }
]
},
{
"id": "fancheng_guo_jia_siege_clock",
"label": "곽가 - 포위의 시각",
"group": "officer",
"officer_id": "guo_jia",
"lines": [
{ "speaker": "Guo Jia", "text": "포위당한 성문은 물시계와 같습니다. 시간이 차오르면 문이 먼저 말하기 시작합니다." },
{ "speaker": "Cao Cao", "text": "그 물시계를 부순다. 번성이 적의 말로 답하기 전에 우리가 북을 울린다." }
]
}
]
},
"shop": {
"merchant": {
"name": "번성 구원 야상",
"lines": [
"성문 아래 싸움은 오래 끌면 갑옷부터 울기 시작합니다. 철갑과 약주를 챙기십시오.",
"전령 하나가 성 하나를 살릴 때가 있습니다. 길을 잃지 않게 군량도 가볍게 묶어 두었습니다."
]
},
"items": [
"bean",
"wine",
"iron_sword",
"training_spear",
"short_bow",
"hand_axe",
"war_axe",
"leather_armor",
"iron_armor"
],
"conditional_items": [
{
"campaign_flags": { "secured_ruxu_crossing": true },
"items": ["imperial_seal"]
},
{
"campaign_flags": { "prepared_fancheng_relief": true },
"items": ["war_drum"]
}
]
},
"roster": {
"max_units": 7,
"required_officers": ["cao_cao", "guo_jia"],
"required_units": ["fancheng_messenger_ch45"]
},
"formation": {
"cells": [[1, 3], [1, 4], [1, 5], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6]]
},
"map": {
"width": 18,
"height": 11,
"terrain": [
"GGGGHHGGGGGGHHGGGG",
"GGFFHHGGRRGGHHFFGG",
"GGRRRRRRRRRRRRFFGG",
"GGGFGHGGGGRRGGGGGG",
"RRRRRRRRRRRRRRRRRR",
"GGGGGHHGGGRRGFFGGG",
"GGHHGFFFGGFFFGGHHG",
"GGHHGFFFGGFFFGGHHG",
"GGGGGGFFGGHHHGGGGG",
"GGFFGGGGGGHHHFFGGG",
"GGGGGGGGGGGGGGGGGG"
]
},
"deployments": [
{
"unit_id": "cao_cao_ch45",
"officer_id": "cao_cao",
"team": "player",
"pos": [1, 4]
},
{
"unit_id": "guo_jia_ch45",
"officer_id": "guo_jia",
"team": "player",
"requires_joined": true,
"pos": [2, 4]
},
{
"unit_id": "zhang_he_ch45",
"officer_id": "zhang_he",
"team": "player",
"requires_joined": true,
"pos": [2, 3]
},
{
"unit_id": "xiahou_dun_ch45",
"officer_id": "xiahou_dun",
"team": "player",
"pos": [1, 5]
},
{
"unit_id": "dian_wei_ch45",
"officer_id": "dian_wei",
"team": "player",
"requires_joined": true,
"pos": [2, 5]
},
{
"unit_id": "xiahou_yuan_ch45",
"officer_id": "xiahou_yuan",
"team": "player",
"requires_joined": true,
"pos": [3, 3]
},
{
"unit_id": "fancheng_messenger_ch45",
"name": "번성 전령",
"class_id": "infantry",
"team": "player",
"level": 32,
"controllable": false,
"persist_progression": false,
"ai_target_priority": 8,
"pos": [3, 4],
"base": { "hp": 118, "mp": 4, "atk": 18, "def": 28, "int": 18, "agi": 18 }
},
{
"unit_id": "guan_yu_vanguard_commander",
"name": "관우 선봉장",
"class_id": "commander",
"team": "enemy",
"level": 42,
"pos": [14, 4],
"base": { "hp": 140, "mp": 62, "atk": 43, "def": 35, "int": 35, "agi": 23 }
},
{
"unit_id": "jingzhou_siege_captain",
"name": "형주 포위 대장",
"class_id": "guard_captain",
"team": "enemy",
"level": 42,
"pos": [12, 4],
"base": { "hp": 116, "atk": 43, "def": 36 }
},
{
"unit_id": "han_river_champion",
"name": "한수 용장",
"class_id": "champion",
"team": "enemy",
"level": 42,
"pos": [15, 3],
"base": { "hp": 144, "mp": 12, "atk": 45, "def": 32, "int": 13, "agi": 28 }
},
{
"unit_id": "jingzhou_flood_advisor",
"name": "형주 수공 군사",
"class_id": "military_advisor",
"team": "enemy",
"level": 42,
"pos": [13, 5],
"skills": ["blaze", "great_mend"],
"base": { "hp": 104, "mp": 88, "atk": 8, "def": 23, "int": 45, "agi": 21 }
},
{
"unit_id": "fancheng_siege_spear_north",
"name": "번성 포위 창병",
"class_id": "infantry",
"team": "enemy",
"level": 42,
"pos": [12, 3],
"base": { "hp": 106, "atk": 43, "def": 33 }
},
{
"unit_id": "fancheng_siege_spear_south",
"name": "번성 포위 창병",
"class_id": "infantry",
"team": "enemy",
"level": 42,
"pos": [12, 5],
"base": { "hp": 106, "atk": 43, "def": 33 }
},
{
"unit_id": "jingzhou_gate_marksman",
"name": "형주 성문 궁병",
"class_id": "marksman",
"team": "enemy",
"level": 42,
"pos": [13, 2],
"base": { "hp": 98, "atk": 44, "def": 19, "agi": 31 }
}
],
"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 Ren", "text": "번성은 아직 섰지만, 성문 밖 북소리가 갈수록 커집니다." },
{ "speaker": "Guo Jia", "text": "포위당한 성문은 시각을 재는 물시계입니다. 때가 차기 전에 그 손을 꺾어야 합니다." },
{ "speaker": "Cao Cao", "text": "전령을 보호하고 성문을 구하라. 내가 길을 지휘하는 한 조인은 쓰러지지 않는다." }
]
}
]
},
{
"id": "secured_ruxu_supports_relief",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 2, "campaign_flags": { "secured_ruxu_crossing": true } },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Xiahou Yuan", "text": "유수 도하점에서 올린 군량이 뒤따라옵니다. 구원군은 성문 앞에서 굶지 않을 것입니다." },
{ "speaker": "Cao Cao", "text": "그렇다면 번성은 식량과 쇠를 함께 받는다." }
]
}
]
},
{
"id": "prepared_relief_tightens_siege",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 2, "campaign_flags": { "prepared_fancheng_relief": true } },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "관우 선봉장", "text": "조조가 빠르게 북상했다. 저 구원군이 조인에게 닿기 전에 포위망을 조여라." },
{ "speaker": "Zhang He", "text": "저들이 우리의 속도를 보고 압박으로 답했습니다. 좋습니다. 길은 더 강한 답을 택할 것입니다." }
]
},
{
"type": "spawn_deployment",
"deployment": {
"unit_id": "jingzhou_ring_riders",
"name": "형주 포위 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 42,
"pos": [16, 3],
"base": { "hp": 96, "atk": 39, "def": 23, "agi": 29 }
}
}
]
},
{
"id": "turn_4_gate_pressure",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 4 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "형주 수공 군사", "text": "조인을 성문 뒤에 묶어 두고, 구원군이 두려움 속에서 오르막을 치르게 하라." },
{ "speaker": "Cao Ren", "text": "번성은 아직 두려움에게 문을 열지 않았다." }
]
}
]
},
{
"id": "fancheng_gate_relieved",
"once": true,
"when": { "type": "unit_reaches_tile", "team": "player", "officer_ids": ["cao_cao"], "pos": [9, 4] },
"actions": [
{
"type": "set_objective",
"victory": "번성 외문을 구원했다. 관우 선봉군을 격파하라.",
"defeat": "조조 또는 번성 전령이 퇴각하거나 18턴이 시작된다."
},
{
"type": "dialogue",
"lines": [
{ "speaker": "Cao Cao", "text": "조인, 내 깃발이 들어갈 만큼만 문을 열라. 포위선은 여기서 끊어진다." },
{ "speaker": "관우 선봉장", "text": "그렇다면 성문이 숨 쉬기 전에 저 깃발을 꺾어라." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "guan_yu_inner_spear",
"name": "관우 내측 창병",
"class_id": "guard_captain",
"team": "enemy",
"level": 42,
"pos": [16, 4],
"base": { "hp": 114, "atk": 43, "def": 36 }
},
{
"unit_id": "han_river_arrow_screen",
"name": "한수 화살막",
"class_id": "archer",
"team": "enemy",
"level": 42,
"pos": [16, 5],
"base": { "hp": 90, "atk": 42, "def": 16, "agi": 30 }
}
]
}
]
},
{
"id": "turn_9_relief_arrives",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 9 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Xiahou Dun", "text": "포위선이 갈라집니다. 조인의 성문은 아직 우리 것입니다." },
{ "speaker": "Cao Cao", "text": "그렇다면 어느 쪽 성문이 살아남았는지 적에게 새겨 주어라." }
]
}
]
}
],
"rewards": {
"gold": 8800,
"items": ["bean", "wine", "war_drum"]
},
"post_battle_dialogue": [
{ "speaker": "Cao Ren", "text": "번성은 섰습니다. 하루만 더 성 안에 갇혔다면 성문이 적의 말로 답했을지도 모릅니다." },
{ "speaker": "Guo Jia", "text": "포위는 끊겼으나 관우의 보급로는 아직 그의 담력을 먹이고 있습니다." },
{ "speaker": "Cao Cao", "text": "그렇다면 번성을 더 굳힐 성벽으로 삼을지, 형주로 밀어 넣을 칼로 삼을지 정하라." }
],
"post_battle_choices": [
{
"id": "reinforce_fancheng",
"label": "번성 보강",
"description": "조조가 번성을 보강해 북쪽 성문이 다음 포위를 견디게 한다.",
"set_flags": { "reinforced_fancheng": true, "struck_jingzhou_supply": false },
"gold": 1500,
"items": ["imperial_seal"]
},
{
"id": "strike_jingzhou_supply",
"label": "보급로 타격",
"description": "조조가 관우의 형주 보급로를 쳐 포위군이 다시 모이기 전에 기세를 끊는다.",
"set_flags": { "reinforced_fancheng": false, "struck_jingzhou_supply": true },
"gold": 1300,
"items": ["war_drum"]
}
]
}