Files
heros/data/scenarios/002_sishui_gate.json

446 lines
16 KiB
JSON

{
"id": "002_sishui_gate",
"name": "사수관 선봉전",
"objectives": {
"victory": "사수관 입구를 장악하고 화웅의 원군까지 격파하라.",
"defeat": "조조가 퇴각하거나 제17턴이 시작되면 패한다."
},
"conditions": {
"victory": {
"type": "all",
"conditions": [
{ "type": "all_units_defeated", "team": "enemy", "after_event": "turn_8_gate_reserve" },
{
"type": "unit_reaches_tile",
"label": "관문 장악",
"team": "player",
"unit_ids": ["cao_cao_ch2", "xiahou_dun_ch2", "xiahou_yuan_ch2", "cao_ren_ch2"],
"officer_ids": ["cao_cao", "xiahou_dun", "xiahou_yuan", "cao_ren"],
"cells": [[10, 3], [11, 3], [10, 4], [11, 4], [10, 5], [11, 5]]
}
]
},
"defeat": [
{ "type": "any_officer_defeated", "team": "player", "officer_ids": ["cao_cao"] },
{ "type": "turn_reached", "turn": 17, "team": "player" }
]
},
"briefing": {
"title": "사수관 선봉전",
"location": "사수관, 초평 원년",
"lines": [
"동탁을 토벌하기 위해 제후의 군기가 사수관 아래 모였다.",
"조조는 작은 선봉을 이끌고 화웅의 진을 먼저 시험하려 한다.",
"서남쪽 마을과 관문 안쪽 성채를 차지하면 병력을 고칠 수 있으나, 화웅의 후속 원군이 뒤따른다."
],
"camp_conversations": [
{
"id": "sishui_coalition_reading",
"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": "sishui_xiahou_yuan_ridge",
"group": "officer",
"officer_id": "xiahou_yuan",
"label": "하후연 - 산등성이",
"speaker": "Xiahou Yuan",
"display_speaker": "하후연",
"summary": "길 위를 내려다보는 궁병 진을 논한다.",
"lines": [
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "side": "right", "text": "적 궁병은 길 위의 능선을 좋아합니다. 자리를 굳히게 두면 화웅에게 닿기도 전에 선봉이 피를 흘릴 것입니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "그 눈을 흔들어 두어라. 한쪽 옆구리만 열어도 좁은 관문이 넓어 보일 것이다." }
]
},
{
"id": "sishui_quartermaster_antidote",
"group": "topic",
"label": "군수관의 약낭",
"summary": "관문 앞에서 마지막 쓸 만한 보급을 확인한다.",
"lines": [
{ "speaker": "Coalition Quartermaster", "display_speaker": "연합 군수관", "side": "left", "text": "장군, 서쪽 보급고에는 빌린 인장과 빈 약속만 가득합니다. 그래도 쓸 만한 해독약 한 꾸러미를 찾았습니다." },
{ "speaker": "Cao Ren", "display_speaker": "조인", "side": "right", "text": "가져오게. 제대로 된 치료 한 번이 전열 하나를 무너지지 않게 한다." }
],
"effects": [
{ "type": "grant_item", "item_id": "antidote", "count": 1, "text": "군수관이 해독약 한 꾸러미를 군수에 보탰다." }
]
}
]
},
"shop": {
"merchant": {
"name": "연합 상인",
"lines": [
"사수관의 제후들은 공을 탐하지만, 붕대를 넉넉히 사는 이는 늘 선봉뿐입니다.",
"도포와 갑옷, 활과 창을 갖췄습니다. 화웅이 뚫고 나오면 물건의 출처를 묻는 이는 없을 겁니다."
]
},
"items": [
"bean",
"antidote",
"cloth_robe",
"leather_armor",
"short_bow",
"training_spear"
],
"stock": {
"cloth_robe": 1,
"leather_armor": 1,
"short_bow": 1,
"training_spear": 1
}
},
"roster": {
"max_units": 4,
"required_officers": ["cao_cao"]
},
"formation": {
"cells": [[1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5]]
},
"map": {
"width": 12,
"height": 9,
"background": "res://art/backgrounds/sishui_gate_pass.png",
"terrain": [
"GGGGGRRGGGGG",
"GGGFFRRGHHGG",
"GGGFFRRGHHGG",
"GGGGGRRGGGCC",
"RRRRRRRRRRCC",
"GGGGGRRGGGCC",
"GGHTTFFGGGGG",
"GGHTTFFGGWWG",
"GGGGGGGGGWWG"
]
},
"deployments": [
{
"unit_id": "cao_cao_ch2",
"officer_id": "cao_cao",
"team": "player",
"pos": [1, 4]
},
{
"unit_id": "xiahou_dun_ch2",
"officer_id": "xiahou_dun",
"team": "player",
"pos": [1, 5]
},
{
"unit_id": "xiahou_yuan_ch2",
"officer_id": "xiahou_yuan",
"team": "player",
"requires_joined": true,
"pos": [2, 4]
},
{
"unit_id": "cao_ren_ch2",
"officer_id": "cao_ren",
"team": "player",
"requires_joined": true,
"pos": [2, 5]
},
{
"unit_id": "hua_xiong_vanguard",
"name": "화웅 선봉대",
"class_id": "cavalry",
"team": "enemy",
"level": 2,
"pos": [9, 4],
"base": { "hp": 44, "atk": 15, "def": 7 }
},
{
"unit_id": "liang_spearman_1",
"name": "양주 창병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [8, 3],
"base": { "hp": 34, "atk": 12, "def": 6 }
},
{
"unit_id": "liang_spearman_2",
"name": "양주 창병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [8, 5],
"base": { "hp": 34, "atk": 12, "def": 6 }
},
{
"unit_id": "liang_archer",
"name": "양주 궁병",
"class_id": "archer",
"team": "enemy",
"level": 2,
"pos": [10, 2],
"base": { "hp": 28, "atk": 10, "def": 4 }
},
{
"unit_id": "gate_guard_1",
"name": "관문 수비병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [10, 3],
"base": { "hp": 36, "atk": 11, "def": 8 }
},
{
"unit_id": "gate_guard_2",
"name": "관문 궁병",
"class_id": "archer",
"team": "enemy",
"level": 2,
"pos": [10, 5],
"base": { "hp": 28, "atk": 10, "def": 5 }
},
{
"unit_id": "liang_outrider",
"name": "양주 기마척후",
"class_id": "cavalry",
"team": "enemy",
"level": 2,
"pos": [7, 6],
"base": { "hp": 34, "atk": 12, "def": 6 }
},
{
"unit_id": "liang_gate_sentinel",
"name": "관문 창병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [9, 5],
"base": { "hp": 34, "atk": 11, "def": 7 }
}
],
"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": "조조", "side": "left", "text": "연합의 큰 군기는 뒤에 서 있다. 오늘 앞에 선 깃발은 우리 것이다. 관문 입구를 먼저 열어라." },
{ "speaker": "Hua Xiong", "display_speaker": "화웅", "side": "right", "text": "제후들이 사람을 고르다 겨우 조조의 작은 선봉을 내보냈나? 사수관 앞에서 담력을 꺾어 주마." },
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "side": "right", "text": "적 궁병이 능선을 잡았습니다. 제가 옆구리를 눌러 두겠습니다." }
]
}
]
},
{
"id": "turn_2_warning",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 2 },
"actions": [
{ "type": "log", "text": "화웅의 병사들이 진형을 조여 왔다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Scout", "display_speaker": "척후", "side": "right", "text": "관문 안쪽 북소리가 빨라졌습니다. 창병과 기병이 입구를 좁히고 있습니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "저들이 좁힌 길은 우리에게도 칼끝을 모을 곳이다. 관문 입구를 빼앗아 사기를 눌러라." }
]
},
{
"type": "set_objective",
"victory": "관문 입구를 장악하고 화웅의 선봉과 원군을 격파하라.",
"defeat": "조조가 퇴각하거나 제17턴이 시작되면 패한다."
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "liang_reinforcement_1",
"name": "양주 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 2,
"pos": [11, 3],
"base": { "hp": 36, "atk": 12, "def": 6 }
},
{
"unit_id": "liang_reinforcement_2",
"name": "양주 호위병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [11, 5],
"base": { "hp": 34, "atk": 11, "def": 7 }
}
]
}
]
},
{
"id": "turn_5_ridge_patrol",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 5 },
"actions": [
{ "type": "log", "text": "북쪽 능선에서 화웅의 정찰대가 전장으로 내려온다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "side": "right", "text": "능선 뒤에서 말발굽과 활시위 소리가 겹칩니다. 저들이 높은 길을 타고 내려옵니다." },
{ "speaker": "Hua Xiong", "display_speaker": "화웅", "side": "right", "text": "위에서 누르면 좁은 길의 선봉은 몸을 돌릴 틈도 없다. 조조의 깃발을 몰아붙여라!" },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "하후돈은 중앙을 붙들고, 하후연은 능선의 눈을 흐려라. 어느 쪽도 관문 앞에서 물러서지 않는다." }
]
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "liang_ridge_archer",
"name": "능선 궁병",
"class_id": "archer",
"team": "enemy",
"level": 2,
"pos": [9, 1],
"base": { "hp": 28, "atk": 10, "def": 4 }
},
{
"unit_id": "liang_ridge_spearman",
"name": "능선 창병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [8, 1],
"base": { "hp": 34, "atk": 11, "def": 6 }
},
{
"unit_id": "liang_ridge_cavalry",
"name": "능선 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 2,
"pos": [9, 2],
"base": { "hp": 34, "atk": 12, "def": 6 }
}
]
},
{
"type": "set_ai_target_priority",
"unit_id": "xiahou_dun_ch2",
"priority": 8,
"text": "능선 정찰대가 하후돈의 선봉을 노린다."
}
]
},
{
"id": "turn_8_gate_reserve",
"once": true,
"when": { "type": "turn_start", "team": "enemy", "turn": 8 },
"actions": [
{ "type": "log", "text": "관문 뒤편에서 화웅의 예비대가 마지막으로 밀려 나온다." },
{
"type": "dialogue",
"lines": [
{ "speaker": "Hua Xiong", "display_speaker": "화웅", "side": "right", "text": "예비대까지 앞으로! 사수관 입구에서 물러난 자는 내 칼보다 먼저 군율에 죽는다." },
{ "speaker": "Cao Ren", "display_speaker": "조인", "side": "right", "text": "마지막 예비대입니다. 관문 뒤 병력이 모두 앞으로 밀려 나옵니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "좋다. 입구를 붙들고 마지막 예비대까지 꺾어라. 그러면 사수관의 첫 문은 우리 것이다." }
]
},
{
"type": "set_objective",
"victory": "관문 입구를 장악한 채 화웅의 마지막 예비대까지 모두 격파하라."
},
{
"type": "spawn_deployments",
"deployments": [
{
"unit_id": "liang_gate_reserve_cavalry",
"name": "관문 기병",
"class_id": "cavalry",
"team": "enemy",
"level": 2,
"pos": [11, 2],
"base": { "hp": 36, "atk": 13, "def": 6 }
},
{
"unit_id": "liang_gate_reserve_guard",
"name": "관문 호위병",
"class_id": "infantry",
"team": "enemy",
"level": 2,
"pos": [11, 6],
"base": { "hp": 36, "atk": 11, "def": 7 }
},
{
"unit_id": "liang_gate_reserve_archer",
"name": "관문 궁병",
"class_id": "archer",
"team": "enemy",
"level": 2,
"pos": [11, 7],
"base": { "hp": 28, "atk": 10, "def": 4 }
}
]
},
{
"type": "set_ai_target_priority",
"unit_id": "cao_cao_ch2",
"priority": 11,
"text": "화웅의 예비대가 조조의 선봉 깃발을 노린다."
}
]
},
{
"id": "hua_xiong_vanguard_falls",
"once": true,
"when": { "type": "unit_defeated", "team": "enemy", "unit_ids": ["hua_xiong_vanguard"] },
"actions": [
{
"type": "dialogue",
"lines": [
{ "speaker": "Hua Xiong", "display_speaker": "화웅", "side": "right", "text": "내 선봉이 조조의 작은 군에 밀렸다고? 관문 뒤 병력을 앞으로 세워라!" },
{ "speaker": "Cao Cao", "display_speaker": "조조", "side": "left", "text": "선봉의 기세가 꺾였다. 그러나 화웅은 아직 문 안에서 병력을 밀어 낼 것이다. 진형을 흐트리지 마라." }
]
},
{
"type": "set_objective",
"victory": "화웅의 선봉을 꺾었다. 관문 입구를 장악한 채 남은 예비대까지 격파하라."
}
]
}
],
"post_battle_choices": [
{
"id": "pursue_dong_zhuo",
"label": "동탁 추격",
"description": "조조가 물러나는 적을 몰아붙이고 조인이 사수관을 지킨다.",
"leave_officers": ["cao_ren"],
"set_flags": { "pursued_dong_zhuo": true, "regrouped_after_sishui": false }
},
{
"id": "regroup_coalition",
"label": "연합 재정비",
"description": "선봉이 잠시 멈추어 보급을 모은다.",
"set_flags": { "pursued_dong_zhuo": false, "regrouped_after_sishui": true }
}
],
"rewards": {
"gold": 500,
"items": ["bean"]
},
"post_battle_dialogue": [
{ "speaker": "Xiahou Yuan", "display_speaker": "하후연", "text": "사수관은 무너졌으나 동탁의 본대는 이미 서쪽으로 움직이고 있습니다." },
{ "speaker": "Cao Cao", "display_speaker": "조조", "text": "제후들은 말다툼을 벌이는 동안 적은 달아날 것이다. 추격할지, 재정비할지 우리가 정해야 한다." }
]
}