补科技和温度

This commit is contained in:
2025-09-06 16:01:54 +08:00
parent a963f83818
commit 25bd3019df
5 changed files with 57 additions and 16 deletions

Binary file not shown.

View File

@@ -4,12 +4,12 @@
<defName>ARA_BindDrone</defName> <defName>ARA_BindDrone</defName>
<label>信息素标记</label> <label>信息素标记</label>
<description>使用信息素标记一只阿拉克涅督虫,受到标记的督虫和其麾下的辅虫将誓死效忠于女皇种,并与其建立心灵链接。</description> <description>使用信息素标记一只阿拉克涅督虫,受到标记的督虫和其麾下的辅虫将誓死效忠于女皇种,并与其建立心灵链接。</description>
<iconPath>UI/Commands/EggSpew</iconPath> <!-- Placeholder: You'll need to create this icon --> <iconPath>UI/Commands/EggSpew</iconPath> <!-- Placeholder: You'll need to create this icon -->
<hotKey>Misc1</hotKey> <hotKey>Misc1</hotKey>
<jobDef>CastAbilityOnThing</jobDef> <jobDef>CastAbilityOnThing</jobDef>
<targetRequired>true</targetRequired> <targetRequired>true</targetRequired>
<cooldownTicksRange>60</cooldownTicksRange> <!-- 1 second cooldown --> <cooldownTicksRange>60</cooldownTicksRange> <!-- 1 second cooldown -->
<verbProperties> <verbProperties>
<verbClass>Verb_CastAbility</verbClass> <verbClass>Verb_CastAbility</verbClass>
@@ -31,7 +31,7 @@
</li> </li>
</comps> </comps>
</AbilityDef> </AbilityDef>
<AbilityDef> <AbilityDef>
<defName>ARA_EggSpew</defName> <defName>ARA_EggSpew</defName>
<label>生育虫卵</label> <label>生育虫卵</label>
@@ -67,6 +67,12 @@
<requiredPart>ARA_Ovary</requiredPart> <requiredPart>ARA_Ovary</requiredPart>
<failMessage>卵巢受损或缺失,无法生育</failMessage> <failMessage>卵巢受损或缺失,无法生育</failMessage>
</li> </li>
<!--
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>YourResearchProjectDefName</requiredResearch>
<failMessageKey>需要先完成研究</failMessageKey>
</li>
-->
</comps> </comps>
</AbilityDef> </AbilityDef>
<ThingDef ParentName="BaseGrenadeProjectile"> <ThingDef ParentName="BaseGrenadeProjectile">
@@ -141,7 +147,7 @@
<label>女皇种酸液轰炸</label> <label>女皇种酸液轰炸</label>
<description>阿拉克涅女皇种向目标地点喷射大量腐蚀性酸液,喷射将持续数秒以完全覆盖一片区域。</description> <description>阿拉克涅女皇种向目标地点喷射大量腐蚀性酸液,喷射将持续数秒以完全覆盖一片区域。</description>
<iconPath>UI/Abilities/AcidSpray</iconPath> <iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours --> <cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours -->
<aiCanUse>true</aiCanUse> <aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder> <displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted> <displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
@@ -164,10 +170,10 @@
<sprayEffecter>AcidSpray_Directional</sprayEffecter> <sprayEffecter>AcidSpray_Directional</sprayEffecter>
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 --> <!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
<shotCount>32</shotCount> <!-- 总共发射5次 --> <shotCount>32</shotCount> <!-- 总共发射5次 -->
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) --> <ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li> </li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost"> <li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef> <needDef>Food</needDef>
<needCost>0.5</needCost> <needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage> <failMessage>营养值不足,需要进食</failMessage>
@@ -208,13 +214,13 @@
<filthChance>0.25</filthChance> <filthChance>0.25</filthChance>
</projectile> </projectile>
</ThingDef> </ThingDef>
<AbilityDef> <AbilityDef>
<defName>ARA_AcidSprayBurst_Myrmecocystus</defName> <defName>ARA_AcidSprayBurst_Myrmecocystus</defName>
<label>蜜罐种酸液轰炸</label> <label>蜜罐种酸液轰炸</label>
<description>阿拉克涅蜜罐种向目标地点喷射大量腐蚀性酸液,虽然不如女皇种所喷射的酸雨那样强劲,但是虫酸的伤害依然是实打实的。</description> <description>阿拉克涅蜜罐种向目标地点喷射大量腐蚀性酸液,虽然不如女皇种所喷射的酸雨那样强劲,但是虫酸的伤害依然是实打实的。</description>
<iconPath>UI/Abilities/AcidSpray</iconPath> <iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>12000</cooldownTicksRange> <!-- 2 hours --> <cooldownTicksRange>12000</cooldownTicksRange> <!-- 2 hours -->
<aiCanUse>true</aiCanUse> <aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder> <displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted> <displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
@@ -237,10 +243,10 @@
<sprayEffecter>AcidSpray_Directional</sprayEffecter> <sprayEffecter>AcidSpray_Directional</sprayEffecter>
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 --> <!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
<shotCount>16</shotCount> <!-- 总共发射5次 --> <shotCount>16</shotCount> <!-- 总共发射5次 -->
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) --> <ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li> </li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost"> <li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef> <needDef>Food</needDef>
<needCost>0.5</needCost> <needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage> <failMessage>营养值不足,需要进食</failMessage>
@@ -251,7 +257,7 @@
</li> </li>
</comps> </comps>
</AbilityDef> </AbilityDef>
<!-- <AbilityDef> <!-- <AbilityDef>
<defName>ARA_BaseRace_Acid_Launcher</defName> <defName>ARA_BaseRace_Acid_Launcher</defName>
<label>酸嗜种投射</label> <label>酸嗜种投射</label>

View File

@@ -5,9 +5,10 @@
<defName>ARA_TemperatureRegulation</defName> <defName>ARA_TemperatureRegulation</defName>
<label>环境温度适应</label> <label>环境温度适应</label>
<description>根据环境温度调整生理状态。阿拉克涅虫族对环境温度比其他生物更加敏感温度不适宜时将会影响意识。最低适应16°最高适应26°环境温度。</description> <description>根据环境温度调整生理状态。阿拉克涅虫族对环境温度比其他生物更加敏感温度不适宜时将会影响意识。最低适应16°最高适应26°环境温度。</description>
<hediffClass>HediffWithComps</hediffClass> <hediffClass>Hediff_High</hediffClass>
<defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor> <defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity> <maxSeverity>1.0</maxSeverity>
<minSeverity>-0.01</minSeverity>
<initialSeverity>0.5</initialSeverity> <initialSeverity>0.5</initialSeverity>
<comps> <comps>
<li Class="ArachnaeSwarm.HediffCompProperties_Temperature"> <li Class="ArachnaeSwarm.HediffCompProperties_Temperature">
@@ -20,7 +21,7 @@
<stages> <stages>
<li> <li>
<minSeverity>0</minSeverity> <minSeverity>0</minSeverity>
<label>不适</label> <label>不适</label>
<capMods> <capMods>
<li> <li>
<capacity>Consciousness</capacity> <capacity>Consciousness</capacity>

View File

@@ -0,0 +1,33 @@
using RimWorld;
using Verse;
namespace ArachnaeSwarm
{
public class CompProperties_AbilityResearchPrereq : CompProperties_AbilityEffect
{
public ResearchProjectDef requiredResearch;
public string failMessage = "Research not completed.";
public CompProperties_AbilityResearchPrereq()
{
compClass = typeof(CompAbilityEffect_ResearchPrereq);
}
}
public class CompAbilityEffect_ResearchPrereq : CompAbilityEffect
{
public new CompProperties_AbilityResearchPrereq Props => (CompProperties_AbilityResearchPrereq)props;
public override bool GizmoDisabled(out string reason)
{
if (Props.requiredResearch != null && !Props.requiredResearch.IsFinished)
{
reason = Props.failMessage;
return true;
}
reason = null;
return false;
}
}
}

View File

@@ -76,6 +76,7 @@
<Compile Include="DRM_HediffCurseFlame\Hediff_CurseFlame.cs" /> <Compile Include="DRM_HediffCurseFlame\Hediff_CurseFlame.cs" />
<Compile Include="ARA_QueenAbility\CompAbilityEffect_NeedCost.cs" /> <Compile Include="ARA_QueenAbility\CompAbilityEffect_NeedCost.cs" />
<Compile Include="ARA_QueenAbility\CompAbilityEffect_BodyPartCheck.cs" /> <Compile Include="ARA_QueenAbility\CompAbilityEffect_BodyPartCheck.cs" />
<Compile Include="ARA_QueenAbility\CompAbilityEffect_ResearchPrereq.cs" />
<Compile Include="ARA_HiveMind\Hediff_HiveMindMaster.cs" /> <Compile Include="ARA_HiveMind\Hediff_HiveMindMaster.cs" />
<Compile Include="ARA_HiveMind\Hediff_HiveMindDrone.cs" /> <Compile Include="ARA_HiveMind\Hediff_HiveMindDrone.cs" />
<Compile Include="ARA_HiveMind\HediffCompProperties_HiveMindDrone.cs" /> <Compile Include="ARA_HiveMind\HediffCompProperties_HiveMindDrone.cs" />