diff --git a/data/scenarios/049_luoyang_summons.json b/data/scenarios/049_luoyang_summons.json index 79fda8e..95f6c29 100644 --- a/data/scenarios/049_luoyang_summons.json +++ b/data/scenarios/049_luoyang_summons.json @@ -1,9 +1,9 @@ { "id": "049_luoyang_summons", - "name": "Luoyang Summons", + "name": "낙양 소환전", "objectives": { - "victory": "Reach Luoyang's outer court road with Cao Cao, then defeat the court road guard.", - "defeat": "Cao Cao is defeated or the battle reaches Turn 18." + "victory": "조조가 낙양 외조 길에 닿은 뒤 조정 길목 수비대를 격파하라.", + "defeat": "조조가 퇴각하거나 18턴이 시작된다." }, "conditions": { "victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "luoyang_court_road_reached" }, @@ -13,28 +13,57 @@ ] }, "briefing": { - "title": "Luoyang Summons", - "location": "Luoyang Outer Court Road, 220 CE", + "title": "낙양 소환전", + "location": "낙양 외조 길목, 건안 25년", "lines": [ - "Jing Province has been settled, and a summons from Luoyang pulls Cao Cao's army from the field toward the court road.", - "The road to the capital is guarded by men who fear that every banner approaching Luoyang carries a decision larger than battle." + "형주는 평정되었고, 낙양에서 내려온 소환은 조조의 군을 전장 밖 조정 길목으로 끌어당긴다.", + "도성으로 향하는 길에는 낙양에 다가오는 깃발마다 전투보다 큰 결정을 품었다고 두려워하는 병사들이 서 있다." ], "conditional_lines": [ { "campaign_flags": { "stabilized_jing_province": true }, "lines": [ - "Stabilizing Jing Province leaves the rear quieter, letting Cao Cao answer Luoyang with a disciplined column and full supply carts." + "형주를 안정시킨 덕에 후방은 잠잠하고, 조조는 정연한 군열과 가득 찬 수레로 낙양의 부름에 답한다." ] }, { "campaign_flags": { "answered_luoyang_summons": true }, "lines": [ - "Answering Luoyang quickly has won speed, but the hurried road leaves anxious court guards guessing Cao Cao's intent." + "낙양의 소환에 즉시 응해 속도는 얻었으나, 서두른 길은 불안한 조정 수비대에게 조조의 뜻을 멋대로 짐작하게 한다." + ] + } + ], + "camp_conversations": [ + { + "id": "luoyang_summons_council", + "label": "낙양 소환 군의", + "group": "topic", + "speaker": "Cao Ren", + "lines": [ + { "speaker": "Cao Ren", "text": "조정 길목이 전장처럼 막혀 있습니다. 낙양 안의 소리가 소환장보다 더 큰 모양입니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 길 위에서 먼저 답한다. 두려움이 조서를 대신 쓰게 두지 않는다." } + ] + }, + { + "id": "luoyang_guo_jia_summons_shadow", + "label": "곽가 - 소환의 그림자", + "group": "officer", + "officer_id": "guo_jia", + "lines": [ + { "speaker": "Guo Jia", "text": "깃발의 뜻을 두려워하는 자들은 사람보다 먼저 길을 시험합니다." }, + { "speaker": "Cao Cao", "text": "길이 묻는다면 길 위에서 대답한다. 낙양이 들을 만큼 분명하게." } ] } ] }, "shop": { + "merchant": { + "name": "낙양 외조 야상", + "lines": [ + "낙양 길목에서는 칼집도 말소리도 낮춰야 합니다. 그러나 허리의 콩 주머니는 비어 있으면 안 됩니다.", + "조정 문 앞에 설 군이라면 갑옷의 끈과 깃발의 색부터 살피십시오. 필요한 물건을 내어 두었습니다." + ] + }, "items": [ "bean", "wine", @@ -131,7 +160,7 @@ }, { "unit_id": "luoyang_court_road_guard", - "name": "Luoyang Court Road Guard", + "name": "낙양 외조 수비대", "class_id": "commander", "team": "enemy", "level": 46, @@ -140,7 +169,7 @@ }, { "unit_id": "imperial_gate_captain", - "name": "Imperial Gate Captain", + "name": "황문 대장", "class_id": "guard_captain", "team": "enemy", "level": 46, @@ -149,7 +178,7 @@ }, { "unit_id": "court_road_oath_keeper", - "name": "Court Road Oath Keeper", + "name": "조정 길목 맹세 용장", "class_id": "champion", "team": "enemy", "level": 46, @@ -158,7 +187,7 @@ }, { "unit_id": "luoyang_court_advisor", - "name": "Luoyang Court Advisor", + "name": "낙양 조정 군사", "class_id": "military_advisor", "team": "enemy", "level": 46, @@ -168,7 +197,7 @@ }, { "unit_id": "court_road_spear_north", - "name": "Court Road Spear", + "name": "조정 길목 창병", "class_id": "infantry", "team": "enemy", "level": 46, @@ -177,7 +206,7 @@ }, { "unit_id": "court_road_spear_south", - "name": "Court Road Spear", + "name": "조정 길목 창병", "class_id": "infantry", "team": "enemy", "level": 46, @@ -186,7 +215,7 @@ }, { "unit_id": "court_road_marksman", - "name": "Court Road Marksman", + "name": "조정 길목 궁병", "class_id": "marksman", "team": "enemy", "level": 46, @@ -200,7 +229,7 @@ "once": true, "when": { "type": "battle_start" }, "actions": [ - { "type": "log", "text": "Cao Cao answers Luoyang's summons as armed court guards close the outer road." } + { "type": "log", "text": "조조가 낙양의 소환에 응하자 무장한 조정 수비대가 외조 길목을 닫는다." } ] }, { @@ -211,9 +240,9 @@ { "type": "dialogue", "lines": [ - { "speaker": "Cao Ren", "text": "The court road is guarded like a battlefield. Luoyang must be louder than the summons admitted." }, - { "speaker": "Guo Jia", "text": "When men fear the meaning of a banner, they challenge the road before they challenge the man." }, - { "speaker": "Cao Cao", "text": "Then we answer clearly. Reach Luoyang without letting fear write the first decree." } + { "speaker": "Cao Ren", "text": "조정 길목이 전장처럼 막혀 있습니다. 낙양 안의 소리가 소환장보다 더 큰 모양입니다." }, + { "speaker": "Guo Jia", "text": "깃발의 뜻을 두려워하는 자들은 사람보다 먼저 길을 시험합니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 분명히 답한다. 두려움이 첫 조서를 쓰기 전에 낙양에 닿는다." } ] } ] @@ -226,8 +255,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Xiahou Yuan", "text": "The Jing Province supply column keeps pace behind us. The road to Luoyang will not starve the army." }, - { "speaker": "Cao Cao", "text": "A quiet rear lets the front speak with authority." } + { "speaker": "Xiahou Yuan", "text": "형주 보급 수레가 뒤에서 보조를 맞춥니다. 낙양 길이 군을 굶기지는 못할 것입니다." }, + { "speaker": "Cao Cao", "text": "후방이 조용하면 앞길의 말도 무게를 얻는다." } ] } ] @@ -240,15 +269,15 @@ { "type": "dialogue", "lines": [ - { "speaker": "Luoyang Court Road Guard", "text": "Cao Cao comes too quickly. Riders, test the flank before his banners reach the gate." }, - { "speaker": "Zhang He", "text": "Speed has made them nervous. Nervous men reveal the road they mean to keep." } + { "speaker": "낙양 외조 수비대", "text": "조조가 너무 빠르다. 기병은 저 깃발이 문에 닿기 전에 측면을 시험하라." }, + { "speaker": "Zhang He", "text": "빠른 발걸음이 저들을 흔들었습니다. 흔들리는 자는 지키려는 길을 먼저 드러냅니다." } ] }, { "type": "spawn_deployment", "deployment": { "unit_id": "luoyang_gate_riders", - "name": "Luoyang Gate Riders", + "name": "낙양 문전 기병", "class_id": "cavalry", "team": "enemy", "level": 46, @@ -266,8 +295,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Luoyang Court Advisor", "text": "Hold the outer road. If Cao Cao enters Luoyang under arms, the court will never decide whether it invited him or yielded to him." }, - { "speaker": "Guo Jia", "text": "They fear appearance as much as defeat. That makes the road narrower than it looks." } + { "speaker": "낙양 조정 군사", "text": "외조 길목을 지켜라. 조조가 무장한 채 낙양에 들면 조정은 그를 초청한 것인지 굴복한 것인지 끝내 정하지 못할 것이다." }, + { "speaker": "Guo Jia", "text": "저들은 패배만큼이나 겉모양을 두려워합니다. 그러니 길은 보이는 것보다 좁습니다." } ] } ] @@ -279,14 +308,14 @@ "actions": [ { "type": "set_objective", - "victory": "Luoyang's outer court road is reached. Defeat the court road guard.", - "defeat": "Cao Cao is defeated or the battle reaches Turn 18." + "victory": "낙양 외조 길에 닿았다. 조정 길목 수비대를 격파하라.", + "defeat": "조조가 퇴각하거나 18턴이 시작된다." }, { "type": "dialogue", "lines": [ - { "speaker": "Cao Cao", "text": "The outer court road is ours. Put down the guard before the summons becomes a siege." }, - { "speaker": "Luoyang Court Road Guard", "text": "Luoyang does not open because one man declares the road his." } + { "speaker": "Cao Cao", "text": "외조 길은 우리 손에 들어왔다. 소환이 포위전으로 변하기 전에 수비대를 눌러라." }, + { "speaker": "낙양 외조 수비대", "text": "한 사람이 길을 제 것이라 말한다고 낙양이 열리지는 않는다." } ] }, { @@ -294,7 +323,7 @@ "deployments": [ { "unit_id": "luoyang_inner_gate_guard", - "name": "Luoyang Inner Gate Guard", + "name": "낙양 내문 수비대", "class_id": "guard_captain", "team": "enemy", "level": 46, @@ -303,7 +332,7 @@ }, { "unit_id": "luoyang_crossbow_screen", - "name": "Luoyang Crossbow Screen", + "name": "낙양 쇠뇌막", "class_id": "archer", "team": "enemy", "level": 46, @@ -322,8 +351,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Cao Ren", "text": "The court road is opening. Their guards are beginning to step back from their own decree." }, - { "speaker": "Cao Cao", "text": "Then let the last hesitation fall before Luoyang sees us." } + { "speaker": "Cao Ren", "text": "조정 길목이 열리고 있습니다. 저들의 수비대가 스스로 내건 명분에서 물러서기 시작했습니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 낙양이 우리를 보기 전에 마지막 망설임도 쓰러뜨려라." } ] } ] @@ -334,23 +363,23 @@ "items": ["bean", "wine", "imperial_seal"] }, "post_battle_dialogue": [ - { "speaker": "Guo Jia", "text": "The road to Luoyang is open. The court will hear Cao Cao's answer without a guard choosing its tone." }, - { "speaker": "Cao Ren", "text": "We can secure the court's order first, or prepare the Wei succession before the next storm breaks." }, - { "speaker": "Cao Cao", "text": "The court asks for certainty. The army asks for tomorrow. Choose which answer we shape first." } + { "speaker": "Guo Jia", "text": "낙양으로 드는 길이 열렸습니다. 이제 조정은 수비대가 억양을 고르지 않은 조조의 답을 듣게 됩니다." }, + { "speaker": "Cao Ren", "text": "먼저 조정의 명을 수습할 수도 있고, 다음 폭풍이 일기 전에 위왕 계승을 준비할 수도 있습니다." }, + { "speaker": "Cao Cao", "text": "조정은 확신을 묻고 군은 내일을 묻는다. 어느 답을 먼저 빚을지 정하라." } ], "post_battle_choices": [ { "id": "secure_luoyang_court", - "label": "Secure Court", - "description": "Cao Cao secures Luoyang's court order before turning to the next military front.", + "label": "조정 수습", + "description": "조조가 낙양 조정의 명을 수습한 뒤 다음 전선으로 눈을 돌린다.", "set_flags": { "secured_luoyang_court": true, "prepared_wei_succession": false }, "gold": 1700, "items": ["imperial_seal"] }, { "id": "prepare_wei_succession", - "label": "Prepare Wei", - "description": "Cao Cao prepares Wei's succession while Luoyang's summons still echoes through the court.", + "label": "위왕 계승 준비", + "description": "조조가 낙양의 소환이 아직 조정에 울리는 동안 위왕 계승을 준비한다.", "set_flags": { "secured_luoyang_court": false, "prepared_wei_succession": true }, "gold": 1500, "items": ["war_drum"] diff --git a/data/scenarios/050_wei_succession.json b/data/scenarios/050_wei_succession.json index ba2defb..c681644 100644 --- a/data/scenarios/050_wei_succession.json +++ b/data/scenarios/050_wei_succession.json @@ -1,9 +1,9 @@ { "id": "050_wei_succession", - "name": "Wei Succession", + "name": "위왕 계승전", "objectives": { - "victory": "Reach the Wei succession dais with Cao Cao, then defeat the court loyalists.", - "defeat": "Cao Cao is defeated or the battle reaches Turn 18." + "victory": "조조가 위왕 계승 단상에 닿은 뒤 조정 충의군을 격파하라.", + "defeat": "조조가 퇴각하거나 18턴이 시작된다." }, "conditions": { "victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "wei_succession_dais_reached" }, @@ -13,28 +13,57 @@ ] }, "briefing": { - "title": "Wei Succession", - "location": "Luoyang Court Dais, 220 CE", + "title": "위왕 계승전", + "location": "낙양 조정 단상, 건안 25년", "lines": [ - "The court road is open, but Luoyang's halls still tremble between imperial ceremony, Wei authority, and soldiers who understand both too well.", - "Cao Cao moves to secure the succession dais before court loyalists can turn hesitation into a capital crisis." + "조정 길은 열렸으나 낙양의 전각은 황실 의례와 위의 권위, 그리고 그 둘을 너무 잘 아는 병사들 사이에서 아직 떨린다.", + "조정 충의군이 망설임을 도성의 위기로 바꾸기 전에, 조조는 계승 단상을 확보하려 한다." ], "conditional_lines": [ { "campaign_flags": { "secured_luoyang_court": true }, "lines": [ - "Securing Luoyang's court order gives Cao Cao a formal path to the dais, though the loyalists still gather behind the outer screen." + "낙양 조정의 명을 수습한 덕에 조조에게 단상으로 향하는 공식 길은 열렸으나, 충의군은 여전히 바깥 장막 뒤에 모인다." ] }, { "campaign_flags": { "prepared_wei_succession": true }, "lines": [ - "Preparing Wei's succession has made the court transition swift, but speed also gives anxious loyalists a reason to draw steel." + "위왕 계승을 미리 준비해 조정의 전환은 빨라졌으나, 그 속도는 불안한 충의군에게 칼을 뽑을 명분도 준다." + ] + } + ], + "camp_conversations": [ + { + "id": "wei_succession_council", + "label": "위왕 계승 군의", + "group": "topic", + "speaker": "Cao Ren", + "lines": [ + { "speaker": "Cao Ren", "text": "조정 길은 열렸지만 단상 안쪽에는 아직 충의군의 창끝이 서 있습니다." }, + { "speaker": "Cao Cao", "text": "의례가 전장이 되었으면 전장답게 질서를 세운다. 위의 내일을 겁먹은 손에 맡기지 않는다." } + ] + }, + { + "id": "wei_guo_jia_seal_hands", + "label": "곽가 - 떨리는 인장", + "group": "officer", + "officer_id": "guo_jia", + "lines": [ + { "speaker": "Guo Jia", "text": "인장은 이미 어느 손이 명을 내리는지 압니다. 다만 그것을 쥔 사람들이 조금 늦을 뿐입니다." }, + { "speaker": "Cao Cao", "text": "늦은 손을 기다리다 국사가 흔들리게 둘 수는 없다." } ] } ] }, "shop": { + "merchant": { + "name": "위왕 계승 야상", + "lines": [ + "조정 뜰에서는 물건 이름 하나도 낮춰 불러야 합니다. 그래도 병사들의 주머니는 비어 있으면 안 되지요.", + "단상에 오르려면 칼날보다 먼저 군열이 흐트러지지 않아야 합니다. 필요한 보급을 살피십시오." + ] + }, "items": [ "bean", "wine", @@ -131,7 +160,7 @@ }, { "unit_id": "wei_succession_loyalist_commander", - "name": "Wei Succession Loyalist", + "name": "위왕 계승 충의대장", "class_id": "commander", "team": "enemy", "level": 47, @@ -140,7 +169,7 @@ }, { "unit_id": "court_screen_captain", - "name": "Court Screen Captain", + "name": "조정 장막 대장", "class_id": "guard_captain", "team": "enemy", "level": 47, @@ -149,7 +178,7 @@ }, { "unit_id": "imperial_oath_champion", - "name": "Imperial Oath Champion", + "name": "황실 맹세 용장", "class_id": "champion", "team": "enemy", "level": 47, @@ -158,7 +187,7 @@ }, { "unit_id": "succession_court_advisor", - "name": "Succession Court Advisor", + "name": "계승 조정 군사", "class_id": "military_advisor", "team": "enemy", "level": 47, @@ -168,7 +197,7 @@ }, { "unit_id": "succession_spear_north", - "name": "Succession Spear", + "name": "계승 창병", "class_id": "infantry", "team": "enemy", "level": 47, @@ -177,7 +206,7 @@ }, { "unit_id": "succession_spear_south", - "name": "Succession Spear", + "name": "계승 창병", "class_id": "infantry", "team": "enemy", "level": 47, @@ -186,7 +215,7 @@ }, { "unit_id": "succession_crossbow_guard", - "name": "Succession Crossbow Guard", + "name": "계승 쇠뇌수", "class_id": "marksman", "team": "enemy", "level": 47, @@ -200,7 +229,7 @@ "once": true, "when": { "type": "battle_start" }, "actions": [ - { "type": "log", "text": "Cao Cao advances through Luoyang's inner court to secure the Wei succession dais." } + { "type": "log", "text": "조조가 위왕 계승 단상을 확보하기 위해 낙양 내조로 진격한다." } ] }, { @@ -211,9 +240,9 @@ { "type": "dialogue", "lines": [ - { "speaker": "Cao Ren", "text": "The court road opened, but the inner dais still bristles with loyalist spears." }, - { "speaker": "Guo Jia", "text": "Ceremony is just another battlefield when every bow decides which way history kneels." }, - { "speaker": "Cao Cao", "text": "Then we cross it with order. Wei's future will not be left to frightened hands." } + { "speaker": "Cao Ren", "text": "조정 길은 열렸지만 단상 안쪽에는 아직 충의군의 창끝이 서 있습니다." }, + { "speaker": "Guo Jia", "text": "모든 활이 역사가 어느 쪽에 무릎 꿇을지 정한다면, 의례도 또 하나의 전장입니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 질서로 건넌다. 위의 내일을 겁먹은 손에 맡기지 않는다." } ] } ] @@ -226,8 +255,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Guo Jia", "text": "The secured court order gives us the formal path. Their resistance must now explain itself to every watching clerk." }, - { "speaker": "Cao Cao", "text": "A written order can be sharper than a blade when men still pretend to obey it." } + { "speaker": "Guo Jia", "text": "수습된 조정 명이 우리에게 공식 길을 열었습니다. 저항하는 자들은 이제 지켜보는 서리들에게도 제 뜻을 설명해야 합니다." }, + { "speaker": "Cao Cao", "text": "사람들이 아직 복종하는 척할 때에는, 글로 적힌 명도 칼보다 날카로울 수 있다." } ] } ] @@ -240,15 +269,15 @@ { "type": "dialogue", "lines": [ - { "speaker": "Wei Succession Loyalist", "text": "Wei moves too quickly. Riders, cut across the court road before the dais changes hands." }, - { "speaker": "Zhang He", "text": "They fear speed because it leaves them no time to choose a better lie." } + { "speaker": "위왕 계승 충의대장", "text": "위가 너무 빠르다. 기병은 단상이 손을 바꾸기 전에 조정 길을 가로질러라." }, + { "speaker": "Zhang He", "text": "저들은 빠른 결정을 두려워합니다. 더 나은 거짓을 고를 시간이 없기 때문입니다." } ] }, { "type": "spawn_deployment", "deployment": { "unit_id": "succession_loyalist_riders", - "name": "Succession Loyalist Riders", + "name": "계승 충의 기병", "class_id": "cavalry", "team": "enemy", "level": 47, @@ -266,8 +295,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Succession Court Advisor", "text": "Hold the screen. If Cao Cao reaches the dais, every seal in Luoyang will know which hand directs it." }, - { "speaker": "Guo Jia", "text": "The seals already know. The men holding them are slower." } + { "speaker": "계승 조정 군사", "text": "장막을 지켜라. 조조가 단상에 닿으면 낙양의 모든 인장이 어느 손의 명을 따르는지 알게 된다." }, + { "speaker": "Guo Jia", "text": "인장은 이미 압니다. 그것을 쥔 사람들이 늦을 뿐입니다." } ] } ] @@ -279,14 +308,14 @@ "actions": [ { "type": "set_objective", - "victory": "The Wei succession dais is reached. Defeat the court loyalists.", - "defeat": "Cao Cao is defeated or the battle reaches Turn 18." + "victory": "위왕 계승 단상에 닿았다. 조정 충의군을 격파하라.", + "defeat": "조조가 퇴각하거나 18턴이 시작된다." }, { "type": "dialogue", "lines": [ - { "speaker": "Cao Cao", "text": "The dais is reached. Let the court see that order stands here, not panic." }, - { "speaker": "Wei Succession Loyalist", "text": "A dais is not authority while loyal blades still stand between it and the court." } + { "speaker": "Cao Cao", "text": "단상에 닿았다. 조정이 보게 하라. 이곳에 선 것은 공포가 아니라 질서다." }, + { "speaker": "위왕 계승 충의대장", "text": "충의의 칼이 조정과 단상 사이에 서 있는 한, 단상은 권위가 아니다." } ] }, { @@ -294,7 +323,7 @@ "deployments": [ { "unit_id": "succession_inner_screen_guard", - "name": "Succession Inner Screen Guard", + "name": "계승 내장막 수비대", "class_id": "guard_captain", "team": "enemy", "level": 47, @@ -303,7 +332,7 @@ }, { "unit_id": "succession_arrow_screen", - "name": "Succession Arrow Screen", + "name": "계승 화살막", "class_id": "archer", "team": "enemy", "level": 47, @@ -322,8 +351,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Xiahou Dun", "text": "Their screen is cracking. Even the court scribes are starting to look past them." }, - { "speaker": "Cao Cao", "text": "Then let the record show the last doubt falling." } + { "speaker": "Xiahou Dun", "text": "저들의 장막이 갈라집니다. 조정 서리들조차 그 너머를 보기 시작했습니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 마지막 의심이 쓰러지는 것도 기록에 남기게 하라." } ] } ] @@ -334,23 +363,23 @@ "items": ["bean", "wine", "war_drum"] }, "post_battle_dialogue": [ - { "speaker": "Guo Jia", "text": "The succession dais is secure. Luoyang's seals now move with fewer trembling hands." }, - { "speaker": "Cao Ren", "text": "We can proclaim Wei's authority from the capital, or prepare the eastern front before Wu tests the transition." }, - { "speaker": "Cao Cao", "text": "Authority written in Luoyang must still be defended on the rivers. Choose where tomorrow hears it first." } + { "speaker": "Guo Jia", "text": "계승 단상은 확보되었습니다. 낙양의 인장들은 이제 조금 덜 떨리는 손으로 움직일 것입니다." }, + { "speaker": "Cao Ren", "text": "도성에서 위의 권위를 선포할 수도 있고, 오가 이 전환을 시험하기 전에 동부 전선을 준비할 수도 있습니다." }, + { "speaker": "Cao Cao", "text": "낙양에 적힌 권위도 강 위에서 지켜야 한다. 내일이 어느 곳에서 먼저 들을지 정하라." } ], "post_battle_choices": [ { "id": "proclaim_wei_authority", - "label": "Proclaim Wei", - "description": "Cao Cao proclaims Wei authority from Luoyang before turning back to the frontiers.", + "label": "위왕 권위 선포", + "description": "조조가 변방으로 눈을 돌리기 전에 낙양에서 위의 권위를 선포한다.", "set_flags": { "proclaimed_wei_authority": true, "prepared_eastern_front": false }, "gold": 1750, "items": ["imperial_seal"] }, { "id": "prepare_eastern_front", - "label": "Eastern Front", - "description": "Cao Cao prepares the eastern front before Wu can test the court transition.", + "label": "동부 전선 대비", + "description": "조조가 오군이 조정의 전환을 시험하기 전에 동부 전선을 준비한다.", "set_flags": { "proclaimed_wei_authority": false, "prepared_eastern_front": true }, "gold": 1550, "items": ["war_drum"] diff --git a/data/scenarios/051_eastern_front_alarm.json b/data/scenarios/051_eastern_front_alarm.json index d886d00..4f6c83f 100644 --- a/data/scenarios/051_eastern_front_alarm.json +++ b/data/scenarios/051_eastern_front_alarm.json @@ -1,9 +1,9 @@ { "id": "051_eastern_front_alarm", - "name": "Eastern Front Alarm", + "name": "동부 전선 경보전", "objectives": { - "victory": "Reach the eastern front crossing with Cao Cao, then defeat the Wu river guard.", - "defeat": "Cao Cao is defeated or the battle reaches Turn 18." + "victory": "조조가 동부 전선 나루에 닿은 뒤 오군 강안 수비대를 격파하라.", + "defeat": "조조가 퇴각하거나 18턴이 시작된다." }, "conditions": { "victory": { "type": "all_units_defeated", "team": "enemy", "after_event": "eastern_crossing_reached" }, @@ -13,28 +13,57 @@ ] }, "briefing": { - "title": "Eastern Front Alarm", - "location": "Eastern River Front, Ruxu Approaches, 220 CE", + "title": "동부 전선 경보전", + "location": "동부 강안 전선, 유수 길목, 건안 25년", "lines": [ - "Wei's authority has settled in Luoyang, but the eastern rivers answer with alarm bells from Ruxu and quick Wu boats in the channels.", - "Cao Cao must reach the crossing before Wu turns the court transition into a river-front crisis." + "위의 권위는 낙양에 자리를 잡았으나, 동쪽 강들은 유수의 경종과 물길을 가르는 오군 선단으로 답한다.", + "오군이 조정의 전환을 강안의 위기로 바꾸기 전에, 조조는 나루에 닿아 전선을 눌러야 한다." ], "conditional_lines": [ { "campaign_flags": { "proclaimed_wei_authority": true }, "lines": [ - "Proclaiming Wei authority gives the army a clear banner, but Wu commanders now test whether that authority reaches the river." + "위의 권위를 선포해 군의 깃발은 분명해졌으나, 오군 장수들은 그 권위가 강물까지 닿는지 시험하려 한다." ] }, { "campaign_flags": { "prepared_eastern_front": true }, "lines": [ - "Preparing the eastern front puts shield boats and supply carts in place before Wu can turn the current against Wei." + "동부 전선을 준비해 둔 덕에 방패선과 보급 수레가 자리를 잡았고, 오군이 물살을 위군에게 돌리기 전에 강안이 굳어진다." + ] + } + ], + "camp_conversations": [ + { + "id": "eastern_alarm_council", + "label": "동부 경보 군의", + "group": "topic", + "speaker": "Cao Ren", + "lines": [ + { "speaker": "Cao Ren", "text": "낙양의 인장이 마르기도 전에 유수 물길에서 오군 북소리가 들립니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 강물에도 알게 하라. 위의 명은 조정 돌바닥에서 멈추지 않는다." } + ] + }, + { + "id": "eastern_guo_jia_river_test", + "label": "곽가 - 강물의 시험", + "group": "officer", + "officer_id": "guo_jia", + "lines": [ + { "speaker": "Guo Jia", "text": "새 권위는 늘 길이 얇고 물이 깊은 곳에서 먼저 시험받습니다." }, + { "speaker": "Cao Cao", "text": "그 시험을 피하지 않는다. 나루를 잡고 대답한다." } ] } ] }, "shop": { + "merchant": { + "name": "동부 강안 야상", + "lines": [ + "강안의 장사는 물살을 보고 물건을 풉니다. 오늘은 북소리가 물살보다 빠르군요.", + "나루를 잡으려면 젖은 활줄과 빈 주머니를 모두 경계해야 합니다. 필요한 보급을 챙기십시오." + ] + }, "items": [ "bean", "wine", @@ -131,7 +160,7 @@ }, { "unit_id": "wu_eastern_river_guard", - "name": "Wu Eastern River Guard", + "name": "오군 동강 수비대", "class_id": "commander", "team": "enemy", "level": 48, @@ -140,7 +169,7 @@ }, { "unit_id": "ruxu_alarm_captain", - "name": "Ruxu Alarm Captain", + "name": "유수 경보 대장", "class_id": "guard_captain", "team": "enemy", "level": 48, @@ -149,7 +178,7 @@ }, { "unit_id": "gan_ning_alarm_boat", - "name": "Gan Ning Alarm Boat", + "name": "감녕 경보선", "class_id": "champion", "team": "enemy", "move_type": "water", @@ -159,7 +188,7 @@ }, { "unit_id": "eastern_front_advisor", - "name": "Eastern Front Advisor", + "name": "동부 전선 군사", "class_id": "military_advisor", "team": "enemy", "level": 48, @@ -169,7 +198,7 @@ }, { "unit_id": "eastern_river_spear_north", - "name": "Eastern River Spear", + "name": "동강 창병", "class_id": "infantry", "team": "enemy", "level": 48, @@ -178,7 +207,7 @@ }, { "unit_id": "eastern_river_spear_south", - "name": "Eastern River Spear", + "name": "동강 창병", "class_id": "infantry", "team": "enemy", "level": 48, @@ -187,7 +216,7 @@ }, { "unit_id": "ruxu_alarm_arrow_boat", - "name": "Ruxu Alarm Arrow Boat", + "name": "유수 경보 궁선", "class_id": "marksman", "team": "enemy", "move_type": "water", @@ -202,7 +231,7 @@ "once": true, "when": { "type": "battle_start" }, "actions": [ - { "type": "log", "text": "Wu boats sound the alarm along the eastern river front as Wei's new authority reaches Ruxu." } + { "type": "log", "text": "위의 새 권위가 유수에 닿자 오군 선단이 동부 강안 전선에 경보를 울린다." } ] }, { @@ -213,9 +242,9 @@ { "type": "dialogue", "lines": [ - { "speaker": "Cao Ren", "text": "Luoyang's seals are barely dry, and already Ruxu's water carries Wu drums." }, - { "speaker": "Guo Jia", "text": "A new authority is always tested where the map is wettest and the roads are thinnest." }, - { "speaker": "Cao Cao", "text": "Then the river will learn that Wei's order reaches farther than court stone." } + { "speaker": "Cao Ren", "text": "낙양의 인장이 마르기도 전에 유수 물길에서 오군 북소리가 들립니다." }, + { "speaker": "Guo Jia", "text": "새 권위는 늘 길이 얇고 물이 깊은 곳에서 먼저 시험받습니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 강물에도 알게 하라. 위의 명은 조정 돌바닥에서 멈추지 않는다." } ] } ] @@ -228,15 +257,15 @@ { "type": "dialogue", "lines": [ - { "speaker": "Wu Eastern River Guard", "text": "Wei proclaims authority from Luoyang. Test whether that authority can cross water." }, - { "speaker": "Zhang He", "text": "They challenge the proclamation at the river. Good. A challenge seen is a challenge answered." } + { "speaker": "오군 동강 수비대", "text": "위가 낙양에서 권위를 선포했다. 그 권위가 물을 건널 수 있는지 시험하라." }, + { "speaker": "Zhang He", "text": "저들이 강 위에서 선포문을 시험합니다. 좋습니다. 보이는 도전은 답하기 쉽습니다." } ] }, { "type": "spawn_deployment", "deployment": { "unit_id": "wu_probe_boat", - "name": "Wu Probe Boat", + "name": "오군 탐문선", "class_id": "champion", "team": "enemy", "move_type": "water", @@ -255,8 +284,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Xiahou Yuan", "text": "The eastern front was ready. Our shield carts already cover the bank road." }, - { "speaker": "Cao Cao", "text": "Preparation turns a river alarm into a timetable." } + { "speaker": "Xiahou Yuan", "text": "동부 전선은 준비되어 있었습니다. 방패 수레가 이미 강안 길을 덮고 있습니다." }, + { "speaker": "Cao Cao", "text": "준비된 군에게 강안의 경보는 시간표가 될 뿐이다." } ] } ] @@ -269,8 +298,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Eastern Front Advisor", "text": "Keep their army on the bank and make every plank of the crossing cost a command." }, - { "speaker": "Guo Jia", "text": "Wu wants the river to speak louder than Luoyang." } + { "speaker": "동부 전선 군사", "text": "저 군을 강안에 묶어 두어라. 나루의 널빤지 하나마다 군령의 값을 치르게 하라." }, + { "speaker": "Guo Jia", "text": "오는 강물이 낙양보다 더 크게 말하기를 바랍니다." } ] } ] @@ -282,14 +311,14 @@ "actions": [ { "type": "set_objective", - "victory": "The eastern front crossing is reached. Defeat the Wu river guard.", - "defeat": "Cao Cao is defeated or the battle reaches Turn 18." + "victory": "동부 전선 나루에 닿았다. 오군 강안 수비대를 격파하라.", + "defeat": "조조가 퇴각하거나 18턴이 시작된다." }, { "type": "dialogue", "lines": [ - { "speaker": "Cao Cao", "text": "This crossing answers to Wei. Break the guard before Wu turns alarm into invasion." }, - { "speaker": "Wu Eastern River Guard", "text": "A crossing is only yours while boats stop fearing your banner." } + { "speaker": "Cao Cao", "text": "이 나루는 이제 위의 명에 답한다. 오군이 경보를 침공으로 바꾸기 전에 수비대를 깨뜨려라." }, + { "speaker": "오군 동강 수비대", "text": "배들이 네 깃발을 두려워할 때에만 나루도 네 것이 된다." } ] }, { @@ -297,7 +326,7 @@ "deployments": [ { "unit_id": "eastern_crossing_halberd_guard", - "name": "Eastern Crossing Halberd Guard", + "name": "동부 나루 극병대", "class_id": "guard_captain", "team": "enemy", "level": 48, @@ -306,7 +335,7 @@ }, { "unit_id": "eastern_crossing_arrow_boat", - "name": "Eastern Crossing Arrow Boat", + "name": "동부 나루 궁선", "class_id": "marksman", "team": "enemy", "move_type": "water", @@ -326,8 +355,8 @@ { "type": "dialogue", "lines": [ - { "speaker": "Cao Ren", "text": "The river bank is stabilizing. Wu's boats are drifting wider from the crossing." }, - { "speaker": "Cao Cao", "text": "Then let the water carry one lesson clearly." } + { "speaker": "Cao Ren", "text": "강안이 안정되고 있습니다. 오군 배들이 나루에서 더 멀리 밀려납니다." }, + { "speaker": "Cao Cao", "text": "그렇다면 물살이 한 가지 가르침만 또렷이 나르게 하라." } ] } ] @@ -338,23 +367,23 @@ "items": ["bean", "wine", "imperial_seal"] }, "post_battle_dialogue": [ - { "speaker": "Guo Jia", "text": "The eastern front alarm is quiet for now. Wu has learned that Wei's transition did not leave the river empty." }, - { "speaker": "Cao Ren", "text": "We can secure the eastern fleet, or press the Wu river line while their alarm is still unanswered." }, - { "speaker": "Cao Cao", "text": "A quiet river can hide a blade or carry one. Choose what the next current bears." } + { "speaker": "Guo Jia", "text": "동부 전선의 경보는 지금은 잠잠해졌습니다. 오는 위의 전환이 강을 비워 두지 않았다는 것을 배웠습니다." }, + { "speaker": "Cao Ren", "text": "동부 선단을 확보할 수도 있고, 저들의 경보가 아직 답을 얻지 못한 사이 오군 강안을 압박할 수도 있습니다." }, + { "speaker": "Cao Cao", "text": "조용한 강은 칼을 숨길 수도, 칼을 실어 나를 수도 있다. 다음 물살이 무엇을 품을지 정하라." } ], "post_battle_choices": [ { "id": "secure_eastern_fleet", - "label": "Secure Fleet", - "description": "Cao Cao secures the eastern fleet before the next river push.", + "label": "동부 선단 확보", + "description": "조조가 다음 강안 진격 전에 동부 선단을 확보한다.", "set_flags": { "secured_eastern_fleet": true, "pressed_wu_river_line": false }, "gold": 1800, "items": ["imperial_seal"] }, { "id": "press_wu_river_line", - "label": "Press Wu", - "description": "Cao Cao presses Wu's river line before the eastern alarm can settle.", + "label": "오군 강안 압박", + "description": "조조가 동부 경보가 가라앉기 전에 오군 강안 전선을 압박한다.", "set_flags": { "secured_eastern_fleet": false, "pressed_wu_river_line": true }, "gold": 1600, "items": ["war_drum"] diff --git a/tools/smoke_visual_assets.gd b/tools/smoke_visual_assets.gd index ef805ca..a7da886 100644 --- a/tools/smoke_visual_assets.gd +++ b/tools/smoke_visual_assets.gd @@ -2672,6 +2672,44 @@ func _check_battle_visual_data(failures: Array[String]) -> void: for expectation in jing_expectations: _check_campaign_entry_expectation(failures, expectation) + var wei_succession_expectations := [ + { + "path": "res://data/scenarios/049_luoyang_summons.json", + "label": "049 Luoyang summons", + "merchant": "낙양 외조 야상", + "conversations": [ + ["luoyang_summons_council", "topic", ""], + ["luoyang_guo_jia_summons_shadow", "officer", "guo_jia"] + ], + "imperial_flag": {"stabilized_jing_province": true}, + "war_drum_flag": {"answered_luoyang_summons": true} + }, + { + "path": "res://data/scenarios/050_wei_succession.json", + "label": "050 Wei succession", + "merchant": "위왕 계승 야상", + "conversations": [ + ["wei_succession_council", "topic", ""], + ["wei_guo_jia_seal_hands", "officer", "guo_jia"] + ], + "imperial_flag": {"secured_luoyang_court": true}, + "war_drum_flag": {"prepared_wei_succession": true} + }, + { + "path": "res://data/scenarios/051_eastern_front_alarm.json", + "label": "051 Eastern front alarm", + "merchant": "동부 강안 야상", + "conversations": [ + ["eastern_alarm_council", "topic", ""], + ["eastern_guo_jia_river_test", "officer", "guo_jia"] + ], + "imperial_flag": {"proclaimed_wei_authority": true}, + "war_drum_flag": {"prepared_eastern_front": true} + } + ] + for expectation in wei_succession_expectations: + _check_campaign_entry_expectation(failures, expectation) + for item_id in ["bronze_sword", "training_spear", "short_bow", "hand_axe", "iron_armor", "war_drum", "imperial_seal", "panacea"]: var item := state.get_item_def(item_id) if item.is_empty():