Files
heros/data/scenarios/044_ruxu_crossing.json
2026-06-19 10:25:18 +09:00

393 lines
13 KiB
JSON

{
"id": "044_ruxu_crossing",
"name": "유수 도하전",
"objectives": {
"victory": "조조가 유수 도하점에 닿은 뒤 오군 도하 수비대를 격파하라.",
"defeat": "조조가 퇴각하거나 18턴이 시작된다."
},
"conditions": {
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "ruxu_crossing_reached" },
"defeat": [
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
{ "type": "turn_reached", "turn": 18, "team": "player" }
]
},
"briefing": {
"title": "유수 도하전",
"location": "유수 도하점, 동부 전선, 건안 22년",
"lines": [
"손권의 수로 진은 휘었으나 도하점은 아직 배와 말뚝, 물길을 아는 오군 대장들이 지키고 있다.",
"조조군은 유수를 동부 전선의 발판으로 삼을지, 북쪽 전선으로 돌아가기 전 피로 얻은 경고로 남길지 결정해야 한다."
],
"conditional_lines": [
{
"campaign_flags": { "anchored_ruxu_camps": true },
"lines": [
"유수 진채를 고정한 덕분에 조조군은 더 단단한 강안과 안정된 보급, 방패막 아래 도하를 준비할 시간을 얻었다."
]
},
{
"campaign_flags": { "forced_ruxu_crossing": true },
"lines": [
"도하를 강행한 탓에 오군은 균형을 잃었으나, 손권의 수장들은 조조군 진채가 굳기 전 물살로 배를 밀어 넣는다."
]
}
],
"camp_conversations": [
{
"id": "ruxu_crossing_council",
"label": "도하 군의",
"group": "topic",
"speaker": "Cao Ren",
"lines": [
{ "speaker": "Cao Ren", "text": "강안은 우리 것이 되었으나 도하점은 아직 물길을 아는 자들의 손에 있습니다." },
{ "speaker": "Cao Cao", "text": "그 확신을 하나씩 빼앗아라. 말뚝 하나, 배 하나, 대장 하나가 길을 연다." }
]
},
{
"id": "ruxu_guo_jia_crossing_fear",
"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": { "anchored_ruxu_camps": true },
"items": ["imperial_seal"]
},
{
"campaign_flags": { "forced_ruxu_crossing": true },
"items": ["war_drum"]
}
]
},
"roster": {
"max_units": 7,
"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, 2], [3, 3], [3, 4], [3, 5], [3, 6]]
},
"map": {
"width": 18,
"height": 11,
"terrain": [
"WWWWWWWWWWWWWWWWWW",
"WGGGFFWWRRWWFFGGGW",
"GGGGWWGGGGRRGGGGGG",
"GGFFWWGGRRRRGFFGGG",
"RRRRRRRRRRRRRRRRRR",
"GGFFWWGGRRRRGFFGGG",
"GGGGWWGGGGRRGGGGGG",
"GHHHWWGFFFGGFFFGGG",
"GHHHWWGGGGHHHGGGGG",
"GGGGWWGGGGHHHFFGGG",
"WWWWWWWWWWWWWWWWWW"
]
},
"deployments": [
{
"unit_id": "cao_cao_ch44",
"officer_id": "cao_cao",
"team": "player",
"pos": [1, 4]
},
{
"unit_id": "guo_jia_ch44",
"officer_id": "guo_jia",
"team": "player",
"requires_joined": true,
"pos": [2, 4]
},
{
"unit_id": "zhang_he_ch44",
"officer_id": "zhang_he",
"team": "player",
"requires_joined": true,
"pos": [2, 3]
},
{
"unit_id": "xiahou_dun_ch44",
"officer_id": "xiahou_dun",
"team": "player",
"pos": [1, 5]
},
{
"unit_id": "dian_wei_ch44",
"officer_id": "dian_wei",
"team": "player",
"requires_joined": true,
"pos": [2, 5]
},
{
"unit_id": "xiahou_yuan_ch44",
"officer_id": "xiahou_yuan",
"team": "player",
"requires_joined": true,
"pos": [3, 3]
},
{
"unit_id": "cao_ren_ch44",
"officer_id": "cao_ren",
"team": "player",
"requires_joined": true,
"pos": [3, 4]
},
{
"unit_id": "wu_crossing_guard",
"name": "오군 도하 수비장",
"class_id": "commander",
"team": "enemy",
"level": 41,
"pos": [14, 4],
"base": { "hp": 138, "mp": 60, "atk": 42, "def": 34, "int": 34, "agi": 23 }
},
{
"unit_id": "ruxu_crossing_captain",
"name": "유수 도하 대장",
"class_id": "guard_captain",
"team": "enemy",
"level": 41,
"pos": [12, 4],
"base": { "hp": 114, "atk": 42, "def": 35 }
},
{
"unit_id": "gan_ning_current_boat",
"name": "감녕 조류선",
"class_id": "champion",
"team": "enemy",
"move_type": "water",
"level": 41,
"pos": [4, 3],
"base": { "hp": 142, "mp": 12, "atk": 44, "def": 31, "int": 13, "agi": 28 }
},
{
"unit_id": "ruxu_crossing_advisor",
"name": "유수 도하 군사",
"class_id": "military_advisor",
"team": "enemy",
"level": 41,
"pos": [13, 5],
"skills": ["blaze", "great_mend"],
"base": { "hp": 102, "mp": 86, "atk": 8, "def": 22, "int": 44, "agi": 21 }
},
{
"unit_id": "ruxu_crossing_spear_north",
"name": "유수 도하 창병",
"class_id": "infantry",
"team": "enemy",
"level": 41,
"pos": [12, 3],
"base": { "hp": 104, "atk": 42, "def": 32 }
},
{
"unit_id": "ruxu_crossing_spear_south",
"name": "유수 도하 창병",
"class_id": "infantry",
"team": "enemy",
"level": 41,
"pos": [12, 5],
"base": { "hp": 104, "atk": 42, "def": 32 }
},
{
"unit_id": "ruxu_current_arrow_boat",
"name": "유수 조류 궁선",
"class_id": "marksman",
"team": "enemy",
"move_type": "water",
"level": 41,
"pos": [5, 5],
"base": { "hp": 96, "atk": 43, "def": 18, "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": "anchored_camps_cover_crossing",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 2, "campaign_flags": { "anchored_ruxu_camps": true } },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Cao Ren", "text": "고정한 진채가 버티고 있습니다. 방패막이 도하 접근로를 덮을 수 있습니다." },
{ "speaker": "Cao Cao", "text": "그렇다면 도하는 공포가 아니라 군령 아래 시작된다." }
]
}
]
},
{
"id": "forced_crossing_draws_counterboats",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 2, "campaign_flags": { "forced_ruxu_crossing": true } },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "오군 도하 수비장", "text": "조조가 진채가 숨 돌리기 전에 도하를 강행한다. 샛물살로 역습하라." },
{ "speaker": "Zhang He", "text": "저들은 물살에 판돈을 걸었습니다. 강안이 그 빚을 받아 내게 하겠습니다." }
]
},
{
"type": "spawn_deployment",
"deployment": {
"unit_id": "ruxu_counter_current_boat",
"name": "유수 역류선",
"class_id": "champion",
"team": "enemy",
"move_type": "water",
"level": 41,
"pos": [5, 3],
"base": { "hp": 106, "atk": 40, "def": 23, "agi": 29 }
}
}
]
},
{
"id": "turn_4_crossing_stakes",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 4 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "유수 도하 군사", "text": "저들의 전열은 앞으로 걷게 하고, 측면은 배를 두려워하게 하라. 병사가 옆을 볼 때 도하는 무너진다." },
{ "speaker": "Guo Jia", "text": "오군은 강물이 군령의 북소리보다 크게 들리게 만들려 합니다." }
]
}
]
},
{
"id": "ruxu_crossing_reached",
"once": true,
"when": { "type": "unit_reaches_tile", "team": "player", "officer_ids": ["cao_cao"], "pos": [10, 4] },
"actions": [
{
"type": "set_objective",
"victory": "유수 도하점에 닿았다. 오군 도하 수비대를 격파하라.",
"defeat": "조조가 퇴각하거나 18턴이 시작된다."
},
{
"type": "dialogue",
"lines": [
{ "speaker": "Cao Cao", "text": "여기가 도하점이다. 오군 수비대가 설 곳을 잃을 때까지 버텨라." },
{ "speaker": "오군 도하 수비장", "text": "유수의 물은 아직 우리와 함께 선다." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "crossing_halberd_guard",
"name": "도하 장극 수비대",
"class_id": "guard_captain",
"team": "enemy",
"level": 41,
"pos": [16, 4],
"base": { "hp": 112, "atk": 42, "def": 35 }
},
{
"unit_id": "crossing_arrow_boat",
"name": "도하 화살선",
"class_id": "marksman",
"team": "enemy",
"move_type": "water",
"level": 41,
"pos": [10, 1],
"base": { "hp": 90, "atk": 41, "def": 15, "agi": 30 }
}
]
}
]
},
{
"id": "turn_9_crossing_holds",
"once": true,
"when": { "type": "turn_start", "team": "player", "turn": 9 },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Xiahou Dun", "text": "도하점이 버티고 있습니다. 저들의 배가 점점 강안에서 멀리 돌고 있습니다." },
{ "speaker": "Cao Cao", "text": "그렇다면 강도 명을 듣기 시작했다. 아직 소리치는 자들을 끝내라." }
]
}
]
}
],
"rewards": {
"gold": 8600,
"items": ["bean", "wine", "imperial_seal"]
},
"post_battle_dialogue": [
{ "speaker": "Guo Jia", "text": "유수 도하점은 열렸습니다. 그러나 오군이 계속 수로에 병력을 먹이면 이 승리는 오래 피를 요구할 것입니다." },
{ "speaker": "Cao Ren", "text": "도하점을 동부 거점으로 굳힐 수도 있고, 오군이 잃은 배를 세는 사이 북쪽으로 돌 수도 있습니다." },
{ "speaker": "Cao Cao", "text": "빼앗은 도하점이 언제나 지킨 도하점은 아니다. 군이 유수에서 무엇을 들고 떠날지 정하라." }
],
"post_battle_choices": [
{
"id": "secure_ruxu_crossing",
"label": "도하점 확보",
"description": "조조가 유수 도하점을 동부 전선의 전진 거점으로 굳힌다.",
"set_flags": { "secured_ruxu_crossing": true, "prepared_fancheng_relief": false },
"gold": 1450,
"items": ["imperial_seal"]
},
{
"id": "prepare_fancheng_relief",
"label": "번성 구원 준비",
"description": "조조가 유수에서 북쪽으로 눈을 돌려 번성 전선의 구원군을 준비한다.",
"set_flags": { "secured_ruxu_crossing": false, "prepared_fancheng_relief": true },
"gold": 1250,
"items": ["war_drum"]
}
]
}