Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm
@@ -1,11 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Defs>
|
<Defs>
|
||||||
|
|
||||||
<AbilityDef>
|
<AbilityDef>
|
||||||
<defName>ARA_GuardianPsyField_On</defName>
|
<defName>ARA_GuardianPsyField_On</defName>
|
||||||
<label>守护者灵能场</label>
|
<label>织域种灵能场</label>
|
||||||
<description>投射一个强大的灵能防御力场。</description>
|
<description>织域种投射一个强大的灵能防御力场,会自动拦截进入其作用范围的敌对飞行物。它的护盾总额和心灵敏感度相关,很难被击穿,但是每次拦截会积累心灵熵。</description>
|
||||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOn</iconPath>
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On</iconPath>
|
||||||
<cooldownTicksRange>601</cooldownTicksRange>
|
<cooldownTicksRange>601</cooldownTicksRange>
|
||||||
<hostile>false</hostile>
|
<hostile>false</hostile>
|
||||||
<showOnCharacterCard>true</showOnCharacterCard>
|
<showOnCharacterCard>true</showOnCharacterCard>
|
||||||
@@ -31,9 +30,9 @@
|
|||||||
|
|
||||||
<AbilityDef>
|
<AbilityDef>
|
||||||
<defName>ARA_GuardianPsyField_Off</defName>
|
<defName>ARA_GuardianPsyField_Off</defName>
|
||||||
<label>守护者灵能场</label>
|
<label>织域种灵能场</label>
|
||||||
<description>关闭灵能防御力场。</description>
|
<description>关闭织域种的灵能防御力场。</description>
|
||||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOff</iconPath>
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off</iconPath>
|
||||||
<cooldownTicksRange>601</cooldownTicksRange>
|
<cooldownTicksRange>601</cooldownTicksRange>
|
||||||
<hostile>false</hostile>
|
<hostile>false</hostile>
|
||||||
<showOnCharacterCard>true</showOnCharacterCard>
|
<showOnCharacterCard>true</showOnCharacterCard>
|
||||||
@@ -56,5 +55,4 @@
|
|||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</AbilityDef>
|
</AbilityDef>
|
||||||
|
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -4,10 +4,10 @@
|
|||||||
<AbilityDef>
|
<AbilityDef>
|
||||||
<defName>ARA_Ability_Morph</defName>
|
<defName>ARA_Ability_Morph</defName>
|
||||||
<label>织域形态</label>
|
<label>织域形态</label>
|
||||||
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
|
<description>生成织座,将自己转换为一个静态建筑。这个形态下,阿拉克涅织域种可以研究虫群更高级的科技。</description>
|
||||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph</iconPath>
|
||||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||||
<hotKey>Misc12</hotKey>
|
<hotKey>Misc12</hotKey>
|
||||||
<targetRequired>false</targetRequired>
|
<targetRequired>false</targetRequired>
|
||||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||||
<verbProperties>
|
<verbProperties>
|
||||||
|
|||||||
@@ -859,7 +859,7 @@
|
|||||||
<!-- 要生成的物品的ThingDef。 -->
|
<!-- 要生成的物品的ThingDef。 -->
|
||||||
<thingToSpawn>ARA_Activated_Bacterium</thingToSpawn>
|
<thingToSpawn>ARA_Activated_Bacterium</thingToSpawn>
|
||||||
<!-- 每次生成的基础物品数量。 -->
|
<!-- 每次生成的基础物品数量。 -->
|
||||||
<spawnCount>3</spawnCount>
|
<spawnCount>5</spawnCount>
|
||||||
<!--
|
<!--
|
||||||
==================================================
|
==================================================
|
||||||
生成周期 (Spawning Interval)
|
生成周期 (Spawning Interval)
|
||||||
|
|||||||
@@ -323,5 +323,42 @@
|
|||||||
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
|
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
|
||||||
<defName>ArachnaeNode_Race_Skyraider_SkinNormal</defName>
|
<defName>ArachnaeNode_Race_Skyraider_SkinNormal</defName>
|
||||||
<raceName>ArachnaeNode_Race_Skyraider</raceName>
|
<raceName>ArachnaeNode_Race_Skyraider</raceName>
|
||||||
|
</FacialAnimation.SkinTypeDef>
|
||||||
|
|
||||||
|
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_BrowNormal</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.BrowTypeDef>
|
||||||
|
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_EyeNormal</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.EyeballTypeDef>
|
||||||
|
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_EyeNormal2</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.EyeballTypeDef>
|
||||||
|
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_EyeNormal3</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.EyeballTypeDef>
|
||||||
|
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_EyeNormal4</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.EyeballTypeDef>
|
||||||
|
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_HeadNormal</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.HeadTypeDef>
|
||||||
|
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_LidNormal</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.LidTypeDef>
|
||||||
|
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_MouthNormal</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
|
</FacialAnimation.MouthTypeDef>
|
||||||
|
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
|
||||||
|
<defName>ArachnaeNode_Race_NeuroSwarm_SkinNormal</defName>
|
||||||
|
<raceName>ArachnaeNode_Race_NeuroSwarm</raceName>
|
||||||
</FacialAnimation.SkinTypeDef>
|
</FacialAnimation.SkinTypeDef>
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -1,19 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Defs>
|
<Defs>
|
||||||
|
|
||||||
<!-- Bases -->
|
<!-- Bases -->
|
||||||
|
|
||||||
<HeadTypeDef ParentName="AverageBase" Name="ARA_HeadtypeBase" Abstract="True">
|
<HeadTypeDef ParentName="AverageBase" Name="ARA_HeadtypeBase" Abstract="True">
|
||||||
</HeadTypeDef>
|
</HeadTypeDef>
|
||||||
|
|
||||||
<HeadTypeDef ParentName="ARA_HeadtypeBase" Name="ARA_FemaleHeadtypeBase" Abstract="True">
|
<HeadTypeDef ParentName="ARA_HeadtypeBase" Name="ARA_FemaleHeadtypeBase" Abstract="True">
|
||||||
<gender>Female</gender>
|
<gender>Female</gender>
|
||||||
</HeadTypeDef>
|
</HeadTypeDef>
|
||||||
|
|
||||||
<HeadTypeDef ParentName="ARA_FemaleHeadtypeBase">
|
<HeadTypeDef ParentName="ARA_FemaleHeadtypeBase">
|
||||||
<defName>ARA_QUEEN_Female_AverageNormalA</defName>
|
<defName>ARA_QUEEN_Female_AverageNormalA</defName>
|
||||||
<graphicPath>ArachnaeSwarm/Things/General/Invisible/Inv</graphicPath>
|
<graphicPath>ArachnaeSwarm/Things/General/Invisible/Inv</graphicPath>
|
||||||
</HeadTypeDef>
|
</HeadTypeDef>
|
||||||
|
|
||||||
|
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<Defs>
|
|
||||||
|
|
||||||
<HediffDef>
|
|
||||||
<defName>ARA_GuardianPsyField</defName>
|
|
||||||
<label>守护者灵能场</label>
|
|
||||||
<description>一个强大的灵能防御力场。它会自动拦截进入其作用范围的敌对飞行物,并能将附近友军受到的伤害转移到施法者身上。每次成功的守护都会消耗施法者的精神力。</description>
|
|
||||||
<hediffClass>ArachnaeSwarm.Hediff_DynamicInterceptor</hediffClass>
|
|
||||||
<isBad>false</isBad>
|
|
||||||
<defaultLabelColor>(0.6, 0.2, 0.9)</defaultLabelColor>
|
|
||||||
<scenarioCanAdd>false</scenarioCanAdd>
|
|
||||||
<comps>
|
|
||||||
<li Class="ArachnaeSwarm.HediffCompProperties_DynamicInterceptor">
|
|
||||||
<guardianProps Class="ArachnaeSwarm.CompProperties_GuardianPsyField">
|
|
||||||
<!-- Basic functionality -->
|
|
||||||
<radius>5.9</radius>
|
|
||||||
<hitPoints>1500</hitPoints>
|
|
||||||
<rechargeDelay>3200</rechargeDelay>
|
|
||||||
<rechargeHitPointsIntervalTicks>60</rechargeHitPointsIntervalTicks>
|
|
||||||
|
|
||||||
<!-- Psyfocus/Entropy Mechanics -->
|
|
||||||
<psyfocusCostPerInterval>0.001</psyfocusCostPerInterval> <!-- e.g., 0.1% of max psyfocus per recharge interval -->
|
|
||||||
<entropyGainPerDamage>0.1</entropyGainPerDamage> <!-- 1 entropy per 2 damage -->
|
|
||||||
<hitPointsPctPerInterval>0.01</hitPointsPctPerInterval> <!-- Restore 1% of max HP per interval -->
|
|
||||||
|
|
||||||
<!-- Projectile interception properties -->
|
|
||||||
<interceptGroundProjectiles>true</interceptGroundProjectiles>
|
|
||||||
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles>
|
|
||||||
<interceptAirProjectiles>true</interceptAirProjectiles>
|
|
||||||
|
|
||||||
<!-- Visuals and Sound -->
|
|
||||||
<color>(0.5, 0.3, 0.9, 0.5)</color>
|
|
||||||
<interceptEffecter>Interceptor_BlockedProjectile</interceptEffecter>
|
|
||||||
<absorbEffecter>Interceptor_BlockedProjectile</absorbEffecter> <!-- Reusing an effecter for now -->
|
|
||||||
<breakEffecter>Shield_Break</breakEffecter>
|
|
||||||
<reactivateEffecter>BulletShieldGenerator_Reactivate</reactivateEffecter>
|
|
||||||
</guardianProps>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
</HediffDef>
|
|
||||||
|
|
||||||
</Defs>
|
|
||||||
@@ -252,76 +252,4 @@
|
|||||||
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
|
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
|
||||||
<scenarioCanAdd>false</scenarioCanAdd>
|
<scenarioCanAdd>false</scenarioCanAdd>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
|
|
||||||
<HediffDef>
|
|
||||||
<defName>ARA_Psi_Master</defName>
|
|
||||||
<label>灵能专家</label>
|
|
||||||
<description>阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。</description>
|
|
||||||
<hediffClass>Hediff_High</hediffClass>
|
|
||||||
<defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor>
|
|
||||||
<maxSeverity>1.0</maxSeverity>
|
|
||||||
<minSeverity>0.01</minSeverity>
|
|
||||||
<initialSeverity>0.5</initialSeverity>
|
|
||||||
<comps>
|
|
||||||
<li Class="ArachnaeSwarm.HediffCompProperties_GiveHediffsInRangeToRace">
|
|
||||||
<range>18</range>
|
|
||||||
<hediff>ARA_Psi_Conductor</hediff>
|
|
||||||
<!-- <mote>Mote_ARA_CreepyCrawly_HediffLinkLine</mote> -->
|
|
||||||
|
|
||||||
<!-- 定义可以被影响的种族列表 -->
|
|
||||||
<!-- <targetRaces>
|
|
||||||
<li>Human</li>
|
|
||||||
</targetRaces> -->
|
|
||||||
|
|
||||||
<!-- 其他参数和原版一样 -->
|
|
||||||
<targetingParameters>
|
|
||||||
<canTargetBuildings>false</canTargetBuildings>
|
|
||||||
<canTargetAnimals>true</canTargetAnimals>
|
|
||||||
<canTargetMechs>false</canTargetMechs>
|
|
||||||
<canTargetSelf>true</canTargetSelf>
|
|
||||||
<onlyTargetColonists>true</onlyTargetColonists>
|
|
||||||
</targetingParameters>
|
|
||||||
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
|
||||||
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
<stages>
|
|
||||||
</stages>
|
|
||||||
</HediffDef>
|
|
||||||
<HediffDef>
|
|
||||||
<defName>ARA_Psi_Conductor</defName>
|
|
||||||
<label>灵能导体</label>
|
|
||||||
<description>一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。</description>
|
|
||||||
<descriptionHyperlinks>
|
|
||||||
<ThingDef>ARA_Psi_Conductor_Turret</ThingDef>
|
|
||||||
</descriptionHyperlinks>
|
|
||||||
<hediffClass>HediffWithComps</hediffClass>
|
|
||||||
<isBad>false</isBad>
|
|
||||||
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
|
|
||||||
<scenarioCanAdd>false</scenarioCanAdd>
|
|
||||||
<stages>
|
|
||||||
<li>
|
|
||||||
<statFactors>
|
|
||||||
<IncomingDamageFactor>0.75</IncomingDamageFactor>
|
|
||||||
<PsychicSensitivity>0</PsychicSensitivity>
|
|
||||||
</statFactors>
|
|
||||||
</li>
|
|
||||||
</stages>
|
|
||||||
<comps>
|
|
||||||
<li Class="HediffCompProperties_Disappears">
|
|
||||||
<showRemainingTime>false</showRemainingTime>
|
|
||||||
</li>
|
|
||||||
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
|
||||||
<li Class="HediffCompProperties_Link">
|
|
||||||
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
|
|
||||||
<maxDistance>18</maxDistance>
|
|
||||||
<!-- <customMote>Mote_ARA_CreepyCrawly_HediffLinkLine</customMote> -->
|
|
||||||
</li>
|
|
||||||
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
|
||||||
<turretDef>ARA_Psi_Conductor_Turret</turretDef>
|
|
||||||
<angleOffset>0</angleOffset>
|
|
||||||
<autoAttack>true</autoAttack>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
</HediffDef>
|
|
||||||
</Defs>
|
</Defs>
|
||||||
115
1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<Defs>
|
||||||
|
<HediffDef>
|
||||||
|
<defName>ARA_GuardianPsyField</defName>
|
||||||
|
<label>织域种灵能场</label>
|
||||||
|
<description>一个强大的灵能防御力场,会自动拦截进入其作用范围的敌对飞行物。它的护盾总额和心灵敏感度相关,很难被击穿,但是每次拦截会积累心灵熵。</description>
|
||||||
|
<hediffClass>ArachnaeSwarm.Hediff_DynamicInterceptor</hediffClass>
|
||||||
|
<isBad>false</isBad>
|
||||||
|
<defaultLabelColor>(0.6, 0.2, 0.9)</defaultLabelColor>
|
||||||
|
<scenarioCanAdd>false</scenarioCanAdd>
|
||||||
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.HediffCompProperties_DynamicInterceptor">
|
||||||
|
<guardianProps Class="ArachnaeSwarm.CompProperties_GuardianPsyField">
|
||||||
|
<!-- Basic functionality -->
|
||||||
|
<radius>5.9</radius>
|
||||||
|
<baseHitPoints>200</baseHitPoints>
|
||||||
|
<rechargeDelay>1</rechargeDelay>
|
||||||
|
<rechargeHitPointsIntervalTicks>1</rechargeHitPointsIntervalTicks>
|
||||||
|
|
||||||
|
<!-- Psyfocus/Entropy Mechanics -->
|
||||||
|
<psyfocusCostPerInterval>0</psyfocusCostPerInterval> <!-- e.g., 0.1% of max psyfocus per recharge interval,0.001 -->
|
||||||
|
<entropyGainPerDamage>0.005</entropyGainPerDamage> <!-- 1 entropy per 2 damage -->
|
||||||
|
<hitPointsPctPerInterval>0.01</hitPointsPctPerInterval> <!-- Restore 1% of max HP per interval -->
|
||||||
|
|
||||||
|
<!-- Projectile interception properties -->
|
||||||
|
<interceptGroundProjectiles>true</interceptGroundProjectiles>
|
||||||
|
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles>
|
||||||
|
<interceptAirProjectiles>true</interceptAirProjectiles>
|
||||||
|
|
||||||
|
<minSensitivityMultiplier>0</minSensitivityMultiplier>
|
||||||
|
<maxSensitivityMultiplier>10</maxSensitivityMultiplier>
|
||||||
|
|
||||||
|
<!-- Visuals and Sound -->
|
||||||
|
<color>(0.5, 0.3, 0.9, 0.5)</color>
|
||||||
|
<interceptEffecter>Interceptor_BlockedProjectile</interceptEffecter>
|
||||||
|
<absorbEffecter>Interceptor_BlockedProjectile</absorbEffecter> <!-- Reusing an effecter for now -->
|
||||||
|
<!-- <breakEffecter>Shield_Break</breakEffecter> -->
|
||||||
|
<reactivateEffecter>BulletShieldGenerator_Reactivate</reactivateEffecter>
|
||||||
|
</guardianProps>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
</HediffDef>
|
||||||
|
|
||||||
|
<HediffDef>
|
||||||
|
<defName>ARA_Psi_Master</defName>
|
||||||
|
<label>灵能专家</label>
|
||||||
|
<description>阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。</description>
|
||||||
|
<hediffClass>Hediff_High</hediffClass>
|
||||||
|
<defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor>
|
||||||
|
<maxSeverity>1.0</maxSeverity>
|
||||||
|
<minSeverity>0.01</minSeverity>
|
||||||
|
<initialSeverity>0.5</initialSeverity>
|
||||||
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.HediffCompProperties_GiveHediffsInRangeToRace">
|
||||||
|
<range>18</range>
|
||||||
|
<hediff>ARA_Psi_Conductor</hediff>
|
||||||
|
<!-- <mote>Mote_ARA_CreepyCrawly_HediffLinkLine</mote> -->
|
||||||
|
|
||||||
|
<!-- 定义可以被影响的种族列表 -->
|
||||||
|
<!-- <targetRaces>
|
||||||
|
<li>Human</li>
|
||||||
|
</targetRaces> -->
|
||||||
|
|
||||||
|
<!-- 其他参数和原版一样 -->
|
||||||
|
<targetingParameters>
|
||||||
|
<canTargetBuildings>false</canTargetBuildings>
|
||||||
|
<canTargetAnimals>true</canTargetAnimals>
|
||||||
|
<canTargetMechs>false</canTargetMechs>
|
||||||
|
<canTargetSelf>true</canTargetSelf>
|
||||||
|
<onlyTargetColonists>true</onlyTargetColonists>
|
||||||
|
</targetingParameters>
|
||||||
|
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
|
||||||
|
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
<stages>
|
||||||
|
</stages>
|
||||||
|
</HediffDef>
|
||||||
|
<HediffDef>
|
||||||
|
<defName>ARA_Psi_Conductor</defName>
|
||||||
|
<label>灵能导体</label>
|
||||||
|
<description>一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。</description>
|
||||||
|
<descriptionHyperlinks>
|
||||||
|
<ThingDef>ARA_Psi_Conductor_Turret</ThingDef>
|
||||||
|
</descriptionHyperlinks>
|
||||||
|
<hediffClass>HediffWithComps</hediffClass>
|
||||||
|
<isBad>false</isBad>
|
||||||
|
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
|
||||||
|
<scenarioCanAdd>false</scenarioCanAdd>
|
||||||
|
<stages>
|
||||||
|
<li>
|
||||||
|
<statFactors>
|
||||||
|
<IncomingDamageFactor>0.75</IncomingDamageFactor>
|
||||||
|
<PsychicSensitivity>0</PsychicSensitivity>
|
||||||
|
</statFactors>
|
||||||
|
</li>
|
||||||
|
</stages>
|
||||||
|
<comps>
|
||||||
|
<li Class="HediffCompProperties_Disappears">
|
||||||
|
<showRemainingTime>false</showRemainingTime>
|
||||||
|
</li>
|
||||||
|
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
||||||
|
<li Class="HediffCompProperties_Link">
|
||||||
|
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
|
||||||
|
<maxDistance>18</maxDistance>
|
||||||
|
<!-- <customMote>Mote_ARA_CreepyCrawly_HediffLinkLine</customMote> -->
|
||||||
|
</li>
|
||||||
|
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
||||||
|
<turretDef>ARA_Psi_Conductor_Turret</turretDef>
|
||||||
|
<angleOffset>0</angleOffset>
|
||||||
|
<autoAttack>true</autoAttack>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
</HediffDef>
|
||||||
|
</Defs>
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<baseCost>2500</baseCost>
|
<baseCost>2500</baseCost>
|
||||||
<researchViewX>9.00</researchViewX>
|
<researchViewX>9.00</researchViewX>
|
||||||
<researchViewY>3.20</researchViewY>
|
<researchViewY>3.20</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_6KYC</li>
|
<li>ARA_Technology_6KYC</li>
|
||||||
<li>ARA_Technology_1BAC</li>
|
<li>ARA_Technology_1BAC</li>
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
<baseCost>2000</baseCost>
|
<baseCost>2000</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>1.50</researchViewY>
|
<researchViewY>1.50</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_8VXI</li>
|
<li>ARA_Technology_8VXI</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
<baseCost>3000</baseCost>
|
<baseCost>3000</baseCost>
|
||||||
<researchViewX>11.00</researchViewX>
|
<researchViewX>11.00</researchViewX>
|
||||||
<researchViewY>1.50</researchViewY>
|
<researchViewY>1.50</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_9VXI</li>
|
<li>ARA_Technology_9VXI</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<baseCost>3000</baseCost>
|
<baseCost>3000</baseCost>
|
||||||
<researchViewX>12.00</researchViewX>
|
<researchViewX>12.00</researchViewX>
|
||||||
<researchViewY>0.90</researchViewY>
|
<researchViewY>0.90</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_10VXI</li>
|
<li>ARA_Technology_10VXI</li>
|
||||||
<li>ARA_Technology_1NPT</li>
|
<li>ARA_Technology_1NPT</li>
|
||||||
@@ -226,7 +226,7 @@
|
|||||||
<baseCost>1000</baseCost>
|
<baseCost>1000</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>4.80</researchViewY>
|
<researchViewY>4.80</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_2WMT</li>
|
<li>ARA_Technology_2WMT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -238,7 +238,7 @@
|
|||||||
<baseCost>1800</baseCost>
|
<baseCost>1800</baseCost>
|
||||||
<researchViewX>11.00</researchViewX>
|
<researchViewX>11.00</researchViewX>
|
||||||
<researchViewY>4.80</researchViewY>
|
<researchViewY>4.80</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_2WMT</li>
|
<li>ARA_Technology_2WMT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
<baseCost>1800</baseCost>
|
<baseCost>1800</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>0.30</researchViewY>
|
<researchViewY>0.30</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_6PAV</li>
|
<li>ARA_Technology_6PAV</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -288,12 +288,12 @@
|
|||||||
</ResearchProjectDef>
|
</ResearchProjectDef>
|
||||||
<ResearchProjectDef ParentName="ARA_techBase">
|
<ResearchProjectDef ParentName="ARA_techBase">
|
||||||
<defName>ARA_Technology_7XPAV</defName>
|
<defName>ARA_Technology_7XPAV</defName>
|
||||||
<label>节点PAV-7X"梭棘刺"</label>
|
<label>节点PAV-7X"梭镖"</label>
|
||||||
<description>允许工艺种孵化新的武器。</description>
|
<description>允许工艺种孵化新的武器。</description>
|
||||||
<baseCost>1800</baseCost>
|
<baseCost>2000</baseCost>
|
||||||
<researchViewX>11.00</researchViewX>
|
<researchViewX>11.00</researchViewX>
|
||||||
<researchViewY>0.30</researchViewY>
|
<researchViewY>0.30</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_7PAV</li>
|
<li>ARA_Technology_7PAV</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -305,7 +305,7 @@
|
|||||||
<baseCost>2500</baseCost>
|
<baseCost>2500</baseCost>
|
||||||
<researchViewX>12.00</researchViewX>
|
<researchViewX>12.00</researchViewX>
|
||||||
<researchViewY>0.30</researchViewY>
|
<researchViewY>0.30</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_1NPT</li>
|
<li>ARA_Technology_1NPT</li>
|
||||||
<li>ARA_Technology_7XPAV</li>
|
<li>ARA_Technology_7XPAV</li>
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
<baseCost>1200</baseCost>
|
<baseCost>1200</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>0.90</researchViewY>
|
<researchViewY>0.90</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_2MEL</li>
|
<li>ARA_Technology_2MEL</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -347,7 +347,7 @@
|
|||||||
<baseCost>1800</baseCost>
|
<baseCost>1800</baseCost>
|
||||||
<researchViewX>11.00</researchViewX>
|
<researchViewX>11.00</researchViewX>
|
||||||
<researchViewY>0.90</researchViewY>
|
<researchViewY>0.90</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_2WMT</li>
|
<li>ARA_Technology_2WMT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -383,7 +383,7 @@
|
|||||||
<baseCost>2500</baseCost>
|
<baseCost>2500</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>2.10</researchViewY>
|
<researchViewY>2.10</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_6SPV</li>
|
<li>ARA_Technology_6SPV</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -398,7 +398,7 @@
|
|||||||
<baseCost>1000</baseCost>
|
<baseCost>1000</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>3.80</researchViewY>
|
<researchViewY>3.80</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_8VXI</li>
|
<li>ARA_Technology_8VXI</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -413,7 +413,7 @@
|
|||||||
<baseCost>2000</baseCost>
|
<baseCost>2000</baseCost>
|
||||||
<researchViewX>12.00</researchViewX>
|
<researchViewX>12.00</researchViewX>
|
||||||
<researchViewY>3.80</researchViewY>
|
<researchViewY>3.80</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_1NPT</li>
|
<li>ARA_Technology_1NPT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -425,7 +425,7 @@
|
|||||||
<baseCost>2000</baseCost>
|
<baseCost>2000</baseCost>
|
||||||
<researchViewX>13.00</researchViewX>
|
<researchViewX>13.00</researchViewX>
|
||||||
<researchViewY>3.80</researchViewY>
|
<researchViewY>3.80</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_2NPT</li>
|
<li>ARA_Technology_2NPT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -437,7 +437,7 @@
|
|||||||
<baseCost>1800</baseCost>
|
<baseCost>1800</baseCost>
|
||||||
<researchViewX>12.00</researchViewX>
|
<researchViewX>12.00</researchViewX>
|
||||||
<researchViewY>2.10</researchViewY>
|
<researchViewY>2.10</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_1NPT</li>
|
<li>ARA_Technology_1NPT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
@@ -487,7 +487,7 @@
|
|||||||
<baseCost>2500</baseCost>
|
<baseCost>2500</baseCost>
|
||||||
<researchViewX>12.00</researchViewX>
|
<researchViewX>12.00</researchViewX>
|
||||||
<researchViewY>1.50</researchViewY>
|
<researchViewY>1.50</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_6SPV</li>
|
<li>ARA_Technology_6SPV</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -573,7 +573,7 @@
|
|||||||
<baseCost>2500</baseCost>
|
<baseCost>2500</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>5.30</researchViewY>
|
<researchViewY>5.30</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_2KYC</li>
|
<li>ARA_Technology_2KYC</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -673,7 +673,7 @@
|
|||||||
<baseCost>2500</baseCost>
|
<baseCost>2500</baseCost>
|
||||||
<researchViewX>10.00</researchViewX>
|
<researchViewX>10.00</researchViewX>
|
||||||
<researchViewY>4.30</researchViewY>
|
<researchViewY>4.30</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<hiddenPrerequisites>
|
<hiddenPrerequisites>
|
||||||
<li>ARA_Technology_5EVO</li>
|
<li>ARA_Technology_5EVO</li>
|
||||||
</hiddenPrerequisites>
|
</hiddenPrerequisites>
|
||||||
@@ -688,7 +688,7 @@
|
|||||||
<baseCost>4000</baseCost>
|
<baseCost>4000</baseCost>
|
||||||
<researchViewX>11.00</researchViewX>
|
<researchViewX>11.00</researchViewX>
|
||||||
<researchViewY>4.30</researchViewY>
|
<researchViewY>4.30</researchViewY>
|
||||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
<requiredResearchBuilding>ARA_MorphableResearchBench</requiredResearchBuilding>
|
||||||
<prerequisites>
|
<prerequisites>
|
||||||
<li>ARA_Technology_2WMT</li>
|
<li>ARA_Technology_2WMT</li>
|
||||||
</prerequisites>
|
</prerequisites>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<StatDef>
|
<StatDef>
|
||||||
<defName>NutrientTransmissionEfficiency</defName>
|
<defName>NutrientTransmissionEfficiency</defName>
|
||||||
<label>生物质传输损耗</label>
|
<label>生物质传输损耗</label>
|
||||||
<description>减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。</description>
|
<description>减少传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。</description>
|
||||||
<category>Building</category>
|
<category>Building</category>
|
||||||
<defaultBaseValue>0</defaultBaseValue>
|
<defaultBaseValue>0</defaultBaseValue>
|
||||||
<minValue>0</minValue>
|
<minValue>0</minValue>
|
||||||
|
|||||||
@@ -1294,7 +1294,7 @@
|
|||||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase_Huge">
|
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase_Huge">
|
||||||
<defName>ArachnaeNode_Race_Smokepop</defName>
|
<defName>ArachnaeNode_Race_Smokepop</defName>
|
||||||
<label>阿拉克涅浓雾种</label>
|
<label>阿拉克涅浓雾种</label>
|
||||||
<description>阿拉克涅大型督虫之一,身披厚重甲壳的大型虫族,拥有在大范围内喷射信息素以召唤辅虫虫群能力,虽然移动速度比较慢,但是在战斗中就如同装甲车一样难以撼动。\n\n她可以进行搬运和医护工作,拥有不错的战斗技能,防御力和伤害耐受能力强大。\n\n作为督虫,她可以繁育并监管大量阿拉克涅家政种辅虫,以协助巢穴进行清洁和搬运工作。</description>
|
<description>阿拉克涅大型督虫之一,身披厚重甲壳的大型虫族,拥有在大范围内喷射信息素以召唤辅虫虫群能力,虽然移动速度比较慢,但是在战斗中就如同装甲车一样难以撼动。\n\n她可以进行搬运工作,拥有不错的战斗技能,防御力和伤害耐受能力强大。\n\n作为督虫,她可以繁育并监管大量阿拉克涅家政种辅虫,以协助巢穴进行清洁和搬运工作。</description>
|
||||||
<alienRace>
|
<alienRace>
|
||||||
<generalSettings>
|
<generalSettings>
|
||||||
<!-- 各种零件定义 -->
|
<!-- 各种零件定义 -->
|
||||||
@@ -1544,204 +1544,89 @@
|
|||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</AlienRace.ThingDef_AlienRace>
|
</AlienRace.ThingDef_AlienRace>
|
||||||
|
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
|
||||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_PawnBase">
|
|
||||||
<defName>ArachnaeNode_Race_NeuroSwarm</defName>
|
<defName>ArachnaeNode_Race_NeuroSwarm</defName>
|
||||||
<label>阿拉克涅织域种</label>
|
<label>阿拉克涅织域种</label>
|
||||||
<description>阿拉克涅督虫之一,是阿拉克涅虫群中最为特殊的虫族,织域种虽然受到女皇种监管,但仍然具有强大的高级智慧和自我意志,织域种之间能够构建一种高度互联的神经网络从而进行复杂的研究和计算工作,织域种进行计算工作时无法感知外界环境,因此她们是虫群的重要保护对象。</description>
|
<description>阿拉克涅督虫之一,是阿拉克涅虫群中最为特殊的虫族,织域种虽然受到女皇种监管,但仍然具有强大的高级智慧和自我意志,织域种之间能够构建一种高度互联的神经网络从而进行复杂的研究和计算工作,织域种进行计算工作时无法感知外界环境,因此她们是虫群的重要保护对象。</description>
|
||||||
|
|
||||||
<alienRace>
|
<alienRace>
|
||||||
<!-- 核心设置 -->
|
|
||||||
<generalSettings>
|
<generalSettings>
|
||||||
<!-- 男性生成几率 -->
|
|
||||||
<maleGenderProbability>0</maleGenderProbability>
|
|
||||||
<!-- 无视年龄疾病 -->
|
|
||||||
<immuneToAge>true</immuneToAge>
|
|
||||||
<!-- 在口角中造成的最大伤害 -->
|
|
||||||
<maxDamageForSocialfight>15</maxDamageForSocialfight>
|
|
||||||
<!-- 免疫人类的异形歧视 -->
|
|
||||||
<immuneToXenophobia>false</immuneToXenophobia>
|
|
||||||
<!-- 最小的可生成成人背景的年龄 -->
|
|
||||||
<minAgeForAdulthood>0</minAgeForAdulthood>
|
|
||||||
<!-- 手术继承自人类 -->
|
|
||||||
<humanRecipeImport>false</humanRecipeImport>
|
|
||||||
<!-- 睡觉定义 -->
|
|
||||||
<canLayDown>false</canLayDown>
|
|
||||||
<!-- 各种零件定义 -->
|
<!-- 各种零件定义 -->
|
||||||
<alienPartGenerator Inherit="False">
|
<alienPartGenerator>
|
||||||
<!-- 允许的头部 -->
|
|
||||||
<headTypes Inherit="False">
|
|
||||||
<li>Female_AverageNormal</li>
|
|
||||||
<!-- <li>Female_AverageWide</li>
|
|
||||||
<li>Female_AveragePointy</li> -->
|
|
||||||
</headTypes>
|
|
||||||
<!-- 身体类型 -->
|
|
||||||
<bodyTypes Inherit="False">
|
|
||||||
<li>Thin</li>
|
|
||||||
</bodyTypes>
|
|
||||||
<!-- 颜色设置 -->
|
|
||||||
<colorChannels Inherit="false">
|
|
||||||
<!-- 皮肤是特殊的,因为现在由基因定义肤色 -->
|
|
||||||
<li>
|
|
||||||
<name>skin</name>
|
|
||||||
<first Class="AlienRace.ColorGenerator_SkinColorMelanin">
|
|
||||||
<minMelanin>0</minMelanin>
|
|
||||||
<maxMelanin>0</maxMelanin>
|
|
||||||
</first>
|
|
||||||
</li>
|
|
||||||
<!-- 头发颜色 -->
|
|
||||||
<li>
|
|
||||||
<name>hair</name>
|
|
||||||
<first Class="ColorGenerator_Options">
|
|
||||||
<options>
|
|
||||||
<li>
|
|
||||||
<weight>15</weight>
|
|
||||||
<min>(0.4,0.3,0.5)</min>
|
|
||||||
<max>(0.6,0.1,0.7)</max>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<weight>6</weight>
|
|
||||||
<min>(0.9,0.9,0.9)</min>
|
|
||||||
<max>(0.9,0.9,0.9)</max>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<weight>6</weight>
|
|
||||||
<min>(1,0.8,0.8)</min>
|
|
||||||
<max>(1,0.9,0.9)</max>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<weight>3</weight>
|
|
||||||
<min>(1,1,1)</min>
|
|
||||||
<max>(1,1,1)</max>
|
|
||||||
</li>
|
|
||||||
</options>
|
|
||||||
</first>
|
|
||||||
</li>
|
|
||||||
</colorChannels>
|
|
||||||
<!-- 额外身体部件 -->
|
<!-- 额外身体部件 -->
|
||||||
<bodyAddons>
|
<bodyAddons Inherit="False">
|
||||||
|
<li>
|
||||||
|
<name>ArachnaeNode Hair</name>
|
||||||
|
<userCustomizable>true</userCustomizable>
|
||||||
|
<path>ArachnaeSwarm/Hair/ARA_ArachnaeNode_Hair</path>
|
||||||
|
<inFrontOfBody>true</inFrontOfBody>
|
||||||
|
<layerInvert>false</layerInvert>
|
||||||
|
<colorChannel>hair</colorChannel>
|
||||||
|
<defaultOffset>Center</defaultOffset>
|
||||||
|
<drawSize>1</drawSize>
|
||||||
|
<alignWithHead>true</alignWithHead>
|
||||||
|
<scaleWithPawnDrawsize>true</scaleWithPawnDrawsize>
|
||||||
|
<conditions>
|
||||||
|
<BodyPart>
|
||||||
|
<bodyPart>Head</bodyPart>
|
||||||
|
</BodyPart>
|
||||||
|
<Posture>
|
||||||
|
<drawnStanding>true</drawnStanding>
|
||||||
|
<drawnInBed>true</drawnInBed>
|
||||||
|
<drawnLaying>true</drawnLaying>
|
||||||
|
</Posture>
|
||||||
|
<RotStage>Fresh,Rotting</RotStage>
|
||||||
|
</conditions>
|
||||||
|
<offsets>
|
||||||
|
<west>
|
||||||
|
<layerOffset>-0.274</layerOffset>
|
||||||
|
</west>
|
||||||
|
<south>
|
||||||
|
<layerOffset>-0.274</layerOffset>
|
||||||
|
</south>
|
||||||
|
<north>
|
||||||
|
<layerOffset>-0.274</layerOffset>
|
||||||
|
</north>
|
||||||
|
<east>
|
||||||
|
<layerOffset>-0.274</layerOffset>
|
||||||
|
</east>
|
||||||
|
</offsets>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm</path>
|
||||||
|
<inFrontOfBody>true</inFrontOfBody>
|
||||||
|
<layerInvert>false</layerInvert>
|
||||||
|
<offsets>
|
||||||
|
<south>
|
||||||
|
<offset>(0,0.32)</offset>
|
||||||
|
<layerOffset>2</layerOffset>
|
||||||
|
</south>
|
||||||
|
<north>
|
||||||
|
<offset>(0,0.32)</offset>
|
||||||
|
<layerOffset>2</layerOffset>
|
||||||
|
</north>
|
||||||
|
<east>
|
||||||
|
<offset>(-0.1,0.39)</offset>
|
||||||
|
<layerOffset>2</layerOffset>
|
||||||
|
</east>
|
||||||
|
<west>
|
||||||
|
<offset>(-0.1,0.39)</offset>
|
||||||
|
<layerOffset>2</layerOffset>
|
||||||
|
</west>
|
||||||
|
</offsets>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail</path>
|
||||||
|
<inFrontOfBody>false</inFrontOfBody>
|
||||||
|
<scaleWithPawnDrawsize>true</scaleWithPawnDrawsize>
|
||||||
|
<offsets>
|
||||||
|
<north>
|
||||||
|
<layerOffset>-0.275</layerOffset>
|
||||||
|
</north>
|
||||||
|
</offsets>
|
||||||
|
</li>
|
||||||
</bodyAddons>
|
</bodyAddons>
|
||||||
<!-- 图像放大 -->
|
|
||||||
<borderScale>1.5</borderScale>
|
|
||||||
<atlasScale>1.5</atlasScale>
|
|
||||||
<customDrawSize>(2,2)</customDrawSize>
|
|
||||||
<customHeadDrawSize>(1.0,1.0)</customHeadDrawSize>
|
|
||||||
<customPortraitDrawSize>(1,1)</customPortraitDrawSize>
|
|
||||||
</alienPartGenerator>
|
</alienPartGenerator>
|
||||||
<growthAges Inherit="False">
|
|
||||||
<li>0</li>
|
|
||||||
</growthAges>
|
|
||||||
<!-- 年龄工作效率等的覆盖 -->
|
|
||||||
<ageStatOverrides Inherit="False">
|
|
||||||
<WorkSpeedGlobal>
|
|
||||||
<useBiologicalYears>true</useBiologicalYears>
|
|
||||||
<curve>
|
|
||||||
<points>
|
|
||||||
<li>(0,1)</li>
|
|
||||||
</points>
|
|
||||||
</curve>
|
|
||||||
</WorkSpeedGlobal>
|
|
||||||
<ShootingAccuracyChildFactor MayRequire="Ludeon.RimWorld.Biotech">
|
|
||||||
<useBiologicalYears>true</useBiologicalYears>
|
|
||||||
<curve>
|
|
||||||
<points>
|
|
||||||
<li>(0,1)</li>
|
|
||||||
</points>
|
|
||||||
</curve>
|
|
||||||
</ShootingAccuracyChildFactor>
|
|
||||||
<MarketValue>
|
|
||||||
<useBiologicalYears>true</useBiologicalYears>
|
|
||||||
<curve>
|
|
||||||
<points>
|
|
||||||
<li>(0,1)</li>
|
|
||||||
</points>
|
|
||||||
</curve>
|
|
||||||
</MarketValue>
|
|
||||||
<MeleeHitChance>
|
|
||||||
<useBiologicalYears>true</useBiologicalYears>
|
|
||||||
<curve>
|
|
||||||
<points>
|
|
||||||
<li>(0,1)</li>
|
|
||||||
</points>
|
|
||||||
</curve>
|
|
||||||
</MeleeHitChance>
|
|
||||||
<AimingDelayFactor>
|
|
||||||
<useBiologicalYears>true</useBiologicalYears>
|
|
||||||
<curve>
|
|
||||||
<points>
|
|
||||||
<li>(0,1)</li>
|
|
||||||
</points>
|
|
||||||
</curve>
|
|
||||||
</AimingDelayFactor>
|
|
||||||
<ArrestSuccessChance>
|
|
||||||
<useBiologicalYears>true</useBiologicalYears>
|
|
||||||
<curve>
|
|
||||||
<points>
|
|
||||||
<li>(0, 1)</li>
|
|
||||||
</points>
|
|
||||||
</curve>
|
|
||||||
</ArrestSuccessChance>
|
|
||||||
</ageStatOverrides>
|
|
||||||
<!-- 生育设置,将妊娠设为男性来避免开局刷妊娠 -->
|
|
||||||
<reproduction>
|
|
||||||
<gestatingGender>Male</gestatingGender>
|
|
||||||
<femaleFertilityAgeFactor>
|
|
||||||
<points>
|
|
||||||
<li>(0,0)</li>
|
|
||||||
<li>(1,0)</li>
|
|
||||||
<li>(999,0)</li>
|
|
||||||
<li>(9999,0)</li>
|
|
||||||
</points>
|
|
||||||
</femaleFertilityAgeFactor>
|
|
||||||
</reproduction>
|
|
||||||
<growthFactorByAge Inherit="False">
|
|
||||||
<points>
|
|
||||||
<li>(0,0)</li>
|
|
||||||
<li>(1,0)</li>
|
|
||||||
<li>(999,0)</li>
|
|
||||||
<li>(9999,0)</li>
|
|
||||||
</points>
|
|
||||||
</growthFactorByAge>
|
|
||||||
</generalSettings>
|
</generalSettings>
|
||||||
<!-- 图形 -->
|
|
||||||
<graphicPaths>
|
|
||||||
<!-- 皮肤颜色 -->
|
|
||||||
<skinColor>(1,1,1,1)</skinColor>
|
|
||||||
<!-- 皮肤着色器 -->
|
|
||||||
<skinShader>Cutout</skinShader>
|
|
||||||
<body>ArachnaeSwarm/Things/ARA_NeuroSwarm/Bodies/</body>
|
|
||||||
<head>ArachnaeSwarm/Things/ARA_NeuroSwarm/Heads/</head>
|
|
||||||
<skeleton>Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin</skeleton>
|
|
||||||
<stump>ArachnaeSwarm/Things/ARA_HiveNode/Bodies/</stump>
|
|
||||||
</graphicPaths>
|
|
||||||
<!-- 风格设置 -->
|
|
||||||
<styleSettings>
|
|
||||||
<!-- 头发 -->
|
|
||||||
<li>
|
|
||||||
<key>HairDef</key>
|
|
||||||
<value>
|
|
||||||
<hasStyle>true</hasStyle>
|
|
||||||
<styleTagsOverride>
|
|
||||||
<li>Bald</li>
|
|
||||||
</styleTagsOverride>
|
|
||||||
</value>
|
|
||||||
</li>
|
|
||||||
<!-- 纹身 -->
|
|
||||||
<li>
|
|
||||||
<key>TattooDef</key>
|
|
||||||
<value>
|
|
||||||
<hasStyle>false</hasStyle>
|
|
||||||
</value>
|
|
||||||
</li>
|
|
||||||
<!-- 胡须 -->
|
|
||||||
<li>
|
|
||||||
<key>BeardDef</key>
|
|
||||||
<value>
|
|
||||||
<hasStyle>false</hasStyle>
|
|
||||||
</value>
|
|
||||||
</li>
|
|
||||||
</styleSettings>
|
|
||||||
<!-- 种族的允许和禁止特化设置 -->
|
|
||||||
<raceRestriction>
|
<raceRestriction>
|
||||||
<!-- 无法拥有的内源性基因 -->
|
<!-- 无法拥有的内源性基因 -->
|
||||||
<blackEndoCategories MayRequire="Ludeon.RimWorld.Biotech">
|
<blackEndoCategories MayRequire="Ludeon.RimWorld.Biotech">
|
||||||
@@ -1791,193 +1676,49 @@
|
|||||||
<li>ARA_PheromoneSolvent</li>
|
<li>ARA_PheromoneSolvent</li>
|
||||||
</whiteFoodList>
|
</whiteFoodList>
|
||||||
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
|
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
|
||||||
<!-- 可以驯服的宠物,主要是防止小虫由别人驯服 -->
|
|
||||||
<petList>
|
|
||||||
<li>ArachnaeBase_Race_Scavenger</li>
|
|
||||||
<li>ArachnaeBase_Race_HardJaw</li>
|
|
||||||
</petList>
|
|
||||||
<onlyTameRaceRestrictedPets>false</onlyTameRaceRestrictedPets>
|
|
||||||
<!-- 可以穿戴的衣服 -->
|
|
||||||
<apparelList>
|
|
||||||
</apparelList>
|
|
||||||
<blackApparelList>
|
|
||||||
</blackApparelList>
|
|
||||||
<!-- 仅使用种族限制的服装 -->
|
|
||||||
<onlyUseRaceRestrictedApparel>true</onlyUseRaceRestrictedApparel>
|
|
||||||
<!-- 生育能力 -->
|
|
||||||
<onlyReproduceWithRestrictedRaces>true</onlyReproduceWithRestrictedRaces>
|
|
||||||
<canReproduce>false</canReproduce>
|
|
||||||
<!-- 允许的特质类型 -->
|
|
||||||
<traitList>
|
|
||||||
</traitList>
|
|
||||||
<blackTraitList>
|
|
||||||
<li>BodyPurist</li>
|
|
||||||
<li>Cannibal</li>
|
|
||||||
<li>CreepyBreathing</li>
|
|
||||||
<li>DislikesWomen</li>
|
|
||||||
<li>Gourmand</li>
|
|
||||||
<li>QuickSleeper</li>
|
|
||||||
<li>Wimp</li>
|
|
||||||
<li>Beauty</li>
|
|
||||||
<li>DrugDesire</li>
|
|
||||||
<li>Immunity</li>
|
|
||||||
<li>PsychicSensitivity</li>
|
|
||||||
</blackTraitList>
|
|
||||||
</raceRestriction>
|
</raceRestriction>
|
||||||
<!-- 关系设置,不会生成任何随机关系 -->
|
|
||||||
<relationSettings>
|
|
||||||
<relationChanceModifierLover>0</relationChanceModifierLover>
|
|
||||||
<relationChanceModifierExLover>0</relationChanceModifierExLover>
|
|
||||||
|
|
||||||
<relationChanceModifierFiance>0</relationChanceModifierFiance>
|
|
||||||
<relationChanceModifierSpouse>0</relationChanceModifierSpouse>
|
|
||||||
<relationChanceModifierExSpouse>0</relationChanceModifierExSpouse>
|
|
||||||
|
|
||||||
<relationChanceModifierParent>0</relationChanceModifierParent>
|
|
||||||
<relationChanceModifierChild>0</relationChanceModifierChild>
|
|
||||||
<relationChanceModifierSibling>0</relationChanceModifierSibling>
|
|
||||||
</relationSettings>
|
|
||||||
</alienRace>
|
</alienRace>
|
||||||
|
|
||||||
<!-- 基础属性设置 -->
|
<!-- 基础属性设置 -->
|
||||||
<statBases>
|
<statBases>
|
||||||
|
<!-- 移动速度 -->
|
||||||
|
<MoveSpeed>1.5</MoveSpeed>
|
||||||
|
|
||||||
<MaxFlightTime>9999</MaxFlightTime>
|
<MaxFlightTime>9999</MaxFlightTime>
|
||||||
<FlightCooldown>0</FlightCooldown>
|
<FlightCooldown>0</FlightCooldown>
|
||||||
|
|
||||||
<!-- 市场价值 -->
|
|
||||||
<MarketValue>2000</MarketValue>
|
|
||||||
<RoyalFavorValue>5</RoyalFavorValue>
|
|
||||||
|
|
||||||
<!-- 移动速度 -->
|
|
||||||
<MoveSpeed>1.5</MoveSpeed>
|
|
||||||
<Mass>150</Mass>
|
|
||||||
|
|
||||||
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
|
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
|
||||||
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
|
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
|
||||||
<EatingSpeed>2</EatingSpeed>
|
<!-- <EatingSpeed>5</EatingSpeed> -->
|
||||||
<MaxNutrition>0.5</MaxNutrition>
|
|
||||||
|
|
||||||
<!-- 女皇的负重,设为0以避免女皇能背东西 -->
|
<CarryingCapacity>100</CarryingCapacity>
|
||||||
<CarryingCapacity>0</CarryingCapacity>
|
<MeatAmount>160</MeatAmount>
|
||||||
<MeatAmount>450</MeatAmount>
|
<LeatherAmount>30</LeatherAmount>
|
||||||
<LeatherAmount>600</LeatherAmount>
|
|
||||||
|
|
||||||
<PainShockThreshold>1</PainShockThreshold>
|
|
||||||
<PsychicSensitivity>3</PsychicSensitivity>
|
|
||||||
<ToxicResistance>0.95</ToxicResistance>
|
|
||||||
<ToxicEnvironmentResistance MayRequire="Ludeon.RimWorld.Biotech">0.95</ToxicEnvironmentResistance>
|
|
||||||
<Flammability>0.25</Flammability>
|
|
||||||
|
|
||||||
<MeleeDodgeChance>0.75</MeleeDodgeChance>
|
<MeleeDodgeChance>0.75</MeleeDodgeChance>
|
||||||
|
|
||||||
|
<!-- <NegotiationAbility>1</NegotiationAbility> -->
|
||||||
|
<!-- <SellPriceFactor>1</SellPriceFactor> -->
|
||||||
|
<!-- <SocialImpact>1</SocialImpact> -->
|
||||||
|
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
|
||||||
|
|
||||||
<!-- 自带的甲壳可以防御外部攻击 -->
|
<!-- 自带的甲壳可以防御外部攻击 -->
|
||||||
<ArmorRating_Blunt>0.2</ArmorRating_Blunt>
|
<ArmorRating_Blunt>0.4</ArmorRating_Blunt>
|
||||||
<ArmorRating_Sharp>0.2</ArmorRating_Sharp>
|
<ArmorRating_Sharp>0.3</ArmorRating_Sharp>
|
||||||
<ArmorRating_Heat>0.1</ArmorRating_Heat>
|
<ArmorRating_Heat>0.3</ArmorRating_Heat>
|
||||||
|
|
||||||
<!-- 虫群拥有惊人的愈合速度 -->
|
<!-- <MaxNutrition>1</MaxNutrition> -->
|
||||||
<InjuryHealingFactor>5</InjuryHealingFactor>
|
|
||||||
|
|
||||||
<!-- 在野外采集的营养 -->
|
|
||||||
<ForagedNutritionPerDay>0</ForagedNutritionPerDay>
|
|
||||||
</statBases>
|
</statBases>
|
||||||
|
|
||||||
<race>
|
<race>
|
||||||
<!-- 身体类型 -->
|
<!-- 身体类型 -->
|
||||||
<body>ArachnaeNeuroSwarm_Body</body>
|
<body>ArachnaeNeuroSwarm_Body</body>
|
||||||
<fleshType>Normal</fleshType>
|
<renderTree>ARA_ArachnaeRenderTree</renderTree>
|
||||||
<!-- AI行为,勿改 -->
|
<flightStartChanceOnJobStart>1.0</flightStartChanceOnJobStart>
|
||||||
<thinkTreeMain>ARA_Humanlike</thinkTreeMain>
|
<baseBodySize>0.8</baseBodySize>
|
||||||
<!-- 智力水平 -->
|
<baseHealthScale>3</baseHealthScale>
|
||||||
<intelligence>Humanlike</intelligence>
|
|
||||||
<!-- 肉和皮革的定义 -->
|
|
||||||
<nameCategory>HumanStandard</nameCategory>
|
|
||||||
<bloodDef>Filth_BloodInsect</bloodDef>
|
|
||||||
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
|
|
||||||
<!-- 身形大小 -->
|
|
||||||
<baseBodySize>6</baseBodySize>
|
|
||||||
<!-- 基础血量,很高 -->
|
|
||||||
<baseHealthScale>4</baseHealthScale>
|
|
||||||
<!-- 解剖产物 -->
|
|
||||||
<leatherDef>ARA_Carapace</leatherDef>
|
|
||||||
|
|
||||||
<soundMeleeHitPawn>Pawn_Melee_BigBash_HitPawn</soundMeleeHitPawn>
|
|
||||||
<soundMeleeHitBuilding>Pawn_Melee_BigBash_HitBuilding</soundMeleeHitBuilding>
|
|
||||||
<soundMeleeMiss>Pawn_Melee_BigBash_Miss</soundMeleeMiss>
|
|
||||||
<soundMeleeDodge>Pawn_MeleeDodge</soundMeleeDodge>
|
|
||||||
<!-- 年龄阶段 -->
|
|
||||||
<lifeExpectancy>300</lifeExpectancy>
|
|
||||||
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech" Inherit="False">
|
|
||||||
<Firefighter>0</Firefighter>
|
|
||||||
<Patient>0</Patient>
|
|
||||||
<Doctor>0</Doctor>
|
|
||||||
<PatientBedRest>0</PatientBedRest>
|
|
||||||
<Childcare MayRequire="Ludeon.RimWorld.Biotech">0</Childcare>
|
|
||||||
<BasicWorker>0</BasicWorker>
|
|
||||||
<Warden>0</Warden>
|
|
||||||
<Handling>0</Handling>
|
|
||||||
<Cooking>0</Cooking>
|
|
||||||
<Hunting>0</Hunting>
|
|
||||||
<Construction>0</Construction>
|
|
||||||
<Growing>0</Growing>
|
|
||||||
<Mining>0</Mining>
|
|
||||||
<PlantCutting>0</PlantCutting>
|
|
||||||
<Smithing>0</Smithing>
|
|
||||||
<Tailoring>0</Tailoring>
|
|
||||||
<Art>0</Art>
|
|
||||||
<Crafting>0</Crafting>
|
|
||||||
<Hauling>0</Hauling>
|
|
||||||
<Cleaning>0</Cleaning>
|
|
||||||
<Research>0</Research>
|
|
||||||
<DarkStudy MayRequire="Ludeon.RimWorld.Anomaly">0</DarkStudy>
|
|
||||||
</lifeStageWorkSettings>
|
|
||||||
<lifeStageAges Inherit="False">
|
|
||||||
<li>
|
|
||||||
<def>HumanlikeBaby</def>
|
|
||||||
<minAge>0</minAge>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<def>HumanlikeChild</def>
|
|
||||||
<minAge>0.25</minAge>
|
|
||||||
</li>
|
|
||||||
<li MayRequire="Ludeon.RimWorld.Biotech">
|
|
||||||
<def>HumanlikePreTeenager</def>
|
|
||||||
<minAge>0.5</minAge>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<def>HumanlikeTeenager</def>
|
|
||||||
<minAge>0.75</minAge>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<def>HumanlikeAdult</def>
|
|
||||||
<minAge>1</minAge>
|
|
||||||
<soundWounded>Pawn_BigInsect_Pain</soundWounded>
|
|
||||||
<soundDeath>Pawn_BigInsect_Death</soundDeath>
|
|
||||||
<soundCall>Pawn_BigInsect_Call</soundCall>
|
|
||||||
<soundAngry>Pawn_BigInsect_Angry</soundAngry>
|
|
||||||
</li>
|
|
||||||
</lifeStageAges>
|
|
||||||
<canFlyInVacuum>false</canFlyInVacuum>
|
|
||||||
</race>
|
</race>
|
||||||
|
|
||||||
<!-- 工具设置(攻击方式) -->
|
|
||||||
<tools>
|
|
||||||
<li>
|
|
||||||
<label>头顶</label>
|
|
||||||
<capacities>
|
|
||||||
<li>Poke</li>
|
|
||||||
</capacities>
|
|
||||||
<power>16</power>
|
|
||||||
<cooldownTime>2</cooldownTime>
|
|
||||||
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
|
|
||||||
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
|
|
||||||
<chanceFactor>0.01</chanceFactor>
|
|
||||||
</li>
|
|
||||||
</tools>
|
|
||||||
|
|
||||||
<recipes Inherit="False">
|
|
||||||
</recipes>
|
|
||||||
|
|
||||||
<comps>
|
<comps>
|
||||||
<!-- Add our new flight component here -->
|
<!-- Add our new flight component here -->
|
||||||
<li Class="ArachnaeSwarm.CompProperties_PawnFlight"> <!-- 2. 添加我们的飞行组件 -->
|
<li Class="ArachnaeSwarm.CompProperties_PawnFlight"> <!-- 2. 添加我们的飞行组件 -->
|
||||||
@@ -1992,8 +1733,6 @@
|
|||||||
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||||
<hediffs>
|
<hediffs>
|
||||||
<li>ARA_RaceBaseSwarmProduceSwitchHediff</li>
|
<li>ARA_RaceBaseSwarmProduceSwitchHediff</li>
|
||||||
<li>ARA_HiveMindDrone</li>
|
|
||||||
<li>ARA_HiveStrength</li>
|
|
||||||
<li>ARA_Psi_Master</li>
|
<li>ARA_Psi_Master</li>
|
||||||
<li>PsychicAmplifier</li>
|
<li>PsychicAmplifier</li>
|
||||||
</hediffs>
|
</hediffs>
|
||||||
|
|||||||
@@ -299,7 +299,7 @@
|
|||||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||||
<warmupTime>0.25</warmupTime>
|
<warmupTime>0.25</warmupTime>
|
||||||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
||||||
<range>14</range>
|
<range>18</range>
|
||||||
<burstShotCount>4</burstShotCount>
|
<burstShotCount>4</burstShotCount>
|
||||||
<ticksBetweenBurstShots>4</ticksBetweenBurstShots>
|
<ticksBetweenBurstShots>4</ticksBetweenBurstShots>
|
||||||
<soundCast>SpitterSpit</soundCast>
|
<soundCast>SpitterSpit</soundCast>
|
||||||
@@ -420,9 +420,9 @@
|
|||||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||||
<warmupTime>0.8</warmupTime>
|
<warmupTime>0.8</warmupTime>
|
||||||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
||||||
<range>28</range>
|
<range>25.9</range>
|
||||||
<burstShotCount>32</burstShotCount>
|
<burstShotCount>48</burstShotCount>
|
||||||
<ticksBetweenBurstShots>2</ticksBetweenBurstShots>
|
<ticksBetweenBurstShots>1</ticksBetweenBurstShots>
|
||||||
<soundCast>SpitterSpit</soundCast>
|
<soundCast>SpitterSpit</soundCast>
|
||||||
<targetParams>
|
<targetParams>
|
||||||
<canTargetLocations>true</canTargetLocations>
|
<canTargetLocations>true</canTargetLocations>
|
||||||
@@ -494,7 +494,7 @@
|
|||||||
<AccuracyShort>0.4</AccuracyShort>
|
<AccuracyShort>0.4</AccuracyShort>
|
||||||
<AccuracyMedium>0.35</AccuracyMedium>
|
<AccuracyMedium>0.35</AccuracyMedium>
|
||||||
<AccuracyLong>0.3</AccuracyLong>
|
<AccuracyLong>0.3</AccuracyLong>
|
||||||
<RangedWeapon_Cooldown>2.5</RangedWeapon_Cooldown>
|
<RangedWeapon_Cooldown>1.5</RangedWeapon_Cooldown>
|
||||||
<ARA_IncubationCost>150</ARA_IncubationCost>
|
<ARA_IncubationCost>150</ARA_IncubationCost>
|
||||||
<ARA_IncubationTime>6</ARA_IncubationTime>
|
<ARA_IncubationTime>6</ARA_IncubationTime>
|
||||||
</statBases>
|
</statBases>
|
||||||
@@ -503,11 +503,11 @@
|
|||||||
<verbClass>ArachnaeSwarm.Verb_ShootShotgunWithOffset</verbClass>
|
<verbClass>ArachnaeSwarm.Verb_ShootShotgunWithOffset</verbClass>
|
||||||
<hasStandardCommand>true</hasStandardCommand>
|
<hasStandardCommand>true</hasStandardCommand>
|
||||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||||
<warmupTime>0.8</warmupTime>
|
<warmupTime>1.2</warmupTime>
|
||||||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG</defaultProjectile>
|
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG</defaultProjectile>
|
||||||
<range>28</range>
|
<range>15</range>
|
||||||
<burstShotCount>3</burstShotCount>
|
<burstShotCount>6</burstShotCount>
|
||||||
<ticksBetweenBurstShots>12</ticksBetweenBurstShots>
|
<ticksBetweenBurstShots>3</ticksBetweenBurstShots>
|
||||||
<soundCast>SpitterSpit</soundCast>
|
<soundCast>SpitterSpit</soundCast>
|
||||||
<targetParams>
|
<targetParams>
|
||||||
<canTargetLocations>true</canTargetLocations>
|
<canTargetLocations>true</canTargetLocations>
|
||||||
@@ -1604,7 +1604,7 @@
|
|||||||
<ThingDef ParentName="BaseWeaponTurret">
|
<ThingDef ParentName="BaseWeaponTurret">
|
||||||
<defName>ARA_Psi_Conductor_Turret</defName>
|
<defName>ARA_Psi_Conductor_Turret</defName>
|
||||||
<label>灵能导线</label>
|
<label>灵能导线</label>
|
||||||
<description>阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,无论它目前在干什么,攻击都会照常进行。</description>
|
<description>阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,只要不处于近战状态,攻击都会照常进行。</description>
|
||||||
<graphicData>
|
<graphicData>
|
||||||
<texPath>ArachnaeSwarm/Weapon/ARA_Weapon_Empty</texPath>
|
<texPath>ArachnaeSwarm/Weapon/ARA_Weapon_Empty</texPath>
|
||||||
<graphicClass>Graphic_Single</graphicClass>
|
<graphicClass>Graphic_Single</graphicClass>
|
||||||
|
|||||||
@@ -240,12 +240,12 @@
|
|||||||
<doorTopGraphic>
|
<doorTopGraphic>
|
||||||
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top</texPath>
|
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top</texPath>
|
||||||
<graphicClass>Graphic_Multi</graphicClass>
|
<graphicClass>Graphic_Multi</graphicClass>
|
||||||
<drawSize>(1.7, 1.2)</drawSize>
|
<drawSize>(1.4, 1.2)</drawSize>
|
||||||
</doorTopGraphic>
|
</doorTopGraphic>
|
||||||
<doorSupportGraphic>
|
<doorSupportGraphic>
|
||||||
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support</texPath>
|
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support</texPath>
|
||||||
<graphicClass>Graphic_Multi</graphicClass>
|
<graphicClass>Graphic_Multi</graphicClass>
|
||||||
<drawSize>(1.7, 1.2)</drawSize>
|
<drawSize>(1.4, 1.2)</drawSize>
|
||||||
</doorSupportGraphic>
|
</doorSupportGraphic>
|
||||||
</building>
|
</building>
|
||||||
<uiOrder>2505</uiOrder>
|
<uiOrder>2505</uiOrder>
|
||||||
@@ -381,6 +381,64 @@
|
|||||||
<specialDisplayRadius>5.8</specialDisplayRadius>
|
<specialDisplayRadius>5.8</specialDisplayRadius>
|
||||||
</ThingDef>
|
</ThingDef>
|
||||||
|
|
||||||
|
<ThingDef ParentName="BasicBedBase">
|
||||||
|
<defName>ARA_NodeNest</defName>
|
||||||
|
<thingClass>Building_Bed</thingClass>
|
||||||
|
<label>阿拉克涅督虫巢穴</label>
|
||||||
|
<description>供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。</description>
|
||||||
|
<tickerType>Normal</tickerType>
|
||||||
|
<graphicData>
|
||||||
|
<texPath>ArachnaeSwarm/Building/ARA_NodeNest</texPath>
|
||||||
|
<graphicClass>Graphic_Multi</graphicClass>
|
||||||
|
<shaderType>CutoutComplex</shaderType>
|
||||||
|
<drawSize>(2,2)</drawSize>
|
||||||
|
<shadowData>
|
||||||
|
<volume>(0.8, 0.4, 1.7)</volume>
|
||||||
|
<offset>(0,0,-0.1)</offset>
|
||||||
|
</shadowData>
|
||||||
|
</graphicData>
|
||||||
|
<staticSunShadowHeight Inherit="False" IsNull="True" />
|
||||||
|
<castEdgeShadows>False</castEdgeShadows>
|
||||||
|
<statBases>
|
||||||
|
<Comfort>0.75</Comfort>
|
||||||
|
<MaxHitPoints>140</MaxHitPoints>
|
||||||
|
<Beauty>1</Beauty>
|
||||||
|
<WorkToBuild>800</WorkToBuild>
|
||||||
|
<Mass>30</Mass>
|
||||||
|
<Flammability>1.0</Flammability>
|
||||||
|
<BedRestEffectiveness>1.2</BedRestEffectiveness>
|
||||||
|
<Comfort>0.80</Comfort>
|
||||||
|
<ImmunityGainSpeedFactor>1.1</ImmunityGainSpeedFactor>
|
||||||
|
<MedicalTendQualityOffset>0.10</MedicalTendQualityOffset>
|
||||||
|
<SurgerySuccessChanceFactor>1.1</SurgerySuccessChanceFactor>
|
||||||
|
</statBases>
|
||||||
|
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
|
||||||
|
<size>(1,2)</size>
|
||||||
|
<costList>
|
||||||
|
<ARA_InsectJelly>3</ARA_InsectJelly>
|
||||||
|
<ARA_Carapace>25</ARA_Carapace>
|
||||||
|
</costList>
|
||||||
|
<uiOrder>2010</uiOrder>
|
||||||
|
<fillPercent>0.5</fillPercent>
|
||||||
|
<designationCategory>ARA_Buildings</designationCategory>
|
||||||
|
<researchPrerequisites Inherit="False">
|
||||||
|
<li>ARA_Base_Technology</li>
|
||||||
|
</researchPrerequisites>
|
||||||
|
<stuffCategories Inherit="False" IsNull="True" />
|
||||||
|
<building>
|
||||||
|
<paintable>false</paintable>
|
||||||
|
<bed_showSleeperBody>true</bed_showSleeperBody>
|
||||||
|
<bed_healPerDay>10</bed_healPerDay>
|
||||||
|
<bed_defaultMedical>false</bed_defaultMedical>
|
||||||
|
</building>
|
||||||
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
||||||
|
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
|
||||||
|
<spawnRadius>3</spawnRadius>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
</ThingDef>
|
||||||
|
|
||||||
<ThingDef ParentName="BenchBase">
|
<ThingDef ParentName="BenchBase">
|
||||||
<defName>ARA_ResearchBench</defName>
|
<defName>ARA_ResearchBench</defName>
|
||||||
<label>阿拉克涅研究台</label>
|
<label>阿拉克涅研究台</label>
|
||||||
@@ -441,78 +499,20 @@
|
|||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</ThingDef>
|
</ThingDef>
|
||||||
<ThingDef ParentName="BasicBedBase">
|
|
||||||
<defName>ARA_NodeNest</defName>
|
|
||||||
<thingClass>Building_Bed</thingClass>
|
|
||||||
<label>阿拉克涅督虫巢穴</label>
|
|
||||||
<description>供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。</description>
|
|
||||||
<tickerType>Normal</tickerType>
|
|
||||||
<graphicData>
|
|
||||||
<texPath>ArachnaeSwarm/Building/ARA_NodeNest</texPath>
|
|
||||||
<graphicClass>Graphic_Multi</graphicClass>
|
|
||||||
<shaderType>CutoutComplex</shaderType>
|
|
||||||
<drawSize>(2,2)</drawSize>
|
|
||||||
<shadowData>
|
|
||||||
<volume>(0.8, 0.4, 1.7)</volume>
|
|
||||||
<offset>(0,0,-0.1)</offset>
|
|
||||||
</shadowData>
|
|
||||||
</graphicData>
|
|
||||||
<staticSunShadowHeight Inherit="False" IsNull="True" />
|
|
||||||
<castEdgeShadows>False</castEdgeShadows>
|
|
||||||
<statBases>
|
|
||||||
<Comfort>0.75</Comfort>
|
|
||||||
<MaxHitPoints>140</MaxHitPoints>
|
|
||||||
<Beauty>1</Beauty>
|
|
||||||
<WorkToBuild>800</WorkToBuild>
|
|
||||||
<Mass>30</Mass>
|
|
||||||
<Flammability>1.0</Flammability>
|
|
||||||
<BedRestEffectiveness>1.2</BedRestEffectiveness>
|
|
||||||
<Comfort>0.80</Comfort>
|
|
||||||
<ImmunityGainSpeedFactor>1.1</ImmunityGainSpeedFactor>
|
|
||||||
<MedicalTendQualityOffset>0.10</MedicalTendQualityOffset>
|
|
||||||
<SurgerySuccessChanceFactor>1.1</SurgerySuccessChanceFactor>
|
|
||||||
</statBases>
|
|
||||||
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
|
|
||||||
<size>(1,2)</size>
|
|
||||||
<costList>
|
|
||||||
<ARA_InsectJelly>3</ARA_InsectJelly>
|
|
||||||
<ARA_Carapace>25</ARA_Carapace>
|
|
||||||
</costList>
|
|
||||||
<uiOrder>2010</uiOrder>
|
|
||||||
<fillPercent>0.5</fillPercent>
|
|
||||||
<designationCategory>ARA_Buildings</designationCategory>
|
|
||||||
<researchPrerequisites Inherit="False">
|
|
||||||
<li>ARA_Base_Technology</li>
|
|
||||||
</researchPrerequisites>
|
|
||||||
<stuffCategories Inherit="False" IsNull="True" />
|
|
||||||
<building>
|
|
||||||
<paintable>false</paintable>
|
|
||||||
<bed_showSleeperBody>true</bed_showSleeperBody>
|
|
||||||
<bed_healPerDay>10</bed_healPerDay>
|
|
||||||
<bed_defaultMedical>false</bed_defaultMedical>
|
|
||||||
</building>
|
|
||||||
<comps>
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
|
||||||
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
|
|
||||||
<spawnRadius>3</spawnRadius>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
</ThingDef>
|
|
||||||
|
|
||||||
<ThingDef ParentName="BuildingBase">
|
<ThingDef ParentName="BuildingBase">
|
||||||
<defName>ARA_MorphableResearchBench</defName>
|
<defName>ARA_MorphableResearchBench</defName>
|
||||||
<hasInteractionCell>true</hasInteractionCell>
|
<!-- <hasInteractionCell>true</hasInteractionCell>
|
||||||
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
|
<interactionCellOffset>(0,0,-1)</interactionCellOffset> -->
|
||||||
<label>阿拉克涅织域织座</label>
|
<label>阿拉克涅织域种织座</label>
|
||||||
<description>一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。其研究能力完全取决于内部的阿拉克涅织域种。</description>
|
<description>以阿拉克涅织域种为核心形成的活体结构,是推进虫群高级研究的必须建筑。该建筑无法建造,只能通过阿拉克涅织域种变形得到。</description>
|
||||||
<thingClass>ArachnaeSwarm.Building_Morphable</thingClass>
|
<thingClass>ArachnaeSwarm.Building_Morphable</thingClass>
|
||||||
<tickerType>Normal</tickerType>
|
<tickerType>Normal</tickerType>
|
||||||
<size>(3,3)</size>
|
<size>(2,2)</size>
|
||||||
<graphicData>
|
<graphicData>
|
||||||
<texPath>ArachnaeSwarm/Building/ARA_ResearchBench</texPath>
|
<texPath>ArachnaeSwarm/Building/ARA_MorphableResearchBench</texPath>
|
||||||
<graphicClass>Graphic_Multi</graphicClass>
|
<graphicClass>Graphic_Single</graphicClass>
|
||||||
<shaderType>CutoutComplex</shaderType>
|
<shaderType>CutoutComplex</shaderType>
|
||||||
<drawSize>(3,4.5)</drawSize>
|
<drawSize>(2.5,2.5)</drawSize>
|
||||||
</graphicData>
|
</graphicData>
|
||||||
<altitudeLayer>Building</altitudeLayer>
|
<altitudeLayer>Building</altitudeLayer>
|
||||||
<passability>Impassable</passability>
|
<passability>Impassable</passability>
|
||||||
@@ -535,6 +535,10 @@
|
|||||||
</building>
|
</building>
|
||||||
<!-- 不可建造,只能通过变形生成 -->
|
<!-- 不可建造,只能通过变形生成 -->
|
||||||
<comps Inherit="False">
|
<comps Inherit="False">
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
||||||
|
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
|
||||||
|
<spawnRadius>3</spawnRadius>
|
||||||
|
</li>
|
||||||
<li Class="CompProperties_ReportWorkSpeed">
|
<li Class="CompProperties_ReportWorkSpeed">
|
||||||
<workSpeedStat>ResearchSpeedFactor</workSpeedStat>
|
<workSpeedStat>ResearchSpeedFactor</workSpeedStat>
|
||||||
</li>
|
</li>
|
||||||
@@ -546,9 +550,9 @@
|
|||||||
<gizmoLabel>离开织座</gizmoLabel>
|
<gizmoLabel>离开织座</gizmoLabel>
|
||||||
|
|
||||||
<!-- 操作按钮的自定义描述 -->
|
<!-- 操作按钮的自定义描述 -->
|
||||||
<gizmoDesc>使织域种离开织座。</gizmoDesc>
|
<gizmoDesc>使织域种离开织座,恢复移动状态。</gizmoDesc>
|
||||||
|
|
||||||
<gizmoIconPath>UI/Commands/EggSpew</gizmoIconPath>
|
<gizmoIconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph</gizmoIconPath>
|
||||||
</li>
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||||
<fuelFilter>
|
<fuelFilter>
|
||||||
@@ -692,7 +696,6 @@
|
|||||||
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
|
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="CompProperties_Flickable"/>
|
<li Class="CompProperties_Flickable"/>
|
||||||
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_MultiFuelSpawner">
|
<li Class="ArachnaeSwarm.CompProperties_MultiFuelSpawner">
|
||||||
<spawnIntervalRange>
|
<spawnIntervalRange>
|
||||||
<min>120000</min> <!-- 2天 -->
|
<min>120000</min> <!-- 2天 -->
|
||||||
@@ -706,7 +709,6 @@
|
|||||||
</products>
|
</products>
|
||||||
<showMessageIfOwned>true</showMessageIfOwned>
|
<showMessageIfOwned>true</showMessageIfOwned>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
|
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
|
||||||
<saveKeysPrefix>Biomass</saveKeysPrefix>
|
<saveKeysPrefix>Biomass</saveKeysPrefix>
|
||||||
<fuelLabel>生物质</fuelLabel>
|
<fuelLabel>生物质</fuelLabel>
|
||||||
@@ -724,7 +726,6 @@
|
|||||||
<fuelConsumptionRate>30</fuelConsumptionRate>
|
<fuelConsumptionRate>30</fuelConsumptionRate>
|
||||||
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
|
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
||||||
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
|
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
|
||||||
<spawnRadius>6</spawnRadius>
|
<spawnRadius>6</spawnRadius>
|
||||||
|
|||||||
@@ -68,6 +68,7 @@
|
|||||||
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
|
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
|
||||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||||
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
|
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
|
||||||
|
<canEjectFuel>true</canEjectFuel>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- 开关 -->
|
<!-- 开关 -->
|
||||||
|
|||||||
@@ -321,7 +321,7 @@
|
|||||||
<li>ARA_DummyAmmo</li>
|
<li>ARA_DummyAmmo</li>
|
||||||
</thingDefs>
|
</thingDefs>
|
||||||
</fuelFilter>
|
</fuelFilter>
|
||||||
<fuelCapacity>1000</fuelCapacity>
|
<fuelCapacity>100</fuelCapacity>
|
||||||
<initialFuelPercent>1</initialFuelPercent>
|
<initialFuelPercent>1</initialFuelPercent>
|
||||||
<autoRefuelPercent>1</autoRefuelPercent>
|
<autoRefuelPercent>1</autoRefuelPercent>
|
||||||
<showFuelGizmo>true</showFuelGizmo>
|
<showFuelGizmo>true</showFuelGizmo>
|
||||||
@@ -332,8 +332,8 @@
|
|||||||
<li Class="ArachnaeSwarm.CompProperties_NutritionToFuelConverter">
|
<li Class="ArachnaeSwarm.CompProperties_NutritionToFuelConverter">
|
||||||
<checkInterval>300</checkInterval>
|
<checkInterval>300</checkInterval>
|
||||||
<nutritionCost>1</nutritionCost>
|
<nutritionCost>1</nutritionCost>
|
||||||
<workAmount>600</workAmount>
|
<workAmount>300</workAmount>
|
||||||
<fuelAmount>10</fuelAmount>
|
<fuelAmount>50</fuelAmount>
|
||||||
</li>
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_ForceTargetable" />
|
<li Class="ArachnaeSwarm.CompProperties_ForceTargetable" />
|
||||||
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
||||||
@@ -474,7 +474,7 @@
|
|||||||
<li>ARA_DummyAmmo</li>
|
<li>ARA_DummyAmmo</li>
|
||||||
</thingDefs>
|
</thingDefs>
|
||||||
</fuelFilter>
|
</fuelFilter>
|
||||||
<fuelCapacity>30</fuelCapacity>
|
<fuelCapacity>20</fuelCapacity>
|
||||||
<initialFuelPercent>1</initialFuelPercent>
|
<initialFuelPercent>1</initialFuelPercent>
|
||||||
<autoRefuelPercent>1</autoRefuelPercent>
|
<autoRefuelPercent>1</autoRefuelPercent>
|
||||||
<showFuelGizmo>true</showFuelGizmo>
|
<showFuelGizmo>true</showFuelGizmo>
|
||||||
|
|||||||
@@ -44,6 +44,8 @@
|
|||||||
<AbilityCheckTemperatureTooHigh>过高</AbilityCheckTemperatureTooHigh>
|
<AbilityCheckTemperatureTooHigh>过高</AbilityCheckTemperatureTooHigh>
|
||||||
<AbilityCheckTemperatureSafe>安全</AbilityCheckTemperatureSafe>
|
<AbilityCheckTemperatureSafe>安全</AbilityCheckTemperatureSafe>
|
||||||
|
|
||||||
|
<CocoonRuinedByTemperature>活体结构因极端温度受损</CocoonRuinedByTemperature>
|
||||||
|
|
||||||
<!-- 中文 -->
|
<!-- 中文 -->
|
||||||
<WillDestroyBodyPart>将破坏:{0}</WillDestroyBodyPart>
|
<WillDestroyBodyPart>将破坏:{0}</WillDestroyBodyPart>
|
||||||
<CasterDead>施法者已死亡</CasterDead>
|
<CasterDead>施法者已死亡</CasterDead>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 365 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
@@ -3,12 +3,20 @@
|
|||||||
"WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
"WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\thingcomp_guardianpsyfield.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:thingcomp_guardianpsyfield.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\wula_mutifuelspawner\\comprefuelablenutrition_withkey.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\wula_mutifuelspawner\\comprefuelablenutrition_withkey.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientnetwork\\compnutrientprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientnetwork\\compnutrientprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientnetwork\\complinedrawer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientnetwork\\complinedrawer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
@@ -27,28 +35,51 @@
|
|||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 0,
|
||||||
"Title": "CompInteractiveProducer.cs",
|
"Title": "ThingComp_GuardianPsyField.cs",
|
||||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ThingComp_GuardianPsyField.cs",
|
||||||
"RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
"RelativeDocumentMoniker": "ThingComp_GuardianPsyField.cs",
|
||||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ThingComp_GuardianPsyField.cs",
|
||||||
"RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
"RelativeToolTip": "ThingComp_GuardianPsyField.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAA0AAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2025-10-02T10:43:34.234Z",
|
"WhenOpened": "2025-10-02T16:24:06.176Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 1,
|
||||||
"Title": "CompRefuelableNutrition_WithKey.cs",
|
"Title": "Building_NutrientVat.cs",
|
||||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
|
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
|
||||||
"RelativeDocumentMoniker": "Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
|
"RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
|
||||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
|
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
|
||||||
"RelativeToolTip": "Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
|
"RelativeToolTip": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAFsAAAAcAAAAAAAAAA==",
|
"ViewState": "AgIAAF8AAAAAAAAAAAAswJkBAAANAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2025-10-02T06:18:10.518Z",
|
"WhenOpened": "2025-10-02T15:30:05.897Z"
|
||||||
"EditorCaption": ""
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "CompNutrientProvider.cs",
|
||||||
|
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
|
||||||
|
"RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
|
||||||
|
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
|
||||||
|
"RelativeToolTip": "Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAZAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2025-10-02T15:29:28.358Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 3,
|
||||||
|
"Title": "CompLineDrawer.cs",
|
||||||
|
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
|
||||||
|
"RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
|
||||||
|
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
|
||||||
|
"RelativeToolTip": "Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2025-10-02T15:11:03.083Z"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
if (ruinedPercent > 0f)
|
if (ruinedPercent > 0f)
|
||||||
{
|
{
|
||||||
return "RuinedByTemperature".Translate() + ": " + ruinedPercent.ToStringPercent();
|
return "CocoonRuinedByTemperature".Translate() + ": " + ruinedPercent.ToStringPercent();
|
||||||
}
|
}
|
||||||
return base.CompInspectStringExtra();
|
return base.CompInspectStringExtra();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using RimWorld;
|
using RimWorld;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
|
||||||
namespace ArachnaeSwarm
|
namespace ArachnaeSwarm
|
||||||
{
|
{
|
||||||
public class CompProperties_NutrientProvider : CompProperties_Facility
|
public class CompProperties_NutrientProvider : CompProperties_Facility
|
||||||
|
|||||||
@@ -24,6 +24,20 @@ namespace ArachnaeSwarm
|
|||||||
[StaticConstructorOnStartup]
|
[StaticConstructorOnStartup]
|
||||||
public class HediffComp_TopTurret : HediffComp, IAttackTargetSearcher
|
public class HediffComp_TopTurret : HediffComp, IAttackTargetSearcher
|
||||||
{
|
{
|
||||||
|
// 添加 null 检查的属性
|
||||||
|
private HediffCompProperties_TopTurret Props
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (this.props == null)
|
||||||
|
{
|
||||||
|
Log.Error("HediffComp_TopTurret: props is null");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return this.props as HediffCompProperties_TopTurret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Thing Thing
|
public Thing Thing
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -32,14 +46,6 @@ namespace ArachnaeSwarm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private HediffCompProperties_TopTurret Props
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return (HediffCompProperties_TopTurret)this.props;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Verb CurrentEffectiveVerb
|
public Verb CurrentEffectiveVerb
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -68,6 +74,11 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
if (this.gun == null)
|
||||||
|
{
|
||||||
|
Log.Warning("HediffComp_TopTurret: gun is null");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return this.gun.TryGetComp<CompEquippable>();
|
return this.gun.TryGetComp<CompEquippable>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -76,7 +87,13 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return this.GunCompEq.PrimaryVerb;
|
var comp = this.GunCompEq;
|
||||||
|
if (comp == null)
|
||||||
|
{
|
||||||
|
Log.Warning("HediffComp_TopTurret: GunCompEq is null");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return comp.PrimaryVerb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,7 +147,7 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (this.turretMat == null)
|
if (this.turretMat == null && this.Props?.turretDef?.graphicData != null)
|
||||||
{
|
{
|
||||||
this.turretMat = MaterialPool.MatFrom(this.Props.turretDef.graphicData.texPath);
|
this.turretMat = MaterialPool.MatFrom(this.Props.turretDef.graphicData.texPath);
|
||||||
}
|
}
|
||||||
@@ -142,25 +159,71 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return this.Props.autoAttack;
|
return this.Props?.autoAttack ?? false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void CompPostMake()
|
public override void CompPostMake()
|
||||||
{
|
{
|
||||||
base.CompPostMake();
|
base.CompPostMake();
|
||||||
|
|
||||||
|
// 添加 null 检查
|
||||||
|
if (this.Props == null)
|
||||||
|
{
|
||||||
|
Log.Error("HediffComp_TopTurret: Props is null in CompPostMake");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.MakeGun();
|
this.MakeGun();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MakeGun()
|
private void MakeGun()
|
||||||
{
|
{
|
||||||
this.gun = ThingMaker.MakeThing(this.Props.turretDef, null);
|
// 添加详细的 null 检查
|
||||||
this.UpdateGunVerbs();
|
if (this.Props == null)
|
||||||
|
{
|
||||||
|
Log.Error("HediffComp_TopTurret: Props is null in MakeGun");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.Props.turretDef == null)
|
||||||
|
{
|
||||||
|
Log.Error("HediffComp_TopTurret: Props.turretDef is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.gun = ThingMaker.MakeThing(this.Props.turretDef, null);
|
||||||
|
if (this.gun == null)
|
||||||
|
{
|
||||||
|
Log.Error($"HediffComp_TopTurret: Failed to create gun from turretDef '{this.Props.turretDef.defName}'");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.UpdateGunVerbs();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error($"HediffComp_TopTurret: Exception in MakeGun: {ex}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateGunVerbs()
|
private void UpdateGunVerbs()
|
||||||
{
|
{
|
||||||
List<Verb> allVerbs = this.gun.TryGetComp<CompEquippable>().AllVerbs;
|
if (this.gun == null)
|
||||||
|
{
|
||||||
|
Log.Warning("HediffComp_TopTurret: gun is null in UpdateGunVerbs");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var comp = this.gun.TryGetComp<CompEquippable>();
|
||||||
|
if (comp == null)
|
||||||
|
{
|
||||||
|
Log.Warning("HediffComp_TopTurret: CompEquippable is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Verb> allVerbs = comp.AllVerbs;
|
||||||
for (int i = 0; i < allVerbs.Count; i++)
|
for (int i = 0; i < allVerbs.Count; i++)
|
||||||
{
|
{
|
||||||
Verb verb = allVerbs[i];
|
Verb verb = allVerbs[i];
|
||||||
@@ -171,9 +234,17 @@ namespace ArachnaeSwarm
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void CompPostTick(ref float severityAdjustment)
|
public override void CompPostTick(ref float severityAdjustment)
|
||||||
{
|
{
|
||||||
base.CompPostTick(ref severityAdjustment);
|
base.CompPostTick(ref severityAdjustment);
|
||||||
|
|
||||||
|
// 添加 null 检查
|
||||||
|
if (this.AttackVerb == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.CanShoot)
|
if (!this.CanShoot)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace ArachnaeSwarm
|
|||||||
public class CompProperties_GuardianPsyField : CompProperties
|
public class CompProperties_GuardianPsyField : CompProperties
|
||||||
{
|
{
|
||||||
public float radius = 5.9f;
|
public float radius = 5.9f;
|
||||||
public int hitPoints = 100;
|
public int baseHitPoints = 100; // 重命名为基础生命值
|
||||||
public int rechargeDelay = 3200; // Ticks after breaking
|
public int rechargeDelay = 3200; // Ticks after breaking
|
||||||
public int rechargeHitPointsIntervalTicks = 60; // Ticks to restore 1 HP
|
public int rechargeHitPointsIntervalTicks = 60; // Ticks to restore 1 HP
|
||||||
|
|
||||||
@@ -27,6 +27,10 @@ namespace ArachnaeSwarm
|
|||||||
|
|
||||||
public Color color = Color.cyan;
|
public Color color = Color.cyan;
|
||||||
|
|
||||||
|
// 新增:心灵敏感度倍率设置
|
||||||
|
public float minSensitivityMultiplier = 0f; // 最低倍率
|
||||||
|
public float maxSensitivityMultiplier = 10.0f; // 最高倍率
|
||||||
|
|
||||||
public CompProperties_GuardianPsyField()
|
public CompProperties_GuardianPsyField()
|
||||||
{
|
{
|
||||||
compClass = typeof(ThingComp_GuardianPsyField);
|
compClass = typeof(ThingComp_GuardianPsyField);
|
||||||
@@ -44,7 +48,24 @@ namespace ArachnaeSwarm
|
|||||||
public CompProperties_GuardianPsyField Props => (CompProperties_GuardianPsyField)props;
|
public CompProperties_GuardianPsyField Props => (CompProperties_GuardianPsyField)props;
|
||||||
private Pawn PawnOwner => parent as Pawn;
|
private Pawn PawnOwner => parent as Pawn;
|
||||||
public bool IsOnCooldown => ticksToReset > 0;
|
public bool IsOnCooldown => ticksToReset > 0;
|
||||||
public int HitPointsMax => Props.hitPoints;
|
|
||||||
|
// 修改:基于心灵敏感度计算最大生命值
|
||||||
|
public int HitPointsMax
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (PawnOwner == null) return Props.baseHitPoints;
|
||||||
|
|
||||||
|
// 获取心灵敏感度
|
||||||
|
float psychicSensitivity = PawnOwner.GetStatValue(StatDefOf.PsychicSensitivity);
|
||||||
|
|
||||||
|
// 计算倍率,限制在最小和最大倍率之间
|
||||||
|
float multiplier = Mathf.Clamp(psychicSensitivity, Props.minSensitivityMultiplier, Props.maxSensitivityMultiplier);
|
||||||
|
|
||||||
|
// 返回基于心灵敏感度的生命值
|
||||||
|
return Mathf.RoundToInt(Props.baseHitPoints * multiplier);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static readonly Material ForceFieldMat = MaterialPool.MatFrom("Other/ForceField", ShaderDatabase.MoteGlow);
|
private static readonly Material ForceFieldMat = MaterialPool.MatFrom("Other/ForceField", ShaderDatabase.MoteGlow);
|
||||||
private static readonly MaterialPropertyBlock MatPropertyBlock = new MaterialPropertyBlock();
|
private static readonly MaterialPropertyBlock MatPropertyBlock = new MaterialPropertyBlock();
|
||||||
@@ -99,7 +120,9 @@ namespace ArachnaeSwarm
|
|||||||
wasNotAtFullHp = true;
|
wasNotAtFullHp = true;
|
||||||
if(this.parent.IsHashIntervalTick(Props.rechargeHitPointsIntervalTicks))
|
if(this.parent.IsHashIntervalTick(Props.rechargeHitPointsIntervalTicks))
|
||||||
{
|
{
|
||||||
currentHitPoints += (int)(HitPointsMax * Props.hitPointsPctPerInterval);
|
// 修改:基于当前最大生命值计算恢复量
|
||||||
|
int healAmount = Mathf.Max(1, (int)(HitPointsMax * Props.hitPointsPctPerInterval));
|
||||||
|
currentHitPoints += healAmount;
|
||||||
if(currentHitPoints > HitPointsMax) currentHitPoints = HitPointsMax;
|
if(currentHitPoints > HitPointsMax) currentHitPoints = HitPointsMax;
|
||||||
PawnOwner.psychicEntropy.OffsetPsyfocusDirectly(-Props.psyfocusCostPerInterval);
|
PawnOwner.psychicEntropy.OffsetPsyfocusDirectly(-Props.psyfocusCostPerInterval);
|
||||||
}
|
}
|
||||||
@@ -246,7 +269,16 @@ namespace ArachnaeSwarm
|
|||||||
Text.Font = GameFont.Small;
|
Text.Font = GameFont.Small;
|
||||||
Text.Anchor = TextAnchor.MiddleCenter;
|
Text.Anchor = TextAnchor.MiddleCenter;
|
||||||
|
|
||||||
TaggedString statusText = shield.IsOnCooldown ? "Cooldown" : new TaggedString(shield.currentHitPoints + " / " + shield.HitPointsMax);
|
// 修改:显示当前/最大生命值,并显示心灵敏感度倍率
|
||||||
|
string statusText;
|
||||||
|
if (shield.IsOnCooldown)
|
||||||
|
{
|
||||||
|
statusText = "Cooldown";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
statusText = $"{shield.currentHitPoints} / {shield.HitPointsMax}";
|
||||||
|
}
|
||||||
Widgets.Label(barRect, statusText);
|
Widgets.Label(barRect, statusText);
|
||||||
|
|
||||||
Text.Anchor = TextAnchor.UpperLeft;
|
Text.Anchor = TextAnchor.UpperLeft;
|
||||||
|
|||||||