479 lines
16 KiB
JSON
479 lines
16 KiB
JSON
{
|
|
"id": "009_xiapi_siege",
|
|
"name": "하비 수공전",
|
|
"objectives": {
|
|
"victory": "수문 작전이 끝날 때까지 버틴 뒤 여포군을 격파하라.",
|
|
"defeat": "조조가 퇴각하거나 제13군령에 이르면 패한다."
|
|
},
|
|
"conditions": {
|
|
"victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "turn_3_flood_gates" },
|
|
"defeat": [
|
|
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
|
|
{ "type": "turn_reached", "turn": 13, "team": "player" }
|
|
]
|
|
},
|
|
"briefing": {
|
|
"title": "하비 수공전",
|
|
"location": "하비, 건안 삼년",
|
|
"lines": [
|
|
"여포는 하비의 젖은 성벽 뒤로 물러나 기병과 진궁의 계책으로 포위를 깨려 한다.",
|
|
"조조는 물길을 열라 명한다. 수문 신호가 올라 여포군을 낮은 길로 끌어낼 때까지 첫 반격을 버텨라."
|
|
],
|
|
"conditional_lines": [
|
|
{
|
|
"campaign_flags": { "held_wan_gate": true },
|
|
"lines": [
|
|
"완성에서 되찾은 짐수레 덕에 포위선에는 두꺼운 방패와 마른 활시위가 넉넉하다."
|
|
]
|
|
},
|
|
{
|
|
"campaign_flags": { "swift_wan_escape": true },
|
|
"lines": [
|
|
"완성의 짐을 버리고 빠르게 하비에 닿았으나, 무거운 공성 물자는 아직 뒤따르는 중이다."
|
|
]
|
|
}
|
|
],
|
|
"camp_conversations": [
|
|
{
|
|
"id": "xiapi_floodgate_council",
|
|
"group": "officer",
|
|
"officer_id": "cao_cao",
|
|
"label": "조조 - 수문 계책",
|
|
"speaker": "Cao Cao",
|
|
"summary": "수문 신호에 맞춰 포위전의 박자를 정한다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Cao Cao",
|
|
"side": "left",
|
|
"text": "여포는 속도로 이 포위를 가르려 한다. 물은 기병보다 느리나, 낮은 길을 하나도 잊지 않는다."
|
|
},
|
|
{
|
|
"speaker": "Xiahou Dun",
|
|
"side": "right",
|
|
"text": "그렇다면 물길이 대답할 때까지 버티겠습니다. 진흙이 오르면 저들의 기병은 믿던 들판을 잃습니다."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xiapi_dian_wei_siege_road",
|
|
"group": "officer",
|
|
"officer_id": "dian_wei",
|
|
"label": "전위 - 포위로",
|
|
"speaker": "Dian Wei",
|
|
"summary": "여포의 첫 반격이 부딪힐 길목에 전위를 세운다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Dian Wei",
|
|
"side": "right",
|
|
"text": "물이 닿기 전의 길목을 제게 주십시오. 비켜서지 않는 사람을 기병은 싫어합니다."
|
|
},
|
|
{
|
|
"speaker": "Cao Cao",
|
|
"side": "left",
|
|
"text": "전열이 너를 볼 수 있는 곳에 서라. 용기가 얼굴을 가지면 포위선은 더 오래 버틴다."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xiapi_wan_baggage_dressings",
|
|
"campaign_flags": { "held_wan_gate": 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": "xiapi_forced_march_rations",
|
|
"campaign_flags": { "swift_wan_escape": true },
|
|
"group": "topic",
|
|
"label": "강행군 군량",
|
|
"summary": "무거운 군수보다 먼저 하비에 닿은 병사에게 휴대 군량을 나눈다.",
|
|
"lines": [
|
|
{
|
|
"speaker": "Xiahou Yuan",
|
|
"side": "right",
|
|
"text": "느린 수레보다 먼저 하비에 닿았습니다. 가볍게 싸울 수는 있으나 밤일로 물통이 비었습니다."
|
|
},
|
|
{
|
|
"speaker": "Dian Wei",
|
|
"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": { "held_wan_gate": true },
|
|
"items": ["war_drum"]
|
|
},
|
|
{
|
|
"campaign_flags": { "swift_wan_escape": true },
|
|
"items": ["war_axe"]
|
|
}
|
|
],
|
|
"merchant": {
|
|
"name": "하비 수문 야상",
|
|
"lines": [
|
|
"자루를 낮은 길에 두지 마십시오. 물길이 열리면 마른 콩 하나도 값이 오릅니다.",
|
|
"신호가 오르기 전에 사 두십시오. 물이 움직인 뒤에는 수레까지 걸어올 수 있는 사람에게만 팝니다."
|
|
]
|
|
}
|
|
},
|
|
"roster": {
|
|
"max_units": 5,
|
|
"required_officers": ["cao_cao", "dian_wei"]
|
|
},
|
|
"formation": {
|
|
"cells": [[1, 3], [1, 4], [1, 5], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [3, 4]]
|
|
},
|
|
"map": {
|
|
"width": 15,
|
|
"height": 10,
|
|
"background": "res://art/backgrounds/xiapi_flooded_siege.png",
|
|
"terrain": [
|
|
"GGGGGHHGGGWWGGG",
|
|
"GGGFFHHGGGWWGGG",
|
|
"GGGFFRRRRGGGGGG",
|
|
"GGGGGRRRGGFFFGG",
|
|
"RRRRRRRRRRRRRRR",
|
|
"GGGGGRRRGGFFFGG",
|
|
"GGHHGFFFGGGRRGG",
|
|
"GGHHGFFFGGGWWGG",
|
|
"GGGGGGFFGGGWWGG",
|
|
"GGGGGGGGGGGGGGG"
|
|
]
|
|
},
|
|
"deployments": [
|
|
{
|
|
"unit_id": "cao_cao_ch9",
|
|
"officer_id": "cao_cao",
|
|
"team": "player",
|
|
"pos": [1, 4]
|
|
},
|
|
{
|
|
"unit_id": "dian_wei_ch9",
|
|
"officer_id": "dian_wei",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [2, 4]
|
|
},
|
|
{
|
|
"unit_id": "xiahou_dun_ch9",
|
|
"officer_id": "xiahou_dun",
|
|
"team": "player",
|
|
"pos": [1, 5]
|
|
},
|
|
{
|
|
"unit_id": "xiahou_yuan_ch9",
|
|
"officer_id": "xiahou_yuan",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [2, 3]
|
|
},
|
|
{
|
|
"unit_id": "cao_ren_ch9",
|
|
"officer_id": "cao_ren",
|
|
"team": "player",
|
|
"requires_joined": true,
|
|
"pos": [2, 5]
|
|
},
|
|
{
|
|
"unit_id": "lu_bu_xiapi",
|
|
"name": "여포",
|
|
"class_id": "elite_cavalry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [11, 4],
|
|
"base": { "hp": 64, "atk": 21, "def": 11, "agi": 13 }
|
|
},
|
|
{
|
|
"unit_id": "chen_gong_strategist",
|
|
"name": "진궁",
|
|
"class_id": "strategist",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [10, 6],
|
|
"skills": ["blaze"],
|
|
"base": { "hp": 40, "mp": 24, "atk": 7, "def": 6, "int": 15 }
|
|
},
|
|
{
|
|
"unit_id": "gao_shun_trap_line",
|
|
"name": "고순 방진",
|
|
"class_id": "infantry",
|
|
"team": "enemy",
|
|
"level": 9,
|
|
"pos": [9, 5],
|
|
"base": { "hp": 50, "atk": 16, "def": 11 }
|
|
},
|
|
{
|
|
"unit_id": "xiapi_rider_north",
|
|
"name": "하비 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [9, 3],
|
|
"base": { "hp": 42, "atk": 15, "def": 8, "agi": 11 }
|
|
},
|
|
{
|
|
"unit_id": "xiapi_rider_south",
|
|
"name": "하비 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [10, 5],
|
|
"base": { "hp": 42, "atk": 15, "def": 8, "agi": 11 }
|
|
},
|
|
{
|
|
"unit_id": "xiapi_wall_archer",
|
|
"name": "성벽 궁병",
|
|
"class_id": "archer",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [12, 2],
|
|
"base": { "hp": 34, "atk": 13, "def": 6 }
|
|
},
|
|
{
|
|
"unit_id": "xiapi_gate_guard",
|
|
"name": "수문 수비병",
|
|
"class_id": "infantry",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [12, 6],
|
|
"base": { "hp": 46, "atk": 15, "def": 10 }
|
|
}
|
|
],
|
|
"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": "Xiahou Dun", "text": "수로는 준비되었습니다. 신호가 오를 때까지 전열만 붙들면 됩니다." },
|
|
{ "speaker": "Dian Wei", "text": "그렇다면 제가 길을 붙들겠습니다. 기병들이 먼저 저를 찾게 두십시오." }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "turn_2_lu_bu_charge",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "enemy", "turn": 2 },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Lu Bu", "text": "조조가 도랑과 진흙 뒤에 숨었구나. 물이 차기 전에 포위선을 짓밟아라!" },
|
|
{ "speaker": "Chen Gong", "text": "전열이 휘면 장수를 치십시오. 수공의 계책도 그와 함께 죽습니다." }
|
|
]
|
|
},
|
|
{
|
|
"type": "spawn_deployments",
|
|
"deployments": [
|
|
{
|
|
"unit_id": "lu_bu_flank_rider_north",
|
|
"name": "측익 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [6, 1],
|
|
"base": { "hp": 40, "atk": 15, "def": 8, "agi": 11 }
|
|
},
|
|
{
|
|
"unit_id": "lu_bu_flank_rider_south",
|
|
"name": "측익 기병",
|
|
"class_id": "cavalry",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [6, 8],
|
|
"base": { "hp": 40, "atk": 15, "def": 8, "agi": 11 }
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "turn_3_flood_gates",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "player", "turn": 3 },
|
|
"actions": [
|
|
{ "type": "log", "text": "하비 둘레에 수문 개방 신호가 오른다." },
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Scout", "text": "물이 움직입니다. 하비 외곽 부대가 낮은 길에서 물러납니다!" },
|
|
{ "speaker": "Cao Cao", "text": "좋다. 이제 여포는 우리가 닿을 수 있는 곳에서 싸워야 한다." }
|
|
]
|
|
},
|
|
{
|
|
"type": "set_objective",
|
|
"victory": "여포, 진궁, 남은 하비 수비대를 격파하라.",
|
|
"defeat": "조조가 퇴각하거나 제13군령에 이르면 패한다."
|
|
},
|
|
{
|
|
"type": "withdraw_units",
|
|
"unit_ids": ["lu_bu_flank_rider_north", "lu_bu_flank_rider_south"]
|
|
},
|
|
{
|
|
"type": "spawn_deployments",
|
|
"deployments": [
|
|
{
|
|
"unit_id": "flooded_gate_guard",
|
|
"name": "수문 수비병",
|
|
"class_id": "infantry",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [8, 4],
|
|
"base": { "hp": 42, "atk": 14, "def": 9 }
|
|
},
|
|
{
|
|
"unit_id": "flooded_wall_archer",
|
|
"name": "수문 성벽 궁병",
|
|
"class_id": "archer",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [8, 6],
|
|
"base": { "hp": 32, "atk": 13, "def": 5 }
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "wan_gate_baggage_support",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "player", "turn": 4, "campaign_flags": { "held_wan_gate": true } },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Cao Ren", "text": "완성에서 온 짐수레가 포위선에 닿았습니다. 예비대가 안정되었습니다." },
|
|
{ "speaker": "Cao Cao", "text": "그렇다면 조심스럽게 밀어붙여라. 이제는 인내를 쓸 여유가 있다." }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "swift_wan_counterraid",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "enemy", "turn": 4, "campaign_flags": { "swift_wan_escape": true } },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Chen Gong", "text": "조조가 빨리 왔으나, 빠른 행군은 포위선을 얇게 만듭니다. 느슨한 수레를 치십시오." },
|
|
{ "speaker": "Xiahou Yuan", "text": "저들의 기습대가 보급로를 찾았습니다. 제가 끊어 내겠습니다." }
|
|
]
|
|
},
|
|
{
|
|
"type": "spawn_deployment",
|
|
"deployment": {
|
|
"unit_id": "supply_road_raider",
|
|
"name": "보급로 습격병",
|
|
"class_id": "bandit",
|
|
"team": "enemy",
|
|
"level": 8,
|
|
"pos": [4, 7],
|
|
"base": { "hp": 40, "atk": 14, "def": 7, "agi": 9 }
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "turn_6_lu_bu_cornered",
|
|
"once": true,
|
|
"when": { "type": "turn_start", "team": "player", "turn": 6 },
|
|
"actions": [
|
|
{
|
|
"type": "dialogue",
|
|
"lines": [
|
|
{ "speaker": "Cao Cao", "text": "저 기병이 달릴 마른 길은 이제 없다. 포위망을 닫고 진궁에게 한 시각도 더 주지 마라." },
|
|
{ "speaker": "Dian Wei", "text": "그렇다면 길은 여기서 끝입니다." }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"rewards": {
|
|
"gold": 1400,
|
|
"items": ["bean", "wine", "war_axe"],
|
|
"join_officers": ["guo_jia"]
|
|
},
|
|
"post_battle_dialogue": [
|
|
{ "speaker": "Xiahou Dun", "text": "하비가 무너졌습니다. 여포의 기병은 다시 연주를 어지럽히지 못할 것입니다." },
|
|
{ "speaker": "Dian Wei", "text": "빠른 말도 느린 말과 똑같이 물에 잠깁니다." },
|
|
{ "speaker": "Guo Jia", "text": "여포가 쓰러졌으니, 북방의 진짜 저울은 원소가 되었습니다." },
|
|
{ "speaker": "Cao Cao", "text": "판단 없는 속도는 더 긴 추락일 뿐이다. 이제 우리는 생존이 아니라 통치를 향해 돈다." }
|
|
],
|
|
"post_battle_choices": [
|
|
{
|
|
"id": "integrate_xu_province",
|
|
"label": "서주 편입",
|
|
"description": "조조가 새로 얻은 땅에 관리를 두어 서주를 안정시킨다.",
|
|
"set_flags": { "integrated_xu_province": true, "pressed_northern_campaign": false },
|
|
"gold": 200,
|
|
"items": ["iron_armor"]
|
|
},
|
|
{
|
|
"id": "press_northern_campaign",
|
|
"label": "북방 압박",
|
|
"description": "군세가 승세를 몰아 북방의 제후들을 겨눌 준비를 한다.",
|
|
"set_flags": { "integrated_xu_province": false, "pressed_northern_campaign": true },
|
|
"gold": 100,
|
|
"items": ["wine", "war_drum"]
|
|
}
|
|
]
|
|
}
|