有一点自私的护盾

This commit is contained in:
2025-07-23 18:50:51 +08:00
parent 6414a2a033
commit db4d08e4bd
7 changed files with 581 additions and 54 deletions

View File

@@ -479,13 +479,31 @@
</skillRequirements>
</recipeMaker>
<comps>
<li Class="CompProperties_Shield">
<startingTicksToReset>3600</startingTicksToReset><!-- 1 mins -->
<minDrawSize>2.5</minDrawSize>
<maxDrawSize>2.8</maxDrawSize>
<energyLossPerDamage>0.01</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
<li Class="WulaFallenEmpire.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>2.5</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>500</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>true</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.9, 0.8, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundIntercept>Interceptor_BlockedProjectile</soundIntercept> <!-- 成功拦截时的音效 -->
<soundBreak>Shield_Break</soundBreak> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>false</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>600</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>60</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
</comps>
</ThingDef>
@@ -533,13 +551,31 @@
<li>RewardStandardHighFreq</li>
</thingSetMakerTags>
<comps>
<li Class="CompProperties_Shield">
<startingTicksToReset>3600</startingTicksToReset><!-- 1 mins -->
<minDrawSize>2.5</minDrawSize>
<maxDrawSize>2.8</maxDrawSize>
<energyLossPerDamage>0.01</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
<li Class="WulaFallenEmpire.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>2.5</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>500</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.9, 0.8, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundIntercept>Interceptor_BlockedProjectile</soundIntercept> <!-- 成功拦截时的音效 -->
<soundBreak>Shield_Break</soundBreak> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>false</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>600</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>60</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
</comps>
</ThingDef>
@@ -904,13 +940,31 @@
<chargeNoun>炮弹</chargeNoun>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
</li>
<li Class="CompProperties_Shield">
<startingTicksToReset>3600</startingTicksToReset><!-- 1 mins -->
<minDrawSize>2.5</minDrawSize>
<maxDrawSize>2.8</maxDrawSize>
<energyLossPerDamage>0.01</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
<li Class="WulaFallenEmpire.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>2.5</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>500</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.9, 0.8, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundIntercept>Interceptor_BlockedProjectile</soundIntercept> <!-- 成功拦截时的音效 -->
<soundBreak>Shield_Break</soundBreak> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>false</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>600</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>60</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
</comps>
<verbs>
@@ -1039,13 +1093,31 @@
<chargeNoun>炮弹</chargeNoun>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
</li>
<li Class="CompProperties_Shield">
<startingTicksToReset>3600</startingTicksToReset><!-- 1 mins -->
<minDrawSize>2.5</minDrawSize>
<maxDrawSize>2.8</maxDrawSize>
<energyLossPerDamage>0.01</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
<li Class="WulaFallenEmpire.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>2.5</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>500</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.9, 0.8, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundIntercept>Interceptor_BlockedProjectile</soundIntercept> <!-- 成功拦截时的音效 -->
<soundBreak>Shield_Break</soundBreak> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>false</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>600</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>60</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
<li Class="CompProperties_CauseHediff_Apparel">
<hediff>WULA_Heavy_Infantry_PowerArmor_PowerFist</hediff>
@@ -1290,13 +1362,31 @@
<chargeNoun>梭镖</chargeNoun>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
</li>
<li Class="CompProperties_Shield">
<startingTicksToReset>3600</startingTicksToReset><!-- 1 mins -->
<minDrawSize>2.5</minDrawSize>
<maxDrawSize>2.8</maxDrawSize>
<energyLossPerDamage>0.01</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
<li Class="WulaFallenEmpire.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>2.5</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>500</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.9, 0.8, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundIntercept>Interceptor_BlockedProjectile</soundIntercept> <!-- 成功拦截时的音效 -->
<soundBreak>Shield_Break</soundBreak> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>false</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>600</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>60</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
</comps>
<verbs>
@@ -1345,4 +1435,4 @@
<label>盾牌</label>
<drawOrder>275</drawOrder>
</ApparelLayerDef>
</Defs>
</Defs>