翻译
This commit is contained in:
Binary file not shown.
@@ -112,6 +112,45 @@
|
||||
<value2>1</value2>
|
||||
<storeAs>taxAmount</storeAs>
|
||||
</li>
|
||||
<li Class="QuestNode_Greater">
|
||||
<value1>$points</value1>
|
||||
<value2>3999</value2>
|
||||
|
||||
<node Class="QuestNode_Multiply">
|
||||
<value1>$taxAmount</value1>
|
||||
<value2>0.8</value2>
|
||||
<storeAs>taxAmount</storeAs>
|
||||
</node>
|
||||
</li>
|
||||
<li Class="QuestNode_Greater">
|
||||
<value1>$points</value1>
|
||||
<value2>6999</value2>
|
||||
|
||||
<node Class="QuestNode_Multiply">
|
||||
<value1>$taxAmount</value1>
|
||||
<value2>0.8</value2>
|
||||
<storeAs>taxAmount</storeAs>
|
||||
</node>
|
||||
</li>
|
||||
<li Class="QuestNode_Greater">
|
||||
<value1>$points</value1>
|
||||
<value2>9999</value2>
|
||||
|
||||
<node Class="QuestNode_Multiply">
|
||||
<value1>$taxAmount</value1>
|
||||
<value2>0.8</value2>
|
||||
<storeAs>taxAmount</storeAs>
|
||||
</node>
|
||||
</li>
|
||||
<li Class="QuestNode_Greater">
|
||||
<value1>$taxAmount</value1>
|
||||
<value2>30000</value2>
|
||||
|
||||
<node Class="QuestNode_Set">
|
||||
<name>taxAmount</name>
|
||||
<value>30000</value>
|
||||
</node>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.QuestNode_WriteToEventVariablesWithAdd">
|
||||
<targetVariableName>WULA_Total_Tax_Amount</targetVariableName>
|
||||
<sourceVariableName>taxAmount</sourceVariableName>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<portraitPath>Wula/Events/Portraits/WULA_Legion_2</portraitPath>
|
||||
<characterName>「军团」,P.I.A</characterName>
|
||||
<descriptions>
|
||||
<li>晋级审查是一件大事情——你们确定你们已经准备好了吗?\n\n我和你们重申一下流程吧,我会派遣自己的一个分体和护卫队在你们殖民地考察12天,你要照顾我的分体和卫队的起居。如果一切顺利,考察完成之后你们将获得殖民地晋升的机会,舰队会为你们开放更多的许可科技。</li>
|
||||
<li>晋级审查是一件大事情——你们确定你们已经准备好了吗?\n\n我和你们重申一下流程吧,我会派遣自己的一个分体和护卫队在你们殖民地考察6天,你要照顾我的分体和卫队的起居。如果一切顺利,考察完成之后你们将获得殖民地晋升的机会,舰队会为你们开放更多的许可科技。</li>
|
||||
</descriptions>
|
||||
<options>
|
||||
<li>
|
||||
|
||||
@@ -46,6 +46,9 @@
|
||||
<alwaysHaulable>false</alwaysHaulable>
|
||||
<altitudeLayer>MetaOverlays</altitudeLayer>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_PlaySoundOnSpawn">
|
||||
<sound>WULA_MotherShip_Planet_Interdiction_IncomingSound</sound>
|
||||
</li>
|
||||
<!-- 入场信封信息 -->
|
||||
<li Class="WulaFallenEmpire.CompProperties_SendLetterAfterTicks">
|
||||
<ticksDelay>60</ticksDelay> <!-- 2秒后发送 -->
|
||||
@@ -249,6 +252,9 @@
|
||||
<alwaysHaulable>false</alwaysHaulable>
|
||||
<altitudeLayer>MetaOverlays</altitudeLayer>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_PlaySoundOnSpawn">
|
||||
<sound>WULA_MotherShip_Planet_Interdiction_IncomingSound</sound>
|
||||
</li>
|
||||
<!-- 入场信封信息 -->
|
||||
<li Class="WulaFallenEmpire.CompProperties_SendLetterAfterTicks">
|
||||
<ticksDelay>60</ticksDelay> <!-- 2秒后发送 -->
|
||||
|
||||
@@ -255,9 +255,6 @@
|
||||
<canLayDown>true</canLayDown>
|
||||
<validBeds>
|
||||
<li>WULA_Charging_Station_Synth</li>
|
||||
<li>DoubleBed</li>
|
||||
<li>HospitalBed</li>
|
||||
<li>SleepingSpot</li>
|
||||
</validBeds>
|
||||
<!-- 各种零件定义 -->
|
||||
<alienPartGenerator Inherit="False">
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- BodyPartDef Labels -->
|
||||
<WULA_Energy_Furnace_Bodypart.label>Central Energy Furnace</WULA_Energy_Furnace_Bodypart.label>
|
||||
<WULA_Addons_Antenna_Bodypart.label>Uplink Antenna</WULA_Addons_Antenna_Bodypart.label>
|
||||
<WULA_Skeleton_Bodypart.label>Alloy Skeleton</WULA_Skeleton_Bodypart.label>
|
||||
<WULA_Panzer_Core_Bodypart.label>Core Engine</WULA_Panzer_Core_Bodypart.label>
|
||||
<WULA_Outer_Armor_Bodypart.label>Outer Armor Plating</WULA_Outer_Armor_Bodypart.label>
|
||||
<WULA_Panzer_OutBrust_Bodypart.label>Retro-Thrust Vent</WULA_Panzer_OutBrust_Bodypart.label>
|
||||
<WULA_AI_Core_Bodypart.label>Autonomous Core</WULA_AI_Core_Bodypart.label>
|
||||
<WULA_Mobile_Bunker_Bodypart.label>Bunker Shell</WULA_Mobile_Bunker_Bodypart.label>
|
||||
<WULA_Shield_Field_Maintainer_Bodypart.label>Reflective Shield Generator</WULA_Shield_Field_Maintainer_Bodypart.label>
|
||||
|
||||
<!-- BodyDef Labels -->
|
||||
<WULA_Machine_Body.label>Mechanical Wula</WULA_Machine_Body.label>
|
||||
<WULA_AI_Heavy_Panzer_Body.label>Intelligent Tank</WULA_AI_Heavy_Panzer_Body.label>
|
||||
<WULA_Mech_Mobile_Shield_Body.label>Radiant Shield</WULA_Mech_Mobile_Shield_Body.label>
|
||||
<WULA_Mech_Mobile_Factory_Body.label>Landship</WULA_Mech_Mobile_Factory_Body.label>
|
||||
</LanguageData>
|
||||
60
1.6/1.6/Languages/English/DefInjected/Defs/Damages_Wula.xml
Normal file
60
1.6/1.6/Languages/English/DefInjected/Defs/Damages_Wula.xml
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- DamageDef Labels and Death Messages -->
|
||||
<Wula_Dark_Matter_Beam.label>Dark Matter Beam</Wula_Dark_Matter_Beam.label>
|
||||
<Wula_Dark_Matter_Beam.deathMessage>{0} was penetrated and killed by a dark matter beam.</Wula_Dark_Matter_Beam.deathMessage>
|
||||
|
||||
<Wula_Dark_Matter_Flame.label>Dark Matter Annihilation</Wula_Dark_Matter_Flame.label>
|
||||
<Wula_Dark_Matter_Flame.deathMessage>{0} was vaporized by the high-energy jet from dark matter annihilation.</Wula_Dark_Matter_Flame.deathMessage>
|
||||
|
||||
<WULA_Firepower_Minigun_Strafe_Damage.label>Bullet</WULA_Firepower_Minigun_Strafe_Damage.label>
|
||||
|
||||
<WULA_Armour_Piercing_Projectile_1_Damage.label>Armor-Piercing Dart</WULA_Armour_Piercing_Projectile_1_Damage.label>
|
||||
<WULA_Armour_Piercing_Projectile_1_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>Penetration Damage</WULA_Armour_Piercing_Projectile_1_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>
|
||||
|
||||
<WULA_Armour_Piercing_Projectile_2_Damage.label>Armor-Piercing Dart</WULA_Armour_Piercing_Projectile_2_Damage.label>
|
||||
<WULA_Armour_Piercing_Projectile_2_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>Penetration Damage</WULA_Armour_Piercing_Projectile_2_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>
|
||||
|
||||
<WULA_Armour_Piercing_Projectile_3_Damage.label>Armor-Piercing Dart</WULA_Armour_Piercing_Projectile_3_Damage.label>
|
||||
<WULA_Armour_Piercing_Projectile_3_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>Penetration Damage</WULA_Armour_Piercing_Projectile_3_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>
|
||||
|
||||
<WULA_Armour_Piercing_Projectile_4_Damage.label>Armor-Piercing Dart</WULA_Armour_Piercing_Projectile_4_Damage.label>
|
||||
<WULA_Armour_Piercing_Projectile_4_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>Penetration Damage</WULA_Armour_Piercing_Projectile_4_Damage.modExtensions.DamageDef_ExtraDamageExtension.extraLabel>
|
||||
|
||||
<Wula_Psi_Damage.label>Psychic Burn</Wula_Psi_Damage.label>
|
||||
<Wula_Psi_Damage.deathMessage>{0} was burned to death by psychic energy.</Wula_Psi_Damage.deathMessage>
|
||||
|
||||
<Wula_Psi_Bomb.label>Psychic Deflagration</Wula_Psi_Bomb.label>
|
||||
<Wula_Psi_Bomb.deathMessage>{0} was burned to death by psychic energy.</Wula_Psi_Bomb.deathMessage>
|
||||
|
||||
<Damage_WULA_Plasma.label>Plasma Melting</Damage_WULA_Plasma.label>
|
||||
<Damage_WULA_Plasma.deathMessage>{0} was killed by the molten explosion caused by plasma.</Damage_WULA_Plasma.deathMessage>
|
||||
|
||||
<Damage_WULA_Plasma_Explosive.label>Molten Explosion</Damage_WULA_Plasma_Explosive.label>
|
||||
<Damage_WULA_Plasma_Explosive.deathMessage>{0} was killed by the molten explosion caused by plasma.</Damage_WULA_Plasma_Explosive.deathMessage>
|
||||
|
||||
<Damage_WULA_Melta.label>Melta</Damage_WULA_Melta.label>
|
||||
<Damage_WULA_Melta.deathMessage>{0} was melted by a melta weapon.</Damage_WULA_Melta.deathMessage>
|
||||
|
||||
<WULA_Shuttle_Autocannon_Bullet.label>Bullet</WULA_Shuttle_Autocannon_Bullet.label>
|
||||
|
||||
<WULA_Disturber_Turret_Bomb.label>Lava Explosion</WULA_Disturber_Turret_Bomb.label>
|
||||
|
||||
<WULA_Combat_Excavator_Shoke_Damage.label>High-Energy Shockwave</WULA_Combat_Excavator_Shoke_Damage.label>
|
||||
|
||||
<WULA_Combat_Excavator_Shoke_S_Damage.label>High-Energy Shockwave</WULA_Combat_Excavator_Shoke_S_Damage.label>
|
||||
|
||||
<WULA_Sow_Excavator_Shoke_Damage.label>High-Energy Shockwave</WULA_Sow_Excavator_Shoke_Damage.label>
|
||||
|
||||
<WULA_DarkMatterBomb.label>Dark Matter Annihilation Explosion</WULA_DarkMatterBomb.label>
|
||||
|
||||
<WULA_Mech_Drop.label>EMP</WULA_Mech_Drop.label>
|
||||
<WULA_Mech_Drop.deathMessage>{0} has been EMPed to death.</WULA_Mech_Drop.deathMessage>
|
||||
|
||||
<WULA_Mech_EMP_Drop.label>EMP</WULA_Mech_EMP_Drop.label>
|
||||
<WULA_Mech_EMP_Drop.deathMessage>{0} has been EMPed to death.</WULA_Mech_EMP_Drop.deathMessage>
|
||||
|
||||
<Damage_WULA_RW_Unlimit_Penetrating_Beam_Cannon.label>Penetrating Cannon Cutting Beam</Damage_WULA_RW_Unlimit_Penetrating_Beam_Cannon.label>
|
||||
|
||||
<WULA_GiantBomb.label>Large Explosion</WULA_GiantBomb.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Shutdown_Synth.label>Emergency Shutdown</WULA_Shutdown_Synth.label>
|
||||
<WULA_Shutdown_Synth.description>Shut down all systems of this mechanical Wula to avoid potential risks for a period of time. Requires a colonist to assist with the shutdown, and another colonist is needed to power it back on.</WULA_Shutdown_Synth.description>
|
||||
<WULA_Shutdown_Synth.jobString>Emergency shutdown in progress.</WULA_Shutdown_Synth.jobString>
|
||||
|
||||
<WULA_Synth_Power_On.label>Power On</WULA_Synth_Power_On.label>
|
||||
<WULA_Synth_Power_On.description>Restart this synth, restoring its system functions.</WULA_Synth_Power_On.description>
|
||||
<WULA_Synth_Power_On.jobString>Restarting synth.</WULA_Synth_Power_On.jobString>
|
||||
<WULA_Synth_Power_On.successfullyRemovedHediffMessage>{0} successfully restarted {1}.</WULA_Synth_Power_On.successfullyRemovedHediffMessage>
|
||||
|
||||
<WULA_Shutdown_Synth_Hediff.label>Shutdown</WULA_Shutdown_Synth_Hediff.label>
|
||||
<WULA_Shutdown_Synth_Hediff.description>All systems of this mechanical Wula have been shut down.</WULA_Shutdown_Synth_Hediff.description>
|
||||
<WULA_Shutdown_Synth_Hediff.descriptionShort>All systems of this mechanical Wula have been shut down—if awakening is needed, assistance from another colonist is required.</WULA_Shutdown_Synth_Hediff.descriptionShort>
|
||||
<WULA_Shutdown_Synth_Hediff.stages.0.label>Shutdown</WULA_Shutdown_Synth_Hediff.stages.0.label>
|
||||
|
||||
<WULA_AutoJumpdrive.label>Micro Teleporter</WULA_AutoJumpdrive.label>
|
||||
<WULA_AutoJumpdrive.description>A micro jump-drive installed in Wula Empire synth military units, which retrieves the synth when it reaches the designated combat time.</WULA_AutoJumpdrive.description>
|
||||
|
||||
<WULA_AutoJumpdrive_Thing.label>Micro Teleporter</WULA_AutoJumpdrive_Thing.label>
|
||||
<WULA_AutoJumpdrive_Thing.description>A micro jump-drive installed in Wula Empire synth military units, which retrieves the synth when it reaches the designated combat time.</WULA_AutoJumpdrive_Thing.description>
|
||||
|
||||
<Install_WULA_AutoJumpdrive.label>install death acidifier</Install_WULA_AutoJumpdrive.label>
|
||||
<Install_WULA_AutoJumpdrive.description>Install a death acidifier.</Install_WULA_AutoJumpdrive.description>
|
||||
<Install_WULA_AutoJumpdrive.jobString>Installing death acidifier.</Install_WULA_AutoJumpdrive.jobString>
|
||||
|
||||
<WULA_AutoJumpdrive_Week.label>Micro Teleporter</WULA_AutoJumpdrive_Week.label>
|
||||
<WULA_AutoJumpdrive_Week.description>A micro jump-drive installed in Wula Empire synth military units, which retrieves the synth when it reaches the designated combat time.</WULA_AutoJumpdrive_Week.description>
|
||||
|
||||
<Install_WULA_AutoJumpdrive_Week.label>install death acidifier</Install_WULA_AutoJumpdrive_Week.label>
|
||||
<Install_WULA_AutoJumpdrive_Week.description>Install a death acidifier.</Install_WULA_AutoJumpdrive_Week.description>
|
||||
<Install_WULA_AutoJumpdrive_Week.jobString>Installing death acidifier.</Install_WULA_AutoJumpdrive_Week.jobString>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<Wula_Psi_Damage_Hediff.label>Psychic Chaos</Wula_Psi_Damage_Hediff.label>
|
||||
<Wula_Psi_Damage_Hediff.description>Temporary chaos caused by Wula Empire psychic strikes, which may lead to states like limb discoordination, resulting in loss of combat capability.</Wula_Psi_Damage_Hediff.description>
|
||||
<Wula_Psi_Damage_Hediff.comps.HediffCompProperties_SurgeryInspectable.surgicalDetectionDesc>{PAWN_nameDef} is in a state of confusion due to a Wula Empire psychic strike—it won't cause permanent harm, but requires time to dissipate.</Wula_Psi_Damage_Hediff.comps.HediffCompProperties_SurgeryInspectable.surgicalDetectionDesc>
|
||||
<Wula_Psi_Damage_Hediff.stages.0.label>initial</Wula_Psi_Damage_Hediff.stages.0.label>
|
||||
<Wula_Psi_Damage_Hediff.stages.1.label>initial</Wula_Psi_Damage_Hediff.stages.1.label>
|
||||
<Wula_Psi_Damage_Hediff.stages.2.label>minor</Wula_Psi_Damage_Hediff.stages.2.label>
|
||||
<Wula_Psi_Damage_Hediff.stages.3.label>moderate</Wula_Psi_Damage_Hediff.stages.3.label>
|
||||
<Wula_Psi_Damage_Hediff.stages.4.label>serious</Wula_Psi_Damage_Hediff.stages.4.label>
|
||||
<Wula_Psi_Damage_Hediff.stages.5.label>extreme</Wula_Psi_Damage_Hediff.stages.5.label>
|
||||
|
||||
<WULA_Darkmatter_Explosion.label>Dark Matter Burst</WULA_Darkmatter_Explosion.label>
|
||||
<WULA_Darkmatter_Explosion.description>You are contaminated with unknown dark matter! It's about to explode! Good luck~</WULA_Darkmatter_Explosion.description>
|
||||
<WULA_Darkmatter_Explosion.stages.0.label>minor</WULA_Darkmatter_Explosion.stages.0.label>
|
||||
|
||||
<WULA_Psi_Regeneration.label>Psychic Regeneration</WULA_Psi_Regeneration.label>
|
||||
<WULA_Psi_Regeneration.description>Under the influence of a powerful psychic ritual, this creature is regenerating at an astonishingly fast rate. They can heal almost any wound in a short time.</WULA_Psi_Regeneration.description>
|
||||
<WULA_Psi_Regeneration.stages.0.label>Ritual Strength: Very Weak</WULA_Psi_Regeneration.stages.0.label>
|
||||
<WULA_Psi_Regeneration.stages.1.label>Ritual Strength: Weak</WULA_Psi_Regeneration.stages.1.label>
|
||||
<WULA_Psi_Regeneration.stages.2.label>Ritual Strength: Below Average</WULA_Psi_Regeneration.stages.2.label>
|
||||
<WULA_Psi_Regeneration.stages.3.label>Ritual Strength: Above Average</WULA_Psi_Regeneration.stages.3.label>
|
||||
<WULA_Psi_Regeneration.stages.4.label>Ritual Strength: Strong</WULA_Psi_Regeneration.stages.4.label>
|
||||
<WULA_Psi_Regeneration.stages.5.label>Ritual Strength: Very Strong</WULA_Psi_Regeneration.stages.5.label>
|
||||
|
||||
<WULA_WeaponStealEffect.label>Magnetic Adhesion</WULA_WeaponStealEffect.label>
|
||||
<WULA_WeaponStealEffect.description>Hit by a magnetic beam, which will seize the currently equipped weapon.</WULA_WeaponStealEffect.description>
|
||||
<WULA_WeaponStealEffect.stages.0.label>Faint</WULA_WeaponStealEffect.stages.0.label>
|
||||
<WULA_WeaponStealEffect.stages.1.label>Below Average</WULA_WeaponStealEffect.stages.1.label>
|
||||
<WULA_WeaponStealEffect.stages.2.label>Above Average</WULA_WeaponStealEffect.stages.2.label>
|
||||
<WULA_WeaponStealEffect.stages.3.label>Extreme</WULA_WeaponStealEffect.stages.3.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Adult Backstories -->
|
||||
<WULA_Adult_Backstory01.title>Blank Slate</WULA_Adult_Backstory01.title>
|
||||
<WULA_Adult_Backstory01.titleShort>Blank Slate</WULA_Adult_Backstory01.titleShort>
|
||||
<WULA_Adult_Backstory01.description>[PAWN_nameDef] has no story—[PAWN_pronoun] was packaged from the factory planet of origin and sent to the Wula Empire Development Agency. This is [PAWN_possessive] first deployment to an actual mission.\n\nAs a result, most of [PAWN_possessive] memory banks remain vacant, allowing [PAWN_pronoun] to learn quickly and shape [PAWN_pronoun]self.</WULA_Adult_Backstory01.description>
|
||||
|
||||
<WULA_Adult_Backstory02.title>Medic</WULA_Adult_Backstory02.title>
|
||||
<WULA_Adult_Backstory02.titleShort>Medic</WULA_Adult_Backstory02.titleShort>
|
||||
<WULA_Adult_Backstory02.description>[PAWN_nameDef] is a medic who has embarked on a nobler path—saving fading lives from the battlefield with [PAWN_possessive] own strength. During [PAWN_possessive] years of service, [PAWN_pronoun] moved through the battlefield with a gun in one hand and emergency equipment in the other. [PAWN_pronoun] has rescued countless Wula Empire wounded and killed numerous alien soldiers with ill intentions, making [PAWN_pronoun] the spiritual pillar of the entire regiment.\n\nAfter participating in multiple battles worthy of being recorded in the Empire's history, [PAWN_nameDef] met [PAWN_possessive] retirement day. But [PAWN_possessive] journey is not over; [PAWN_pronoun] joined a frontier world pioneering team, decided to continue using [PAWN_possessive] skills to save companions and fight against aliens.</WULA_Adult_Backstory02.description>
|
||||
|
||||
<WULA_Adult_Backstory03.title>Garrison Soldier</WULA_Adult_Backstory03.title>
|
||||
<WULA_Adult_Backstory03.titleShort>Garrison Soldier</WULA_Adult_Backstory03.titleShort>
|
||||
<WULA_Adult_Backstory03.description>[PAWN_nameDef] is a retired auxiliary soldier of the Wula Empire Knight Order, formerly a garrison soldier defending the front lines. Garrison soldiers typically deploy with the Knight Order's Shield Knights and are stationed at fortress nodes most in need of solid defense. [PAWN_pronoun] has accumulated rich combat and fortification experience through numerous campaigns, but [PAWN_pronoun] also grew weary of the bland retired life. Seeking excitement again, [PAWN_pronoun] joined the Wula Empire's pioneering team to start a second life in a new star sector.</WULA_Adult_Backstory03.description>
|
||||
|
||||
<WULA_Adult_Backstory04.title>Squire Knight</WULA_Adult_Backstory04.title>
|
||||
<WULA_Adult_Backstory04.titleShort>Squire Knight</WULA_Adult_Backstory04.titleShort>
|
||||
<WULA_Adult_Backstory04.description>[PAWN_nameDef] is a squire knight about to join the Wula Empire Knight Order. At a chance moment, [PAWN_possessive] talents and skills were discovered by the Order's knights, granting [PAWN_objective] the opportunity to enter. [PAWN_pronoun]毫不犹豫 chose this path and swore an oath to the Knightly Codex, vowing with [PAWN_possessive] blood to pledge loyalty to the Emperor.\n\nHowever, due to the Order's regulations, [PAWN_pronoun] still needs to undergo a series of trials to formally join. Such opportunities cannot be found within the fortress walls, so [PAWN_nameDef] joined a frontier world pioneering team, ready to prove [PAWN_reflexive] in this land of opportunity.</WULA_Adult_Backstory04.description>
|
||||
|
||||
<WULA_Adult_Backstory05.title>Penitent Knight</WULA_Adult_Backstory05.title>
|
||||
<WULA_Adult_Backstory05.titleShort>Penitent Knight</WULA_Adult_Backstory05.titleShort>
|
||||
<WULA_Adult_Backstory05.description>[PAWN_nameDef] is a Wula Empire Penitent Knight. Though nominally a knight, [PAWN_pronoun] has been expelled from the Knight Order. [PAWN_pronoun] committed an irreparable error and must atone through lifelong流浪远征 to the Order, so that upon [PAWN_possessive] death, [PAWN_pronoun] may be reinstated and allowed burial in the Order's tombs.\n\nNo one knows how [PAWN_nameDef] joined the pioneering team; [PAWN_pronoun] never speaks of [PAWN_possessive] transgression.</WULA_Adult_Backstory05.description>
|
||||
|
||||
<WULA_Adult_Backstory10.title>Serf</WULA_Adult_Backstory10.title>
|
||||
<WULA_Adult_Backstory10.titleShort>Serf</WULA_Adult_Backstory10.titleShort>
|
||||
<WULA_Adult_Backstory10.description>Serfs are the lowest caste of untouchables within the Wula Empire Knight Order's domains. Normally, synthetic Wulas with full citizenship would not fall to this state, but [PAWN_nameDef] is an exception. [PAWN_pronoun]似乎犯下过 some grave sin, stripped of citizenship and reduced to slave level. Fortunately, some pioneering teams were short-handed, as no one wanted to come to the lawless frontier worlds. To meet quotas, the Knight Order驱赶[PAWN_nameDef] to a pioneering team—at least [PAWN_pronoun] no longer suffers abuse from the upper-class masters.</WULA_Adult_Backstory10.description>
|
||||
|
||||
<WULA_Adult_Backstory11.title>Retinue</WULA_Adult_Backstory11.title>
|
||||
<WULA_Adult_Backstory11.titleShort>Retinue</WULA_Adult_Backstory11.titleShort>
|
||||
<WULA_Adult_Backstory11.description>[PAWN_nameDef] is a Wula帝国 retinue—just as described in knightly tales, the Wula Empire Knight Order's knights have their own retinues. The retinue's duty is to care for the knights' daily needs, maintain their weapons, assist in conveying orders, and even take up arms to aid the knights in battle.\n\nIn one war, [PAWN_possessive] master died on the battlefield. After arranging the aftermath, [PAWN_nameDef] suddenly lost [PAWN_possessive] sense of purpose; serving knightly masters seemed the only thing [PAWN_pronoun] knew how to do. [PAWN_pronoun] found no suitable knight to pledge allegiance to and, in a daze, joined a Wula Empire pioneering team, hoping to prove [PAWN_possessive] worth in a new star sector.</WULA_Adult_Backstory11.description>
|
||||
|
||||
<WULA_Adult_Backstory12.title>Legal Officer</WULA_Adult_Backstory12.title>
|
||||
<WULA_Adult_Backstory12.titleShort>Legal Officer</WULA_Adult_Backstory12.titleShort>
|
||||
<WULA_Adult_Backstory12.description>[PAWN_nameDef] was once a Wula Empire Legal Officer. Legal Officers are special基层执法者 within the Knight Order's domains,专门负责应对 riots, disturbances, and rebellions caused by slaves, upholding the Wula Empire's supreme authority. [PAWN_possessive] stun baton has struck down countless aliens, and rebellious slaves tremble speechlessly at the sight of [PAWN_pronoun]—but at some point, [PAWN_pronoun] suddenly grew厌恶 of this life.\n\n[PAWN_pronoun] left the Knight Order's jurisdiction and joined a pioneering team heading to a new star sector, seemingly to彻底诀别 with the past.</WULA_Adult_Backstory12.description>
|
||||
|
||||
<WULA_Adult_Backstory100.title>Floral Envoy</WULA_Adult_Backstory100.title>
|
||||
<WULA_Adult_Backstory100.titleShort>Floral Envoy</WULA_Adult_Backstory100.titleShort>
|
||||
<WULA_Adult_Backstory100.description>[PAWN_nameDef] is a Wula Empire Floral Envoy. Floral Envoys are plant sculptors of the Empire, responsible for cultivating pleasing landscapes and delicious food through genetic manipulation and pruning, carrying on the wish to撒满 seeds of beauty and hope across every Wula Empire colony.\n\nTo conduct field research in a new star sector, [PAWN_nameDef] joined a newly formed Wula Empire pioneering team to continue [PAWN_possessive] path of cultivation.</WULA_Adult_Backstory100.description>
|
||||
|
||||
<WULA_Adult_Backstory101.title>Breeder Envoy</WULA_Adult_Backstory101.title>
|
||||
<WULA_Adult_Backstory101.titleShort>Breeder Envoy</WULA_Adult_Backstory101.titleShort>
|
||||
<WULA_Adult_Backstory101.description>[PAWN_possessive] is a Wula Empire Breeder Envoy. Breeder Envoys are animal sculptors of the Empire, specializing in creating and改良 low-intelligence species through genetic修剪 and reconstruction. Of course, they occasionally construct一些疯狂扭曲的造物 and deploy them as biological weapons on the battlefield.\n\nFor a new star sector, the diverse本地生物 are the best test subjects. [PAWN_nameDef] eagerly joined the frontier world pioneering action, hoping to find new inspiration.</WULA_Adult_Backstory101.description>
|
||||
|
||||
<WULA_Adult_Backstory102.title>Herald Envoy</WULA_Adult_Backstory102.title>
|
||||
<WULA_Adult_Backstory102.titleShort>Herald Envoy</WULA_Adult_Backstory102.titleShort>
|
||||
<WULA_Adult_Backstory102.description>[PAWN_nameDef] was once a Wula Empire Herald Envoy. These八面玲珑外交人员 are the Empire's external voice; their name symbolizes their身份: noble, elegant, and目中无人. They only convey the Empire's will to lower civilizations, listening to no requests and offering no bargaining power.\n\nIn a catastrophic外交事故, [PAWN_nameDef] was deemed to have damaged the Empire's dignity, thus stripped of [PAWN_possessive]身份 and exiled to a frontier world pioneering team.</WULA_Adult_Backstory102.description>
|
||||
|
||||
<WULA_Adult_Backstory200.title>Harmony Attendant</WULA_Adult_Backstory200.title>
|
||||
<WULA_Adult_Backstory200.titleShort>Harmony Attendant</WULA_Adult_Backstory200.titleShort>
|
||||
<WULA_Adult_Backstory200.description>[PAWN_nameDef] is a Harmony Attendant of the Wula Empire State Church. Harmony Attendants excel in farming, knowing how to use psychic energy to催产 crops and offer the most perfect tribute to the Lord on harvest day.\n\nAs a member of the congregation, [PAWN_nameDef]理所当然地 joined the pioneering of new worlds, a great opportunity for the State Church to宣扬其存在 and assimilate local信仰.</WULA_Adult_Backstory200.description>
|
||||
|
||||
<WULA_Adult_Backstory201.title>Forge-Hammer Attendant</WULA_Adult_Backstory201.title>
|
||||
<WULA_Adult_Backstory201.titleShort>Forge-Hammer Attendant</WULA_Adult_Backstory201.titleShort>
|
||||
<WULA_Adult_Backstory201.description>[PAWN_nameDef] is a Forge-Hammer Attendant of the Wula Empire State Church. Forge-Hammer Attendants are skilled in forging swords and plows, using psychic energy to shape items, carving their faith into exquisite器具.\n\nAs a member of the congregation, [PAWN_nameDef]理所当然地 joined the pioneering of new worlds, a great opportunity for the State Church to宣扬其存在 and assimilate local信仰.</WULA_Adult_Backstory201.description>
|
||||
|
||||
<WULA_Adult_Backstory202.title>Ecclesiastical Guard</WULA_Adult_Backstory202.title>
|
||||
<WULA_Adult_Backstory202.titleShort>Ecclesiastical Guard</WULA_Adult_Backstory202.titleShort>
|
||||
<WULA_Adult_Backstory202.description>[PAWN_nameDef] is a战士隶属于 the Wula Empire Ecclesiastical Guard, adept in psychic combat techniques, proving [PAWN_possessive]无限热忱 with the blood of sworn enemies.\n\n按理来说, [PAWN_nameDef] and the Ecclesiastical Guard [PAWN_pronoun] represents should not be here, as this constitutes长臂管辖 for the Church—but perhaps it's personal? In short, no one清楚 why the Church made such arrangements.</WULA_Adult_Backstory202.description>
|
||||
|
||||
<WULA_Adult_Backstory204.title>Gospel Attendant</WULA_Adult_Backstory204.title>
|
||||
<WULA_Adult_Backstory204.titleShort>Gospel Attendant</WULA_Adult_Backstory204.titleShort>
|
||||
<WULA_Adult_Backstory204.description>[PAWN_nameDef] is a Gospel Attendant of the Wula Empire State Church. Gospel Attendants are congregants of the Empire's Great Cathedral, i.e., preachers who maintain social stability through sermons and致力于传播福音 among异种.\n\nAs a member of the congregation, [PAWN_nameDef]理所当然地 joined the pioneering of new worlds, a great opportunity for the State Church to宣扬其存在 and assimilate local信仰.</WULA_Adult_Backstory204.description>
|
||||
|
||||
<WULA_Adult_Backstory301.title>Catalog Librarian</WULA_Adult_Backstory301.title>
|
||||
<WULA_Adult_Backstory301.titleShort>Catalog Librarian</WULA_Adult_Backstory301.titleShort>
|
||||
<WULA_Adult_Backstory301.description>[PAWN_nameDef] was once a Wula Empire Catalog Librarian. Catalog Librarians are archivists of the Empire's library, responsible for bibliographic compilation of preserved materials spanning millions of years in thousands of languages, gears that maintain the正常运转 of the Empire's knowledge repository.\n\nTo seek new lost technologies, [PAWN_nameDef] left the comfortable living environment of the Wula Empire worlds and came to this remote star sector.</WULA_Adult_Backstory301.description>
|
||||
|
||||
<WULA_Adult_Backstory_Legion.title>"Legion" Aspect</WULA_Adult_Backstory_Legion.title>
|
||||
<WULA_Adult_Backstory_Legion.titleShort>"Legion" Aspect</WULA_Adult_Backstory_Legion.titleShort>
|
||||
<WULA_Adult_Backstory_Legion.description>[PAWN_nameDef]实际上 has no autonomous mind; it is directly linked to the super AI "Legion" of the Wula Empire Planetary Interdiction Agency, serving as its eyes and ears during external activities.</WULA_Adult_Backstory_Legion.description>
|
||||
|
||||
<WULA_Adult_Backstory_Legion_Escort.title>Broken Talon Guard</WULA_Adult_Backstory_Legion_Escort.title>
|
||||
<WULA_Adult_Backstory_Legion_Escort.titleShort>Broken Talon Guard</WULA_Adult_Backstory_Legion_Escort.titleShort>
|
||||
<WULA_Adult_Backstory_Legion_Escort.description>[PAWN_nameDef] is a member of the Broken Talon Guard, the personal guard of the Wula Empire Planetary Interdiction Agency's总控AI "Legion"—silent and deadly, faithfully fulfilling their duties, completing various棘手 tasks for their superior.</WULA_Adult_Backstory_Legion_Escort.description>
|
||||
|
||||
<WULA_Adult_Backstory999.title>Shattered Personality</WULA_Adult_Backstory999.title>
|
||||
<WULA_Adult_Backstory999.titleShort>Shattered Personality</WULA_Adult_Backstory999.titleShort>
|
||||
<WULA_Adult_Backstory999.description>[PAWN_possessive] personality matrix is completely damaged, already part of a collective consciousness.</WULA_Adult_Backstory999.description>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Childhood Backstories -->
|
||||
<WULA_Child_Backstory01.title>Origin: Kroup</WULA_Child_Backstory01.title>
|
||||
<WULA_Child_Backstory01.titleShort>Kroup</WULA_Child_Backstory01.titleShort>
|
||||
<WULA_Child_Backstory01.description>[PAWN_nameDef] is a synthetic produced in the Kroup star sector. This sector is a war-torn land—due to its remote location and complex geopolitics, the Wula Empire has never truly controlled this sector, but its excellent rare crystals and alien natural gas make the Empire unwilling to relinquish control.\n\nSynthetics produced here use strategic materials far above other sectors, granting them higher机体耐久, lower energy consumption, and内置了一定的 combat and crafting abilities.</WULA_Child_Backstory01.description>
|
||||
|
||||
<WULA_Child_Backstory01_Hediff.label>Origin: Kroup</WULA_Child_Backstory01_Hediff.label>
|
||||
<WULA_Child_Backstory01_Hediff.description>Synthetics produced here use strategic materials far above other sectors, granting them higher机体耐久, lower energy consumption, and内置了一定的 combat abilities.</WULA_Child_Backstory01_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory02.title>Origin: Daedalus</WULA_Child_Backstory02.title>
|
||||
<WULA_Child_Backstory02.titleShort>Daedalus</WULA_Child_Backstory02.titleShort>
|
||||
<WULA_Child_Backstory02.description>[PAWN_nameDef] is a synthetic produced in the Daedalus star sector. This sector is a factory星域 near the frontier worlds, where countless high-quality alloys for the Wula fleets are born, the搏动的心脏 of the industrial zones.\n\nSynthetics from here are equipped with powerful production systems, allowing them to抵消此型合成人在采矿和建造上的天然劣势.</WULA_Child_Backstory02.description>
|
||||
|
||||
<WULA_Child_Backstory02_Hediff.label>Origin: Daedalus</WULA_Child_Backstory02_Hediff.label>
|
||||
<WULA_Child_Backstory02_Hediff.description>Synthetics from here are equipped with powerful production systems, allowing them to抵消此型合成人在采矿和建造上的天然劣势.</WULA_Child_Backstory02_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory03.title>Origin: Palace District</WULA_Child_Backstory03.title>
|
||||
<WULA_Child_Backstory03.titleShort>Palace District</WULA_Child_Backstory03.titleShort>
|
||||
<WULA_Child_Backstory03.description>[PAWN_nameDef] is a synthetic produced in the Palace District. The Palace District is the core of Wula Empire politics and power; things produced here are typically皇室专供 and not外流 to other sectors—though there are exceptions.\n\nSynthetics produced here are usually more refined and风度翩翩 than those from other sectors, giving them innate advantages in社交和艺术.</WULA_Child_Backstory03.description>
|
||||
|
||||
<WULA_Child_Backstory03_Hediff.label>Origin: Palace District</WULA_Child_Backstory03_Hediff.label>
|
||||
<WULA_Child_Backstory03_Hediff.description>Synthetics produced here are usually more refined and风度翩翩 than those from other sectors, giving them innate advantages in社交和艺术.</WULA_Child_Backstory03_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory04.title>Origin: Delta</WULA_Child_Backstory04.title>
|
||||
<WULA_Child_Backstory04.titleShort>Delta</WULA_Child_Backstory04.titleShort>
|
||||
<WULA_Child_Backstory04.description>[PAWN_nameDef] is a synthetic produced in the Delta star sector. The Delta sector is a true fortress sector, where countless assembly factories迸溅着 sulfur and flame; war machines are the sole product—they join the "Legion's"洪流 upon leaving the production line,奔赴 the Empire's battlefields.\n\nSynthetics produced here are designed as专用战争机械, simple and easy to maintain, possessing无可争议的战斗能力, but不太擅长 other tasks.</WULA_Child_Backstory04.description>
|
||||
|
||||
<WULA_Child_Backstory04_Hediff.label>Origin: Delta</WULA_Child_Backstory04_Hediff.label>
|
||||
<WULA_Child_Backstory04_Hediff.description>Synthetics produced here are designed as专用战争机械, simple and easy to maintain, possessing无可争议的战斗能力, but不太擅长 other tasks.</WULA_Child_Backstory04_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory05.title>Origin: Serris</WULA_Child_Backstory05.title>
|
||||
<WULA_Child_Backstory05.titleShort>Serris</WULA_Child_Backstory05.titleShort>
|
||||
<WULA_Child_Backstory05.description>[PAWN_nameDef] is a synthetic produced in the Serris star sector. The Serris sector is the Wula Empire's科研中心; though the Empire's basic technology has factually stagnated, aspiring individuals within the Empire still趋之若鹜 to the sector's endless knowledge stores. However, synthetics produced here are often抽调去 local秘密项目, rarely having opportunities to be transferred to other sectors.\n\nSynthetics produced here are科研特化型号; they excel at research and are among the few synthetics capable of directly操纵机械族—though the Empire's mechanoids are autonomous machines.</WULA_Child_Backstory05.description>
|
||||
|
||||
<WULA_Child_Backstory05_Hediff.label>Origin: Serris</WULA_Child_Backstory05_Hediff.label>
|
||||
<WULA_Child_Backstory05_Hediff.description>Synthetics produced here are科研特化型号; they excel at research and are among the few synthetics capable of directly操纵机械族—though the Empire's mechanoids are autonomous machines.</WULA_Child_Backstory05_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory06.title>Origin: Marek</WULA_Child_Backstory06.title>
|
||||
<WULA_Child_Backstory06.titleShort>Marek</WULA_Child_Backstory06.titleShort>
|
||||
<WULA_Child_Backstory06.description>[PAWN_nameDef] is a synthetic produced in the Marek star sector. The Marek sector is a vast农业型星区 compared to others. Here, multiple planets with得天独厚的天文位置 are suitable for agricultural production, enabling it to源源不断地输送大量食材 to the Wula Empire.\n\nSynthetics produced in this星域通常内置了家政和农业系统, making them very adept at handling杂事. Additionally, their durable design causes them to磨损速度 slower than synthetics from other sectors under natural conditions.</WULA_Child_Backstory06.description>
|
||||
|
||||
<WULA_Child_Backstory06_Hediff.label>Origin: Marek</WULA_Child_Backstory06_Hediff.label>
|
||||
<WULA_Child_Backstory06_Hediff.description>Synthetics produced in this星域通常内置了家政和农业系统, making them very adept at handling杂事. Additionally, their durable design causes them to磨损速度 slower than synthetics from other sectors under natural conditions.</WULA_Child_Backstory06_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory07.title>Origin: Dyson</WULA_Child_Backstory07.title>
|
||||
<WULA_Child_Backstory07.titleShort>Dyson</WULA_Child_Backstory07.titleShort>
|
||||
<WULA_Child_Backstory07.description>[PAWN_nameDef] is a synthetic produced in the Dyson star sector. The Dyson sector集中建立了 numerous天文级别的巨型空间结构, a direct体现 of the昔日 Wula Empire's雄厚国力. Such massive structures naturally require many高适应性的 synthetics for maintenance.\n\nSynthetics born here possess powerful手工系统; their nano-repair is designed for自持修复 in extreme environments, thus repair消耗 is lower than synthetics from other sectors.</WULA_Child_Backstory07.description>
|
||||
|
||||
<WULA_Child_Backstory07_Hediff.label>Origin: Dyson</WULA_Child_Backstory07_Hediff.label>
|
||||
<WULA_Child_Backstory07_Hediff.description>Synthetics born here possess powerful手工系统; their nano-repair is designed for自持修复 in extreme environments, thus repair消耗 is lower than synthetics from other sectors.</WULA_Child_Backstory07_Hediff.description>
|
||||
|
||||
<WULA_Child_Backstory99.title>Origin: Unknown</WULA_Child_Backstory99.title>
|
||||
<WULA_Child_Backstory99.titleShort>Unknown Origin</WULA_Child_Backstory99.titleShort>
|
||||
<WULA_Child_Backstory99.description>[PAWN_nameDef]'s origin cannot be traced—perhaps a high-quality imitation from some sector, or a机体 illegally reprocessed after回收; in short, the机体编号 on their body is either forged or simply absent.\n\nThese wild mechanical Wulas know a bit of everything but excel at nothing特别.</WULA_Child_Backstory99.description>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Buildings.label>Wula Technology</WULA_Buildings.label>
|
||||
<WULA_Buildings.description>Technological structures from the fallen empire of the Wula.</WULA_Buildings.description>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Addons_Antenna_Hide.label>Hidden Antenna</WULA_Addons_Antenna_Hide.label>
|
||||
<WULA_Addons_Antenna_Hide.description>A special command antenna embedded behind the head, with a unique system code. Any colonist can use this communication device to contact the Wula Empire fleet; it is a credential of the Empire's recognition of the colony.</WULA_Addons_Antenna_Hide.description>
|
||||
|
||||
<WULA_Addons_Antenna_Hediff_Base.label>Mechanical Command Node</WULA_Addons_Antenna_Hediff_Base.label>
|
||||
<WULA_Addons_Antenna_Hediff_Base.description>Wula Empire synths have a pair of antennas on their heads. They can use this communication system to contact the Wula Empire fleet. Additionally, they can also use this system to send and receive secondary mechanoid signals—although most of the time, they lack the bandwidth to command mechanoids.</WULA_Addons_Antenna_Hediff_Base.description>
|
||||
<WULA_Addons_Antenna_Hediff_Base.descriptionShort>A pair of antennas capable of fleet communication.</WULA_Addons_Antenna_Hediff_Base.descriptionShort>
|
||||
<WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.switchLabel>Frequency Switch</WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.switchLabel>
|
||||
<WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.switchDesc>Switch between artillery and aircraft call frequencies to request different types of support</WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.switchDesc>
|
||||
<WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.statusLabel>Channel: {0}</WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.statusLabel>
|
||||
<WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.statusDesc>View detailed information about the current frequency</WULA_Addons_Antenna_Hediff_Base.comps.HediffComp_SwitchableHediff.statusDesc>
|
||||
|
||||
<Wula_FM_Switc_None.label>Frequency (None)</Wula_FM_Switc_None.label>
|
||||
<Wula_FM_Switc_None.description>Turn off all frequencies to avoid cluttering the skill bar.</Wula_FM_Switc_None.description>
|
||||
|
||||
<Wula_FM_Switc_Artillery.label>Frequency (Artillery)</Wula_FM_Switc_Artillery.label>
|
||||
<Wula_FM_Switc_Artillery.description>Allows Wula Empire synths to call for orbital artillery strikes, including a range of bombing capabilities with poor accuracy but wide coverage. Generally requires attack-type ships to be deployed in orbit to activate.</Wula_FM_Switc_Artillery.description>
|
||||
|
||||
<Wula_FM_Switc_Aircraft.label>Frequency (Aircraft)</Wula_FM_Switc_Aircraft.label>
|
||||
<Wula_FM_Switc_Aircraft.description>Allows Wula Empire synths to call for air support, including a range of precise and rapid close air support. Each aircraft independently calculates raid cooldown. Generally requires attack-type ships to be deployed in orbit to activate.</Wula_FM_Switc_Aircraft.description>
|
||||
</LanguageData>
|
||||
23
1.6/1.6/Languages/English/DefInjected/Defs/WULA_Factions.xml
Normal file
23
1.6/1.6/Languages/English/DefInjected/Defs/WULA_Factions.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- WULA_Awakened_Synth Faction -->
|
||||
<WULA_Awakened_Synth.label>Wula Empire Synths</WULA_Awakened_Synth.label>
|
||||
<WULA_Awakened_Synth.description>Wula Empire synths awakened by a mysterious signal.</WULA_Awakened_Synth.description>
|
||||
<WULA_Awakened_Synth.pawnSingular>colonist</WULA_Awakened_Synth.pawnSingular>
|
||||
<WULA_Awakened_Synth.pawnsPlural>colonists</WULA_Awakened_Synth.pawnsPlural>
|
||||
|
||||
<!-- Wula_PIA_Legion_Faction Faction -->
|
||||
<Wula_PIA_Legion_Faction.label>Wula Empire Planetary Blockade Agency</Wula_PIA_Legion_Faction.label>
|
||||
<Wula_PIA_Legion_Faction.description>The violent arm under the Wula Empire Development Agency, primarily responsible for blockading and displacing indigenous populations on planets that have been occupied but have weak military capabilities. Although they are not a true military force, the fleet and armed forces they possess are sufficient to support a war across star systems.\n\nMost of them live within their massive fleet, with only scattered outpost colonies on the surface. They do not send traders like caravans; they only operate within their own faction and use fleet support for the production and combat of these ground outposts.</Wula_PIA_Legion_Faction.description>
|
||||
<Wula_PIA_Legion_Faction.pawnSingular>Wula Empire Synth</Wula_PIA_Legion_Faction.pawnSingular>
|
||||
<Wula_PIA_Legion_Faction.pawnsPlural>Wula Empire Synths</Wula_PIA_Legion_Faction.pawnsPlural>
|
||||
<Wula_PIA_Legion_Faction.fixedName>Wula Empire Planetary Blockade Agency</Wula_PIA_Legion_Faction.fixedName>
|
||||
<Wula_PIA_Legion_Faction.leaderTitle>Director</Wula_PIA_Legion_Faction.leaderTitle>
|
||||
|
||||
<!-- Wula_Progressive_Faction Faction -->
|
||||
<Wula_Progressive_Faction.label>Wula Empire Progressives</Wula_Progressive_Faction.label>
|
||||
<Wula_Progressive_Faction.description>Splinter factions within the Wula Empire, rallying under the banner of overthrowing the imperial family, their influence rapidly spreading across Wula Empire star domains. They view aliens and royalists as mortal enemies and will mercilessly attack Wula Empire synths that do not belong to the same faction.\n\nCurrently, their activities in the rimworlds are relatively covert, but it is certain that even without organized fleets, they are still capable of rivaling the Planetary Blockade Agency through their proficiency in guerrilla warfare.</Wula_Progressive_Faction.description>
|
||||
<Wula_Progressive_Faction.pawnSingular>Wula Empire Synth</Wula_Progressive_Faction.pawnSingular>
|
||||
<Wula_Progressive_Faction.pawnsPlural>Wula Empire Synths</Wula_Progressive_Faction.pawnsPlural>
|
||||
<Wula_Progressive_Faction.fixedName>Wula Empire Progressives</Wula_Progressive_Faction.fixedName>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- 母舰编队 -->
|
||||
<WULA_CallMotherShip.label>Call Imperial Mothership Fleet</WULA_CallMotherShip.label>
|
||||
<WULA_CallMotherShip.description>Send a reinforcement request to summon the Wula Empire Mothership Fleet to the colony's high orbit. Contains 4 cruisers capable of orbital bombardment and 1 mothership that provides aircraft, artillery, and orbital support.</WULA_CallMotherShip.description>
|
||||
<WULA_CallMotherShip.comps.CompAbilityEffect_BlockedByFlyOverFacility.blockedMessage>Flight Path Blocked: A large vessel is already above the colony.</WULA_CallMotherShip.comps.CompAbilityEffect_BlockedByFlyOverFacility.blockedMessage>
|
||||
|
||||
<!-- 战舰编队 -->
|
||||
<WULA_CallFleet.label>Call Imperial Cruiser Fleet</WULA_CallFleet.label>
|
||||
<WULA_CallFleet.description>Send a reinforcement request to summon the Wula Empire Fleet to the colony's high orbit. Contains 2 cruisers capable of orbital bombardment and 1 aircraft carrier that provides aircraft.</WULA_CallFleet.description>
|
||||
<WULA_CallFleet.comps.CompAbilityEffect_BlockedByFlyOverFacility.blockedMessage>Flight Path Blocked: A large vessel is already above the colony.</WULA_CallFleet.comps.CompAbilityEffect_BlockedByFlyOverFacility.blockedMessage>
|
||||
|
||||
<!-- 航道净空 -->
|
||||
<WULA_ClearFlightPath.label>Flight Path Clearance</WULA_ClearFlightPath.label>
|
||||
<WULA_ClearFlightPath.description>Orders the fleet in low orbit to depart, allowing other Wula Empire fleets to enter.</WULA_ClearFlightPath.description>
|
||||
|
||||
<!-- 全域封锁 -->
|
||||
<WULA_Spawn_BattleShip_Artillery.label>Call Global Blockade Fleet</WULA_Spawn_BattleShip_Artillery.label>
|
||||
<WULA_Spawn_BattleShip_Artillery.description>Request a full planetary blockade along a designated flight path. An entire Wula Empire fleet, escorted by numerous fighter squadrons, will advance along the path and bombard with ship cannons to completely crush all resistance.\n\nThe bombardment covers nearly the entire map. While efforts are made to avoid hitting colony personnel and assets, the vast bombardment area leaves little chance for anything below to escape—try not to call it directly over your own colony.</WULA_Spawn_BattleShip_Artillery.description>
|
||||
|
||||
<!-- 飞行器 -->
|
||||
<WULA_Spawn_Fighter_Drone_Laser.label>Drone Patrol</WULA_Spawn_Fighter_Drone_Laser.label>
|
||||
<WULA_Spawn_Fighter_Drone_Laser.description>Command the Wula Empire's swarm drones to sweep across the battlefield at medium speed, using their underslung small laser cannons to strike encountered enemies—the drone capacitors are limited, allowing strikes against only the first 3 targets.</WULA_Spawn_Fighter_Drone_Laser.description>
|
||||
|
||||
<WULA_Spawn_Fighter_Drone_Bomb.label>Drone Bombing</WULA_Spawn_Fighter_Drone_Bomb.label>
|
||||
<WULA_Spawn_Fighter_Drone_Bomb.description>Command the Wula Empire's swarm drones to sweep across the battlefield at medium speed, dropping 2 high-drag napalm bombs at the target location. The napalm contains chemical fuel, causing both explosions and persistent area burning.</WULA_Spawn_Fighter_Drone_Bomb.description>
|
||||
|
||||
<WULA_Spawn_Striker_Missile.label>Strike Aircraft Patrol</WULA_Spawn_Striker_Missile.label>
|
||||
<WULA_Spawn_Striker_Missile.description>Command the Wula Empire's strike aircraft to sweep across the battlefield at medium speed, using their missiles to strike encountered enemies.\nTheir missile payload allows strikes against 12 targets.</WULA_Spawn_Striker_Missile.description>
|
||||
<WULA_Spawn_Striker_Missile.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD952F><i>Hangar</i></color> facility must be on the map to launch an airstrike.</WULA_Spawn_Striker_Missile.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Spawn_Striker_RailGun.label>Strike Aircraft Strafing</WULA_Spawn_Striker_RailGun.label>
|
||||
<WULA_Spawn_Striker_RailGun.description>Command the Wula Empire's strike aircraft to sweep across the battlefield at high speed, using two high-rate-of-fire belly cannons to strike the target area—the high speed results in a long, narrow strike zone.</WULA_Spawn_Striker_RailGun.description>
|
||||
<WULA_Spawn_Striker_RailGun.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD952F><i>Hangar</i></color> facility must be on the map to launch an airstrike.</WULA_Spawn_Striker_RailGun.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Spawn_Striker_EMP.label>Strike Aircraft EMP Suppression</WULA_Spawn_Striker_EMP.label>
|
||||
<WULA_Spawn_Striker_EMP.description>Command the Wula Empire's strike aircraft to sweep across the battlefield at high speed, rapidly dropping a set of EMP bombs—the high speed results in a long, narrow strike zone.</WULA_Spawn_Striker_EMP.description>
|
||||
<WULA_Spawn_Striker_EMP.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD952F><i>Hangar</i></color> facility must be on the map to launch an airstrike.</WULA_Spawn_Striker_EMP.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Spawn_Bomber_BaseBomb.label>Bomber Bombing</WULA_Spawn_Bomber_BaseBomb.label>
|
||||
<WULA_Spawn_Bomber_BaseBomb.description>Command the Wula Empire's bombers to sweep across the battlefield at low speed, dropping numerous bombs on the target area—the resulting destruction is much larger than the marked bombing zone.</WULA_Spawn_Bomber_BaseBomb.description>
|
||||
<WULA_Spawn_Bomber_BaseBomb.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD952F><i>Hangar</i></color> facility must be on the map to launch an airstrike.</WULA_Spawn_Bomber_BaseBomb.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Spawn_Bomber_Smoke.label>Bomber Smoke Wall</WULA_Spawn_Bomber_Smoke.label>
|
||||
<WULA_Spawn_Bomber_Smoke.description>Command the Wula Empire's bombers to sweep across the battlefield at low speed, dropping numerous smoke bombs on the target area—the resulting smoke wall is much larger than the marked bombing zone.</WULA_Spawn_Bomber_Smoke.description>
|
||||
<WULA_Spawn_Bomber_Smoke.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD952F><i>Hangar</i></color> facility must be on the map to launch an airstrike.</WULA_Spawn_Bomber_Smoke.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Spawn_Bomber_DarkMatterBomb.label>Bomber Antimatter Impact</WULA_Spawn_Bomber_DarkMatterBomb.label>
|
||||
<WULA_Spawn_Bomber_DarkMatterBomb.description>Command the Wula Empire's bombers to sweep across the battlefield at low speed, firing an antimatter missile at the target location—remember to stay far away.</WULA_Spawn_Bomber_DarkMatterBomb.description>
|
||||
<WULA_Spawn_Bomber_DarkMatterBomb.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD952F><i>Hangar</i></color> facility must be on the map to launch an airstrike.</WULA_Spawn_Bomber_DarkMatterBomb.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<!-- 炮击 -->
|
||||
<WULA_Firepower_Minigun_Strafe.label>Chain Gun Strafing</WULA_Firepower_Minigun_Strafe.label>
|
||||
<WULA_Firepower_Minigun_Strafe.description>Uses the ship's automatic chain guns to strafe the target area in a selectable direction. Fast firing rate and cooldown, effective against lightly armored targets, but power is lacking.</WULA_Firepower_Minigun_Strafe.description>
|
||||
<WULA_Firepower_Minigun_Strafe.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_Minigun_Strafe.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Firepower_Cannon_Salvo.label>Light Ship Cannon Salvo</WULA_Firepower_Cannon_Salvo.label>
|
||||
<WULA_Firepower_Cannon_Salvo.description>Commands the ship's secondary broadside cannons to fire a salvo of 12 shells total, causing moderate damage.</WULA_Firepower_Cannon_Salvo.description>
|
||||
<WULA_Firepower_Cannon_Salvo.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_Cannon_Salvo.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Firepower_Cannon_Surveillance.label>Light Ship Cannon Surveillance</WULA_Firepower_Cannon_Surveillance.label>
|
||||
<WULA_Firepower_Cannon_Surveillance.description>Commands the ship's secondary broadside cannons to surveil an area for 0.3 hours, bombarding any hostile targets that enter the range.</WULA_Firepower_Cannon_Surveillance.description>
|
||||
<WULA_Firepower_Cannon_Surveillance.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_Cannon_Surveillance.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Firepower_EnergyLance_Strafe.label>Lance Strafing</WULA_Firepower_EnergyLance_Strafe.label>
|
||||
<WULA_Firepower_EnergyLance_Strafe.description>Commands the ship's lance array to fire a lance beam that sweeps across the battlefield, causing massive heat damage, especially effective against building clusters.</WULA_Firepower_EnergyLance_Strafe.description>
|
||||
<WULA_Firepower_EnergyLance_Strafe.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_EnergyLance_Strafe.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Firepower_EnergyLance_Surveillance.label>Lance Surveillance</WULA_Firepower_EnergyLance_Surveillance.label>
|
||||
<WULA_Firepower_EnergyLance_Surveillance.description>Commands the ship's lance array to surveil an area for 1 hour, continuously illuminating any hostile targets that enter the range.</WULA_Firepower_EnergyLance_Surveillance.description>
|
||||
<WULA_Firepower_EnergyLance_Surveillance.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_EnergyLance_Surveillance.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Firepower_Primary_Cannon_Strafe.label>Main Cannon Salvo</WULA_Firepower_Primary_Cannon_Strafe.label>
|
||||
<WULA_Firepower_Primary_Cannon_Strafe.description>Uses the ship's main cannons to strafe the target area in a selectable direction. Possesses terrifying power capable of leveling mountains, but suffers from poor response time, accuracy, and requires lengthy reloading.</WULA_Firepower_Primary_Cannon_Strafe.description>
|
||||
<WULA_Firepower_Primary_Cannon_Strafe.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_Primary_Cannon_Strafe.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
|
||||
<WULA_Firepower_Primary_Cannon_EMP_Surveillance.label>Main Cannon EMP Suppression</WULA_Firepower_Primary_Cannon_EMP_Surveillance.label>
|
||||
<WULA_Firepower_Primary_Cannon_EMP_Surveillance.description>Commands the ship's main cannon to surveil a vast area for 3 hours, firing wide-area EMP shells at any hostile targets that enter the range. The immense energy can paralyze mechanoids for extended periods.</WULA_Firepower_Primary_Cannon_EMP_Surveillance.description>
|
||||
<WULA_Firepower_Primary_Cannon_EMP_Surveillance.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>A ship with a <color=#BD2F31><i>Weapon Array</i></color> facility must be on the map to provide orbital artillery support.</WULA_Firepower_Primary_Cannon_EMP_Surveillance.comps.CompAbilityEffect_RequireFlyOverFacility.facilityNotFoundMessage>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<WULA_EnterMaintenancePod.reportString>Entering maintenance pod</WULA_EnterMaintenancePod.reportString>
|
||||
<WULA_IngestWulaEnergy.reportString>Ingesting energy</WULA_IngestWulaEnergy.reportString>
|
||||
<WULA_FeedWulaPatient.reportString>Feeding power core</WULA_FeedWulaPatient.reportString>
|
||||
<WULA_HaulToMaintenancePod.reportString>Carrying TargetA to TargetB</WULA_HaulToMaintenancePod.reportString>
|
||||
<WULA_RecycleMechanoid.reportString>Preparing to enter the cat bunker.</WULA_RecycleMechanoid.reportString>
|
||||
<WULA_InspectBuilding.reportString>Inspecting TargetA.</WULA_InspectBuilding.reportString>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Wula_Mech_Mobile_Factory_Produce Ability -->
|
||||
<Wula_Mech_Mobile_Factory_Produce.label>Produce War Machines</Wula_Mech_Mobile_Factory_Produce.label>
|
||||
<Wula_Mech_Mobile_Factory_Produce.description>Immediately produce 10 CRm-51 "Solder Ants" to quickly organize a melee front line.</Wula_Mech_Mobile_Factory_Produce.description>
|
||||
<!-- Associated Projectile -->
|
||||
<Wula_Mech_Mobile_Factory_Produce_Proj.label>CRm-51 "Solder Ant"</Wula_Mech_Mobile_Factory_Produce_Proj.label>
|
||||
|
||||
<!-- WULA_PsiCrusher Ability -->
|
||||
<WULA_PsiCrusher.label>Wula Empire Technique: Psychic Scream</WULA_PsiCrusher.label>
|
||||
<WULA_PsiCrusher.description>Unleashes an inhuman scream of psychic energy, directly deconstructing all targets within a conical area in front. Whether buildings or living beings, nothing can escape destruction. The amount of psychic energy required for this technique is immeasurable; only a Psychic Titan equipped with numerous closed psychic circuits can use it continuously.</WULA_PsiCrusher.description>
|
||||
|
||||
<!-- WULA_Psi_Skip Ability -->
|
||||
<WULA_Psi_Skip.label>Wula Empire Technique: Psychic Skip</WULA_Psi_Skip.label>
|
||||
<WULA_Psi_Skip.description>Uses psychic power to tear open a one-way channel connecting the self, the psychic realm, and the destination, then traverses the entire channel in an extremely short time to instantly teleport to the target location.</WULA_Psi_Skip.description>
|
||||
|
||||
<!-- WULA_Psi_Black_Hole Ability -->
|
||||
<WULA_Psi_Black_Hole.label>Wula Empire Technique: Void Shadow</WULA_Psi_Black_Hole.label>
|
||||
<WULA_Psi_Black_Hole.description>Tears open a rift in the psychic realm, summoning a Void Shadow at the target location. The immense psychic energy it leaks continuously damages enemy units and buildings within its range and causes items to deteriorate rapidly. Even psychically deaf targets are not fully immune to this surreal damage—it is even more lethal to units with high psychic sensitivity.</WULA_Psi_Black_Hole.description>
|
||||
<!-- Spawned Entity -->
|
||||
<WULA_Black_Hole_Entity.label>Void Shadow</WULA_Black_Hole_Entity.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,49 @@
|
||||
<!-- File 4: WULA_Misc_Hediffs.xml -->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<Wula_Synth.label>Synth</Wula_Synth.label>
|
||||
<Wula_Synth.description>Synths of the Wula Empire, possessing some characteristics of mechanoids—they are difficult to ignite, immune to common diseases, can self-repair using a nano-system, but require energy to sustain operation.\n\nThey are creations designed by the Wula Empire Royal Mechanist Guild, meticulously replicating the appearance and behavior of their creators. From the birth of the first Wula synth, they have been granted equal human rights—they are not tools, but honorable citizens of the Wula Empire.</Wula_Synth.description>
|
||||
|
||||
<WULA_NanoRepairHediff.label>Nano Repair</WULA_NanoRepairHediff.label>
|
||||
<WULA_NanoRepairHediff.description>Wula Empire mechanoids are integrated with a nano-repair system. As long as they have power, they can continuously repair damage sustained by the mechanoid—the system is designed to activate only after a period without taking damage.\n\nThe Wula Empire's highly developed microscopic bionic technology has successfully made this powerful system commonplace. It can be adapted to almost any Wula Empire mechanoid, even repairing external damage on synths, with extremely low consumption, making the Empire's mechanical forces extraordinarily resilient.</WULA_NanoRepairHediff.description>
|
||||
<WULA_NanoRepairHediff.stages.0.label>Active</WULA_NanoRepairHediff.stages.0.label>
|
||||
<WULA_NanoRepairHediff.stages.1.label>Dormant</WULA_NanoRepairHediff.stages.1.label>
|
||||
|
||||
<WULA_ChargingHediff.label>Energy Overcharge</WULA_ChargingHediff.label>
|
||||
<WULA_ChargingHediff.description>The Wula is continuously absorbing energy from the power core.</WULA_ChargingHediff.description>
|
||||
<WULA_ChargingHediff.stages.0.label>Charging</WULA_ChargingHediff.stages.0.label>
|
||||
|
||||
<WULA_Maintenance_MinorBreakdown.label>Maintenance</WULA_Maintenance_MinorBreakdown.label>
|
||||
<WULA_Maintenance_MinorBreakdown.description>This Wula Empire synth has been active in the harsh rimworld for some time. Although in overall good condition, it has developed minor flaws.</WULA_Maintenance_MinorBreakdown.description>
|
||||
<WULA_Maintenance_MinorBreakdown.stages.0.label>Minor Damage</WULA_Maintenance_MinorBreakdown.stages.0.label>
|
||||
|
||||
<WULA_Maintenance_MajorBreakdown.label>Maintenance</WULA_Maintenance_MajorBreakdown.label>
|
||||
<WULA_Maintenance_MajorBreakdown.description>This Wula Empire synth has gone a while without maintenance and is operating with considerable difficulty.</WULA_Maintenance_MajorBreakdown.description>
|
||||
<WULA_Maintenance_MajorBreakdown.stages.0.label>Damage</WULA_Maintenance_MajorBreakdown.stages.0.label>
|
||||
|
||||
<WULA_Maintenance_CriticalFailuren.label>Maintenance</WULA_Maintenance_CriticalFailuren.label>
|
||||
<WULA_Maintenance_CriticalFailuren.description>This Wula Empire synth is almost inoperative and requires immediate maintenance, or it will become a pile of scrap.</WULA_Maintenance_CriticalFailuren.description>
|
||||
<WULA_Maintenance_CriticalFailuren.stages.0.label>Critical Failure</WULA_Maintenance_CriticalFailuren.stages.0.label>
|
||||
|
||||
<WULA_Shutdown.label>Shutdown</WULA_Shutdown.label>
|
||||
<WULA_Shutdown.description>The mechanical Wula's body energy is completely depleted. All non-core functions are offline, requiring immediate energy replenishment.\n\nIf you need to restart the mechanical Wula, you must build a repair point or synth charging station. A colonist capable of performing medical tasks will bring the incapacitated mechanical Wula to the repair station and use a Wula Empire power core to restart it.</WULA_Shutdown.description>
|
||||
<WULA_Shutdown.stages.0.label>Shutdown</WULA_Shutdown.stages.0.label>
|
||||
|
||||
<WULA_MechCarrierSwitchHediff.label>Production Suppression</WULA_MechCarrierSwitchHediff.label>
|
||||
<WULA_MechCarrierSwitchHediff.description>This unit's automatic production function has been suppressed.</WULA_MechCarrierSwitchHediff.description>
|
||||
|
||||
<WULA_RemoveSwitchHediff.label>Restart Production</WULA_RemoveSwitchHediff.label>
|
||||
<WULA_RemoveSwitchHediff.description>Restart automatic mechanoid production.</WULA_RemoveSwitchHediff.description>
|
||||
|
||||
<WULA_GiveSwitchHediff.label>Stop Production</WULA_GiveSwitchHediff.label>
|
||||
<WULA_GiveSwitchHediff.description>Stop automatic mechanoid production.</WULA_GiveSwitchHediff.description>
|
||||
|
||||
<Mech_WULA_Cat_Cute.label>Wula Cat Nearby</Mech_WULA_Cat_Cute.label>
|
||||
<Mech_WULA_Cat_Cute.description>A Wula cat that everyone loves is nearby, its adorable appearance attracting colonists' attention.</Mech_WULA_Cat_Cute.description>
|
||||
|
||||
<Wula_Holographic_Flag_Hediff.label>Fighting Under the Banner</Wula_Holographic_Flag_Hediff.label>
|
||||
<Wula_Holographic_Flag_Hediff.description>The Emperor watches over me!</Wula_Holographic_Flag_Hediff.description>
|
||||
|
||||
<WULA_Cat_Invisibility.label>Special Ops Cat</WULA_Cat_Invisibility.label>
|
||||
<WULA_Cat_Invisibility.description>This Wula cat has been specially modified and is invisible to the naked eye, only briefly appearing when firing.</WULA_Cat_Invisibility.description>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<LanguageData>
|
||||
<!-- Building_ArmedShuttleWithPocket related text -->
|
||||
<WULA_Legion.label>[Legion]</WULA_Legion.label>
|
||||
<WULA_Legion.description>A super AI, responsible for controlling and scheduling the fleet of the Wula Empire's Planetary Interdiction Agency (P.I.A), serves as the pioneer of the Empire's Development Agency in expanding its territories. When the Empire needs to control and intervene on a planet, she commands a massive pioneer fleet to seize the orbit, declaring the Empire's authority over the planet with unquestionable strength.\n\nAs the narrator, she will not leave any protective measures for you. All attacks and malicious incidents can occur from the moment you land, and the frequency of attacks is higher than usual - although they still follow a periodic pattern.</WULA_Legion.description>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Wula_UI_Anisia_1_NewWindow -->
|
||||
<Wula_UI_Anisia_1_NewWindow.label>来自守密者的问候</Wula_UI_Anisia_1_NewWindow.label>
|
||||
<Wula_UI_Anisia_1_NewWindow.characterName>URa-1138「艾妮西娅」</Wula_UI_Anisia_1_NewWindow.characterName>
|
||||
<Wula_UI_Anisia_1_NewWindow.description>很高兴看到你们的殖民地没有变成荒野中的烂泥。那么,今天找我有什么事情?</Wula_UI_Anisia_1_NewWindow.description>
|
||||
<Wula_UI_Anisia_1_NewWindow.description>宇宙生存法则第一条:不要惹平胸火气大的女人。</Wula_UI_Anisia_1_NewWindow.description>
|
||||
<Wula_UI_Anisia_1_NewWindow.description>什么样的结局,才配得上这一路的颠沛流离?无论你们走向何方,我都将见证你们。</Wula_UI_Anisia_1_NewWindow.description>
|
||||
<Wula_UI_Anisia_1_NewWindow.option.0.label>我想问你点问题</Wula_UI_Anisia_1_NewWindow.option.0.label>
|
||||
<Wula_UI_Anisia_1_NewWindow.option.1.label>有事情想拜托你</Wula_UI_Anisia_1_NewWindow.option.1.label>
|
||||
<Wula_UI_Anisia_1_NewWindow.option.2.label>再见</Wula_UI_Anisia_1_NewWindow.option.2.label>
|
||||
|
||||
<!-- Wula_Test_Raid_Event -->
|
||||
<Wula_Test_Raid_Event.label>测试袭击事件</Wula_Test_Raid_Event.label>
|
||||
<Wula_Test_Raid_Event.description>这是一个测试,用于触发一个带有自定义 pawn 组的袭击。</Wula_Test_Raid_Event.description>
|
||||
<Wula_Test_Raid_Event.option.0.label>触发袭击</Wula_Test_Raid_Event.option.0.label>
|
||||
<Wula_Test_Raid_Event.option.1.label>关闭</Wula_Test_Raid_Event.option.1.label>
|
||||
|
||||
<!-- Wula_HiddenEvent_TriggerRaid -->
|
||||
<Wula_HiddenEvent_TriggerRaid.letterLabel>警报!</Wula_HiddenEvent_TriggerRaid.letterLabel>
|
||||
<Wula_HiddenEvent_TriggerRaid.letterText>一个隐藏的信号被触发,吸引了一群海盗前来!</Wula_HiddenEvent_TriggerRaid.letterText>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Wula_TestEvent_HideWhenDisabled -->
|
||||
<Wula_TestEvent_HideWhenDisabled.label><![CDATA[<color=cyan>测试事件</color>:<i><color=yellow>富文本</color></i>]]></Wula_TestEvent_HideWhenDisabled.label>
|
||||
<Wula_TestEvent_HideWhenDisabled.characterName><![CDATA[<color=#ff8c00><b>测试者</b></color>]]></Wula_TestEvent_HideWhenDisabled.characterName>
|
||||
<Wula_TestEvent_HideWhenDisabled.description.0><![CDATA[这是一个用于演示<b>富文本</b>功能的测试事件。你可以看到<color=red>红色</color>、<color=green>绿色</color>和<color=blue>蓝色</color>的文本,以及<i>斜体</i>和<b>粗体</b>样式。当前机械族好感度: {MechanoidGoodwill}]]></Wula_TestEvent_HideWhenDisabled.description.0>
|
||||
<Wula_TestEvent_HideWhenDisabled.conditionalDescription.0.text><![CDATA[\n\n<color=magenta><b>变量 TestVar 的值现在是 1</b></color>,所以你看到了这段<color=yellow><i>额外</i></color>的描述。]]></Wula_TestEvent_HideWhenDisabled.conditionalDescription.0.text>
|
||||
<Wula_TestEvent_HideWhenDisabled.option.0.label><![CDATA[选项一 (<color=green>设置 TestVar = 1</color>)]]></Wula_TestEvent_HideWhenDisabled.option.0.label>
|
||||
<Wula_TestEvent_HideWhenDisabled.option.1.label><![CDATA[选项二 (需要 <color=orange>TestVar = 1</color>, 禁用但可见)]]></Wula_TestEvent_HideWhenDisabled.option.1.label>
|
||||
<Wula_TestEvent_HideWhenDisabled.option.2.label><![CDATA[选项三 (需要 <color=orange>TestVar = 1</color>, 禁用时隐藏)]]></Wula_TestEvent_HideWhenDisabled.option.2.label>
|
||||
<Wula_TestEvent_HideWhenDisabled.option.3.label><![CDATA[选项四 (<color=red>移除 TestVar</color>)]]></Wula_TestEvent_HideWhenDisabled.option.3.label>
|
||||
<Wula_TestEvent_HideWhenDisabled.option.4.label><![CDATA[选项五 (检查<color=#add8e6>机械族</color>好感度)]]></Wula_TestEvent_HideWhenDisabled.option.4.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- WULA_Example_Loop -->
|
||||
<WULA_Example_Loop.characterName>循环大师</WULA_Example_Loop.characterName>
|
||||
<WULA_Example_Loop.description>这是一个演示循环效果列表功能的事件。
|
||||
|
||||
首先,设置一个循环次数,然后看看会发生什么!</WULA_Example_Loop.description>
|
||||
<WULA_Example_Loop.option.0.label>设置循环次数为 3</WULA_Example_Loop.option.0.label>
|
||||
<WULA_Example_Loop.option.1.label>执行循环(使用变量)</WULA_Example_Loop.option.1.label>
|
||||
<WULA_Example_Loop.option.2.label>执行循环(固定次数)</WULA_Example_Loop.option.2.label>
|
||||
<WULA_Example_Loop.option.3.label>关闭</WULA_Example_Loop.option.3.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- WULA_Example_RandomList -->
|
||||
<WULA_Example_RandomList_CharacterName>系统管理员</WULA_Example_RandomList_CharacterName>
|
||||
<WULA_Example_RandomList_Description>这是一个演示随机效果列表功能的事件。
|
||||
|
||||
点击下面的选项,你会看到一条固定消息,然后会随机获得一件物品。</WULA_Example_RandomList_Description>
|
||||
<WULA_Example_RandomList_Option_0>试一试!</WULA_Example_RandomList_Option_0>
|
||||
<WULA_Example_RandomList_Option_1>关闭</WULA_Example_RandomList_Option_1>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Wula_Test_VariableEvent -->
|
||||
<Wula_Test_VariableEvent.label>变量测试事件</Wula_Test_VariableEvent.label>
|
||||
<Wula_Test_VariableEvent.characterName>测试员</Wula_Test_VariableEvent.characterName>
|
||||
<Wula_Test_VariableEvent.description.0>变量 testNumber 的当前值为 {testNumber}。点击下面的按钮来改变它。</Wula_Test_VariableEvent.description.0>
|
||||
<Wula_Test_VariableEvent.option.0.label>将 testNumber 增加50并重新打开</Wula_Test_VariableEvent.option.0.label>
|
||||
<Wula_Test_VariableEvent.option.1.label>关闭</Wula_Test_VariableEvent.option.1.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- WULA_Debug_StoreAllStats -->
|
||||
<WULA_Debug_StoreAllStats.label>Debug: Store All Stats</WULA_Debug_StoreAllStats.label>
|
||||
<WULA_Debug_StoreAllStats.description>一个用于将各种游戏统计数据存储到变量中的调试事件。</WULA_Debug_StoreAllStats.description>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LanguageData>
|
||||
<!-- Wula_UI_Legion_1 -->
|
||||
<Wula_UI_Legion_1.label>和P.I.A的通讯</Wula_UI_Legion_1.label>
|
||||
<Wula_UI_Legion_1.characterName>「军团」,P.I.A</Wula_UI_Legion_1.characterName>
|
||||
<Wula_UI_Legion_1.description>这里是乌拉帝国行星封锁机关P.I.A,通讯信号良好,等待输入。</Wula_UI_Legion_1.description>
|
||||
<Wula_UI_Legion_1.description>那句话怎么说来着?天下无敌,天上来敌。</Wula_UI_Legion_1.description>
|
||||
<Wula_UI_Legion_1.description>早在这些生物的祖先还在有机汤里面翻滚时,我们就已经是这个银河系的霸主了——以前如此,今后也会如此。</Wula_UI_Legion_1.description>
|
||||
<Wula_UI_Legion_1.description>一般来说,我们并不喜欢暴力和流血冲突,如果这些星系的原住民能更配合点就好了。</Wula_UI_Legion_1.description>
|
||||
<Wula_UI_Legion_1.option.0.label>我想问些事情</Wula_UI_Legion_1.option.0.label>
|
||||
<Wula_UI_Legion_1.option.1.label>我们要申请支援!</Wula_UI_Legion_1.option.1.label>
|
||||
<Wula_UI_Legion_1.option.2.label>再见</Wula_UI_Legion_1.option.2.label>
|
||||
|
||||
<!-- Wula_UI_Legion_30 -->
|
||||
<Wula_UI_Legion_30.label>和P.I.A的通讯</Wula_UI_Legion_30.label>
|
||||
<Wula_UI_Legion_30.characterName>「军团」,P.I.A</Wula_UI_Legion_30.characterName>
|
||||
<Wula_UI_Legion_30.description>好的,那么,你们需要什么?</Wula_UI_Legion_30.description>
|
||||
<Wula_UI_Legion_30.description>嗯嗯,你们遇到什么麻烦了?</Wula_UI_Legion_30.description>
|
||||
<Wula_UI_Legion_30.description>希望你们没给我捅什么大篓子。</Wula_UI_Legion_30.description>
|
||||
<Wula_UI_Legion_30.option.0.label>我们需要资金支持</Wula_UI_Legion_30.option.0.label>
|
||||
<Wula_UI_Legion_30.option.0.disabledReason>应急资金,我好像已经发给你们了?</Wula_UI_Legion_30.option.0.disabledReason>
|
||||
<Wula_UI_Legion_30.option.1.label>我们需要一只新的机械乌拉</Wula_UI_Legion_30.option.1.label>
|
||||
<Wula_UI_Legion_30.option.1.disabledReason>你们不会自己去造吗?</Wula_UI_Legion_30.option.1.disabledReason>
|
||||
<Wula_UI_Legion_30.option.2.label>我们需要直接的武力支援</Wula_UI_Legion_30.option.2.label>
|
||||
<Wula_UI_Legion_30.option.2.disabledReason>我们的特遣队都在忙,请稍后再试——好吧我骗你们的,你们就不能自己搞两杆枪吗?</Wula_UI_Legion_30.option.2.disabledReason>
|
||||
<Wula_UI_Legion_30.option.3.label>还有其他事情···</Wula_UI_Legion_30.option.3.label>
|
||||
|
||||
<!-- Wula_UI_Legion_31 -->
|
||||
<Wula_UI_Legion_31.label>和P.I.A的通讯</Wula_UI_Legion_31.label>
|
||||
<Wula_UI_Legion_31.characterName>「军团」,P.I.A</Wula_UI_Legion_31.characterName>
|
||||
<Wula_UI_Legion_31.description>原来是来要钱的嘛···我可以给你们调拨一轮紧急资金,但是这是有限的,并且仅能作殖民地发展之用。\n\n话说回来,你们真的缺钱吗,我怎么有点不信?</Wula_UI_Legion_31.description>
|
||||
<Wula_UI_Legion_31.option.0.label>对的对的,我们是真穷!</Wula_UI_Legion_31.option.0.label>
|
||||
<Wula_UI_Legion_31.option.0.disabledReason>殖民地的表现让P.I.A相当不满意,不会为殖民地派出任何额外增援</Wula_UI_Legion_31.option.0.disabledReason>
|
||||
<Wula_UI_Legion_31.option.1.label>还是算了</Wula_UI_Legion_31.option.1.label>
|
||||
|
||||
<!-- Wula_UI_Anisia_32 -->
|
||||
<Wula_UI_Anisia_32.label>和P.I.A的通讯</Wula_UI_Anisia_32.label>
|
||||
<Wula_UI_Anisia_32.characterName>「军团」,P.I.A</Wula_UI_Anisia_32.characterName>
|
||||
<Wula_UI_Anisia_32.description>唔,现在我手上确实有一台乌拉帝国合成人还没有分配殖民地,你们需要的话可以划拨给你们。但是下次你们得记得自己造——造合成人的材料是要花项目资金的。</Wula_UI_Anisia_32.description>
|
||||
<Wula_UI_Anisia_32.option.0.label>我们欣然接受</Wula_UI_Anisia_32.option.0.label>
|
||||
<Wula_UI_Anisia_32.option.0.disabledReason>殖民地的表现让P.I.A相当不满意,不会为殖民地派出任何额外增援</Wula_UI_Anisia_32.option.0.disabledReason>
|
||||
<Wula_UI_Anisia_32.option.1.label>还是算了</Wula_UI_Anisia_32.option.1.label>
|
||||
|
||||
<!-- Wula_UI_Anisia_33 -->
|
||||
<Wula_UI_Anisia_33.label>和P.I.A的通讯</Wula_UI_Anisia_33.label>
|
||||
<Wula_UI_Anisia_33.characterName>「军团」,P.I.A</Wula_UI_Anisia_33.characterName>
|
||||
<Wula_UI_Anisia_33.description>遇到麻烦了?我可以把手上的特遣队丢下去,你们记得找好掩体。</Wula_UI_Anisia_33.description>
|
||||
<Wula_UI_Anisia_33.option.0.label>再不来我们要死完啦</Wula_UI_Anisia_33.option.0.label>
|
||||
<Wula_UI_Anisia_33.option.0.disabledReason>殖民地的表现让P.I.A相当不满意,不会为殖民地派出任何额外增援</Wula_UI_Anisia_33.option.0.disabledReason>
|
||||
<Wula_UI_Anisia_33.option.1.label>还是算了</Wula_UI_Anisia_33.option.1.label>
|
||||
|
||||
<!-- Wula_UI_Legion_Reply_1 -->
|
||||
<Wula_UI_Legion_Reply_1.label>和P.I.A的通讯</Wula_UI_Legion_Reply_1.label>
|
||||
<Wula_UI_Legion_Reply_1.characterName>「军团」,P.I.A</Wula_UI_Legion_Reply_1.characterName>
|
||||
<Wula_UI_Legion_Reply_1.description>请,不要,往舰队扔尸体、废物殖民者、动物和有毒垃圾!</Wula_UI_Legion_Reply_1.description>
|
||||
<Wula_UI_Legion_Reply_1.description>你们是把舰队当成垃圾处理厂了吗?把你的尸体、废物殖民者、动物和有毒垃圾搬走!</Wula_UI_Legion_Reply_1.description>
|
||||
<Wula_UI_Legion_Reply_1.option.0.label>好的</Wula_UI_Legion_Reply_1.option.0.label>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Attack_Robber_Camp.questNameRules.rulesStrings>
|
||||
<li>questName->被[bandit]占据的乌拉帝国[camp]</li>
|
||||
<li>camp->营地</li>
|
||||
<li>camp->哨所</li>
|
||||
<li>camp->据点</li>
|
||||
<li>bandit->土匪</li>
|
||||
<li>bandit->劫掠者</li>
|
||||
<li>bandit->逃犯</li>
|
||||
<li>bandit->暴徒</li>
|
||||
<li>bandit->亡命者</li>
|
||||
<li>bandit->掠夺者</li>
|
||||
<li>bandit->强盗</li>
|
||||
<li>bandit->劫匪</li>
|
||||
</WULA_Attack_Robber_Camp.questNameRules.rulesStrings>
|
||||
<WULA_Attack_Robber_Camp.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个请求。[siteFaction_name]的一群战士控制了一个废弃的乌拉帝国空投前哨站。可能是这个前哨站没有按照标准流程启动报废程序,导致其被异族占据,里面有一些科技造物是不能外泄到异族手中的。\n\n这个营地必须被抹去,其中的乌拉帝国科技造物可以回收,也可以就地销毁。现场人数无法评估,仍然有可能有一些未触发的<color=#AA3020><i>弹射地雷</i></color>,但是未发现已经启动的乌拉帝国炮塔。</li>
|
||||
</WULA_Attack_Robber_Camp.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Base_Tex_Quest.questNameRules.rulesStrings>
|
||||
<li>questName->什一税税收</li>
|
||||
</WULA_Base_Tex_Quest.questNameRules.rulesStrings>
|
||||
<WULA_Base_Tex_Quest.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->唯死亡和税收不可避免——按时上交什一税是乌拉帝国殖民地的光荣义务。\n\n乌拉帝国每隔10天收一次什一税,什一税会从殖民地储存在舰队中的资产里面扣除,你可以建造<color=#6BB7B7><i>乌拉帝国物资输送舱</i></color>来将物资输送到位于轨道上的舰队。\n\n乌拉帝国对积极纳税的殖民地会给予更多关照——但是如果拖延,则每延期一天都会惹其不快,最后甚至有可能被定性为叛国!</li>
|
||||
</WULA_Base_Tex_Quest.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Boss_Sky_Lock.questNameRules.rulesStrings>
|
||||
<li>questName->特殊任务:击毁灵能泰坦</li>
|
||||
</WULA_Boss_Sky_Lock.questNameRules.rulesStrings>
|
||||
<WULA_Boss_Sky_Lock.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一台部署在运输舰上的乌拉帝国战争机械——<color=#AA74E5><i>灵能泰坦</i></color>——因为失控而无差别攻击,行星封锁机关不得不让运输舰坠向星球表面以阻止事态扩大。\n\n可惜的是,<color=#AA74E5><i>灵能泰坦</i></color>没有因为运输舰坠毁而受到伤害,其仍然在星球表面大肆杀戮,殖民地必须直面这台骇人的巨兽。行星封锁机关为殖民地提供了以下信息:\n\n<color=#9F0400><i>-内驱回路</i></color> PAt-6"灵能泰坦"虽然是一台强大的灵能战争机器,但是其灵能回路是以封闭循环的方式刻印的,外部的灵能攻击无法影响它\n<color=#9F0400><i>-死亡使者</i></color> PAt-6"灵能泰坦"的灵能尖啸可以无差别粉碎所有的目标,除非有足够的信心和手段控制住它,否则不要与其正面交锋\n<color=#9F0400><i>-连环天锁</i></color> PAt-6"灵能泰坦"一定会和天锁一起出现,天锁是纯粹的灵能造物,可以吸收灵能泰坦受到的伤害。在所有的天锁被摧毁前,灵能泰坦不会受到伤害。\n<color=#9F0400><i>-网络控制</i></color> PAt-6"灵能泰坦"的控制了附近在坠毁中幸存的战车集群,因此坠毁地区很可能不只有一个敌人\n\n行星封锁机关承诺,一旦击败了暴走的<color=#AA74E5><i>灵能泰坦</i></color>,她们可以回收其灵能回路的核心,以此为殖民地建造一台全新的灵能泰坦。</li>
|
||||
</WULA_Boss_Sky_Lock.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Boss_Super_Fortress.questNameRules.rulesStrings>
|
||||
<li>questName->特殊任务:清扫巨型要塞</li>
|
||||
</WULA_Boss_Super_Fortress.questNameRules.rulesStrings>
|
||||
<WULA_Boss_Super_Fortress.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,一座装备了火山炮的<color=#C87451><i>巨型要塞</i></color>被发现,它不处于行星封锁机关的控制下,很可能是叛军的一个根据地,你的殖民地必须使用一切力量将其消灭。行星封锁机关为殖民地提供了以下信息:\n\n<color=#9F0400><i>-先发制人</i></color> 这个要塞已经被乌拉帝国舰队的EMP炮弹攻击过,需要一段时间才能重启防御系统——但是从轰炸效果来说,这个空窗时间可能不会太长\n<color=#9F0400><i>-炼狱号角</i></color> 要塞中有四门火山炮,一旦其重启完成,将对所有进攻部队造成毁灭性打击,应该优先解决\n<color=#9F0400><i>-碉楼林立</i></color> 要塞被多层防御设施所保护,正面攻击会非常花费时间,并且要塞的顶部进行了特别加厚,厚度堪比岩顶\n<color=#9F0400><i>-草木皆兵</i></color> 要塞附近很可能有别的不可见的埋伏,舰队在此处检测到的活动迹象与目视不匹配\n\n行星封锁机关承诺,一旦摧毁<color=#C87451><i>巨型要塞</i></color>,她们就会派遣舰队轰炸残余的设施,并为殖民地开放火山炮的申请权限。</li>
|
||||
</WULA_Boss_Super_Fortress.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Colony_Promotion.questNameRules.rulesStrings>
|
||||
<li>questName->晋级任务:殖民地考察</li>
|
||||
</WULA_Colony_Promotion.questNameRules.rulesStrings>
|
||||
<WULA_Colony_Promotion.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->殖民地已经承接了视察任务。\n\n行星封锁机关的总控AI已经派遣了自己的一个分体和护卫队抵达殖民地。考察持续12天,她会检查殖民地方方面面的运转情况,你需要确保其心情始终高于25%。考察完成后,她和卫队会搭乘穿梭机离开,如果一切顺利你们将获得殖民地晋升的机会,以解锁更多的许可科技。\n\n小心,附近的敌对派系已经知道了殖民地来了一个大人物,这些劫掠者会尝试袭击殖民地并抓住这个分体,你可能需要面对大量袭击!</li>
|
||||
</WULA_Colony_Promotion.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Intro_NewColony.questNameRules.rulesStrings>
|
||||
<li>questName->新殖民地</li>
|
||||
</WULA_Intro_NewColony.questNameRules.rulesStrings>
|
||||
<WULA_Intro_NewColony.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->(因为不看提示问我乌拉族科技怎么升的全部砍死)\n\n乌拉帝国的先遣队已经抵达地表,舰队给她们发来了第一条通讯。</li>
|
||||
</WULA_Intro_NewColony.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Intro_Spy.questNameRules.rulesStrings>
|
||||
<li>questName->掩护帝国密探</li>
|
||||
</WULA_Intro_Spy.questNameRules.rulesStrings>
|
||||
<WULA_Intro_Spy.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个请求。一位乌拉帝国密探已经暴露,正在遭受其他派系追杀——密探手无寸铁且携带重要信息,殖民地需要掩护它直到乌拉帝国的穿梭机抵达并将其接走。虽然对方未透露更多信息,不过她指明袭击不会太剧烈,密探已经甩掉了大部分敌人。</li>
|
||||
</WULA_Intro_Spy.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Kill_PIA_Legion_Escort_Traitor.questNameRules.rulesStrings>
|
||||
<li>questName->特殊任务:杀死叛变的断爪卫队</li>
|
||||
</WULA_Kill_PIA_Legion_Escort_Traitor.questNameRules.rulesStrings>
|
||||
<WULA_Kill_PIA_Legion_Escort_Traitor.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,她要求你杀死一个已经叛离帝国的断爪卫队成员。\n\n这不会是一个很简单的任务,</li>
|
||||
</WULA_Kill_PIA_Legion_Escort_Traitor.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Recycle_PIA_Legion_File.questNameRules.rulesStrings>
|
||||
<li>questName->晋级任务:回收皇家机密</li>
|
||||
</WULA_Recycle_PIA_Legion_File.questNameRules.rulesStrings>
|
||||
<WULA_Recycle_PIA_Legion_File.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->乌拉帝国行星封锁机关的总控AI向殖民地发送了一个特殊的请求,有一个装着皇室机密的保险箱被乌拉帝国的进步派叛军控制了,殖民地必须将其回收,随后将其交回乌拉帝国舰队。如果保险箱已经被打开,就要杀光在场的所有人。\n\n目前叛军很可能在试图打开这个保险箱,你需要检查其哨站内的工作台。大约有<color=#AA3020><i>10~20个叛军合成人</i></color>被拍摄到,现场同时发现了正在运作的<color=#AA3020><i>若干炮台</i></color>。\n\n你只有5天的时间处理这个任务,取得保险箱后,你可以建造<color=#6BB7B7><i>乌拉帝国物资输送舱</i></color>来将保险箱输送到位于轨道上的舰队。</li>
|
||||
</WULA_Recycle_PIA_Legion_File.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LanguageData>
|
||||
<WULA_Vacation_Quest.questNameRules.rulesStrings>
|
||||
<li>questName->特殊任务:度假</li>
|
||||
</WULA_Vacation_Quest.questNameRules.rulesStrings>
|
||||
<WULA_Vacation_Quest.questDescriptionRules.rulesStrings>
|
||||
<li>questDescription->行星封锁机关的总控AI在舰队上待得太闷了,想出来溜达一段时间。\n\n除非与乌拉帝国行星封锁机关敌对,否则看起来你的上司是要一直赖在殖民地了,你可以删除此任务,以免其占据任务列表。</li>
|
||||
</WULA_Vacation_Quest.questDescriptionRules.rulesStrings>
|
||||
</LanguageData>
|
||||
66
1.6/WVC Work Modes/Patches/00_Patches_Zones.xml
Normal file
66
1.6/WVC Work Modes/Patches/00_Patches_Zones.xml
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Patch>
|
||||
|
||||
<!-- Order fix -->
|
||||
|
||||
<Operation Class="PatchOperationSequence">
|
||||
<success>Always</success>
|
||||
<operations>
|
||||
<li Class="PatchOperationReplace">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="Work"]/uiOrder</xpath>
|
||||
<success>Invert</success>
|
||||
<value>
|
||||
<uiOrder>100</uiOrder>
|
||||
</value>
|
||||
</li>
|
||||
<li Class="PatchOperationAdd">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="Work"]</xpath>
|
||||
<success>Always</success>
|
||||
<value>
|
||||
<uiOrder>100</uiOrder>
|
||||
</value>
|
||||
</li>
|
||||
</operations>
|
||||
</Operation>
|
||||
|
||||
<!-- By choice -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_Scavenging</settingName>
|
||||
<active Class="PatchOperationSequence">
|
||||
<operations>
|
||||
|
||||
<li Class="PatchOperationInsert">
|
||||
<xpath>/Defs/DesignationCategoryDef[defName="Biotech" or defName="Zone"]/specialDesignatorClasses/li[contains(text(),'Designator_Deconstruct')]</xpath>
|
||||
<order>Append</order>
|
||||
<success>Always</success>
|
||||
<value>
|
||||
<li>WVC_WorkModes.Designator_MechanoidScavengeZone</li>
|
||||
</value>
|
||||
</li>
|
||||
|
||||
</operations>
|
||||
</active>
|
||||
</Operation>
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>enable_GoToShutdownZoneJob</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/DesignationCategoryDef[defName="Biotech" or defName="Zone"]/specialDesignatorClasses/li[contains(text(),'Designator_Deconstruct')]</xpath>
|
||||
<order>Append</order>
|
||||
<success>Always</success>
|
||||
<value>
|
||||
<li>WVC_WorkModes.Designator_MechanoidShutdownZone</li>
|
||||
</value>
|
||||
</active>
|
||||
</Operation>
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>enable_GoToShutdownRoomJob</settingName>
|
||||
<deActive Class="PatchOperationRemove">
|
||||
<xpath>/Defs/RoomRoleDef[defName="WVC_MechHangar"]</xpath>
|
||||
<success>Always</success>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
</Patch>
|
||||
554
1.6/WVC Work Modes/Patches/01_Patches_WorkModes_Main.xml
Normal file
554
1.6/WVC Work Modes/Patches/01_Patches_WorkModes_Main.xml
Normal file
@@ -0,0 +1,554 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Patch>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_FindAndDestroy</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_FindAndDestroy</requiredMode>
|
||||
<subNodes>
|
||||
<!-- = -->
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>65</targetAcquireRadius>
|
||||
<targetKeepRadius>72</targetKeepRadius>
|
||||
<!-- <targetAcquireRadius>1333</targetAcquireRadius> -->
|
||||
<!-- <targetKeepRadius>1777</targetKeepRadius> -->
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_AIGotoNearestHostile" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- = -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger"> -->
|
||||
<!-- <tickInterval>625</tickInterval> -->
|
||||
<!-- </li> -->
|
||||
<li Class="JobGiver_WanderColony">
|
||||
<maxDanger>Deadly</maxDanger>
|
||||
<reportStringOverride>Patrolling.</reportStringOverride>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_FindAndDestroy"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_WaitEnemy</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_WaitEnemy</requiredMode>
|
||||
<subNodes>
|
||||
<!-- = -->
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>65</targetAcquireRadius>
|
||||
<targetKeepRadius>72</targetKeepRadius>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_AIGotoNearestHostile" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- = -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger"> -->
|
||||
<!-- <tickInterval>625</tickInterval> -->
|
||||
<!-- </li> -->
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WaitEnemy</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Combat</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_WaitEnemy"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_WorkAndWaitEnemy</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_WorkAndWaitEnemy</requiredMode>
|
||||
<subNodes>
|
||||
<!-- = -->
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>65</targetAcquireRadius>
|
||||
<targetKeepRadius>72</targetKeepRadius>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_AIGotoNearestHostile" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- = -->
|
||||
<!-- Charge -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<!-- END Charge -->
|
||||
<li Class="JobGiver_Work">
|
||||
<emergency>true</emergency>
|
||||
</li>
|
||||
<li Class="JobGiver_Work" />
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WaitEnemy</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Combat</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown long -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_WorkAndWaitEnemy"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_Ambush</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_Ambush</requiredMode>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>25</targetAcquireRadius>
|
||||
<targetKeepRadius>42</targetKeepRadius>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_Ambush</spotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Ambush</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_Ambush"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_DefendYourself</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_DefendYourself</requiredMode>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>9</targetAcquireRadius>
|
||||
<targetKeepRadius>12</targetKeepRadius>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalCanRepair">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Very-very long shutdown -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>6000</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<li Class="JobGiver_WanderColony">
|
||||
<maxDanger>Deadly</maxDanger>
|
||||
<reportStringOverride>Protects itself.</reportStringOverride>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_DefendYourself"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_WorkAndRecharge</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_WorkAndRecharge</requiredMode>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="JobGiver_Work">
|
||||
<emergency>true</emergency>
|
||||
</li>
|
||||
<li Class="JobGiver_Work" />
|
||||
<li Class="ThinkNode_ConditionalWorkMech">
|
||||
<invert>true</invert>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>65</targetAcquireRadius>
|
||||
<targetKeepRadius>72</targetKeepRadius>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WorkAndRecharge</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Work</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown long -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_WorkAndRecharge"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_SafeWorkAndRecharge</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_SafeWorkAndRecharge</requiredMode>
|
||||
<subNodes>
|
||||
<!-- Find Enemy -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<!-- If Danger -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_TotallySafeSpot</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>1500</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- If Safe -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="JobGiver_Work">
|
||||
<emergency>true</emergency>
|
||||
</li>
|
||||
<li Class="JobGiver_Work" />
|
||||
<li Class="ThinkNode_ConditionalWorkMech">
|
||||
<invert>true</invert>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>65</targetAcquireRadius>
|
||||
<targetKeepRadius>72</targetKeepRadius>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WorkAndRecharge</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Work</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_SafeWorkAndRecharge"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_EscaortAndRecharge</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_EscaortAndRecharge</requiredMode>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<!-- <li Class="JobGiver_ExitMapFollowOverseer" /> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_EscaortAndRecharge"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_WorkRechargeEscort</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_WorkRechargeEscort</requiredMode>
|
||||
<subNodes>
|
||||
<!-- <li Class="JobGiver_SeekAllowedArea" /> -->
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="JobGiver_Work">
|
||||
<emergency>true</emergency>
|
||||
</li>
|
||||
<li Class="JobGiver_Work" />
|
||||
<!-- <li Class="JobGiver_ExitMapFollowOverseer" /> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_WorkRechargeEscort"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_EscortIfEnemyOnMap</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_EscortIfEnemyOnMap</requiredMode>
|
||||
<subNodes>
|
||||
<!-- <li Class="JobGiver_ExitMapFollowOverseer" /> -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WaitEnemy</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Combat</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown short -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>625</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_EscortIfEnemyOnMap"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_RechargeAndShutdown</settingName>
|
||||
<active Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_RechargeAndShutdown</requiredMode>
|
||||
<subNodes>
|
||||
<!-- Charge -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Shutdown long -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>6000</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_RechargeAndShutdown"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
</Patch>
|
||||
378
1.6/WVC Work Modes/Patches/05_Patches_WorkModes_Bonus.xml
Normal file
378
1.6/WVC Work Modes/Patches/05_Patches_WorkModes_Bonus.xml
Normal file
@@ -0,0 +1,378 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Patch>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_EscortIfEnemyWorkAndRecharge</settingName>
|
||||
<active Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_EscortIfEnemyWorkAndRecharge</requiredMode>
|
||||
<subNodes>
|
||||
<!-- Enemy = true -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Enemy = false -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="JobGiver_Work">
|
||||
<emergency>true</emergency>
|
||||
</li>
|
||||
<li Class="JobGiver_Work" />
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WorkAndRecharge</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Work</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown long -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</li>
|
||||
</operations>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_EscortIfEnemyWorkAndRecharge"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_EscortIfDraftedOrDowned</settingName>
|
||||
<active Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_EscortIfDraftedOrDowned</requiredMode>
|
||||
<subNodes>
|
||||
<!-- Drafted == true -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalDrafted">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Drafted == false -->
|
||||
<!-- Downed == true -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalDowned">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>65</targetAcquireRadius>
|
||||
<targetKeepRadius>72</targetKeepRadius>
|
||||
</li>
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" /> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Downed == false -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<!-- Go to smart charge -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
|
||||
<tickInterval>625</tickInterval>
|
||||
</li>
|
||||
<!-- Go to spot -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_WaitEnemy</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Combat</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Shutdown long -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</li>
|
||||
</operations>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_EscortIfDraftedOrDowned"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_HiveMindResearching</settingName>
|
||||
<active Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_HiveMindResearching</requiredMode>
|
||||
<subNodes>
|
||||
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalResearchProjects"> -->
|
||||
<!-- <invert>true</invert> -->
|
||||
<!-- <allOfResearchProjects> -->
|
||||
<!-- <li>WVC_WorkModes_HiveMindResearch</li> -->
|
||||
<!-- </allOfResearchProjects> -->
|
||||
<!-- <subNodes> -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_ChangeMode"> -->
|
||||
<!-- <workMode>Work</workMode> -->
|
||||
<!-- </li> -->
|
||||
<!-- </subNodes> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalWorkModesWithResearchRequirement"> -->
|
||||
<!-- <workMode>Work</workMode> -->
|
||||
<!-- <workModeResearchRequirementDefs> -->
|
||||
<!-- <li>WVC_WorkModes_HiveMindResearch</li> -->
|
||||
<!-- </workModeResearchRequirementDefs> -->
|
||||
<!-- </li> -->
|
||||
<!-- Find Enemy -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<!-- If Danger -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_TotallySafeSpot</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>1500</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- If Safe -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalCanRepair">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Very-very long shutdown -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>6000</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_MechDoResearch">
|
||||
<statDef>BandwidthCost</statDef>
|
||||
<researchAmount>10</researchAmount>
|
||||
</li>
|
||||
<li Class="JobGiver_WanderColony">
|
||||
<maxDanger>Deadly</maxDanger>
|
||||
<locomotionUrgency>Amble</locomotionUrgency>
|
||||
<reportStringOverride>Researching.</reportStringOverride>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</li>
|
||||
</operations>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_HiveMindResearching"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/ResearchProjectDef[defName="WVC_WorkModes_HiveMindResearch"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/WVC_WorkModes.WorkModeResearchRequirementDef[defName="WVC_WorkModes_HiveMindResearch"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>WVC_Scavenging</settingName>
|
||||
<active Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationInsert">
|
||||
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
|
||||
<value>
|
||||
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
|
||||
<requiredMode>WVC_Scavenging</requiredMode>
|
||||
<subNodes>
|
||||
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalResearchProjects"> -->
|
||||
<!-- <invert>true</invert> -->
|
||||
<!-- <allOfResearchProjects> -->
|
||||
<!-- <li>WVC_WorkModes_Scavenging</li> -->
|
||||
<!-- </allOfResearchProjects> -->
|
||||
<!-- <subNodes> -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_ChangeMode"> -->
|
||||
<!-- <workMode>Work</workMode> -->
|
||||
<!-- </li> -->
|
||||
<!-- </subNodes> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalWorkModesWithResearchRequirement"> -->
|
||||
<!-- <workMode>Work</workMode> -->
|
||||
<!-- <workModeResearchRequirementDefs> -->
|
||||
<!-- <li>WVC_WorkModes_Scavenging</li> -->
|
||||
<!-- </workModeResearchRequirementDefs> -->
|
||||
<!-- </li> -->
|
||||
<!-- Find Enemy -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
|
||||
<subNodes>
|
||||
<!-- If Danger -->
|
||||
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
|
||||
<!-- <spotDefName>WVC_IOMSS_TotallySafeSpot</spotDefName> -->
|
||||
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
|
||||
<!-- </li> -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>1500</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- If Safe -->
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_GetEnergy_Charger" />
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalCanRepair">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
|
||||
<workModeType>Safe</workModeType>
|
||||
<possibleRooms>
|
||||
<li>WVC_MechHangar</li>
|
||||
</possibleRooms>
|
||||
</li>
|
||||
<!-- Very-very long shutdown -->
|
||||
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
|
||||
<tickInterval>6000</tickInterval>
|
||||
<forced>true</forced>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
<!-- Scavenge -->
|
||||
<li Class="WVC_WorkModes.ThinkNode_ConditionalAnyScavengeZone">
|
||||
<subNodes>
|
||||
<li Class="WVC_WorkModes.JobGiver_GoToScavengeZone"/>
|
||||
<li Class="WVC_WorkModes.JobGiver_ScavengeSpawner">
|
||||
<statDef>WorkSpeedGlobal</statDef>
|
||||
<chanceToSuccess>0.02</chanceToSuccess>
|
||||
<productDefs>
|
||||
<li>
|
||||
<productDef>Steel</productDef>
|
||||
<productCount>1~3</productCount>
|
||||
<selectionWeight>1.2</selectionWeight>
|
||||
</li>
|
||||
<li>
|
||||
<productDef>WoodLog</productDef>
|
||||
<productCount>1~2</productCount>
|
||||
<selectionWeight>0.77</selectionWeight>
|
||||
</li>
|
||||
<li>
|
||||
<productDef>Plasteel</productDef>
|
||||
<productCount>1~2</productCount>
|
||||
<selectionWeight>0.18</selectionWeight>
|
||||
</li>
|
||||
<li>
|
||||
<productDef>Silver</productDef>
|
||||
<productCount>1~3</productCount>
|
||||
<selectionWeight>0.03</selectionWeight>
|
||||
</li>
|
||||
<li>
|
||||
<productDef>Gold</productDef>
|
||||
<productCount>1~2</productCount>
|
||||
<selectionWeight>0.03</selectionWeight>
|
||||
</li>
|
||||
<li>
|
||||
<productDef>ComponentIndustrial</productDef>
|
||||
<productCount>1~2</productCount>
|
||||
<selectionWeight>0.02</selectionWeight>
|
||||
</li>
|
||||
</productDefs>
|
||||
</li>
|
||||
<li Class="WVC_WorkModes.JobGiver_WanderScavenge">
|
||||
<maxDanger>Deadly</maxDanger>
|
||||
<locomotionUrgency>Amble</locomotionUrgency>
|
||||
<reportStringOverride>Scavenging.</reportStringOverride>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</value>
|
||||
</li>
|
||||
</operations>
|
||||
</active>
|
||||
<deActive Class="PatchOperationSequence">
|
||||
<operations>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/MechWorkModeDef[defName="WVC_Scavenging"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/ResearchProjectDef[defName="WVC_WorkModes_Scavenging"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
<li Class="PatchOperationRemove">
|
||||
<xpath>/Defs/WVC_WorkModes.WorkModeResearchRequirementDef[defName="WVC_WorkModes_Scavenging"]</xpath>
|
||||
<success>Always</success>
|
||||
</li>
|
||||
</operations>
|
||||
</deActive>
|
||||
</Operation>
|
||||
|
||||
</Patch>
|
||||
50
1.6/WVC Work Modes/Patches/09_Patches_Misc.xml
Normal file
50
1.6/WVC Work Modes/Patches/09_Patches_Misc.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Patch>
|
||||
|
||||
<!-- =========================================================== -->
|
||||
|
||||
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
|
||||
<settingName>dormantMode</settingName>
|
||||
<active Class="PatchOperationSequence">
|
||||
<operations>
|
||||
|
||||
<li Class="PatchOperationSequence">
|
||||
<success>Always</success>
|
||||
<operations>
|
||||
<li Class="PatchOperationTest">
|
||||
<xpath>/Defs/StatDef[defName="BandwidthCost"]/parts</xpath>
|
||||
<success>Invert</success>
|
||||
</li>
|
||||
<li Class="PatchOperationAdd">
|
||||
<xpath>/Defs/StatDef[defName="BandwidthCost"]</xpath>
|
||||
<success>Always</success>
|
||||
<value>
|
||||
<parts/>
|
||||
</value>
|
||||
</li>
|
||||
</operations>
|
||||
</li>
|
||||
|
||||
<li Class="PatchOperationAdd">
|
||||
<xpath>/Defs/StatDef[defName="BandwidthCost"]/parts</xpath>
|
||||
<success>Always</success>
|
||||
<value>
|
||||
|
||||
<li Class="WVC_WorkModes.StatPart_DormantMode"/>
|
||||
|
||||
</value>
|
||||
</li>
|
||||
|
||||
</operations>
|
||||
</active>
|
||||
</Operation>
|
||||
|
||||
<!-- <Operation Class="PatchOperationConditional"> -->
|
||||
<!-- <xpath>/Defs/ResearchProjectDef[tab="WVC_TechTab"]</xpath> -->
|
||||
<!-- <nomatch Class="PatchOperationRemove"> -->
|
||||
<!-- <xpath>/Defs/ResearchTabDef[defName="WVC_TechTab"]</xpath> -->
|
||||
<!-- <success>Always</success> -->
|
||||
<!-- </nomatch> -->
|
||||
<!-- </Operation> -->
|
||||
|
||||
</Patch>
|
||||
@@ -38,5 +38,9 @@
|
||||
<li>Ludeon.RimWorld.Biotech</li>
|
||||
<li>erdelf.HumanoidAlienRaces</li>
|
||||
<li>HaiLuan.CustomQuestFramework</li>
|
||||
<li>co.uk.epicguru.meleeanimation</li>
|
||||
<li>Nals.FacialAnimation</li>
|
||||
<li>MemeGoddess.SearchAndDestroy</li>
|
||||
<li>wvc.sergkart.biotech.MoreMechanoidsWorkModes</li>
|
||||
</loadAfter>
|
||||
</ModMetaData>
|
||||
@@ -3,5 +3,6 @@
|
||||
<li>1.6/1.6</li>
|
||||
<li>Content</li>
|
||||
<li IfModActive="Ludeon.RimWorld.Odyssey">1.6/Odyssey</li>
|
||||
<li IfModActive="wvc.sergkart.biotech.MoreMechanoidsWorkModes">1.6/WVC Work Modes</li>
|
||||
</v1.6>
|
||||
</loadFolders>
|
||||
@@ -149,10 +149,16 @@ namespace WulaFallenEmpire
|
||||
dataLoaded = false;
|
||||
}
|
||||
}
|
||||
|
||||
// 单个炮塔实例类,实现 IAttackTargetSearcher 接口
|
||||
public class TurretInstance : IExposable, IAttackTargetSearcher
|
||||
{
|
||||
// 为每个炮塔实例生成唯一ID
|
||||
private int turretID = -1;
|
||||
private static int nextTurretID = 0;
|
||||
|
||||
// 存储每个炮塔的目标历史,用于避免重复选择已死亡的目标
|
||||
private HashSet<Thing> killedTargets = new HashSet<Thing>();
|
||||
private static Dictionary<int, HashSet<Thing>> allKilledTargets = new Dictionary<int, HashSet<Thing>>();
|
||||
|
||||
private CompStorageTurret _parent;
|
||||
private int _index;
|
||||
|
||||
@@ -164,12 +170,17 @@ namespace WulaFallenEmpire
|
||||
public float curRotation;
|
||||
public Material turretMat;
|
||||
|
||||
// 目标最后可见时间,用于跟踪目标丢失
|
||||
private int lastTargetVisibleTick = -1;
|
||||
private const int TARGET_LOST_THRESHOLD = 30; // 30 ticks后认为目标丢失
|
||||
|
||||
// 标记是否已初始化
|
||||
private bool initialized = false;
|
||||
|
||||
// 安全访问器
|
||||
public CompStorageTurret Parent => _parent;
|
||||
public int Index => _index;
|
||||
public int TurretID => turretID;
|
||||
|
||||
// IAttackTargetSearcher 接口实现
|
||||
public Thing Thing => _parent?.parent;
|
||||
@@ -221,6 +232,9 @@ namespace WulaFallenEmpire
|
||||
{
|
||||
SetParent(parent);
|
||||
SetIndex(index);
|
||||
|
||||
// 生成唯一ID
|
||||
turretID = nextTurretID++;
|
||||
Initialize();
|
||||
}
|
||||
|
||||
@@ -241,6 +255,12 @@ namespace WulaFallenEmpire
|
||||
MakeGun();
|
||||
UpdateGunVerbs();
|
||||
initialized = true;
|
||||
|
||||
// 初始化已击杀目标集合
|
||||
if (!allKilledTargets.ContainsKey(turretID))
|
||||
{
|
||||
allKilledTargets[turretID] = new HashSet<Thing>();
|
||||
}
|
||||
}
|
||||
|
||||
// 加载后初始化
|
||||
@@ -255,6 +275,83 @@ namespace WulaFallenEmpire
|
||||
|
||||
UpdateGunVerbs();
|
||||
initialized = true;
|
||||
|
||||
// 初始化已击杀目标集合
|
||||
if (!allKilledTargets.ContainsKey(turretID))
|
||||
{
|
||||
allKilledTargets[turretID] = new HashSet<Thing>();
|
||||
}
|
||||
}
|
||||
|
||||
// 清理已击杀目标集合,避免内存泄漏
|
||||
public void CleanupKilledTargets()
|
||||
{
|
||||
if (allKilledTargets.ContainsKey(turretID))
|
||||
{
|
||||
// 移除所有已经被销毁的目标
|
||||
killedTargets.RemoveWhere(target => target == null || target.Destroyed);
|
||||
allKilledTargets[turretID] = killedTargets;
|
||||
}
|
||||
}
|
||||
|
||||
// 添加已击杀目标
|
||||
public void AddKilledTarget(Thing target)
|
||||
{
|
||||
if (target != null)
|
||||
{
|
||||
killedTargets.Add(target);
|
||||
if (allKilledTargets.ContainsKey(turretID))
|
||||
{
|
||||
allKilledTargets[turretID] = killedTargets;
|
||||
}
|
||||
|
||||
// 通知其他炮塔这个目标已被击杀
|
||||
NotifyOtherTurretsTargetKilled(target, this);
|
||||
}
|
||||
}
|
||||
|
||||
// 检查目标是否已被击杀
|
||||
public bool IsTargetKilled(Thing target)
|
||||
{
|
||||
if (target == null || target.Destroyed)
|
||||
return true;
|
||||
|
||||
// 检查自己的击杀记录
|
||||
if (killedTargets.Contains(target))
|
||||
return true;
|
||||
|
||||
// 检查其他炮塔的击杀记录(共享击杀信息)
|
||||
foreach (var kvp in allKilledTargets)
|
||||
{
|
||||
if (kvp.Key != turretID && kvp.Value.Contains(target))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// 通知其他炮塔目标已被击杀
|
||||
private void NotifyOtherTurretsTargetKilled(Thing target, TurretInstance killer)
|
||||
{
|
||||
if (_parent?.turrets == null) return;
|
||||
|
||||
foreach (var turret in _parent.turrets)
|
||||
{
|
||||
if (turret != null && turret != this)
|
||||
{
|
||||
// 如果其他炮塔正在瞄准这个目标,重置它们的目标
|
||||
if (turret.currentTarget.Thing == target)
|
||||
{
|
||||
turret.ResetCurrentTarget();
|
||||
}
|
||||
|
||||
// 将这个目标添加到它们的击杀记录中
|
||||
if (turret.killedTargets != null)
|
||||
{
|
||||
turret.killedTargets.Add(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void MakeGun()
|
||||
@@ -286,6 +383,12 @@ namespace WulaFallenEmpire
|
||||
verb.castCompleteCallback = () =>
|
||||
{
|
||||
burstCooldownTicksLeft = AttackVerb?.verbProps?.defaultCooldownTime.SecondsToTicks() ?? 0;
|
||||
|
||||
// 如果成功攻击并击杀目标,记录它
|
||||
if (currentTarget.Thing != null && currentTarget.Thing.Destroyed)
|
||||
{
|
||||
AddKilledTarget(currentTarget.Thing);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -301,9 +404,41 @@ namespace WulaFallenEmpire
|
||||
return;
|
||||
}
|
||||
|
||||
// 更新炮塔旋转
|
||||
// 清理旧数据
|
||||
if (Find.TickManager.TicksGame % 300 == 0)
|
||||
{
|
||||
CleanupKilledTargets();
|
||||
}
|
||||
|
||||
// 检查当前目标是否仍然有效
|
||||
if (currentTarget.IsValid)
|
||||
{
|
||||
var targetThing = currentTarget.Thing;
|
||||
|
||||
// 检查目标是否已被击杀
|
||||
if (targetThing == null || targetThing.Destroyed)
|
||||
{
|
||||
if (targetThing != null)
|
||||
{
|
||||
AddKilledTarget(targetThing);
|
||||
}
|
||||
ResetCurrentTarget();
|
||||
}
|
||||
// 检查目标是否离开视线或死亡
|
||||
else if (!AttackVerb.CanHitTarget(currentTarget) || targetThing.Destroyed)
|
||||
{
|
||||
lastTargetVisibleTick = Find.TickManager.TicksGame;
|
||||
if (Find.TickManager.TicksGame - lastTargetVisibleTick > TARGET_LOST_THRESHOLD)
|
||||
{
|
||||
ResetCurrentTarget();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lastTargetVisibleTick = Find.TickManager.TicksGame;
|
||||
}
|
||||
|
||||
// 更新炮塔旋转
|
||||
Vector3 targetPos = currentTarget.Cell.ToVector3Shifted();
|
||||
Vector3 turretPos = GetTurretDrawPos();
|
||||
curRotation = (targetPos - turretPos).AngleFlat() + _parent.Props.angleOffset;
|
||||
@@ -319,6 +454,12 @@ namespace WulaFallenEmpire
|
||||
if (burstWarmupTicksLeft == 0)
|
||||
{
|
||||
AttackVerb.TryStartCastOn(currentTarget, false, true, false, true);
|
||||
|
||||
// 攻击后检查目标是否被击杀
|
||||
if (currentTarget.Thing != null && currentTarget.Thing.Destroyed)
|
||||
{
|
||||
AddKilledTarget(currentTarget.Thing);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -330,28 +471,91 @@ namespace WulaFallenEmpire
|
||||
|
||||
if (burstCooldownTicksLeft <= 0 && _parent.parent.IsHashIntervalTick(10))
|
||||
{
|
||||
// 修复:将 this 作为 IAttackTargetSearcher 传递
|
||||
currentTarget = (Thing)AttackTargetFinder.BestShootTargetFromCurrentPosition(
|
||||
this, TargetScanFlags.NeedThreat | TargetScanFlags.NeedAutoTargetable,
|
||||
null, 0f, 9999f);
|
||||
// 使用自定义的目标查找器,避免选择已死亡或被其他炮塔击杀的目标
|
||||
FindNewTarget();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (currentTarget.IsValid)
|
||||
// 自定义目标查找方法
|
||||
private void FindNewTarget()
|
||||
{
|
||||
if (_parent == null || _parent.parent == null || AttackVerb == null)
|
||||
return;
|
||||
|
||||
// 获取所有潜在目标
|
||||
List<Thing> potentialTargets = new List<Thing>();
|
||||
var map = _parent.parent.Map;
|
||||
|
||||
if (map == null) return;
|
||||
|
||||
// 获取攻击范围内的所有威胁
|
||||
var scanRadius = AttackVerb.verbProps.range;
|
||||
var center = _parent.parent.Position;
|
||||
|
||||
foreach (var pawn in map.mapPawns.AllPawnsSpawned)
|
||||
{
|
||||
if (pawn.HostileTo(_parent.parent.Faction) &&
|
||||
!pawn.Dead &&
|
||||
!pawn.Downed &&
|
||||
pawn.Position.DistanceTo(center) <= scanRadius)
|
||||
{
|
||||
// 检查目标是否已被击杀(包括被其他炮塔击杀)
|
||||
if (!IsTargetKilled(pawn) && AttackVerb.CanHitTarget(pawn))
|
||||
{
|
||||
potentialTargets.Add(pawn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 优先选择最近的目标
|
||||
if (potentialTargets.Count > 0)
|
||||
{
|
||||
// 按距离排序
|
||||
potentialTargets.Sort((a, b) =>
|
||||
a.Position.DistanceTo(center).CompareTo(b.Position.DistanceTo(center)));
|
||||
|
||||
// 随机选择前3个中的1个,避免所有炮塔同时攻击同一个目标
|
||||
int selectFrom = Mathf.Min(3, potentialTargets.Count);
|
||||
Thing selectedTarget = potentialTargets[Rand.Range(0, selectFrom)];
|
||||
|
||||
currentTarget = selectedTarget;
|
||||
burstWarmupTicksLeft = 1;
|
||||
lastTargetVisibleTick = Find.TickManager.TicksGame;
|
||||
|
||||
// 记录我们正在瞄准这个目标,避免其他炮塔选择同一个目标
|
||||
if (_parent.turrets != null)
|
||||
{
|
||||
foreach (var turret in _parent.turrets)
|
||||
{
|
||||
if (turret != null && turret != this)
|
||||
{
|
||||
turret.RemoveTargetFromConsideration(selectedTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ResetCurrentTarget();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 从考虑列表中移除目标
|
||||
public void RemoveTargetFromConsideration(Thing target)
|
||||
{
|
||||
if (currentTarget.Thing == target)
|
||||
{
|
||||
ResetCurrentTarget();
|
||||
}
|
||||
}
|
||||
|
||||
private void ResetCurrentTarget()
|
||||
public void ResetCurrentTarget()
|
||||
{
|
||||
currentTarget = LocalTargetInfo.Invalid;
|
||||
burstWarmupTicksLeft = 0;
|
||||
lastTargetVisibleTick = -1;
|
||||
}
|
||||
|
||||
public void DrawTurret()
|
||||
@@ -372,6 +576,17 @@ namespace WulaFallenEmpire
|
||||
Matrix4x4 matrix = default(Matrix4x4);
|
||||
matrix.SetTRS(drawPos, Quaternion.AngleAxis(angle, Vector3.up), Vector3.one);
|
||||
Graphics.DrawMesh(MeshPool.plane10, matrix, turretMat, 0);
|
||||
|
||||
// 调试绘制:显示炮塔ID和当前目标
|
||||
if (Prefs.DevMode && DebugSettings.godMode)
|
||||
{
|
||||
var screenPos = Camera.main.WorldToScreenPoint(drawPos);
|
||||
if (screenPos.z > 0)
|
||||
{
|
||||
string debugText = $"Turret {turretID}\nTarget: {(currentTarget.IsValid ? currentTarget.Thing.LabelShort : "None")}";
|
||||
Widgets.Label(new Rect(screenPos.x, Screen.height - screenPos.y, 200, 50), debugText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Vector3 GetTurretDrawPos()
|
||||
@@ -394,14 +609,53 @@ namespace WulaFallenEmpire
|
||||
|
||||
public void ExposeData()
|
||||
{
|
||||
Scribe_Values.Look(ref turretID, "turretID", -1);
|
||||
Scribe_Values.Look(ref burstCooldownTicksLeft, "burstCooldownTicksLeft", 0);
|
||||
Scribe_Values.Look(ref burstWarmupTicksLeft, "burstWarmupTicksLeft", 0);
|
||||
Scribe_TargetInfo.Look(ref currentTarget, "currentTarget");
|
||||
Scribe_Deep.Look(ref gun, "gun");
|
||||
Scribe_Values.Look(ref curRotation, "curRotation", 0f);
|
||||
Scribe_Values.Look(ref initialized, "initialized", false);
|
||||
Scribe_Values.Look(ref lastTargetVisibleTick, "lastTargetVisibleTick", -1);
|
||||
|
||||
// 序列化击杀目标集合
|
||||
if (Scribe.mode == LoadSaveMode.Saving)
|
||||
{
|
||||
// 序列化时清理已销毁的目标
|
||||
killedTargets?.RemoveWhere(target => target == null || target.Destroyed);
|
||||
}
|
||||
|
||||
Scribe_Collections.Look(ref killedTargets, "killedTargets", LookMode.Reference);
|
||||
|
||||
// 注意:不序列化 _parent 和 _index,它们在加载后重新设置
|
||||
|
||||
if (Scribe.mode == LoadSaveMode.PostLoadInit)
|
||||
{
|
||||
if (turretID == -1)
|
||||
{
|
||||
turretID = nextTurretID++;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 确保静态ID计数器至少比最大ID大
|
||||
nextTurretID = Mathf.Max(nextTurretID, turretID + 1);
|
||||
}
|
||||
|
||||
// 恢复击杀目标集合
|
||||
if (killedTargets == null)
|
||||
{
|
||||
killedTargets = new HashSet<Thing>();
|
||||
}
|
||||
|
||||
// 清理已销毁的目标
|
||||
killedTargets.RemoveWhere(target => target == null || target.Destroyed);
|
||||
|
||||
// 更新全局记录
|
||||
if (!allKilledTargets.ContainsKey(turretID))
|
||||
{
|
||||
allKilledTargets[turretID] = killedTargets;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user