This commit is contained in:
2025-10-15 14:03:08 +08:00
parent 4d743c74e0
commit 601d20b6a1
8 changed files with 12 additions and 325 deletions

View File

@@ -1,112 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 首先是冷冻效果的定义 -->
<HediffDef>
<defName>ARA_Hediff_Frozen</defName>
<label>冷冻中</label>
<description>这个身体部位正在被冷冻。移动会因此减慢。如果该部位被完全冷冻,它将在下一次受到冲击时碎裂。</description>
<hediffClass>ArachnaeSwarm.Hediff_Frozen</hediffClass>
<isBad>true</isBad>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-6</severityPerDay>
</li>
<li Class="ArachnaeSwarm.HediffCompProperties_GlobalFreeze">
<stunThreshold>0.3</stunThreshold> <!-- 全身30%的健康值被转化为冷冻值时,目标将被眩晕 -->
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
<injuryProps>
<painPerSeverity>0</painPerSeverity>
<canMerge>true</canMerge>
<destroyedLabel>已碎裂</destroyedLabel>
</injuryProps>
<stages>
<li>
<label>轻微</label>
<becomeVisible>true</becomeVisible>
</li>
<li>
<label>轻微</label>
<minSeverity>0.2</minSeverity>
<statOffsets>
<ComfyTemperatureMin>40</ComfyTemperatureMin>
</statOffsets>
<capMods>
</capMods>
</li>
<li>
<label>中等</label>
<minSeverity>0.35</minSeverity>
<statOffsets>
<ComfyTemperatureMin>80</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Moving</capacity>
<offset>-0.1</offset>
</li>
<li>
<capacity>Manipulation</capacity>
<offset>-0.2</offset>
</li>
</capMods>
</li>
<li>
<label>严重</label>
<minSeverity>0.5</minSeverity>
<statOffsets>
<ComfyTemperatureMin>120</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Moving</capacity>
<offset>-0.3</offset>
</li>
<li>
<capacity>Manipulation</capacity>
<offset>-0.4</offset>
</li>
</capMods>
</li>
<li>
<label>极度</label>
<minSeverity>0.65</minSeverity>
<statOffsets>
<ComfyTemperatureMin>160</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Moving</capacity>
<offset>-0.5</offset>
</li>
<li>
<capacity>Manipulation</capacity>
<offset>-0.6</offset>
</li>
</capMods>
</li>
<li>
<label>完全</label>
<minSeverity>0.85</minSeverity>
<statOffsets>
<ComfyTemperatureMin>200</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Moving</capacity>
<setMax>0.2</setMax>
</li>
<li>
<capacity>Manipulation</capacity>
<setMax>0.2</setMax>
</li>
</capMods>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_Hediff_FrostCoverd_after</defName>
<label>霜冻覆盖</label>
@@ -230,14 +124,13 @@
</HediffDef>
<!-- 然后是冷冻伤害本身的定义 -->
<DamageDef>
<DamageDef Name="ARA_Damage_Freeze">
<defName>ARA_Damage_Freeze</defName>
<label>冷冻</label>
<workerClass>DamageWorker_AddInjury</workerClass> <!-- 使用原版的伤害工人 -->
<workerClass>DamageWorker_Frostbite</workerClass> <!-- 使用原版的伤害工人 -->
<externalViolence>true</externalViolence>
<deathMessage>{0}的身体在极寒中化为了冰雕,随后碎裂四散。</deathMessage>
<hediff>ARA_Hediff_Frozen</hediff> <!-- 核心将伤害转化为这个Hediff的严重性 -->
<hediffSolid>ARA_Hediff_Frozen</hediffSolid> <!-- 对非血肉生物也使用这个Hediff -->
<hediff>Frostbite</hediff> <!-- 核心将伤害转化为这个Hediff的严重性 -->
<harmsHealth>false</harmsHealth> <!-- 核心!不造成常规生命值伤害 -->
<armorCategory>Heat</armorCategory> <!-- 可以被抗热/冷的护甲减免 -->
<overkillPctToDestroyPart>0</overkillPctToDestroyPart> <!-- 伤害足够时直接摧毁我们的C#代码会处理这个) -->
@@ -245,29 +138,21 @@
<defaultArmorPenetration>0</defaultArmorPenetration>
<buildingDamageFactorImpassable>0</buildingDamageFactorImpassable>
<buildingDamageFactorPassable>0</buildingDamageFactorPassable>
<explosionHeatEnergyPerCell>-15</explosionHeatEnergyPerCell>
<explosionCellFleck>BlastFlame</explosionCellFleck>
<explosionColorCenter>(0.52, 0.7, 0.95,0.5)</explosionColorCenter>
<explosionColorEdge>(0.52, 1, 0.95,0.5)</explosionColorEdge>
<soundExplosion>Explosion_Flame</soundExplosion>
</DamageDef>
<!-- 然后是冷冻伤害本身的定义 -->
<DamageDef>
<DamageDef ParentName="ARA_Damage_Freeze">
<defName>ARA_Damage_Freeze_ex</defName>
<label>冷冻</label>
<workerClass>DamageWorker_AddInjury</workerClass> <!-- 使用原版的伤害工人 -->
<externalViolence>true</externalViolence>
<deathMessage>{0}的身体在极寒中化为了冰雕,随后碎裂四散。</deathMessage>
<hediff>ARA_Hediff_Frozen</hediff> <!-- 核心将伤害转化为这个Hediff的严重性 -->
<hediffSolid>ARA_Hediff_Frozen</hediffSolid> <!-- 对非血肉生物也使用这个Hediff -->
<harmsHealth>false</harmsHealth> <!-- 核心!不造成常规生命值伤害 -->
<armorCategory>Heat</armorCategory> <!-- 可以被抗热/冷的护甲减免 -->
<overkillPctToDestroyPart>0</overkillPctToDestroyPart> <!-- 伤害足够时直接摧毁我们的C#代码会处理这个) -->
<defaultDamage>3</defaultDamage>
<defaultArmorPenetration>0</defaultArmorPenetration>
<buildingDamageFactorImpassable>0</buildingDamageFactorImpassable>
<buildingDamageFactorPassable>0</buildingDamageFactorPassable>
<additionalHediffs>
<li>
<hediff>ARA_CryoShock</hediff>
<severityPerDamageDealt>0.01</severityPerDamageDealt>
</li>
<hediff>ARA_CryoShock</hediff>
<severityPerDamageDealt>0.01</severityPerDamageDealt>
</li>
<li>
<hediff>ARA_Hediff_FrostCoverd_after</hediff>
<severityPerDamageDealt>0.01</severityPerDamageDealt>

View File

@@ -108,7 +108,6 @@
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
<soundExplode>Explosion_Stun</soundExplode>
<doExplosionVFX>false</doExplosionVFX>
</projectile>
<comps>
<li Class="CompProperties_ProjectileEffecter">