This commit is contained in:
2025-09-19 20:02:00 +08:00
27 changed files with 459 additions and 254 deletions

View File

@@ -31,6 +31,62 @@
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_RaceBaseSwarmProduceOn</defName>
<label>取消繁育抑制</label>
<description>重启该阿拉克涅督虫自动抚育辅虫的能力。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_BindDrone</iconPath>
<cooldownTicksRange>601</cooldownTicksRange>
<hostile>false</hostile>
<showOnCharacterCard>true</showOnCharacterCard>
<aiCanUse>false</aiCanUse>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>0</warmupTime>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<!-- 这是正确的用法 -->
<li Class="RimWorld.CompProperties_AbilityRemoveHediff">
<compClass>ArachnaeSwarm.CompAbilityEffect_RemoveSwitchHediff</compClass>
<hediffDef>ARA_RaceBaseSwarmProduceSwitchHediff</hediffDef>
<applyToSelf>true</applyToSelf>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_RaceBaseSwarmProduceOff</defName>
<label>繁育抑制</label>
<description>关闭该阿拉克涅督虫自动抚育辅虫的能力。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_BindDrone</iconPath>
<cooldownTicksRange>601</cooldownTicksRange>
<hostile>false</hostile>
<showOnCharacterCard>true</showOnCharacterCard>
<aiCanUse>false</aiCanUse>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>0</warmupTime>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="RimWorld.CompProperties_AbilityGiveHediff">
<compClass>ArachnaeSwarm.CompAbilityEffect_GiveSwitchHediff</compClass>
<hediffDef>ARA_RaceBaseSwarmProduceSwitchHediff</hediffDef>
<applyToSelf>true</applyToSelf>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_TrapSpew</defName>
<label>酸爆茧投射</label>

View File

@@ -4,7 +4,7 @@
<requiresSpawnCategory>true</requiresSpawnCategory>
<forcedTraitsChance>
<li>
<defName Degree="1">ARA_CreepyCrawly</defName>
<defName Degree="0">ARA_CreepyCrawly</defName>
<chance>100</chance>
</li>
</forcedTraitsChance>

View File

@@ -3,7 +3,7 @@
<HediffDef>
<defName>ARA_AcidCoverd</defName>
<label>阿拉克涅酸液</label>
<description>拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的液体将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
<description>拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的液体将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
<comps>

View File

@@ -9,11 +9,6 @@
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>100</maxSeverity>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindMaster">
<scanIntervalTicks>3200</scanIntervalTicks>
</li>
</comps>
<stages>
<li>
<label>连接至 {0} 个虫群工蜂</label>
@@ -33,8 +28,12 @@
</enablesNeeds>
</li>
</stages>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindMaster">
<scanIntervalTicks>3200</scanIntervalTicks>
</li>
</comps>
</HediffDef>
<HediffDef>
<defName>ARA_HiveMindDrone</defName>
<label>阿拉克涅督虫</label>
@@ -43,17 +42,6 @@
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindDrone">
<unlinkedDieDelayTicks>6400</unlinkedDieDelayTicks> <!-- Default to 30 seconds -->
</li>
<li Class="HediffCompProperties_MessageAfterTicks">
<ticks>1</ticks>
<letterLabel>{0_labelShort} 诞生</letterLabel>
<letterText>一只新的阿拉克涅督虫 {0_labelShort} 已经破茧而出!她正在四处徘徊,等待女皇种的指示——使用阿拉克涅女皇种的信息素标记技能完成链接,或者等待其自行建立链接。</letterText>
<letterType>HumanPregnancy</letterType>
</li>
</comps>
<stages>
<li>
<minSeverity>0</minSeverity>
@@ -70,8 +58,24 @@
</disablesNeeds>
</li>
</stages>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindDrone">
<unlinkedDieDelayTicks>6400</unlinkedDieDelayTicks> <!-- Default to 30 seconds -->
</li>
<li Class="HediffCompProperties_MessageAfterTicks">
<ticks>1</ticks>
<letterLabel>{0_labelShort} 诞生</letterLabel>
<letterText>一只新的阿拉克涅督虫 {0_labelShort} 已经破茧而出!她正在四处徘徊,等待女皇种的指示——使用阿拉克涅女皇种的信息素标记技能完成链接,或者等待其自行建立链接。</letterText>
<letterType>HumanPregnancy</letterType>
</li>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_RaceBaseSwarmProduceOn</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
</abilityDefs>
</li>
</comps>
</HediffDef>
<HediffDef>
<defName>ARA_HiveMindWorker</defName>
<label>阿拉克涅辅虫</label>
@@ -92,4 +96,39 @@
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_CreepyCrawly_Hediff</defName>
<label>原始恐惧</label>
<description>受不了了,快把这些虫子从我身边支开!</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.52, 1, 0.95)</defaultLabelColor>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>30</disappearsAfterTicks>
<showRemainingTime>false</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
<li Class="HediffCompProperties_Link">
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
</li>
</comps>
<stages>
<li>
<minSeverity>0</minSeverity>
<becomeVisible>false</becomeVisible>
</li>
</stages>
<isBad>false</isBad>
</HediffDef>
<HediffDef>
<defName>ARA_RaceBaseSwarmProduceSwitchHediff</defName>
<label>繁育抑制</label>
<description>该阿拉克涅督虫已被蜂巢思维禁止进行辅虫的繁育。</description>
<hediffClass>HediffWithComps</hediffClass>
<isBad>false</isBad>
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
</HediffDef>
</Defs>

View File

@@ -119,6 +119,8 @@
</backstoryFiltersOverride>
<abilities>
<li>ARA_AcidSprayBurst</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
<apparelTags>
</apparelTags>
@@ -143,6 +145,8 @@
<apparelMoney>0</apparelMoney>
<abilities>
<li>ARA_Ability_TrackingCharge</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
@@ -162,6 +166,10 @@
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
<abilities>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_Facehugger</defName>
@@ -223,6 +231,8 @@
</backstoryFiltersOverride>
<abilities>
<li>ARA_Ability_Smokepop</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
<apparelTags>
</apparelTags>

View File

@@ -3,7 +3,7 @@
<StorytellerDef ParentName="BaseStoryteller">
<defName>ARA_Lyne</defName>
<label>「织域种」蛉</label>
<description>蛉是一只阿拉克涅织域种督虫,作为讲述者时行为和「经典」卡桑德拉相近,但是会加强大规模袭击的难度。此外,选择蛉作为讲述者时,将会开启阿拉克涅虫巢的新手引导,以帮助新巢穴适应这个世界。</description>
<description>蛉是一只阿拉克涅织域种督虫,作为讲述者时行为和「经典」卡桑德拉相近,但是会加强大袭击的难度。此外,选择蛉作为讲述者时,将会开启阿拉克涅虫巢的新手引导,以帮助新巢穴适应这个世界。</description>
<portraitLarge>ArachnaeSwarm/Storyteller/ARA_Lyne</portraitLarge>
<portraitTiny>ArachnaeSwarm/Storyteller/ARA_Lyne_TINY</portraitTiny>
<listOrder>20</listOrder>
@@ -187,191 +187,4 @@
</li>
</comps>
</StorytellerDef>
<StorytellerDef ParentName="BaseStoryteller">
<defName>ARA_Lyne_Angry</defName>
<label>「织域种」蛉</label>
<description>看起来不太高兴的蛉,不会启用阿拉克涅虫群的新手教学,并且会毫无节制地发送各种袭击——往好处想,至少殖民地不缺吃的了。</description>
<portraitLarge>ArachnaeSwarm/Storyteller/ARA_Lyne_Angry</portraitLarge>
<portraitTiny>ArachnaeSwarm/Storyteller/ARA_Lyne_Angry_TINY</portraitTiny>
<listOrder>20</listOrder>
<comps>
<!-- Intro -->
<!-- <li Class="StorytellerCompProperties_ClassicIntro"/> -->
<!-- 袭击生成器 -->
<li Class="StorytellerCompProperties_OnOffCycle">
<category>ThreatBig</category> <!-- 大型袭击 -->
<minDaysPassed>15.0</minDaysPassed> <!-- 最低在15日后开始生成 -->
<onDays>1</onDays> <!-- 每个周期(12天)有多少天允许生成袭击 -->
<offDays>0</offDays> <!-- 每个周期(12天)有多少天不生成袭击 -->
<minSpacingDays>0.25</minSpacingDays> <!-- 事件最小间隔 -->
<numIncidentsRange>2~3</numIncidentsRange> <!-- 事件点数 -->
<!-- <forceRaidEnemyBeforeDaysPassed>20</forceRaidEnemyBeforeDaysPassed> -->
<disallowedTargetTags>
<li>Map_RaidBeacon</li>
</disallowedTargetTags>
</li>
<li Class="StorytellerCompProperties_OnOffCycle">
<category>ThreatSmall</category>
<minDaysPassed>11.0</minDaysPassed>
<onDays>1</onDays>
<offDays>0</offDays>
<numIncidentsRange>0.2~1</numIncidentsRange>
<acceptPercentFactorPerThreatPointsCurve>
<points>
<li>(800, 1)</li>
<li>(2800, 0)</li>
</points>
</acceptPercentFactorPerThreatPointsCurve>
</li>
<li Class="StorytellerCompProperties_ThreatsGenerator">
<allowedTargetTags>
<li>Map_RaidBeacon</li>
</allowedTargetTags>
<parms>
<allowedThreats>Raids</allowedThreats>
<onDays>1.0</onDays>
<offDays>0</offDays>
<minSpacingDays>0.04</minSpacingDays>
<numIncidentsRange>1~2</numIncidentsRange>
<minThreatPoints>500</minThreatPoints>
</parms>
</li>
<!-- Home misc incidents-->
<li Class="StorytellerCompProperties_CategoryMTB">
<category>Misc</category>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
<minDaysPassed>5</minDaysPassed>
<mtbDays>4.8</mtbDays>
</li>
<li Class="StorytellerCompProperties_ShipChunkDrop"/>
<li Class="StorytellerCompProperties_Disease">
<category>DiseaseHuman</category>
<minDaysPassed>9</minDaysPassed>
</li>
<li Class="StorytellerCompProperties_Disease">
<category>DiseaseAnimal</category>
<minDaysPassed>9</minDaysPassed>
</li>
<!-- Ally/neutral interaction -->
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>RaidFriendly</incident>
<baseIncidentsPerYear>15</baseIncidentsPerYear>
<minSpacingDays>0.4</minSpacingDays>
<fullAlliesOnly>true</fullAlliesOnly>
<minDanger>High</minDanger>
</li>
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>TraderCaravanArrival</incident>
<minDaysPassed>5</minDaysPassed>
<baseIncidentsPerYear>5</baseIncidentsPerYear>
<minSpacingDays>6</minSpacingDays>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>VisitorGroup</incident>
<minDaysPassed>3</minDaysPassed>
<baseIncidentsPerYear>4</baseIncidentsPerYear>
<minSpacingDays>5</minSpacingDays>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>TravelerGroup</incident>
<minDaysPassed>1</minDaysPassed>
<baseIncidentsPerYear>6</baseIncidentsPerYear>
<minSpacingDays>1</minSpacingDays>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
</li>
<!-- Caravan / temp map -->
<li Class="StorytellerCompProperties_CategoryIndividualMTBByBiome">
<category>Misc</category>
<allowedTargetTags>
<li>Caravan</li>
<li>Map_TempIncident</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_CategoryIndividualMTBByBiome">
<category>ThreatSmall</category>
<applyCaravanVisibility>true</applyCaravanVisibility>
<allowedTargetTags>
<li>Caravan</li>
<li>Map_TempIncident</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_CategoryIndividualMTBByBiome">
<category>ThreatBig</category>
<applyCaravanVisibility>true</applyCaravanVisibility>
<allowedTargetTags>
<li>Caravan</li>
<li>Map_TempIncident</li>
</allowedTargetTags>
</li>
<!-- Quests - non-Royalty -->
<li Class="StorytellerCompProperties_RandomQuest">
<category>GiveQuest</category>
<allowedTargetTags>
<li>World</li>
</allowedTargetTags>
<onDays>10</onDays>
<numIncidentsRange>1</numIncidentsRange>
<acceptFractionByDaysPassedCurve>
<points>
<li>(8, 0)</li>
<li>(15, 1)</li>
</points>
</acceptFractionByDaysPassedCurve>
<minSpacingDays>3</minSpacingDays>
<disableIfAnyModActive>
<li>Ludeon.RimWorld.Royalty</li>
</disableIfAnyModActive>
</li>
<!-- Quests - Royalty -->
<li Class="StorytellerCompProperties_RandomQuest">
<category>GiveQuest</category>
<allowedTargetTags>
<li>World</li>
</allowedTargetTags>
<onDays>12</onDays>
<numIncidentsRange>2</numIncidentsRange>
<acceptFractionByDaysPassedCurve>
<points>
<li>(8, 0)</li>
<li>(15, 1)</li>
</points>
</acceptFractionByDaysPassedCurve>
<minSpacingDays>3</minSpacingDays>
<enableIfAnyModActive>
<li>Ludeon.RimWorld.Royalty</li>
</enableIfAnyModActive>
</li>
<!-- World misc incidents-->
<li Class="StorytellerCompProperties_CategoryMTB">
<category>Misc</category>
<allowedTargetTags>
<li>World</li>
</allowedTargetTags>
<minDaysPassed>15</minDaysPassed>
<mtbDays>15</mtbDays>
</li>
<!-- Orbital trader -->
<li Class="StorytellerCompProperties_OnOffCycle">
<incident>OrbitalTraderArrival</incident>
<onDays>7</onDays>
<offDays>8</offDays>
<numIncidentsRange>1</numIncidentsRange>
</li>
<!-- Triggered -->
<li Class="StorytellerCompProperties_Triggered">
<incident>StrangerInBlackJoin</incident>
<delayTicks>180</delayTicks>
</li>
</comps>
</StorytellerDef>
</Defs>

View File

@@ -68,7 +68,7 @@
</race>
<comps>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>72000</totalPowerTicks> <!-- 2 hours -->
<totalPowerTicks>1440000</totalPowerTicks> <!-- 2 hours -->
<labelOverride>寿命</labelOverride>
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>

View File

@@ -535,6 +535,7 @@
<baseHealthScale>1.5</baseHealthScale>
<!-- 解剖产物 -->
<leatherDef>ARA_Carapace</leatherDef>
<lifeExpectancy>300</lifeExpectancy>
<!-- 身体类型 -->
<body>Human</body>
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech">
@@ -629,6 +630,13 @@
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
<li Class="CompProperties_CauseHediff_AoE">
<hediff>ARA_CreepyCrawly_Hediff</hediff>
<range>6</range>
<canTargetSelf>false</canTargetSelf>
<drawLines>true</drawLines>
<ignoreMechs>true</ignoreMechs>
</li>
<!--<li>
<compClass>FacialAnimation.EmotionControllerComp</compClass>
</li>
@@ -742,7 +750,7 @@
</li>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>
@@ -869,7 +877,7 @@
</li>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>
@@ -977,7 +985,7 @@
</li>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>
@@ -1191,7 +1199,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>

View File

@@ -459,6 +459,7 @@
<thoughtSettings>
<!-- 不会产生的想法 -->
<cannotReceiveThoughts>
<li>ARA_CreepyCrawly</li>
<li>Naked</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Female</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Male</li>
@@ -610,7 +611,7 @@
<soundMeleeMiss>Pawn_Melee_BigBash_Miss</soundMeleeMiss>
<soundMeleeDodge>Pawn_MeleeDodge</soundMeleeDodge>
<!-- 年龄阶段 -->
<!-- <lifeExpectancy>5000</lifeExpectancy> -->
<lifeExpectancy>300</lifeExpectancy>
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech" Inherit="False">
<Firefighter>0</Firefighter>
<Patient>0</Patient>
@@ -703,6 +704,13 @@
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
<li Class="CompProperties_CauseHediff_AoE">
<hediff>ARA_CreepyCrawly_Hediff</hediff>
<range>6</range>
<canTargetSelf>false</canTargetSelf>
<drawLines>true</drawLines>
<ignoreMechs>true</ignoreMechs>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
</Defs>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>ARA_SmartThermostat</defName>
<label>阿拉克涅纤管虫</label>
@@ -64,5 +63,4 @@
<li Class="CompProperties_Breakdownable"/>
</comps>
</ThingDef>
</Defs>

View File

@@ -3,7 +3,7 @@
<ThoughtDef>
<defName>ARA_CreepyCrawly</defName>
<workerClass>ThoughtWorker_Hediff</workerClass>
<hediff>ARA_HiveMindDrone</hediff>
<hediff>ARA_CreepyCrawly_Hediff</hediff>
<validWhileDespawned>true</validWhileDespawned>
<stages>
<li>

View File

@@ -5,8 +5,11 @@
<commonality>0</commonality>
<degreeDatas>
<li>
<<<<<<< HEAD
<degree>1</degree>
<label>节肢类类动物</label>
=======
<label>节肢类昆虫</label>
>>>>>>> 377cc3d7ce40e7320d0936dbd14071a1e9cfe27c
<description>{PAWN_nameDef} 是一只巨大的节肢类昆虫,多对附肢、镜面反光的外骨骼和扭动的分节身体足以引发人类心底埋藏的强烈恐惧感。\n\n额你该不会真以为它们是一群美少女吧</description>
<marketValueFactorOffset>-1</marketValueFactorOffset>
</li>