diff --git a/1.6/1.6/Languages/English/DefInjected/BodyAndPartDefs/Bodyparts_WULA.xml b/1.6/1.6/Languages/English/DefInjected/BodyAndPartDefs/Bodyparts_WULA.xml
deleted file mode 100644
index 196d8d2e..00000000
--- a/1.6/1.6/Languages/English/DefInjected/BodyAndPartDefs/Bodyparts_WULA.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- Central Energy Furnace
- Uplink Antenna
- Alloy Skeleton
- Core Engine
- Outer Armor Plating
- Retro-Thrust Vent
- Autonomous Core
- Bunker Shell
- Reflective Shield Generator
-
-
- Mechanical Wula
- Intelligent Tank
- Radiant Shield
- Landship
-
diff --git a/1.6/1.6/Languages/English/DefInjected/PawnKinds/PawnKinds_Wula.xml b/1.6/1.6/Languages/English/DefInjected/PawnKinds/PawnKinds_Wula.xml
deleted file mode 100644
index 71c7f97d..00000000
--- a/1.6/1.6/Languages/English/DefInjected/PawnKinds/PawnKinds_Wula.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
- Mechanical Wula
- CAt-11 "Cat"
- CAt-86 "Cat Worker"
- CAt-46 "Cat Assault Force"
- CAt-71 "Special Ops Cat"
- CAt-55 "Assault Cat"
- HAp-6 "Panzer"
- HRp-3 "Flamethrower Panzer"
- MSm-8 "Radiant Shield"
- BUk-1 "Bunker Cat"
- MFm-2 "Landstrider"
- CRm-51 "Warrior Ant"
- PAt-6 "Psychic Titan"
- Empire Assault Force
- Legion Infantry
- Ambition's Champion Warrior
- Empire's Hundred-Battle Vanguard
- Progressive Rebels
- "Legion"
- "Legion"
- Broken Claw Guard
- Traitor of the Broken Claw Guard
-
diff --git a/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_Quest.xml b/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_Quest.xml
deleted file mode 100644
index 3f567ed5..00000000
--- a/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_Quest.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- questName->[bandit]-occupied Wula Empire [camp]
- camp->Camp
- camp->Outpost
- camp->Stronghold
- bandit->Bandits
- bandit->Marauders
- bandit->Fugitives
- bandit->Thugs
- bandit->Outlaws
- bandit->Plunderers
- bandit->Robbers
- bandit->Raiders
-
-
- questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a request to the colony. A group of warriors from [siteFaction_name] have taken control of an abandoned Wula Empire airdrop outpost. Possibly, this outpost did not follow standard decommissioning procedures, leading to its occupation by aliens. Some technological artifacts inside must not fall into alien hands.\n\nThis camp must be eradicated. The Wula Empire technological artifacts within can be recovered or destroyed on-site. The number of personnel on-site cannot be assessed; there may still be some untriggered <color=#AA3020><i>pop-up mines</i></color>, but no active Wula Empire turrets have been detected.
-
-
-
- questName->Tithe Taxation
-
-
- questDescription->Only death and taxes are inevitable—submitting tithes on time is the glorious duty of a Wula Empire colony.\n\nThe Wula Empire collects tithes every 10 days, deducted from the colony's assets stored with the fleet. You can construct <color=#6BB7B7><i>Wula Empire Material Transfer Pods</i></color> to transport materials to the fleet in orbit.\n\nThe Wula Empire shows greater favor to colonies that pay taxes diligently—however, delays will cause displeasure each day, and eventually may even be classified as treason!
-
-
-
- questName->Special Mission: Destroy the Psychic Titan
-
-
- questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A Wula Empire war machine deployed on a transport ship—the <color=#AA74E5><i>Psychic Titan</i></color>—has gone out of control and is attacking indiscriminately. The Planetary Interdiction Agency had to crash the transport ship onto the planet's surface to prevent escalation.\n\nUnfortunately, the <color=#AA74E5><i>Psychic Titan</i></color> was not harmed by the crash and continues to wreak havoc on the surface. The colony must face this terrifying beast. The Planetary Interdiction Agency provides the following information:\n\n<color=#9F0400><i>-Internal Circuitry</i></color> The PAt-6 "Psychic Titan" is a powerful psychic war machine, but its psychic circuits are engraved in a closed-loop manner, making it immune to external psychic attacks.\n<color=#9F0400><i>-Harbinger of Death</i></color> The Psychic Titan's psychic scream can indiscriminately shatter all targets. Do not engage it head-on unless you have sufficient confidence and means to control it.\n<color=#9F0400><i>-Chain Sky Locks</i></color> The Psychic Titan will always appear alongside Sky Locks, which are pure psychic constructs that absorb damage dealt to the Titan. The Psychic Titan cannot be harmed until all Sky Locks are destroyed.\n<color=#9F0400><i>-Network Control</i></color> The Psychic Titan has taken control of nearby tank clusters that survived the crash, so the crash site likely hosts more than one enemy.\n\nThe Planetary Interdiction Agency promises that once the rampaging <color=#AA74E5><i>Psychic Titan</i></color> is defeated, they can recover its psychic circuitry core to construct a brand-new Psychic Titan for the colony.
-
-
-
- questName->Special Mission: Clear the Giant Fortress
-
-
- questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A <color=#C87451><i>Giant Fortress</i></color> equipped with volcano cannons has been discovered, not under Planetary Interdiction Agency control—likely a rebel base. Your colony must use all means to eliminate it. The Planetary Interdiction Agency provides the following information:\n\n<color=#9F0400><i>-Preemptive Strike</i></color> This fortress has been hit by EMP artillery from the Wula Empire fleet and requires time to restart its defense systems—but based on bombardment effects, this window may not be long.\n<color=#9F0400><i>-Inferno Horn</i></color> The fortress contains four volcano cannons. Once restarted, they will deal devastating damage to all attacking forces and should be prioritized.\n<color=#9F0400><i>-Fortified Towers</i></color> The fortress is protected by multiple layers of defensive structures. A frontal assault will be time-consuming, and the fortress roof is specially reinforced, comparable to thick rock roofs.\n<color=#9F0400><i>-Every Bush a Soldier</i></color> The area near the fortress likely harbors other unseen ambushes. Fleet-detected activity signs here do not match visual observations.\n\nThe Planetary Interdiction Agency promises that once the <color=#C87451><i>Giant Fortress</i></color> is destroyed, they will dispatch the fleet to bombard the remaining facilities and grant the colony permission to apply for volcano cannons.
-
-
-
- questName->Promotion Mission: Colony Inspection
-
-
- questDescription->The colony has accepted an inspection mission.\n\nThe central control AI of the Planetary Interdiction Agency has dispatched one of its avatars and a guard team to the colony. The inspection lasts 12 days. She will examine all aspects of the colony's operations, and you must ensure her mood remains above 25%. After completion, she and the guards will depart via shuttle. If all goes well, you will receive a colony promotion opportunity to unlock more licensed technologies.\n\nBeware—nearby hostile factions have learned that a VIP has arrived at the colony. These raiders will attempt to attack and capture this avatar, and you may face numerous assaults!
-
-
-
- questName->New Colony
-
-
- questDescription->(Kill all those who ask how to upgrade Wula technology without reading the prompts)\n\nThe Wula Empire's advance team has reached the surface. The fleet has sent them their first communication.
-
-
-
- questName->Cover the Imperial Spy
-
-
- questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a request to the colony. A Wula Empire spy has been exposed and is being pursued by other factions—the spy is unarmed and carries vital information. The colony must provide cover until the Wula Empire shuttle arrives to extract them. Although no further details were disclosed, she indicated the attacks would not be too intense, as the spy has shaken off most pursuers.
-
-
-
- questName->Special Mission: Kill the Traitorous Broken Claw Guard
-
-
- questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony, demanding you kill a Broken Claw Guard member who has betrayed the Empire.\n\nThis will not be a simple task,
-
-
-
- questName->Promotion Mission: Recover Royal Secrets
-
-
- questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A safe containing royal secrets has been taken by Wula Empire Progressive rebels. The colony must recover it and return it to the Wula Empire fleet. If the safe has been opened, kill everyone present.\n\nThe rebels are likely attempting to open the safe; you need to check the workbench inside their outpost. Approximately <color=#AA3020><i>10–20 rebel synths</i></color> have been sighted, along with <color=#AA3020><i>several active turrets</i></color>.\n\nYou have only 5 days to complete this mission. Once the safe is obtained, you can construct <color=#6BB7B7><i>Wula Empire Material Transfer Pods</i></color> to send the safe to the fleet in orbit.
-
-
-
- questName->Special Mission: Vacation
-
-
- questDescription->The central control AI of the Planetary Interdiction Agency has grown bored on the fleet and wants to stroll around for a while.\n\nUnless you become hostile to the Wula Empire Planetary Interdiction Agency, it seems your superior plans to stay indefinitely at the colony. You may delete this quest to free up space in the quest list.
-
-
diff --git a/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_QuestScriptDef.xml b/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_QuestScriptDef.xml
new file mode 100644
index 00000000..ef1e9bb4
--- /dev/null
+++ b/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_QuestScriptDef.xml
@@ -0,0 +1,201 @@
+
+
+
+ questDescription->Only death and taxes are inevitable—submitting tithes on time is the glorious duty of a Wula Empire colony.
+
+The Wula Empire collects tithes every 10 days, deducted from the colony's assets stored with the fleet. You can construct <color=#6BB7B7><i>Wula Empire Material Transfer Pods</i></color> to transport materials to the fleet in orbit.
+
+The Wula Empire shows greater favor to colonies that pay taxes diligently—however, delays will cause displeasure each day, and eventually may even be classified as treason!
+
+
+ questName->Tithe Taxation
+
+ 0.8
+ 0.8
+ 0.8
+ Overdue Tithe
+ As a colony of the Wula Empire, you have been found delinquent in paying your tithe—maybe once or twice they can forgive you, but continued arrears will surely anger them!
+ Tithe
+ Only death and taxes are inevitable—submitting tithes on time is the glorious duty of a Wula Empire colony.
+
+Open the quest list for details.
+ Tithe Paid
+ The Empire has received the payment. In recognition of your diligent taxation, a proof-of-payment certificate has been delivered to your colony!
+
+ questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A Wula Empire war machine deployed on a transport ship—<color=#AA74E5><i>Psychic Titan</i></color>—has gone out of control and is attacking indiscriminately. The Agency had no choice but to crash the transport ship onto the planet's surface to prevent the situation from escalating.
+
+Unfortunately, the <color=#AA74E5><i>Psychic Titan</i></color> was not harmed by the crash and is still slaughtering across the surface. The colony must face this terrifying behemoth. The Agency has provided the following intelligence:
+
+<color=#9F0400><i>-Closed Circuit</i></color> PAt-6 "Psychic Titan" is a powerful psychic war machine, but its psychic circuitry is engraved as a closed loop; external psychic attacks cannot affect it.
+<color=#9F0400><i>-Harbinger of Death</i></color> PAt-6 "Psychic Titan" can unleash a psychic shriek that shatters all targets indiscriminately. Do not engage it head-on unless you are confident you can control it.
+<color=#9F0400><i>-Chain Skylocks</i></color> PAt-6 "Psychic Titan" will always appear with Skylocks. Skylocks are pure psychic constructs that absorb damage taken by the Titan. Until all Skylocks are destroyed, the Titan will not take damage.
+<color=#9F0400><i>-Network Control</i></color> PAt-6 "Psychic Titan" has seized control of nearby chariot clusters that survived the crash, so the crash area likely contains more than one enemy.
+
+The Agency promises that once the rampaging <color=#AA74E5><i>Psychic Titan</i></color> is defeated, they will recover the core of its psychic circuitry and use it to build a brand-new Psychic Titan for the colony.
+
+
+ questName->Special Task: Destroy the Psychic Titan
+
+ Psychic Titan Arrives
+ After a cruiser rammed the runaway transport ship, the shattered hull fell like a meteor onto the rimworld's surface. Soon after, the Psychic Titan was sighted on the ground—the location has been marked.
+ Psychic Titan Disabled
+ The Psychic Titan has ceased functioning under the colonists' assault. Its Psychic Circuit Core has been exposed and dropped.
+
+Remember to recover the Psychic Circuit Core—it's required to build a new Psychic Titan.
+
+ questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A <color=#C87451><i>Super Fortress</i></color> equipped with volcano cannons has been discovered. It is not under the Agency's control, and is likely a rebel stronghold. Your colony must use all available forces to destroy it. The Agency has provided the following intelligence:
+
+<color=#9F0400><i>-Preemptive Strike</i></color> The fortress has already been hit by EMP shells from the Wula Empire fleet and will need time to reboot its defenses—but judging from the bombardment results, this window may not last long.
+<color=#9F0400><i>-Inferno Horn</i></color> There are four volcano cannons inside. Once they come back online, they will deal devastating damage to any assault force and should be neutralized first.
+<color=#9F0400><i>-Bristling Bastions</i></color> The fortress is protected by multiple layers of defenses. A frontal assault will be very time-consuming, and the top of the fortress has been specially thickened, comparable to a mountain roof.
+<color=#9F0400><i>-Hidden Ambushes</i></color> There are likely unseen ambushes near the fortress; the fleet's detected activity does not match what can be seen.
+
+The Agency promises that once the <color=#C87451><i>Super Fortress</i></color> is destroyed, they will send the fleet to bombard the remaining facilities and unlock authorization for the colony to apply for volcano cannons.
+
+
+ questName->Special Task: Purge the Super Fortress
+
+ Super Fortress Marked
+ The super fortress built by Wula Empire progressives has been marked on the map. Interference prevents the fleet from striking it directly, but if a spotter is nearby, the fleet can still enter orbit above the fortress normally.
+
+ questDescription->The colony has accepted an inspection task.
+
+The central control AI of the Planetary Interdiction Agency has dispatched one of her avatars and an escort squad to your colony. The inspection lasts 12 days. She will evaluate the colony's operations, and you must keep her mood above 25% at all times. Once the inspection is complete, she and the escort will depart by shuttle. If everything goes smoothly, you'll gain a chance to promote your colony and unlock more licensed technologies.
+
+Be careful: nearby hostile factions already know a VIP has arrived. Raiders will attempt to attack the colony and capture the avatar—you may face heavy assaults!
+
+
+ questName->Promotion Task: Colony Inspection
+
+ Guest {SUBJECT_definite} Has Died
+ The {SUBJECT_definite} you were supposed to protect has died. [failLetterEndingCommon]
+ Guest Missing: {SUBJECT_definite}
+ The {SUBJECT_definite} you were supposed to protect has gone missing in your colony. [failLetterEndingCommon]
+ Guest Missing: {SUBJECT_definite}
+ The {SUBJECT_definite} you were supposed to protect has returned to the wild in your colony. [failLetterEndingCommon]
+ Excavator Attack
+ Several fast-moving black dots are streaking toward the colony, trailing thick black smoke... what are those?
+ Quest Failed: [resolvedQuestName]
+ [faction_name] has become hostile to you.
+ Guest {SUBJECT_definite} Captured
+ The {SUBJECT_definite} you were supposed to protect has been captured. [failLetterEndingCommon]
+ Unauthorized Surgery: {SUBJECT_definite}
+ The {SUBJECT_definite} you were supposed to protect has undergone an additional unauthorized surgery. [failLetterEndingCommon]
+ Xenogerm Absorbed
+ The {SUBJECT_definite} you were charged with protecting had a xenogerm absorbed while in your colony. [failLetterEndingCommon]
+ {SUBJECT_bestRoyalTitle} in Low Mood
+ The {SUBJECT_definite} you were charged with protecting and accommodating has had a mood below the minimum threshold [lodgersMoodThreshold] for too long. [failLetterEndingCommon]
+ Shuttle Destroyed
+ The shuttle sent to pick up [asker_faction_leaderTitle] has been destroyed. [failLetterEndingCommon]
+ Quest Failed: [resolvedQuestName]
+ The shuttle sent to pick up [asker_faction_leaderTitle] did not receive [asker_objective]. [asker_pronoun] will have to walk home. [failLetterEndingCommon]
+ Shuttle Destroyed
+ The shuttle assigned to transport [asker_nameDef] has been destroyed.
+ 0.25
+ Should leave by shuttle
+ Shuttle Arrived
+ A shuttle has arrived to pick up [asker_nameDef].
+ Fortress Airdrop
+ The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike on the colony. They've airdropped a fully equipped fortress onto your colony!
+ <rulesStrings><li>questDescription->The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike on the colony. They've airdropped a fully equipped fortress onto your colony!</li></rulesStrings>
+ <rulesStrings><li>questName->Fortress Airdrop</li></rulesStrings>
+ Imperial Troops Assault
+ The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike and sent troops to attack your colony!
+ Imperial Troops Assault
+ The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike and sent troops to attack your colony!
+ <rulesStrings><li>questDescription->The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike and sent troops to attack your colony!</li></rulesStrings>
+ <rulesStrings><li>questName->Imperial Troops Assault</li></rulesStrings>
+
+ questDescription->(If you ask how to upgrade Wula tech without reading the prompts, I will kill you.)
+
+The Wula Empire vanguard has arrived on the surface. The fleet has sent them the first transmission.
+
+
+ questName->New Colony
+
+
+ questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a request to the colony. A Wula Empire agent has been exposed and is being hunted by other factions. The agent is unarmed and carrying critical information; the colony must shelter them until a Wula Empire shuttle arrives to pick them up. No further details were provided, but she indicated the attacks won't be too severe—the agent has already shaken off most of the pursuers.
+
+
+ questName->Protect the Imperial Agent
+
+ Captured: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has been captured. [failLetterEndingCommon]
+ Guest Has Died: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has died. [failLetterEndingCommon]
+ Guest Left Behind: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has been left behind. [failLetterEndingCommon]
+ Guest Missing: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has gone missing in your colony. [failLetterEndingCommon]
+ Guest Missing: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has returned to the wild in your colony. [failLetterEndingCommon]
+ Unauthorized Surgery: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has undergone an additional unauthorized surgery. Because you violated the agreement first, [asker_pronoun] is leaving. [failLetterEndingCommon]
+ Xenogerm Absorbed: {SUBJECT_definite}
+ The {SUBJECT_definite} you were charged with protecting has had a xenogerm absorbed while in your colony. This is a violation; {SUBJECT_pronoun} will leave immediately. [failLetterEndingCommon]
+ {BASELABEL} Pursuing [../asker_nameDef]
+ {BASETEXT}
+
+[enemyFaction_pawnsPlural] have come here to hunt down [../asker_nameDef].
+ Shuttle Destroyed
+ The shuttle sent to pick up [asker_nameDef] has been destroyed. [asker_pronoun] will have to walk home. [failLetterEndingCommon]
+ Shuttle Abandoned
+ The shuttle sent to pick up [asker_nameDef] has been abandoned. [asker_pronoun] will have to walk home.
+ Quest Failed: [resolvedQuestName]
+ The shuttle sent to pick up [asker_nameDef] left behind [asker_objective] for some reason. [asker_pronoun] will have to walk home. [failLetterEndingCommon]
+ Should depart by shuttle
+ Shuttle Arrived
+ The shuttle sent to pick up [asker_nameDef] has arrived.
+ Excavator Airstrike
+ Wula Empire progressive rebels have launched an excavator swarm at the colony!
+ <rulesStrings><li>questDescription->Wula Empire progressive rebels have launched an excavator swarm at the colony!</li></rulesStrings>
+ <rulesStrings><li>questName->Excavator Airstrike</li></rulesStrings>
+ Guerrilla Attack
+ Wula Empire progressive rebels have sent a guerrilla squad to attack the colony!
+ Wula Empire Progressive Guerrillas
+ A group of Wula Empire progressive guerrillas is attacking your colony!
+ <rulesStrings><li>questDescription->A group of Wula Empire progressive guerrillas attacked your colony!</li></rulesStrings>
+ <rulesStrings><li>questName->Rebel Guerrillas</li></rulesStrings>
+ Assault Fleet Attack
+ The Wula Empire progressive rebels' assault fleet is attacking the colony!
+ <rulesStrings><li>questDescription->The Wula Empire progressive rebels' assault fleet is attacking the colony!</li></rulesStrings>
+ <rulesStrings><li>questName->Assault Fleet Attack</li></rulesStrings>
+ <rulesStrings><li>questDescription->Several suspicious black dots have landed near the colony...</li></rulesStrings>
+ <rulesStrings><li>questName->Micro Drop Pods</li></rulesStrings>
+
+ questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A lockbox containing imperial secrets has been seized by Wula Empire progressive rebels. The colony must recover it and return it to the Wula Empire fleet. If the lockbox has already been opened, eliminate everyone on site.
+
+The rebels are likely attempting to open it. You will need to check the workbench inside their outpost. About <color=#AA3020><i>10–20 rebel synths</i></color> have been sighted, and <color=#AA3020><i>several active turrets</i></color> are also present.
+
+You have only 5 days to handle this task. After obtaining the lockbox, you can construct <color=#6BB7B7><i>Wula Empire Material Transfer Pods</i></color> to send it to the fleet in orbit.
+
+
+ questName->Promotion Task: Recover Imperial Secrets
+
+ Lockbox Missing
+ The lockbox your superior assigned you to recover has lost its signal. The fleet will need some time to reacquire it.
+
+ questDescription->The central control AI of the Planetary Interdiction Agency has been cooped up on the fleet for too long and wants to come out for a while.
+
+Unless you are hostile to the Wula Empire Planetary Interdiction Agency, it looks like your "superior" will keep hanging around the colony. You can delete this quest to keep it from occupying your quest list.
+
+
+ questName->Special Task: Vacation
+
+ Guest {SUBJECT_definite} Has Died
+ The {SUBJECT_definite} you were supposed to protect has died. [failLetterEndingCommon]
+ Guest Missing: {SUBJECT_definite}
+ The {SUBJECT_definite} you were supposed to protect has gone missing in your colony. [failLetterEndingCommon]
+ Guest Missing: {SUBJECT_definite}
+ The {SUBJECT_definite} you were supposed to protect has returned to the wild in your colony. [failLetterEndingCommon]
+ Quest Failed: [resolvedQuestName]
+ [faction_name] has become hostile to you.
+ Guest {SUBJECT_definite} Captured
+ The {SUBJECT_definite} you were supposed to protect has been captured. [failLetterEndingCommon]
+ Tax Receipt?
+ Despite there being no actual tax payment, the colony has received a tax receipt.
+
+Looks like someone is quietly thanking the colony.
+ Shuttle Destroyed
+ The shuttle assigned to transport [asker_nameDef] has been destroyed.
+
\ No newline at end of file
diff --git a/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_Quest_Event.xml b/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_Quest_Event.xml
deleted file mode 100644
index 65df5cb7..00000000
--- a/1.6/1.6/Languages/English/DefInjected/QuestScriptDefs/WULA_Quest_Event.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
- Unknown Transmission
- "Legion", P.I.A
- Ah, this. Recently, a Psychic Titan went out of control on one of our transport ships, killing everyone on board and is still wreaking havoc. This matter should have been handled by the Imperial Church for recovery, but currently I don't want them to know about it—I can only entrust it to you. I can have other warships collide with the transport, pushing it near your colony. The Psychic Titan likely won't be harmed much in such a crash, so you'll have to dispatch colonists personally to deal with it.\n\nAfter completion, I'll use its psychic circuitry to help you acquire a Psychic Titan dedicated to your colony. Just treat this mechanoid as originally assigned to you, how about that?
- Understood, we'll handle this matter
- The colony's performance has left P.I.A quite unsatisfied; such special tasks will not be entrusted to the colony
- Let me think about it further...
-
- Unknown Transmission
- "Legion", P.I.A
- Well done. Remember to bring back the Psychic Circuitry Core; this item is essential for constructing Psychic Titans. If you don't bring it back, your efforts this time will be for nothing.
- Understood
-
-
- Unknown Transmission
- "Legion", P.I.A
- Our observers have discovered a massive fortress near you, not under our control—likely left by rebels. No personnel are visible, but the defense systems are still operational. We attempted a few rounds of EMP artillery, but unfortunately failed to hit the fortress's jammer. Our fleet cannot conduct further bombardment under signal interference.\n\nTake up arms, send your best warriors, and clear out that fortress. Upon completion, I'll approve the Volcano Cannon application permission for you, how about that? Oh, and by the way, there should be such a Volcano Cannon inside the fortress. Be careful; call the fleet if you encounter difficulties. Bombardment can proceed normally with guidance.
- Understood, we'll handle this matter
- The colony's performance has left P.I.A quite unsatisfied; such special tasks will not be entrusted to the colony
- Let me think about it further...
-
- Unknown Transmission
- "Legion", P.I.A
- Excellent. You truly are my most trustworthy subordinates. I was wondering if the fortress might be a bit too large for you.\n\nThe permit is ready for you; you can deploy Volcano Cannons at any time to strike the Empire's enemies. Now, evacuate personnel from that fortress. Our fleet will bombard the place until nothing remains.
- Understood
-
-
- Unknown Transmission
- "Legion", P.I.A
- Promotion review is a major event—are you sure you're ready?\n\nLet me reiterate the process: I'll dispatch one of my avatars and a guard team to inspect your colony for 6 days. You must care for my avatar and the guards' needs. If all goes smoothly, upon completion of the inspection, you'll receive the opportunity for colony promotion, and the fleet will open up more licensed technologies for you.
- We are ready
- I recall I already sent an avatar to your colony? I won't dispatch another inspection team within 30 days.
- Now isn't the right time...
-
- Unknown Transmission
- "Legion", P.I.A
- Oops, it seems there were a few minor incidents, but your colony handled the problems well—orderly and in compliance with the Imperial Code and regulations. You deserve a higher-level permit. I'll send the promotion permit via transport pod shortly.\n\nAdditionally, I've reset your support system. You can reapply for previously requested support, and new support will also become available to you. Continue developing your colony, and I can help you apply for higher-level permissions.\n\nThe Empire's glory endures forever.
- The Empire's glory endures forever
-
-
- Unknown Transmission
- "Legion", P.I.A
- This is the Planetary Interdiction Agency, P.I.A. It seems you have successfully reached the surface. According to the plan, you should be the first batch of Wula Empire synths deployed on this planet's surface—follow alien contact protocols, establish a local base, and call for fleet support if necessary.
- Who are you?
- What do we need to do? (Development Process)
- Received, the Empire's glory endures forever
-
- Unknown Transmission
- "Legion", P.I.A
- First time on a pioneering mission?\n\nWell, you can call me "Legion." I'm the AI responsible for managing the Wula Empire Planetary Interdiction Agency's fleet. According to your organization, I'm your direct superior. Didn't the Mechanical Guild set up the correct memory sectors for you before landing?
- Planetary Interdiction Agency?
- Mechanical Guild?
- We have no further questions...
-
- Unknown Transmission
- "Legion", P.I.A
- The Planetary Interdiction Agency is the enforcement arm under the Wula Empire Development Agency, controlling all of the Development Agency's fleets and responsible for aggressive contact during territorial expansion.\n\nTypically, for planets like this rimworld, we'd directly blockade the orbit, bombard all existing settlements, and then drop colonists. But it seems this world still has hope, so you've been deployed as the first advance team to contact and test other alien races. Understood?
- We have other questions...
- We have no further questions...
-
- Unknown Transmission
- "Legion", P.I.A
- The Wula Empire Mechanical Guild is responsible for the production, review, deployment, and initialization of all synths. When deployed to the fleet, a mechanic should have set up your memory-preloaded sectors, but clearly, that guy was negligent, leaving you here annoying me with things you should already know.
- We have other questions...
- We have no further questions...
-
- Unknown Transmission
- "Legion", P.I.A
- You mean you were dropped here without even knowing what to do?\n\nWell, what you need to do is survive using all your skills and establish a base. According to Imperial tax law, you must submit taxes periodically—as an Imperial colony, the fleet and air groups will be your backing.\n\nIf you feel ready, you can apply for a permission advancement review. I'll deploy an avatar with a guard team to inspect your colony for a period, then decide whether to promote you based on the rating. Promoted colonies receive more permits, allowing access to more powerful armaments and support.
- We have other questions...
- We have no further questions...
-
- Unknown Transmission
- "Legion", P.I.A
- Anything else?
- Who are you?
- What do we need to do? (Development Process)
- Received, the Empire's glory endures forever
-
- Unknown Transmission
- "Legion", P.I.A
- The Empire's glory endures forever.\n\nHurry now, a whole world awaits our conquest.
- (End communication)
-
-
- Unknown Transmission
- Unknown Transmission
- Colonists, this is the Wula Empire Fleet. We have an urgent request requiring your assistance.\n\nOne of our intelligence agents was exposed during a reconnaissance mission and is being pursued by hostile forces. This agent is unarmed but carries crucial strategic information—we need you to provide temporary shelter and protect the agent until our shuttle arrives. In exchange, we will provide appropriate compensation and consider establishing more formal relations with you in the future.
- Who are you?
- What benefits do we get?
- Alright, we'll keep an eye out
-
- Unknown Transmission
- Unknown Transmission
- We are the vanguard force of the Wula Empire Development Agency—the Planetary Interdiction Agency, P.I.A, responsible for controlling and dispatching the Empire's vanguard fleet in your planet's orbit.\n\nThe Empire Development Agency's mission is to find valuable colonies across the galaxy and integrate them. We are not here to destroy you but to establish order.\n\nThis request is an opportunity to test your willingness to cooperate. If you prove trustworthy, there may be more mutually beneficial opportunities in the future. Refusing cooperation brings no benefits, but cooperation may bring a turning point for your survival on this dangerous planet.
- Anything else...
-
- Unknown Transmission
- Unknown Transmission
- A practical question. Successful cooperation will bring you:\n\n1. Technical Data Access - Limited access to some basic technological information\n2. Fleet Dispatch Permit - We will allow you to obtain an implant enabling one of your colonists to send signals to the Imperial Fleet to request artillery support, airdrops, close air support, etc.\n3. Political Consideration Bonus - Gain positive evaluation in the Empire's final assessment of your planet\n\nRemember, this is just the beginning. The Wula Empire's attitude toward partners depends on their performance. If this mission is completed successfully, more substantive benefits will follow.
- Anything else...
-
- Unknown Transmission
- Unknown Transmission
- Mission complete. Your cooperative attitude is satisfactory. The agent has been safely evacuated, and the intelligence carried will play a key role in the Empire's operational planning on your planet.\n\nAs reward for your assistance, we provide you with the following technical assets:\n\n1. Wula Empire Technical System Access Permit - Allows you to preliminarily access the Wula Empire database\n\n2. Neural Link Implant - Enables one colonist to establish direct communication with our fleet to request orbital support\n\n3. Communication Terminal - A dedicated communication device for contacting Wula Empire fleet production facilities to place orders—if you need other help, you can also contact me via this communication console\n\nThis is just the beginning. If you continue to prove your value, more advanced Imperial technologies will become available to you. Remember, cooperation is mutual—we are never stingy with loyal partners.
- We don't seem to know your name yet?
-
- Unknown Transmission
- "Legion", P.I.A
- Name? I am the central control AI of the Wula Empire Planetary Interdiction Agency. You can call me "Legion."
- Alright, we'll accept the rewards
-
-
- Unknown Transmission
- "Legion", P.I.A
- I don't have time right now.\n\nHow about this: you do one thing for me, and if successful, I'll bypass procedures to approve a Level 3 colony permit for you. How's that?
- What needs to be done?
- We're still tracking the safe's whereabouts; not possible now
- Now isn't the right time...
-
- Unknown Transmission
- "Legion", P.I.A
- I want you to help me recover something within 5 days.\n\nA black safe, currently in the hands of a hostile Wula Empire rebel group. It contains very important documents related to the royal family. You must ensure the safe's security—if it is opened, kill everyone present.\n\nThe contents inside must not be leaked.
- Rebels? We've never heard of rebels on this planet...
- We're ready, tell us the location
- Now isn't the right time...
-
- Unknown Transmission
- "Legion", P.I.A
- Do you know about the Progressives? The existence of these traitors isn't widely known yet.\n\nThey are a separatist force within the Wula Empire, plotting to overthrow the royal family. Currently, security departments across the galaxy are tracking these people; their infiltration among intellectuals and the lower classes is quite severe—the box that was taken contains secrets related to royal family security. The Progressives must not succeed in obtaining its contents.
- Understood...
-
- Unknown Transmission
- Safe
- A pitch-black safe lies quietly on the ground. Multiple layers of gilded carvings and a conspicuous iron-cross phoenix mark its former noble ownership. The signal tracker unmistakably points to it—this is the safe related to the royal family. It appears the Progressive rebels used the fabricator's cutting beam to damage its lock, but the cutting technique is very rough, causing a burnt aroma to emanate from inside. Perhaps little remains.
- Open it to look
- Put it away
-
- Unknown Transmission
- Safe
- Inside is a complete mess. The cutting beam indeed violently swept across the entire safe's inner walls. The semi-reflective inner walls caused the ion beam to continuously bounce inside, burning most of the contents.\n\nAmid the char, a silver man-made object glitters—seemingly a specially reinforced recorder containing some holographic footage.
- Play the content
- Pretend you didn't see it
-
- Unknown Transmission
- "Legion", P.I.A
- (The projection shows nothing about royal secrets but rather a conversation between your superior and another person)\n\n...I'm currently tied up. The Planetary Interdiction Agency's fleet needs to exert presence pressure on this entire star sector to advance colonial missions here. I've heard about the palace matters. Currently, the Imperial Church is withholding announcement of the death, so order in the palace district shouldn't experience major turmoil for now—if sudden changes do occur in the palace district, I'll bring the fleet back for reinforcement.\n\nI know about the little tricks you're playing, trying to kick the Royal Mechanical Guild out and pin a high hat on them. But the Royal Mechanical Guild's stance is unclear now; it's best not to act rashly.\n\nThat's all. The Wula Empire is currently in the calm before the storm. I hope we can still meet on the other side.
- Close
-
- Unknown Transmission
- "Legion", P.I.A
- Good. Although deformed by the cutting beam, it was ultimately recovered successfully. So, have all those who saw this safe died?
- Those who saw it have perished
- Yes, we followed orders and slaughtered the rebels (evasive)
-
- Unknown Transmission
- "Legion", P.I.A
- Good. It seems you killed them before they could extract the contents. Well done.\n\nAs I promised, I'll give your colony a green light, skipping tedious reviews, upgrading the colony rating to Level 3, and opening all Planetary Interdiction Agency weapons and building usage permissions.\n\nAdditionally, I've reset your support system. You can reapply for previously requested support, and new support will also become available to you.\n\nThe Empire's glory endures forever.
- The Empire's glory endures forever
-
- Unknown Transmission
- "Legion", P.I.A
- Is that so...\n\nThen, as I promised, I'll give your colony a green light, skipping tedious reviews, upgrading the colony rating to Level 3, and opening all Planetary Interdiction Agency weapons and building usage permissions.\n\nAdditionally, I've reset your support system. You can reapply for previously requested support, and new support will also become available to you.\n\nThe Empire's glory endures forever.
- The Empire's glory endures forever
-
-
- Unknown Transmission
- "Legion", P.I.A
- Ah, feeling a bit bored always on the fleet, want to go down for a walk. Is there a sea near your colony? I want to take a vacation.
- Of course!
- Goodwill insufficient. You must at least become an ally of the Planetary Interdiction Agency to accept this quest
- Let's wait until we move to the seaside...
-
-
-
diff --git a/1.6/1.6/Languages/English/Keyed/WULA_Ritual_Keys.xml b/1.6/1.6/Languages/English/Keyed/WULA_Ritual_Keys.xml
new file mode 100644
index 00000000..9cc473bc
--- /dev/null
+++ b/1.6/1.6/Languages/English/Keyed/WULA_Ritual_Keys.xml
@@ -0,0 +1,10 @@
+
+
+
+ Ritual reward
+ Your offering has been answered. The void has spat out an item as a reward: {0} (Quality: {1}).
+
+ Extra offerings
+ Valuable items placed near the ritual spot increase the ritual quality. These items will be consumed when the ritual is completed.
+
+
diff --git a/1.6/1.6/Languages/English/Keyed/WULA_SkillTrainer.xml b/1.6/1.6/Languages/English/Keyed/WULA_SkillTrainer.xml
new file mode 100644
index 00000000..9d6cfd82
--- /dev/null
+++ b/1.6/1.6/Languages/English/Keyed/WULA_SkillTrainer.xml
@@ -0,0 +1,20 @@
+
+
+
+ {0} gained experience in {1}.
+ {0} lost experience in {1}.
+ All of {0}'s health conditions have been repaired.
+ {0} has no health conditions to repair.
+ {0} is not a Wula synth. This repair kit cannot be used.
+ Wula synth repair kit
+
+
+ {0} has developed a new passion for {1}.
+ As a cost, {0} has lost passion for {1}.
+
+
+ {0} has no skills and cannot use this.
+ No target skill is set for this trainer.
+ The target skill is disabled and cannot be learned.
+
+
diff --git a/Tools/_questscriptdef_export_cn.tsv b/Tools/_questscriptdef_export_cn.tsv
new file mode 100644
index 00000000..dd6b85c5
--- /dev/null
+++ b/Tools/_questscriptdef_export_cn.tsv
@@ -0,0 +1,167 @@
+key cn
+WULA_Base_Tex_Quest.questDescriptionRules.rulesStrings "questDescription->唯死亡和税收不可避免——按时上交什一税是乌拉帝国殖民地的光荣义务。
+
+乌拉帝国每隔10天收一次什一税,什一税会从殖民地储存在舰队中的资产里面扣除,你可以建造乌拉帝国物资输送舱来将物资输送到位于轨道上的舰队。
+
+乌拉帝国对积极纳税的殖民地会给予更多关照——但是如果拖延,则每延期一天都会惹其不快,最后甚至有可能被定性为叛国!"
+WULA_Base_Tex_Quest.questNameRules.rulesStrings questName->什一税税收
+WULA_Base_Tex_Quest.root.nodes.Greater-0.node.value2.slateRef 0.8
+WULA_Base_Tex_Quest.root.nodes.Greater-1.node.value2.slateRef 0.8
+WULA_Base_Tex_Quest.root.nodes.Greater-2.node.value2.slateRef 0.8
+WULA_Base_Tex_Quest.root.nodes.Handle_Outtime.node.nodes.Letter.label.slateRef 未按时纳税
+WULA_Base_Tex_Quest.root.nodes.Handle_Outtime.node.nodes.Letter.text.slateRef 作为乌拉帝国的殖民地,你被发现未按时纳税——或许一次两次她们可以原谅你,但是一直拖欠必然会激怒她们!
+WULA_Base_Tex_Quest.root.nodes.Letter.label.slateRef 什一税
+WULA_Base_Tex_Quest.root.nodes.Letter.text.slateRef "唯死亡和税收不可避免——按时上交什一税是乌拉帝国殖民地的光荣义务。
+
+查看任务列表以了解更多。"
+WULA_Base_Tex_Quest.root.nodes.TaxPaymentSuccess.node.nodes.Letter.label.slateRef 纳税完成
+WULA_Base_Tex_Quest.root.nodes.TaxPaymentSuccess.node.nodes.Letter.text.slateRef 帝国已经接收了税款,为了表彰你在纳税上的良好表现,一封税金缴纳凭证已经送到你的殖民地中!
+WULA_Boss_Sky_Lock.questDescriptionRules.rulesStrings "questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一台部署在运输舰上的乌拉帝国战争机械——灵能泰坦——因为失控而无差别攻击,行星封锁机关不得不让运输舰坠向星球表面以阻止事态扩大。
+
+可惜的是,灵能泰坦没有因为运输舰坠毁而受到伤害,其仍然在星球表面大肆杀戮,殖民地必须直面这台骇人的巨兽。行星封锁机关为殖民地提供了以下信息:
+
+-内驱回路 PAt-6""灵能泰坦""虽然是一台强大的灵能战争机器,但是其灵能回路是以封闭循环的方式刻印的,外部的灵能攻击无法影响它
+-死亡使者 PAt-6""灵能泰坦""的灵能尖啸可以无差别粉碎所有的目标,除非有足够的信心和手段控制住它,否则不要与其正面交锋
+-连环天锁 PAt-6""灵能泰坦""一定会和天锁一起出现,天锁是纯粹的灵能造物,可以吸收灵能泰坦受到的伤害。在所有的天锁被摧毁前,灵能泰坦不会受到伤害。
+-网络控制 PAt-6""灵能泰坦""的控制了附近在坠毁中幸存的战车集群,因此坠毁地区很可能不只有一个敌人
+
+行星封锁机关承诺,一旦击败了暴走的灵能泰坦,她们可以回收其灵能回路的核心,以此为殖民地建造一台全新的灵能泰坦。"
+WULA_Boss_Sky_Lock.questNameRules.rulesStrings questName->特殊任务:击毁灵能泰坦
+WULA_Boss_Sky_Lock.root.nodes.Letter.label.slateRef 灵能泰坦抵达
+WULA_Boss_Sky_Lock.root.nodes.Letter.text.slateRef 在一艘巡洋舰向失控运输舰狠狠撞击后,碎裂的运输舰如流星般坠入边缘世界地表。不过灵能泰坦随后便在地表上被目击——地点已经标记出来了。
+WULA_Boss_Sky_Lock.root.nodes.PsiTitan0Destroyed.node.nodes.Letter.label.slateRef 灵能泰坦已停机
+WULA_Boss_Sky_Lock.root.nodes.PsiTitan0Destroyed.node.nodes.Letter.text.slateRef "灵能泰坦在殖民者的攻击下已经停止运转,其灵能回路核心已经暴露并掉落。
+
+记得回收灵能回路核心,这是建造新的灵能泰坦所需的材料。"
+WULA_Boss_Super_Fortress.questDescriptionRules.rulesStrings "questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一座装备了火山炮的巨型要塞被发现,它不处于行星封锁机关的控制下,很可能是叛军的一个根据地,你的殖民地必须使用一切力量将其消灭。行星封锁机关为殖民地提供了以下信息:
+
+-先发制人 这个要塞已经被乌拉帝国舰队的EMP炮弹攻击过,需要一段时间才能重启防御系统——但是从轰炸效果来说,这个空窗时间可能不会太长
+-炼狱号角 要塞中有四门火山炮,一旦其重启完成,将对所有进攻部队造成毁灭性打击,应该优先解决
+-碉楼林立 要塞被多层防御设施所保护,正面攻击会非常花费时间,并且要塞的顶部进行了特别加厚,厚度堪比岩顶
+-草木皆兵 要塞附近很可能有别的不可见的埋伏,舰队在此处检测到的活动迹象与目视不匹配
+
+行星封锁机关承诺,一旦摧毁巨型要塞,她们就会派遣舰队轰炸残余的设施,并为殖民地开放火山炮的申请权限。"
+WULA_Boss_Super_Fortress.questNameRules.rulesStrings questName->特殊任务:清扫巨型要塞
+WULA_Boss_Super_Fortress.root.nodes.Letter.label.slateRef 已标记巨型要塞
+WULA_Boss_Super_Fortress.root.nodes.Letter.text.slateRef 乌拉帝国进步派所建立的巨型要塞已经在地图上标记——似乎因为干扰,舰队无法直接攻击这个要塞,但是如果附近有引导员,舰队依然可以正常进入要塞的上方轨道。
+WULA_Colony_Promotion.questDescriptionRules.rulesStrings "questDescription->殖民地已经承接了视察任务。
+
+行星封锁机关的总控AI已经派遣了自己的一个分体和护卫队抵达殖民地。考察持续12天,她会检查殖民地方方面面的运转情况,你需要确保其心情始终高于25%。考察完成后,她和卫队会搭乘穿梭机离开,如果一切顺利你们将获得殖民地晋升的机会,以解锁更多的许可科技。
+
+小心,附近的敌对派系已经知道了殖民地来了一个大人物,这些劫掠者会尝试袭击殖民地并抓住这个分体,你可能需要面对大量袭击!"
+WULA_Colony_Promotion.questNameRules.rulesStrings questName->晋级任务:殖民地考察
+WULA_Colony_Promotion.root.nodes.askerDestroyed.node.nodes.Letter.label.slateRef 宾客{SUBJECT_definite}死亡
+WULA_Colony_Promotion.root.nodes.askerDestroyed.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.askerLeftMap.node.nodes.Letter.label.slateRef 宾客失踪:{SUBJECT_definite}
+WULA_Colony_Promotion.root.nodes.askerLeftMap.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}失踪在你的殖民地。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.askerRanWild.node.nodes.Letter.label.slateRef 宾客失踪:{SUBJECT_definite}
+WULA_Colony_Promotion.root.nodes.askerRanWild.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.Delay.node.nodes.Letter.label.slateRef 挖掘机袭击
+WULA_Colony_Promotion.root.nodes.Delay.node.nodes.Letter.text.slateRef 几个高速移动的黑点正在拖着浓浓的黑烟尾迹飞向殖民地······那是什么?
+WULA_Colony_Promotion.root.nodes.Letter.label.slateRef 任务失败:[resolvedQuestName]
+WULA_Colony_Promotion.root.nodes.Letter.text.slateRef [faction_name]开始敌视你。
+WULA_Colony_Promotion.root.nodes.lodgersArrested.node.nodes.Letter.label.slateRef 宾客{SUBJECT_definite}被俘
+WULA_Colony_Promotion.root.nodes.lodgersArrested.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}已经被俘虏。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.lodgersSurgeryViolation.node.nodes.Letter.label.slateRef 未授权手术:{SUBJECT_definite}
+WULA_Colony_Promotion.root.nodes.lodgersSurgeryViolation.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}接受了一场未授权的多余手术。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.label.slateRef 异种胚芽被吸收
+WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.text.slateRef 指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.MoodBelow.node.nodes.Letter.label.slateRef {SUBJECT_bestRoyalTitle}情绪低落
+WULA_Colony_Promotion.root.nodes.MoodBelow.node.nodes.Letter.text.slateRef 需要你护卫和满足需求的{SUBJECT_definite},其情绪值已经长时间低于最低限度[lodgersMoodThreshold]。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.label.slateRef 穿梭机已被毁
+WULA_Colony_Promotion.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.text.slateRef 前来迎接[asker_faction_leaderTitle]的穿梭机被摧毁了。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.label.slateRef 任务失败:[resolvedQuestName]
+WULA_Colony_Promotion.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.text.slateRef 前来迎接[asker_faction_leaderTitle]的穿梭机没有接到[asker_objective]。[asker_pronoun]现在只能走回去。[failLetterEndingCommon]
+WULA_Colony_Promotion.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.label.slateRef 穿梭机被破坏
+WULA_Colony_Promotion.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.text.slateRef 被派遣来运输[asker_nameDef]的穿梭机已被破坏。
+WULA_Colony_Promotion.root.nodes.Set-2.value.slateRef 0.25
+WULA_Colony_Promotion.root.nodes.ShuttleDelay.node.nodes.InspectString.inspectString.slateRef 应该乘坐穿梭机离开
+WULA_Colony_Promotion.root.nodes.ShuttleDelay.node.nodes.Letter.label.slateRef 穿梭机已抵达
+WULA_Colony_Promotion.root.nodes.ShuttleDelay.node.nodes.Letter.text.slateRef 穿梭机已经前来迎接[asker_nameDef]。
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.label.slateRef 要塞空投
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.text.slateRef 乌拉帝国 行星封锁机关对殖民地发起了报复打击,她们往殖民地空投了整装的要塞!
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestDescription.rules.slateRef questDescription->乌拉帝国 行星封锁机关对殖民地发起了报复打击,她们往殖民地空投了整装的要塞!
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestName.rules.slateRef questName->要塞空投
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.label.slateRef 帝国部队袭击
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.text.slateRef 乌拉帝国 行星封锁机关对殖民地发起了报复打击,派出部队攻击了你的殖民地!
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterLabel.slateRef 帝国部队袭击
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterText.slateRef 乌拉帝国 行星封锁机关对殖民地发起了报复打击,派出部队攻击了你的殖民地!
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestDescription.rules.slateRef questDescription->乌拉帝国 行星封锁机关对殖民地发起了报复打击,派出部队攻击了你的殖民地!
+WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestName.rules.slateRef questName->帝国部队袭击
+WULA_Intro_NewColony.questDescriptionRules.rulesStrings "questDescription->(因为不看提示问我乌拉族科技怎么升的全部砍死)
+
+乌拉帝国的先遣队已经抵达地表,舰队给她们发来了第一条通讯。"
+WULA_Intro_NewColony.questNameRules.rulesStrings questName->新殖民地
+WULA_Intro_Spy.questDescriptionRules.rulesStrings questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个请求。一位乌拉帝国密探已经暴露,正在遭受其他派系追杀——密探手无寸铁且携带重要信息,殖民地需要掩护它直到乌拉帝国的穿梭机抵达并将其接走。虽然对方未透露更多信息,不过她指明袭击不会太剧烈,密探已经甩掉了大部分敌人。
+WULA_Intro_Spy.questNameRules.rulesStrings questName->掩护帝国密探
+WULA_Intro_Spy.root.nodes.askerArrested.node.nodes.Letter.label.slateRef 已被俘:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerArrested.node.nodes.Letter.text.slateRef 需要你小心保护的{SUBJECT_definite}已被俘虏。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.askerDestroyed.node.nodes.Letter.label.slateRef 宾客已死亡:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerDestroyed.node.nodes.Letter.text.slateRef 需要你小心保护的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.label.slateRef 宾客被遗弃:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.text.slateRef {SUBJECT_definite}, who you were charged to protect, has been left behind. [failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.askerLeftMap.node.nodes.Letter.label.slateRef 宾客失踪:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerLeftMap.node.nodes.Letter.text.slateRef 需要你小心保护的{SUBJECT_definite}在你的殖民地失踪了。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.askerRanWild.node.nodes.Letter.label.slateRef 宾客失踪:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerRanWild.node.nodes.Letter.text.slateRef 需要你小心保护的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.askerSurgeryViolation.node.nodes.Letter.label.slateRef 未授权手术:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerSurgeryViolation.node.nodes.Letter.text.slateRef 需要你小心保护的{SUBJECT_definite}接受了一次未授权的额外手术。因为你违规在先,[asker_pronoun]将要离开此处。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.label.slateRef 异种胚芽被吸收:{SUBJECT_definite}
+WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.text.slateRef 指定由你保护的{SUBJECT_definite}在你的殖民地被吸收了异种胚芽。这是一种侵犯行为,{SUBJECT_pronoun}现在将会直接离开[failLetterEndingCommon]。
+WULA_Intro_Spy.root.nodes.Delay.node.node.parms.customLetterLabel.value.slateRef {BASELABEL} 追捕[../asker_nameDef]
+WULA_Intro_Spy.root.nodes.Delay.node.node.parms.customLetterText.value.slateRef "{BASETEXT}
+
+[enemyFaction_pawnsPlural]来此追捕[../asker_nameDef]。"
+WULA_Intro_Spy.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.label.slateRef 穿梭机被毁
+WULA_Intro_Spy.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.text.slateRef 前来迎接[asker_nameDef]的穿梭机已被毁。[asker_pronoun]现在只能走回去了。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.label.slateRef 穿梭机被遗弃
+WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.text.slateRef 前来迎接[asker_nameDef]的穿梭机已被遗弃。[asker_pronoun]现在只能走回去了。
+WULA_Intro_Spy.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.label.slateRef 任务失败:[resolvedQuestName]
+WULA_Intro_Spy.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.text.slateRef 前来迎接[asker_nameDef]的穿梭机在离开时因为一些原因落下了[asker_objective]。[asker_pronoun]现在只能走回去了。[failLetterEndingCommon]
+WULA_Intro_Spy.root.nodes.ShuttleDelay.node.nodes.InspectString.inspectString.slateRef 应该乘坐穿梭机出发
+WULA_Intro_Spy.root.nodes.ShuttleDelay.node.nodes.Letter.label.slateRef 穿梭机已抵达
+WULA_Intro_Spy.root.nodes.ShuttleDelay.node.nodes.Letter.text.slateRef 前来迎接[asker_nameDef]的穿梭机已抵达。
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.label.slateRef 挖掘机空袭
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.text.slateRef 乌拉帝国进步派叛军向殖民地发射了挖掘机集群!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestDescription.rules.slateRef questDescription->乌拉帝国进步派叛军向殖民地发射了挖掘机集群!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestName.rules.slateRef questName->挖掘机空袭
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.label.slateRef 游击队攻击
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.text.slateRef 乌拉帝国进步派叛军的派出了一支游击队攻击殖民地!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterLabel.slateRef 乌拉帝国 进步派的游击队
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterText.slateRef 一群乌拉帝国进步派的游击队正在攻击你的殖民地!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestDescription.rules.slateRef questDescription->一群乌拉帝国进步派的游击队攻击了你的殖民地!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestName.rules.slateRef questName->叛军游击队
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.Letter.label.slateRef 突击舰队攻击
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.Letter.text.slateRef 乌拉帝国进步派叛军的突击舰队正在攻击殖民地!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.ResolveQuestDescription.rules.slateRef questDescription->乌拉帝国进步派叛军的突击舰队正在攻击殖民地!
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.ResolveQuestName.rules.slateRef questName->突击舰队攻击
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-3.nodes.ResolveQuestDescription.rules.slateRef questDescription->几个可疑的黑点落到了殖民地附近···
+WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-3.nodes.ResolveQuestName.rules.slateRef questName->微型空投舱
+WULA_Recycle_PIA_Legion_File.questDescriptionRules.rulesStrings "questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,有一个装着皇室机密的保险箱被乌拉帝国的进步派叛军控制了,殖民地必须将其回收,随后将其交回乌拉帝国舰队。如果保险箱已经被打开,就要杀光在场的所有人。
+
+目前叛军很可能在试图打开这个保险箱,你需要检查其哨站内的工作台。大约有10~20个叛军合成人被拍摄到,现场同时发现了正在运作的若干炮台。
+
+你只有5天的时间处理这个任务,取得保险箱后,你可以建造乌拉帝国物资输送舱来将保险箱输送到位于轨道上的舰队。"
+WULA_Recycle_PIA_Legion_File.questNameRules.rulesStrings questName->晋级任务:回收皇家机密
+WULA_Recycle_PIA_Legion_File.root.nodes.Handle_Outtime.node.nodes.Letter.label.slateRef 保险箱失踪
+WULA_Recycle_PIA_Legion_File.root.nodes.Handle_Outtime.node.nodes.Letter.text.slateRef 你的上司委托你去寻找的保险箱已经失去信号了,舰队需要一些时间才能重新追踪盒子
+WULA_Vacation_Quest.questDescriptionRules.rulesStrings "questDescription->行星封锁机关的总控AI在舰队上待得太闷了,想出来溜达一段时间。
+
+除非与乌拉帝国行星封锁机关敌对,否则看起来你的上司是要一直赖在殖民地了,你可以删除此任务,以免其占据任务列表。"
+WULA_Vacation_Quest.questNameRules.rulesStrings questName->特殊任务:度假
+WULA_Vacation_Quest.root.nodes.askerDestroyed.node.nodes.Letter.label.slateRef 宾客{SUBJECT_definite}死亡
+WULA_Vacation_Quest.root.nodes.askerDestroyed.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}已经死亡。[failLetterEndingCommon]
+WULA_Vacation_Quest.root.nodes.askerLeftMap.node.nodes.Letter.label.slateRef 宾客失踪:{SUBJECT_definite}
+WULA_Vacation_Quest.root.nodes.askerLeftMap.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}失踪在你的殖民地。[failLetterEndingCommon]
+WULA_Vacation_Quest.root.nodes.askerRanWild.node.nodes.Letter.label.slateRef 宾客失踪:{SUBJECT_definite}
+WULA_Vacation_Quest.root.nodes.askerRanWild.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}在你的殖民地回归自然。[failLetterEndingCommon]
+WULA_Vacation_Quest.root.nodes.Letter.label.slateRef 任务失败:[resolvedQuestName]
+WULA_Vacation_Quest.root.nodes.Letter.text.slateRef [faction_name]开始敌视你。
+WULA_Vacation_Quest.root.nodes.lodgersArrested.node.nodes.Letter.label.slateRef 宾客{SUBJECT_definite}被俘
+WULA_Vacation_Quest.root.nodes.lodgersArrested.node.nodes.Letter.text.slateRef 需要你护卫的{SUBJECT_definite}已经被俘虏。[failLetterEndingCommon]
+WULA_Vacation_Quest.root.nodes.LoopCount.node.nodes.Delay.node.nodes.Letter.label.slateRef 缴税凭证?
+WULA_Vacation_Quest.root.nodes.LoopCount.node.nodes.Delay.node.nodes.Letter.text.slateRef "尽管没有实质上的缴税,但是殖民地还是收到了一份缴税凭证。
+
+看起来某人正在悄悄答谢殖民地。"
+WULA_Vacation_Quest.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.label.slateRef 穿梭机被破坏
+WULA_Vacation_Quest.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.text.slateRef 被派遣来运输[asker_nameDef]的穿梭机已被破坏。
diff --git a/Tools/definject_questscriptdef_from_export.py b/Tools/definject_questscriptdef_from_export.py
new file mode 100644
index 00000000..2ce40178
--- /dev/null
+++ b/Tools/definject_questscriptdef_from_export.py
@@ -0,0 +1,253 @@
+import argparse
+import re
+import sys
+import xml.etree.ElementTree as ET
+from pathlib import Path
+
+
+def _indent(elem: ET.Element) -> None:
+ # Python 3.9+: keep output stable and readable.
+ try:
+ ET.indent(elem, space=" ") # type: ignore[attr-defined]
+ except Exception:
+ pass
+
+
+_HAN_RE = re.compile(r"[\u4e00-\u9fff]")
+
+
+def _assert_no_han(text: str, key: str) -> None:
+ if _HAN_RE.search(text or ""):
+ raise ValueError(f"English output still contains Han characters for key: {key}")
+
+
+def _li(text: str) -> list[str]:
+ return [text]
+
+
+def build_translations() -> dict[str, str | list[str]]:
+ # NOTE: This is intentionally keyed by the DefInjected keys from the in-game export.
+ # Keep placeholders (e.g. {SUBJECT_definite}, [asker_nameDef]) intact.
+ return {
+ # --- WULA_Base_Tex_Quest ---
+ "WULA_Base_Tex_Quest.questDescriptionRules.rulesStrings": _li(
+ "questDescription->Only death and taxes are inevitable—submitting tithes on time is the glorious duty of a Wula Empire colony.\n\n"
+ "The Wula Empire collects tithes every 10 days, deducted from the colony's assets stored with the fleet. You can construct Wula Empire Material Transfer Pods to transport materials to the fleet in orbit.\n\n"
+ "The Wula Empire shows greater favor to colonies that pay taxes diligently—however, delays will cause displeasure each day, and eventually may even be classified as treason!"
+ ),
+ "WULA_Base_Tex_Quest.questNameRules.rulesStrings": _li("questName->Tithe Taxation"),
+ "WULA_Base_Tex_Quest.root.nodes.Greater-0.node.value2.slateRef": "0.8",
+ "WULA_Base_Tex_Quest.root.nodes.Greater-1.node.value2.slateRef": "0.8",
+ "WULA_Base_Tex_Quest.root.nodes.Greater-2.node.value2.slateRef": "0.8",
+ "WULA_Base_Tex_Quest.root.nodes.Handle_Outtime.node.nodes.Letter.label.slateRef": "Overdue Tithe",
+ "WULA_Base_Tex_Quest.root.nodes.Handle_Outtime.node.nodes.Letter.text.slateRef": "As a colony of the Wula Empire, you have been found delinquent in paying your tithe—maybe once or twice they can forgive you, but continued arrears will surely anger them!",
+ "WULA_Base_Tex_Quest.root.nodes.Letter.label.slateRef": "Tithe",
+ "WULA_Base_Tex_Quest.root.nodes.Letter.text.slateRef": "Only death and taxes are inevitable—submitting tithes on time is the glorious duty of a Wula Empire colony.\n\nOpen the quest list for details.",
+ "WULA_Base_Tex_Quest.root.nodes.TaxPaymentSuccess.node.nodes.Letter.label.slateRef": "Tithe Paid",
+ "WULA_Base_Tex_Quest.root.nodes.TaxPaymentSuccess.node.nodes.Letter.text.slateRef": "The Empire has received the payment. In recognition of your diligent taxation, a proof-of-payment certificate has been delivered to your colony!",
+
+ # --- WULA_Boss_Sky_Lock ---
+ "WULA_Boss_Sky_Lock.questDescriptionRules.rulesStrings": _li(
+ "questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A Wula Empire war machine deployed on a transport ship—Psychic Titan—has gone out of control and is attacking indiscriminately. The Agency had no choice but to crash the transport ship onto the planet's surface to prevent the situation from escalating.\n\n"
+ "Unfortunately, the Psychic Titan was not harmed by the crash and is still slaughtering across the surface. The colony must face this terrifying behemoth. The Agency has provided the following intelligence:\n\n"
+ "-Closed Circuit PAt-6 \"Psychic Titan\" is a powerful psychic war machine, but its psychic circuitry is engraved as a closed loop; external psychic attacks cannot affect it.\n"
+ "-Harbinger of Death PAt-6 \"Psychic Titan\" can unleash a psychic shriek that shatters all targets indiscriminately. Do not engage it head-on unless you are confident you can control it.\n"
+ "-Chain Skylocks PAt-6 \"Psychic Titan\" will always appear with Skylocks. Skylocks are pure psychic constructs that absorb damage taken by the Titan. Until all Skylocks are destroyed, the Titan will not take damage.\n"
+ "-Network Control PAt-6 \"Psychic Titan\" has seized control of nearby chariot clusters that survived the crash, so the crash area likely contains more than one enemy.\n\n"
+ "The Agency promises that once the rampaging Psychic Titan is defeated, they will recover the core of its psychic circuitry and use it to build a brand-new Psychic Titan for the colony."
+ ),
+ "WULA_Boss_Sky_Lock.questNameRules.rulesStrings": _li("questName->Special Task: Destroy the Psychic Titan"),
+ "WULA_Boss_Sky_Lock.root.nodes.Letter.label.slateRef": "Psychic Titan Arrives",
+ "WULA_Boss_Sky_Lock.root.nodes.Letter.text.slateRef": "After a cruiser rammed the runaway transport ship, the shattered hull fell like a meteor onto the rimworld's surface. Soon after, the Psychic Titan was sighted on the ground—the location has been marked.",
+ "WULA_Boss_Sky_Lock.root.nodes.PsiTitan0Destroyed.node.nodes.Letter.label.slateRef": "Psychic Titan Disabled",
+ "WULA_Boss_Sky_Lock.root.nodes.PsiTitan0Destroyed.node.nodes.Letter.text.slateRef": "The Psychic Titan has ceased functioning under the colonists' assault. Its Psychic Circuit Core has been exposed and dropped.\n\nRemember to recover the Psychic Circuit Core—it's required to build a new Psychic Titan.",
+
+ # --- WULA_Boss_Super_Fortress ---
+ "WULA_Boss_Super_Fortress.questDescriptionRules.rulesStrings": _li(
+ "questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A Super Fortress equipped with volcano cannons has been discovered. It is not under the Agency's control, and is likely a rebel stronghold. Your colony must use all available forces to destroy it. The Agency has provided the following intelligence:\n\n"
+ "-Preemptive Strike The fortress has already been hit by EMP shells from the Wula Empire fleet and will need time to reboot its defenses—but judging from the bombardment results, this window may not last long.\n"
+ "-Inferno Horn There are four volcano cannons inside. Once they come back online, they will deal devastating damage to any assault force and should be neutralized first.\n"
+ "-Bristling Bastions The fortress is protected by multiple layers of defenses. A frontal assault will be very time-consuming, and the top of the fortress has been specially thickened, comparable to a mountain roof.\n"
+ "-Hidden Ambushes There are likely unseen ambushes near the fortress; the fleet's detected activity does not match what can be seen.\n\n"
+ "The Agency promises that once the Super Fortress is destroyed, they will send the fleet to bombard the remaining facilities and unlock authorization for the colony to apply for volcano cannons."
+ ),
+ "WULA_Boss_Super_Fortress.questNameRules.rulesStrings": _li("questName->Special Task: Purge the Super Fortress"),
+ "WULA_Boss_Super_Fortress.root.nodes.Letter.label.slateRef": "Super Fortress Marked",
+ "WULA_Boss_Super_Fortress.root.nodes.Letter.text.slateRef": "The super fortress built by Wula Empire progressives has been marked on the map. Interference prevents the fleet from striking it directly, but if a spotter is nearby, the fleet can still enter orbit above the fortress normally.",
+
+ # --- WULA_Recycle_PIA_Legion_File ---
+ "WULA_Recycle_PIA_Legion_File.questDescriptionRules.rulesStrings": _li(
+ "questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a special request to the colony. A lockbox containing imperial secrets has been seized by Wula Empire progressive rebels. The colony must recover it and return it to the Wula Empire fleet. If the lockbox has already been opened, eliminate everyone on site.\n\n"
+ "The rebels are likely attempting to open it. You will need to check the workbench inside their outpost. About 10–20 rebel synths have been sighted, and several active turrets are also present.\n\n"
+ "You have only 5 days to handle this task. After obtaining the lockbox, you can construct Wula Empire Material Transfer Pods to send it to the fleet in orbit."
+ ),
+ "WULA_Recycle_PIA_Legion_File.questNameRules.rulesStrings": _li("questName->Promotion Task: Recover Imperial Secrets"),
+ "WULA_Recycle_PIA_Legion_File.root.nodes.Handle_Outtime.node.nodes.Letter.label.slateRef": "Lockbox Missing",
+ "WULA_Recycle_PIA_Legion_File.root.nodes.Handle_Outtime.node.nodes.Letter.text.slateRef": "The lockbox your superior assigned you to recover has lost its signal. The fleet will need some time to reacquire it.",
+
+ # --- WULA_Vacation_Quest ---
+ "WULA_Vacation_Quest.questDescriptionRules.rulesStrings": _li(
+ "questDescription->The central control AI of the Planetary Interdiction Agency has been cooped up on the fleet for too long and wants to come out for a while.\n\n"
+ "Unless you are hostile to the Wula Empire Planetary Interdiction Agency, it looks like your \"superior\" will keep hanging around the colony. You can delete this quest to keep it from occupying your quest list."
+ ),
+ "WULA_Vacation_Quest.questNameRules.rulesStrings": _li("questName->Special Task: Vacation"),
+ "WULA_Vacation_Quest.root.nodes.askerDestroyed.node.nodes.Letter.label.slateRef": "Guest {SUBJECT_definite} Has Died",
+ "WULA_Vacation_Quest.root.nodes.askerDestroyed.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has died. [failLetterEndingCommon]",
+ "WULA_Vacation_Quest.root.nodes.askerLeftMap.node.nodes.Letter.label.slateRef": "Guest Missing: {SUBJECT_definite}",
+ "WULA_Vacation_Quest.root.nodes.askerLeftMap.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has gone missing in your colony. [failLetterEndingCommon]",
+ "WULA_Vacation_Quest.root.nodes.askerRanWild.node.nodes.Letter.label.slateRef": "Guest Missing: {SUBJECT_definite}",
+ "WULA_Vacation_Quest.root.nodes.askerRanWild.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has returned to the wild in your colony. [failLetterEndingCommon]",
+ "WULA_Vacation_Quest.root.nodes.Letter.label.slateRef": "Quest Failed: [resolvedQuestName]",
+ "WULA_Vacation_Quest.root.nodes.Letter.text.slateRef": "[faction_name] has become hostile to you.",
+ "WULA_Vacation_Quest.root.nodes.lodgersArrested.node.nodes.Letter.label.slateRef": "Guest {SUBJECT_definite} Captured",
+ "WULA_Vacation_Quest.root.nodes.lodgersArrested.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has been captured. [failLetterEndingCommon]",
+ "WULA_Vacation_Quest.root.nodes.LoopCount.node.nodes.Delay.node.nodes.Letter.label.slateRef": "Tax Receipt?",
+ "WULA_Vacation_Quest.root.nodes.LoopCount.node.nodes.Delay.node.nodes.Letter.text.slateRef": "Despite there being no actual tax payment, the colony has received a tax receipt.\n\nLooks like someone is quietly thanking the colony.",
+ "WULA_Vacation_Quest.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.label.slateRef": "Shuttle Destroyed",
+ "WULA_Vacation_Quest.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.text.slateRef": "The shuttle assigned to transport [asker_nameDef] has been destroyed.",
+
+ # --- WULA_Progressive_Ship_Attack_Quest ---
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.label.slateRef": "Excavator Airstrike",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.text.slateRef": "Wula Empire progressive rebels have launched an excavator swarm at the colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestDescription.rules.slateRef": "questDescription->Wula Empire progressive rebels have launched an excavator swarm at the colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestName.rules.slateRef": "questName->Excavator Airstrike",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.label.slateRef": "Guerrilla Attack",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.text.slateRef": "Wula Empire progressive rebels have sent a guerrilla squad to attack the colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterLabel.slateRef": "Wula Empire Progressive Guerrillas",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterText.slateRef": "A group of Wula Empire progressive guerrillas is attacking your colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestDescription.rules.slateRef": "questDescription->A group of Wula Empire progressive guerrillas attacked your colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestName.rules.slateRef": "questName->Rebel Guerrillas",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.Letter.label.slateRef": "Assault Fleet Attack",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.Letter.text.slateRef": "The Wula Empire progressive rebels' assault fleet is attacking the colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.ResolveQuestDescription.rules.slateRef": "questDescription->The Wula Empire progressive rebels' assault fleet is attacking the colony!",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-2.nodes.ResolveQuestName.rules.slateRef": "questName->Assault Fleet Attack",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-3.nodes.ResolveQuestDescription.rules.slateRef": "questDescription->Several suspicious black dots have landed near the colony...",
+ "WULA_Progressive_Ship_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-3.nodes.ResolveQuestName.rules.slateRef": "questName->Micro Drop Pods",
+
+ # --- WULA_Hostile_PIA_Attack_Quest ---
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.label.slateRef": "Fortress Airdrop",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.Letter.text.slateRef": "The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike on the colony. They've airdropped a fully equipped fortress onto your colony!",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestDescription.rules.slateRef": "questDescription->The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike on the colony. They've airdropped a fully equipped fortress onto your colony!",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-0.nodes.ResolveQuestName.rules.slateRef": "questName->Fortress Airdrop",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.label.slateRef": "Imperial Troops Assault",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.Letter.text.slateRef": "The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike and sent troops to attack your colony!",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterLabel.slateRef": "Imperial Troops Assault",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.RandomRaid.customLetterText.slateRef": "The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike and sent troops to attack your colony!",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestDescription.rules.slateRef": "questDescription->The Wula Empire Planetary Interdiction Agency has launched a retaliatory strike and sent troops to attack your colony!",
+ "WULA_Hostile_PIA_Attack_Quest.root.nodes.RandomNode.nodes.Sequence-1.nodes.ResolveQuestName.rules.slateRef": "questName->Imperial Troops Assault",
+
+ # --- WULA_Intro_NewColony ---
+ "WULA_Intro_NewColony.questDescriptionRules.rulesStrings": _li(
+ "questDescription->(If you ask how to upgrade Wula tech without reading the prompts, I will kill you.)\n\n"
+ "The Wula Empire vanguard has arrived on the surface. The fleet has sent them the first transmission."
+ ),
+ "WULA_Intro_NewColony.questNameRules.rulesStrings": _li("questName->New Colony"),
+
+ # --- WULA_Intro_Spy ---
+ "WULA_Intro_Spy.questDescriptionRules.rulesStrings": _li(
+ "questDescription->The central control AI of the Wula Empire Planetary Interdiction Agency has sent a request to the colony. A Wula Empire agent has been exposed and is being hunted by other factions. The agent is unarmed and carrying critical information; the colony must shelter them until a Wula Empire shuttle arrives to pick them up. No further details were provided, but she indicated the attacks won't be too severe—the agent has already shaken off most of the pursuers."
+ ),
+ "WULA_Intro_Spy.questNameRules.rulesStrings": _li("questName->Protect the Imperial Agent"),
+ "WULA_Intro_Spy.root.nodes.askerArrested.node.nodes.Letter.label.slateRef": "Captured: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerArrested.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has been captured. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.askerDestroyed.node.nodes.Letter.label.slateRef": "Guest Has Died: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerDestroyed.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has died. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.label.slateRef": "Guest Left Behind: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerLeftBehind.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has been left behind. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.askerLeftMap.node.nodes.Letter.label.slateRef": "Guest Missing: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerLeftMap.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has gone missing in your colony. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.askerRanWild.node.nodes.Letter.label.slateRef": "Guest Missing: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerRanWild.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has returned to the wild in your colony. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.askerSurgeryViolation.node.nodes.Letter.label.slateRef": "Unauthorized Surgery: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerSurgeryViolation.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has undergone an additional unauthorized surgery. Because you violated the agreement first, [asker_pronoun] is leaving. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.label.slateRef": "Xenogerm Absorbed: {SUBJECT_definite}",
+ "WULA_Intro_Spy.root.nodes.askerXenogermAbsorbed.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting has had a xenogerm absorbed while in your colony. This is a violation; {SUBJECT_pronoun} will leave immediately. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.Delay.node.node.parms.customLetterLabel.value.slateRef": "{BASELABEL} Pursuing [../asker_nameDef]",
+ "WULA_Intro_Spy.root.nodes.Delay.node.node.parms.customLetterText.value.slateRef": "{BASETEXT}\n\n[enemyFaction_pawnsPlural] have come here to hunt down [../asker_nameDef].",
+ "WULA_Intro_Spy.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.label.slateRef": "Shuttle Destroyed",
+ "WULA_Intro_Spy.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.text.slateRef": "The shuttle sent to pick up [asker_nameDef] has been destroyed. [asker_pronoun] will have to walk home. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.label.slateRef": "Shuttle Abandoned",
+ "WULA_Intro_Spy.root.nodes.pickupShipThingLeftBehind.node.nodes.Letter.text.slateRef": "The shuttle sent to pick up [asker_nameDef] has been abandoned. [asker_pronoun] will have to walk home.",
+ "WULA_Intro_Spy.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.label.slateRef": "Quest Failed: [resolvedQuestName]",
+ "WULA_Intro_Spy.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.text.slateRef": "The shuttle sent to pick up [asker_nameDef] left behind [asker_objective] for some reason. [asker_pronoun] will have to walk home. [failLetterEndingCommon]",
+ "WULA_Intro_Spy.root.nodes.ShuttleDelay.node.nodes.InspectString.inspectString.slateRef": "Should depart by shuttle",
+ "WULA_Intro_Spy.root.nodes.ShuttleDelay.node.nodes.Letter.label.slateRef": "Shuttle Arrived",
+ "WULA_Intro_Spy.root.nodes.ShuttleDelay.node.nodes.Letter.text.slateRef": "The shuttle sent to pick up [asker_nameDef] has arrived.",
+
+ # --- WULA_Colony_Promotion ---
+ "WULA_Colony_Promotion.questDescriptionRules.rulesStrings": _li(
+ "questDescription->The colony has accepted an inspection task.\n\n"
+ "The central control AI of the Planetary Interdiction Agency has dispatched one of her avatars and an escort squad to your colony. The inspection lasts 12 days. She will evaluate the colony's operations, and you must keep her mood above 25% at all times. Once the inspection is complete, she and the escort will depart by shuttle. If everything goes smoothly, you'll gain a chance to promote your colony and unlock more licensed technologies.\n\n"
+ "Be careful: nearby hostile factions already know a VIP has arrived. Raiders will attempt to attack the colony and capture the avatar—you may face heavy assaults!"
+ ),
+ "WULA_Colony_Promotion.questNameRules.rulesStrings": _li("questName->Promotion Task: Colony Inspection"),
+ "WULA_Colony_Promotion.root.nodes.askerDestroyed.node.nodes.Letter.label.slateRef": "Guest {SUBJECT_definite} Has Died",
+ "WULA_Colony_Promotion.root.nodes.askerDestroyed.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has died. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.askerLeftMap.node.nodes.Letter.label.slateRef": "Guest Missing: {SUBJECT_definite}",
+ "WULA_Colony_Promotion.root.nodes.askerLeftMap.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has gone missing in your colony. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.askerRanWild.node.nodes.Letter.label.slateRef": "Guest Missing: {SUBJECT_definite}",
+ "WULA_Colony_Promotion.root.nodes.askerRanWild.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has returned to the wild in your colony. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.Delay.node.nodes.Letter.label.slateRef": "Excavator Attack",
+ "WULA_Colony_Promotion.root.nodes.Delay.node.nodes.Letter.text.slateRef": "Several fast-moving black dots are streaking toward the colony, trailing thick black smoke... what are those?",
+ "WULA_Colony_Promotion.root.nodes.Letter.label.slateRef": "Quest Failed: [resolvedQuestName]",
+ "WULA_Colony_Promotion.root.nodes.Letter.text.slateRef": "[faction_name] has become hostile to you.",
+ "WULA_Colony_Promotion.root.nodes.lodgersArrested.node.nodes.Letter.label.slateRef": "Guest {SUBJECT_definite} Captured",
+ "WULA_Colony_Promotion.root.nodes.lodgersArrested.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has been captured. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.lodgersSurgeryViolation.node.nodes.Letter.label.slateRef": "Unauthorized Surgery: {SUBJECT_definite}",
+ "WULA_Colony_Promotion.root.nodes.lodgersSurgeryViolation.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were supposed to protect has undergone an additional unauthorized surgery. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.label.slateRef": "Xenogerm Absorbed",
+ "WULA_Colony_Promotion.root.nodes.lodgersXenogermAbsorbed.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting had a xenogerm absorbed while in your colony. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.MoodBelow.node.nodes.Letter.label.slateRef": "{SUBJECT_bestRoyalTitle} in Low Mood",
+ "WULA_Colony_Promotion.root.nodes.MoodBelow.node.nodes.Letter.text.slateRef": "The {SUBJECT_definite} you were charged with protecting and accommodating has had a mood below the minimum threshold [lodgersMoodThreshold] for too long. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.label.slateRef": "Shuttle Destroyed",
+ "WULA_Colony_Promotion.root.nodes.pickupShipThingDestroyed.node.nodes.Letter.text.slateRef": "The shuttle sent to pick up [asker_faction_leaderTitle] has been destroyed. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.label.slateRef": "Quest Failed: [resolvedQuestName]",
+ "WULA_Colony_Promotion.root.nodes.pickupShipThingSentUnsatisfied.node.nodes.Letter.text.slateRef": "The shuttle sent to pick up [asker_faction_leaderTitle] did not receive [asker_objective]. [asker_pronoun] will have to walk home. [failLetterEndingCommon]",
+ "WULA_Colony_Promotion.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.label.slateRef": "Shuttle Destroyed",
+ "WULA_Colony_Promotion.root.nodes.Sequence.nodes.Sequence.nodes.dropoffShipThingDestroyed.node.nodes.Letter.text.slateRef": "The shuttle assigned to transport [asker_nameDef] has been destroyed.",
+ "WULA_Colony_Promotion.root.nodes.Set-2.value.slateRef": "0.25",
+ "WULA_Colony_Promotion.root.nodes.ShuttleDelay.node.nodes.InspectString.inspectString.slateRef": "Should leave by shuttle",
+ "WULA_Colony_Promotion.root.nodes.ShuttleDelay.node.nodes.Letter.label.slateRef": "Shuttle Arrived",
+ "WULA_Colony_Promotion.root.nodes.ShuttleDelay.node.nodes.Letter.text.slateRef": "A shuttle has arrived to pick up [asker_nameDef].",
+ }
+
+
+def generate(export_xml: Path, out_xml: Path) -> None:
+ root = ET.parse(export_xml).getroot()
+ translations = build_translations()
+
+ out_root = ET.Element("LanguageData")
+ for el in list(root):
+ key = el.tag
+ if key not in translations:
+ raise KeyError(f"Missing translation for export key: {key}")
+
+ value = translations[key]
+ out_el = ET.SubElement(out_root, key)
+ if isinstance(value, list):
+ for item in value:
+ _assert_no_han(item, key)
+ li = ET.SubElement(out_el, "li")
+ li.text = item
+ else:
+ _assert_no_han(value, key)
+ out_el.text = value
+
+ _indent(out_root)
+ tree = ET.ElementTree(out_root)
+ out_xml.parent.mkdir(parents=True, exist_ok=True)
+ tree.write(out_xml, encoding="utf-8", xml_declaration=True)
+
+
+def main(argv: list[str]) -> int:
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--export", type=Path, required=True)
+ parser.add_argument("--out", type=Path, required=True)
+ args = parser.parse_args(argv)
+
+ generate(args.export, args.out)
+ return 0
+
+
+if __name__ == "__main__":
+ raise SystemExit(main(sys.argv[1:]))