Files
ArachnaeSwarm/1.6/1.6/Defs/DamageDefs/ARA_Damage_Freeze.xml
2025-10-15 14:03:08 +08:00

165 lines
6.7 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_Hediff_FrostCoverd_after</defName>
<label>霜冻覆盖</label>
<description>此人被一片冰霜之云所覆盖。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>HediffWithComps</hediffClass>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-4</severityPerDay>
</li>
<li Class="ArachnaeSwarm.HediffCompProperties_TimedExplosion">
<damageDef>ARA_Damage_Freeze</damageDef>
<soundDef>Explosion_Stun</soundDef>
<explosionRadius>3</explosionRadius>
<showRemainingTime>true</showRemainingTime>
<damageAmount>5</damageAmount>
<armorPenetration>0.10</armorPenetration>
<disappearsAfterTicks>60~120</disappearsAfterTicks>
<postExplosionSpawnThingDef>ARA_FrostGasCloud</postExplosionSpawnThingDef>
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
<stages>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_CryoShock</defName>
<label>低温休克</label>
<description>此人正处于低温休克状态。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-6</severityPerDay>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.CurseFlameModExt">
<damageDefName>Stun</damageDefName>
<damageRange>1~2</damageRange>
<damageIntervalTicks>80</damageIntervalTicks>
</li>
</modExtensions>
<injuryProps>
<painPerSeverity>0.02</painPerSeverity>
</injuryProps>
<stages>
<li>
<label>轻微</label>
<becomeVisible>true</becomeVisible>
</li>
<li>
<label>轻微</label>
<minSeverity>0.2</minSeverity>
<statOffsets>
<ComfyTemperatureMin>40</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.10</offset>
</li>
</capMods>
</li>
<li>
<label>中等</label>
<minSeverity>0.35</minSeverity>
<statOffsets>
<ComfyTemperatureMin>80</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.20</offset>
</li>
</capMods>
</li>
<li>
<label>严重</label>
<minSeverity>0.5</minSeverity>
<statOffsets>
<ComfyTemperatureMin>120</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.20</offset>
</li>
</capMods>
</li>
<li>
<label>极度</label>
<minSeverity>0.65</minSeverity>
<statOffsets>
<ComfyTemperatureMin>160</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.30</offset>
</li>
</capMods>
</li>
<li>
<label>完全</label>
<minSeverity>0.85</minSeverity>
<statOffsets>
<ComfyTemperatureMin>200</ComfyTemperatureMin>
</statOffsets>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.30</offset>
</li>
</capMods>
</li>
</stages>
</HediffDef>
<!-- 然后是冷冻伤害本身的定义 -->
<DamageDef Name="ARA_Damage_Freeze">
<defName>ARA_Damage_Freeze</defName>
<label>冷冻</label>
<workerClass>DamageWorker_Frostbite</workerClass> <!-- 使用原版的伤害工人 -->
<externalViolence>true</externalViolence>
<deathMessage>{0}的身体在极寒中化为了冰雕,随后碎裂四散。</deathMessage>
<hediff>Frostbite</hediff> <!-- 核心将伤害转化为这个Hediff的严重性 -->
<harmsHealth>false</harmsHealth> <!-- 核心!不造成常规生命值伤害 -->
<armorCategory>Heat</armorCategory> <!-- 可以被抗热/冷的护甲减免 -->
<overkillPctToDestroyPart>0</overkillPctToDestroyPart> <!-- 伤害足够时直接摧毁我们的C#代码会处理这个) -->
<defaultDamage>3</defaultDamage>
<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 ParentName="ARA_Damage_Freeze">
<defName>ARA_Damage_Freeze_ex</defName>
<additionalHediffs>
<li>
<hediff>ARA_CryoShock</hediff>
<severityPerDamageDealt>0.01</severityPerDamageDealt>
</li>
<li>
<hediff>ARA_Hediff_FrostCoverd_after</hediff>
<severityPerDamageDealt>0.01</severityPerDamageDealt>
<inverseStatScaling>true</inverseStatScaling>
<victimSeverityScalingByInvBodySize>true</victimSeverityScalingByInvBodySize>
</li>
</additionalHediffs>
</DamageDef>
</Defs>