Files
ArachnaeSwarm/1.6/1.6/Defs/DamageDefs/ARA_Damage_Freeze.xml
2025-10-20 01:23:20 +08:00

190 lines
6.8 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>ArachnaeSwarm.DamageWorker_InstaKill</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>1</defaultArmorPenetration>
<buildingDamageFactorImpassable>0</buildingDamageFactorImpassable>
<buildingDamageFactorPassable>0</buildingDamageFactorPassable>
<explosionHeatEnergyPerCell>-15</explosionHeatEnergyPerCell>
<!-- <explosionCellFleck>ARA_BlastFrost</explosionCellFleck>
<explosionColorCenter>(0.52, 0.7, 0.95,0.5)</explosionColorCenter>
<explosionColorEdge>(0.52, 1, 0.95,0.5)</explosionColorEdge> -->
<explosionInteriorFleck>ARA_Fleck_Icez_Cloud</explosionInteriorFleck>
<soundExplosion>Explosion_Stun</soundExplosion>
<modExtensions>
<li Class="ArachnaeSwarm.InstaKillExtension">
<hediff>ARA_CryoShock</hediff>
<requiredDamagePercentageCurve>
<points>
<li>(0.2, 0.8)</li> <!-- 低严重性(0.2)时, 需要造成80%的伤害 -->
<li>(0.35, 0.65)</li>
<li>(0.5, 0.5)</li>
<li>(0.65, 0.35)</li>
<li>(0.85, 0.15)</li> <!-- 高严重性(0.85)时, 只需要造成15%的伤害 -->
</points>
</requiredDamagePercentageCurve>
<destroyChance>1.0</destroyChance>
</li>
</modExtensions>
</DamageDef>
<DamageDef ParentName="ARA_Damage_Freeze">
<defName>ARA_Damage_Freeze_ex</defName>
<workerClass>ArachnaeSwarm.DamageWorker_InstaKill</workerClass>
<additionalHediffs>
<li>
<hediff>ARA_CryoShock</hediff>
<severityPerDamageDealt>0.02</severityPerDamageDealt>
</li>
<li>
<hediff>ARA_Hediff_FrostCoverd_after</hediff>
<severityPerDamageDealt>0.02</severityPerDamageDealt>
<inverseStatScaling>true</inverseStatScaling>
<victimSeverityScalingByInvBodySize>true</victimSeverityScalingByInvBodySize>
</li>
</additionalHediffs>
</DamageDef>
<FleckDef ParentName="FleckBase">
<defName>ARA_Fleck_Icez_Cloud</defName>
<graphicData>
<texPath>ArachnaeSwarm/Mote/ARA_Icez_Cloud</texPath>
<shaderType>MoteGlow</shaderType>
<color>(63,223,222,180)</color>
</graphicData>
<altitudeLayer>MoteOverhead</altitudeLayer>
<fadeInTime>0.04</fadeInTime>
<solidTime>0.08</solidTime>
<fadeOutTime>0.13</fadeOutTime>
</FleckDef>
</Defs>