暂存
This commit is contained in:
Binary file not shown.
@@ -32,91 +32,6 @@
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<AbilityDef Name="ARA_EggSpew_Base" Abstract="True">
|
||||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||||
<aiCanUse>false</aiCanUse>
|
||||
<displayOrder>300</displayOrder>
|
||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<range>1</range>
|
||||
<warmupTime>7</warmupTime>
|
||||
<soundCast>AcidSpray_Resolve</soundCast>
|
||||
<violent>false</violent>
|
||||
<targetable>false</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>True</canTargetSelf>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||
<needDef>Food</needDef>
|
||||
<needCost>4</needCost>
|
||||
<failMessage>营养值不足,需要进食</failMessage>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
|
||||
<requiredPart>ARA_Ovary</requiredPart>
|
||||
<failMessage>卵巢受损或缺失,无法生育</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef Name="ARA_EggSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
|
||||
<thingClass>Projectile_SpawnsThing</thingClass>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<projectile>
|
||||
<damageDef>Bullet</damageDef>
|
||||
<speed>21</speed>
|
||||
<damageAmountBase>0</damageAmountBase>
|
||||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<AbilityDef Name="ARA_CocoonSpew_Base" Abstract="True">
|
||||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||||
<aiCanUse>true</aiCanUse>
|
||||
<displayOrder>300</displayOrder>
|
||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<range>1</range>
|
||||
<warmupTime>12</warmupTime>
|
||||
<soundCast>AcidSpray_Resolve</soundCast>
|
||||
<violent>false</violent>
|
||||
<targetable>false</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>True</canTargetSelf>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||
<needDef>Food</needDef>
|
||||
<needCost>1</needCost>
|
||||
<failMessage>营养值不足,需要进食</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef Name="ARA_CocoonSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
|
||||
<label>阿拉克涅孵化茧</label>
|
||||
<thingClass>Projectile_SpawnsThing</thingClass>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<projectile>
|
||||
<damageDef>Bullet</damageDef>
|
||||
<speed>21</speed>
|
||||
<damageAmountBase>0</damageAmountBase>
|
||||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<AbilityDef>
|
||||
<defName>ARA_AcidSprayBurst_Queen</defName>
|
||||
<label>女皇种酸液轰炸</label>
|
||||
|
||||
120
1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml
Normal file
120
1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
|
||||
<AbilityDef Name="ARA_EggSpew_Base" Abstract="True">
|
||||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||||
<aiCanUse>false</aiCanUse>
|
||||
<displayOrder>300</displayOrder>
|
||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<range>1</range>
|
||||
<warmupTime>7</warmupTime>
|
||||
<soundCast>AcidSpray_Resolve</soundCast>
|
||||
<violent>false</violent>
|
||||
<targetable>false</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>True</canTargetSelf>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||
<needDef>Food</needDef>
|
||||
<needCost>4</needCost>
|
||||
<failMessage>营养值不足,需要进食</failMessage>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
|
||||
<requiredPart>ARA_Ovary</requiredPart>
|
||||
<failMessage>卵巢受损或缺失,无法生育</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<ThingDef Name="ARA_EggSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
|
||||
<thingClass>Projectile_SpawnsThing</thingClass>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<projectile>
|
||||
<damageDef>Bullet</damageDef>
|
||||
<speed>21</speed>
|
||||
<damageAmountBase>0</damageAmountBase>
|
||||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<AbilityDef Name="ARA_CocoonSpew_Base" Abstract="True">
|
||||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||||
<aiCanUse>true</aiCanUse>
|
||||
<displayOrder>300</displayOrder>
|
||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<range>1</range>
|
||||
<warmupTime>12</warmupTime>
|
||||
<soundCast>AcidSpray_Resolve</soundCast>
|
||||
<violent>false</violent>
|
||||
<targetable>false</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>True</canTargetSelf>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||
<needDef>Food</needDef>
|
||||
<needCost>1</needCost>
|
||||
<failMessage>营养值不足,需要进食</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<ThingDef Name="ARA_CocoonSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
|
||||
<label>阿拉克涅孵化茧</label>
|
||||
<thingClass>Projectile_SpawnsThing</thingClass>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<projectile>
|
||||
<damageDef>Bullet</damageDef>
|
||||
<speed>21</speed>
|
||||
<damageAmountBase>0</damageAmountBase>
|
||||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_BaseFighter</defName>
|
||||
<label>生育虫卵-战士虫</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_BaseFighter</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_1KYC</requiredResearch>
|
||||
<failMessage>需要科技 基因节点KYC-1"战士虫" 以解锁此孵化路径</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew</defName>
|
||||
<label>生育虫卵</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac</projectileDef>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
|
||||
</Defs>
|
||||
@@ -984,119 +984,7 @@
|
||||
</lifeStageAges>
|
||||
</race>
|
||||
</AlienRace.ThingDef_AlienRace>
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew</defName>
|
||||
<label>生育虫卵</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac</projectileDef>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
|
||||
<defName>ARA_Proj_EggSac</defName>
|
||||
<label>阿拉克涅虫卵</label>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_InteractiveEggSac</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
|
||||
<defName>ARA_InteractiveEggSac</defName>
|
||||
<label>阿拉克涅虫卵囊</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程——参阅虫卵的超链接,了解各个督虫的特点。\n\n卵囊对温度极度敏感(该类型的卵适温为-25~30°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_ShieldHead</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_WeaponSmith</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Base_Technology</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
|
||||
<pawnKinds>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</pawnKinds>
|
||||
<whitelist>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</whitelist>
|
||||
<pawnKindDelays>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
|
||||
<delay>180000</delay>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
|
||||
<delay>180000</delay>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
|
||||
<delay>180000</delay>
|
||||
</li>
|
||||
</pawnKindDelays>
|
||||
<destroyOnSpawn>true</destroyOnSpawn>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-25</minSafeTemperature>
|
||||
<maxSafeTemperature>30</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
|
||||
<defName>ARA_InteractiveEggSac_Start</defName>
|
||||
<label>初诞阿拉克涅虫卵囊</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种初到此地所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程。\n\n初诞卵囊可以抵御极端天气并且拥有极快的孵化速度,但是它们只能支持少数几种虫族的孵化。</description>
|
||||
<minifiedDef Inherit="False" />
|
||||
<thingCategories Inherit="False" />
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_ShieldHead</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_WeaponSmith</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
|
||||
<pawnKinds>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</pawnKinds>
|
||||
<whitelist>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</whitelist>
|
||||
<pawnKindDelays>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
|
||||
<delay>300</delay>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
|
||||
<delay>300</delay>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
|
||||
<delay>300</delay>
|
||||
</li>
|
||||
</pawnKindDelays>
|
||||
<destroyOnSpawn>true</destroyOnSpawn>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-300</minSafeTemperature>
|
||||
<maxSafeTemperature>100</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
|
||||
<defName>ArachnaeNode_Race_Fighter</defName>
|
||||
@@ -1187,64 +1075,7 @@
|
||||
</lifeStageAges>
|
||||
</race>
|
||||
</AlienRace.ThingDef_AlienRace>
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_BaseFighter</defName>
|
||||
<label>生育虫卵-战士虫</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_BaseFighter</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_1KYC</requiredResearch>
|
||||
<failMessage>需要科技 基因节点KYC-1"战士虫" 以解锁此孵化路径</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
|
||||
<defName>ARA_Proj_EggSac_BaseFighter</defName>
|
||||
<label>阿拉克涅虫卵</label>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_InteractiveEggSac_Basic_Fighter</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
|
||||
<defName>ARA_InteractiveEggSac_Basic_Fighter</defName>
|
||||
<label>阿拉克涅虫卵囊 战士虫</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程——参阅虫卵的超链接,了解各个督虫的特点。\n\n卵囊对温度极度敏感(该类型的卵适温为-10~22°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Fighter</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_1KYC</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
|
||||
<pawnKinds>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
</pawnKinds>
|
||||
<whitelist>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</whitelist>
|
||||
<pawnKindDelays>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_Fighter</pawnKind>
|
||||
<delay>12</delay>
|
||||
</li>
|
||||
</pawnKindDelays>
|
||||
<destroyOnSpawn>true</destroyOnSpawn>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-10</minSafeTemperature>
|
||||
<maxSafeTemperature>22</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
|
||||
<defName>ArachnaeNode_Race_Facehugger</defName>
|
||||
|
||||
@@ -51,4 +51,143 @@
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
|
||||
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
|
||||
<defName>ARA_Proj_EggSac_BaseFighter</defName>
|
||||
<label>阿拉克涅虫卵</label>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_InteractiveEggSac_Basic_Fighter</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
|
||||
<defName>ARA_InteractiveEggSac_Basic_Fighter</defName>
|
||||
<label>阿拉克涅虫卵囊 战士虫</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程——参阅虫卵的超链接,了解各个督虫的特点。\n\n卵囊对温度极度敏感(该类型的卵适温为-10~22°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Fighter</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_1KYC</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
|
||||
<spawnablePawns>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_Fighter</pawnKind>
|
||||
<delayTicks>12</delayTicks>
|
||||
<requiredResearch>ARA_Technology_1KYC</requiredResearch>
|
||||
</li>
|
||||
</spawnablePawns>
|
||||
<whitelist>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</whitelist>
|
||||
<destroyOnSpawn>true</destroyOnSpawn>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-10</minSafeTemperature>
|
||||
<maxSafeTemperature>22</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
|
||||
<defName>ARA_Proj_EggSac</defName>
|
||||
<label>阿拉克涅虫卵</label>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_InteractiveEggSac</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
|
||||
<defName>ARA_InteractiveEggSac</defName>
|
||||
<label>阿拉克涅虫卵囊</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程——参阅虫卵的超链接,了解各个督虫的特点。\n\n卵囊对温度极度敏感(该类型的卵适温为-25~30°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_ShieldHead</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_WeaponSmith</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Base_Technology</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
|
||||
<spawnablePawns>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
|
||||
<delayTicks>180000</delayTicks>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
|
||||
<delayTicks>180000</delayTicks>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
|
||||
<delayTicks>180000</delayTicks>
|
||||
</li>
|
||||
</spawnablePawns>
|
||||
<whitelist>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</whitelist>
|
||||
<destroyOnSpawn>true</destroyOnSpawn>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-25</minSafeTemperature>
|
||||
<maxSafeTemperature>30</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
|
||||
<defName>ARA_InteractiveEggSac_Start</defName>
|
||||
<label>初诞阿拉克涅虫卵囊</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种初到此地所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程。\n\n初诞卵囊可以抵御极端天气并且拥有极快的孵化速度,但是它们只能支持少数几种虫族的孵化。</description>
|
||||
<minifiedDef Inherit="False" />
|
||||
<thingCategories Inherit="False" />
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_ShieldHead</ThingDef>
|
||||
<ThingDef>ArachnaeNode_Race_WeaponSmith</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
|
||||
<spawnablePawns>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
|
||||
<delayTicks>300</delayTicks>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
|
||||
<delayTicks>300</delayTicks>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
|
||||
<delayTicks>300</delayTicks>
|
||||
</li>
|
||||
</spawnablePawns>
|
||||
<whitelist>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</whitelist>
|
||||
<destroyOnSpawn>true</destroyOnSpawn>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-300</minSafeTemperature>
|
||||
<maxSafeTemperature>100</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
</Defs>
|
||||
|
||||
@@ -5,11 +5,20 @@ using Verse.AI.Group;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
// 新的统一入口类
|
||||
public class PawnSpawnEntry
|
||||
{
|
||||
public PawnKindDef pawnKind;
|
||||
public int delayTicks = 0; // 默认延迟为0
|
||||
public ResearchProjectDef requiredResearch; // 可选的科技需求
|
||||
}
|
||||
|
||||
public class CompProperties_SpawnPawnFromList : CompProperties
|
||||
{
|
||||
public List<PawnKindDef> pawnKinds;
|
||||
// 合并后的新列表
|
||||
public List<PawnSpawnEntry> spawnablePawns;
|
||||
|
||||
public List<PawnKindDef> whitelist;
|
||||
public List<PawnKindDelay> pawnKindDelays;
|
||||
public bool destroyOnSpawn = false;
|
||||
public IntRange spawnCount = new IntRange(1, 1);
|
||||
public Type lordJob;
|
||||
@@ -32,10 +41,4 @@ namespace ArachnaeSwarm
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class PawnKindDelay
|
||||
{
|
||||
public PawnKindDef pawnKind;
|
||||
public int delay;
|
||||
}
|
||||
@@ -13,14 +13,14 @@ namespace ArachnaeSwarm
|
||||
|
||||
private int spawnUntilTick = -1;
|
||||
private PawnKindDef spawningPawnKind;
|
||||
private PawnKindDef selectedPawnKind;
|
||||
private PawnSpawnEntry selectedEntry;
|
||||
public bool IsHatching => spawnUntilTick > 0;
|
||||
|
||||
|
||||
public override IEnumerable<FloatMenuOption> CompFloatMenuOptions(Pawn selPawn)
|
||||
{
|
||||
if (spawnUntilTick > 0)
|
||||
{
|
||||
yield break; // 正在延迟中,不显示菜单
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (Props.whitelist == null || !Props.whitelist.Contains(selPawn.kindDef))
|
||||
@@ -28,16 +28,29 @@ namespace ArachnaeSwarm
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (Props.pawnKinds != null)
|
||||
if (Props.spawnablePawns != null)
|
||||
{
|
||||
foreach (PawnKindDef pawnKind in Props.pawnKinds)
|
||||
foreach (PawnSpawnEntry entry in Props.spawnablePawns)
|
||||
{
|
||||
yield return new FloatMenuOption("ARA_Incubate".Translate(pawnKind.label), () =>
|
||||
if (entry.pawnKind == null) continue;
|
||||
|
||||
// 检查科技需求
|
||||
if (entry.requiredResearch != null && !entry.requiredResearch.IsFinished)
|
||||
{
|
||||
Job job = JobMaker.MakeJob(DefDatabase<JobDef>.GetNamed("ARA_IncubateJob"), parent);
|
||||
selectedPawnKind = pawnKind;
|
||||
selPawn.jobs.TryTakeOrderedJob(job);
|
||||
});
|
||||
// 科技未完成,显示灰色不可点击选项
|
||||
string disabledText = "ARA_Incubate".Translate(entry.pawnKind.label) + " (" + "Requires".Translate() + ": " + entry.requiredResearch.label + ")";
|
||||
yield return new FloatMenuOption(disabledText, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 科技已完成或无需求,显示正常选项
|
||||
yield return new FloatMenuOption("ARA_Incubate".Translate(entry.pawnKind.label), () =>
|
||||
{
|
||||
Job job = JobMaker.MakeJob(DefDatabase<JobDef>.GetNamed("ARA_IncubateJob"), parent);
|
||||
this.selectedEntry = entry; // 保存整个入口信息
|
||||
selPawn.jobs.TryTakeOrderedJob(job);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,9 +58,10 @@ namespace ArachnaeSwarm
|
||||
|
||||
public void StartIncubation()
|
||||
{
|
||||
spawningPawnKind = selectedPawnKind;
|
||||
int delay = Props.pawnKindDelays?.FirstOrDefault(pkd => pkd.pawnKind == selectedPawnKind)?.delay ?? 0;
|
||||
spawnUntilTick = Find.TickManager.TicksGame + delay;
|
||||
if (this.selectedEntry == null) return;
|
||||
|
||||
spawningPawnKind = this.selectedEntry.pawnKind;
|
||||
spawnUntilTick = Find.TickManager.TicksGame + this.selectedEntry.delayTicks;
|
||||
}
|
||||
|
||||
public override void CompTick()
|
||||
@@ -147,7 +161,7 @@ namespace ArachnaeSwarm
|
||||
base.PostExposeData();
|
||||
Scribe_Values.Look(ref spawnUntilTick, "spawnUntilTick", -1);
|
||||
Scribe_Defs.Look(ref spawningPawnKind, "spawningPawnKind");
|
||||
Scribe_Defs.Look(ref selectedPawnKind, "selectedPawnKind");
|
||||
// selectedEntry is transient and does not need to be saved.
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user