This commit is contained in:
2025-07-22 19:07:21 +08:00
parent 4f524845a9
commit 15494e8a8e
26 changed files with 318 additions and 963 deletions

Binary file not shown.

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AbilityDef>
<defName>WULA_EmergencyEnergyRestore</defName>
<label>后备隐藏能源超载</label>
<description>激活紧急能量协议暂时将能量需求锁定在100%持续10秒后恢复到原来的能量水平。只能在倒地时使用。</description>
<iconPath>UI/Abilities/MetalbloodInjection</iconPath>
<cooldownTicksRange>72000</cooldownTicksRange> <!-- 20分钟冷却 -->
<aiCanUse>true</aiCanUse>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<targetRequired>false</targetRequired>
<canUseAoeToGetTargets>false</canUseAoeToGetTargets>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>0</range>
<warmupTime>1</warmupTime>
<soundCast>Psycast_Skip_Entry</soundCast>
<targetParams>
<canTargetSelf>true</canTargetSelf>
<canTargetPawns>false</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_AbilityEmergencyEnergyRestore">
<durationTicks>600</durationTicks> <!-- 10秒 -->
<hediffDef>WULA_EmergencyEnergyRestore_Hediff</hediffDef>
<requireDowned>true</requireDowned> <!-- 是否需要倒地才能使用 -->
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>WULA_ChargingHediff</defName>
<label>能量充盈</label>
<description>乌拉正在从能量核心中持续吸收能量。</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.5, 0.5, 0.9)</defaultLabelColor>
<isBad>false</isBad>
<comps>
<li Class="WulaFallenEmpire.HediffCompProperties_WulaCharging">
<!-- 充能效果的总持续时间(以 tick 为单位60 ticks = 1 秒) -->
<durationTicks>600</durationTicks>
<!-- 备用能量恢复值:如果能量核心没有定义具体的能量值,则每 tick 恢复这么多能量 -->
<energyPerTick>0.02</energyPerTick>
</li>
</comps>
<stages>
<li>
<label>充能中</label>
<minSeverity>0</minSeverity>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<HediffDef>
<defName>WULA_EmergencyEnergyRestore_Hediff</defName>
<label>紧急能量恢复</label>
<description>紧急能量协议激活中能量需求被暂时锁定在100%。</description>
<hediffClass>WulaFallenEmpire.Hediff_EmergencyEnergyRestore</hediffClass>
<defaultLabelColor>(0.2, 0.8, 1.0)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<isBad>false</isBad>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>600</disappearsAfterTicks> <!-- 10秒 -->
<showRemainingTime>true</showRemainingTime>
</li>
</comps>
<stages>
<li>
<capMods>
<li>
<capacity>Consciousness</capacity>
<setMax>1.0</setMax>
</li>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef>
<defName>WULA_CastEmergencyEnergyRestore</defName>
<driverClass>WulaFallenEmpire.JobDriver_CastEmergencyEnergyRestore</driverClass>
<reportString>activating emergency energy restore.</reportString>
<suspendable>false</suspendable>
<neverShowWeapon>true</neverShowWeapon>
</JobDef>
</Defs>

View File

@@ -17,17 +17,24 @@
<Nutrition>1</Nutrition> <!-- Reverted to 1 as per user request -->
</statBases>
<ingestible>
<baseIngestTicks>270</baseIngestTicks>
<preferability>MealSimple</preferability> <!-- Reverted to MealSimple as per user request -->
<optimalityOffsetHumanlikes>-1000</optimalityOffsetHumanlikes>
<optimalityOffsetFeedingAnimals>-1000</optimalityOffsetFeedingAnimals>
<ingestEffect>EatVegetarian</ingestEffect>
<ingestSound>MechResurrectCast</ingestSound>
<outcomeDoers>
<li Class="IngestionOutcomeDoer_GiveHediff">
<hediffDef>WULA_ChargingHediff</hediffDef>
<severity>1.0</severity>
</li>
</outcomeDoers>
</ingestible>
<allowedArchonexusCount>200</allowedArchonexusCount>
<tradeability>None</tradeability>
<modExtensions>
<li Class="WulaFallenEmpire.ThingDefExtension_EnergySource">
<energyAmount>1.0</energyAmount> <!-- Amount of energy this item provides -->
<energyAmount>12.0</energyAmount> <!-- Amount of energy this item provides -->
</li>
</modExtensions>
</ThingDef>

View File

@@ -184,7 +184,10 @@
<li Class="ThinkNode_PrioritySorter">
<subNodes>
<li Class="JobGiver_Autofeed" MayRequire="Ludeon.RimWorld.Biotech" />
<li Class="WulaFallenEmpire.JobGiver_WulaGetEnergy"/>
<li Class="WulaFallenEmpire.JobGiver_WulaGetEnergy">
<minEnergyLevelPercentage>0.3</minEnergyLevelPercentage>
<maxEnergyLevelPercentage>0.9</maxEnergyLevelPercentage>
</li>
<li Class="JobGiver_GetRest"/>
<li Class="JobGiver_SatisfyChemicalNeed"/>
<li Class="JobGiver_SatifyChemicalDependency" MayRequire="Ludeon.RimWorld.Biotech" />
@@ -272,12 +275,11 @@
<subNodes>
<li Class="WulaFallenEmpire.JobGiver_WulaGetEnergy">
<leaveJoinableLordIfIssuesJob>true</leaveJoinableLordIfIssuesJob>
<minEnergyLevelPercentage>0.5</minEnergyLevelPercentage>
<emergencyThreshold>0.1</emergencyThreshold>
<normalPriority>5</normalPriority>
<emergencyPriority>9.5</emergencyPriority>
<searchRadius>30</searchRadius> <!-- 搜索半径调整为30 -->
<ingestCount>1</ingestCount> <!-- 每次摄取1个能量核心 -->
<minEnergyLevelPercentage>0.3</minEnergyLevelPercentage>
<maxEnergyLevelPercentage>0.9</maxEnergyLevelPercentage>
<emergencyPriority>9.5</emergencyPriority>
</li>
</subNodes>
</li>

View File

@@ -66,7 +66,7 @@
</requiredCapacities>
<modExtensions>
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
<energySourceDef>WULA_Charge_Cube</energySourceDef>
<feedThreshold>0.25</feedThreshold>
</li>
</modExtensions>
</WorkGiverDef>
@@ -84,7 +84,7 @@
</requiredCapacities>
<modExtensions>
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
<energySourceDef>WULA_Charge_Cube</energySourceDef>
<feedThreshold>0.25</feedThreshold>
</li>
</modExtensions>
</WorkGiverDef>
@@ -102,7 +102,7 @@
</requiredCapacities>
<modExtensions>
<li Class="WulaFallenEmpire.WorkGiverDefExtension_FeedWula">
<energySourceDef>WULA_Charge_Cube</energySourceDef>
<feedThreshold>0.8</feedThreshold>
</li>
</modExtensions>
</WorkGiverDef>