2025-8-21

This commit is contained in:
Tourswen
2025-08-21 00:10:28 +08:00
parent 51f64ba903
commit 8c50acf54a
11 changed files with 178 additions and 118 deletions

View File

@@ -23,4 +23,30 @@
<drawSize>(0.06,0.25)</drawSize>
</graphicData>
</FleckDef>
<FleckDef ParentName="FleckBase">
<defName>Blast_WULA_Plasm_Explosive</defName>
<graphicData>
<texPath>Things/Mote/BlastEMP</texPath>
<shaderType>TransparentPostLight</shaderType>
<renderInstanced>true</renderInstanced>
<color>(0.1, 0.9, 0.1 , 0.5)</color>
</graphicData>
<altitudeLayer>MoteOverhead</altitudeLayer>
<solidTime>0</solidTime>
<fadeOutTime>0.2</fadeOutTime>
</FleckDef>
<FleckDef ParentName="FleckBase">
<defName>ElectricalSpark_WULA_Plasm_Explosive</defName>
<graphicData>
<texPath>Wula/Mote/ElectricalSpark_WULA_Plasm_Explosive</texPath>
<shaderType>MoteGlow</shaderType>
<!-- <color>(0.2, 0.8, 0.3 ,0.8)</color> -->
</graphicData>
<altitudeLayer>MoteOverhead</altitudeLayer>
<fadeInTime>0.04</fadeInTime>
<solidTime>0.08</solidTime>
<fadeOutTime>0.13</fadeOutTime>
</FleckDef>
</Defs>

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>WULA_RW_Plasm_HomingExplosive</defName>
<label>PMe-92"磷灰"</label>
<description>搭载于SNm-6"头狼"机甲的高能等离子武器,会发射一连串密集且携带跟踪性能的等离子射弹,引起熔融爆炸并毁灭敌军。</description>
<techLevel>Spacer</techLevel>
<graphicData>
<texPath>Wula/Weapon/WULA_WM_Alpha_Wolf_Plasm_Gun</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.4</drawSize>
</graphicData>
<generateCommonality>0.8</generateCommonality>
<soundInteract>Interact_ChargeRifle</soundInteract> <!-- Placeholder, needs a proper sound -->
<recipeMaker Inherit="False"/>
<statBases>
<WorkToMake>2000</WorkToMake>
<Mass>5.0</Mass>
<AccuracyTouch>0.4</AccuracyTouch>
<AccuracyShort>0.6</AccuracyShort>
<AccuracyMedium>0.7</AccuracyMedium>
<AccuracyLong>0.65</AccuracyLong>
<RangedWeapon_Cooldown>3.0</RangedWeapon_Cooldown>
</statBases>
<costList Inherit="False">
<Steel>150</Steel>
<ComponentIndustrial>8</ComponentIndustrial>
<Plasteel>30</Plasteel>
<Uranium>10</Uranium>
</costList>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_WULA_RW_Plasm_HomingExplosive</defaultProjectile>
<warmupTime>1.25</warmupTime>
<range>48</range>
<burstShotCount>6</burstShotCount>
<ticksBetweenBurstShots>3</ticksBetweenBurstShots>
<soundCast>ChargeLance_Fire</soundCast>
<soundCastTail>GunTail_Medium</soundCastTail>
<muzzleFlashScale>7</muzzleFlashScale>
</li>
</verbs>
<weaponTags>
<li>WULA_WM_Alpha_Wolf_Plasm_Gun</li>
</weaponTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_WULA_RW_Plasm_HomingExplosive</defName>
<label>磷灰等离子体爆弹</label>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_Plasm</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>MoteGlow</shaderType>
<color>(61,199,157,202)</color>
<drawSize>(1.5,2)</drawSize>
</graphicData>
<thingClass>WulaFallenEmpire.Projectile_ExplosiveTrackingBullet</thingClass>
<projectile>
<speed>30</speed>
<damageDef>Damage_WULA_Plasm_Explosive</damageDef>
<damageAmountBase>10</damageAmountBase>
<armorPenetrationBase>0.7</armorPenetrationBase>
<stoppingPower>2.0</stoppingPower>
</projectile>
<modExtensions>
<li Class="WulaFallenEmpire.ExplosiveTrackingBulletDef">
<explosionRadius>2.5</explosionRadius>
<damageDef>Damage_WULA_Plasm_Explosive</damageDef>
</li>
<li Class="WulaFallenEmpire.TrackingBulletDef">
<homingSpeed>0.25</homingSpeed>
<initRotateAngle>90</initRotateAngle>
<destroyTicksAfterLosingTrack>
<min>60</min>
<max>120</max>
</destroyTicksAfterLosingTrack>
<tailFleckDef>WULA_GunTail_Blue</tailFleckDef>
<impactThreshold>1</impactThreshold>
</li>
</modExtensions>
</ThingDef>
<DamageDef>
<defName>Damage_WULA_Plasm_Explosive</defName>
<label>熔融爆炸</label>
<!-- <externalViolenceForMechanoids>true</externalViolenceForMechanoids> -->
<deathMessage>{0} 被等离子体引发的熔融爆炸炸死了。</deathMessage>
<workerClass>DamageWorker_AddInjury</workerClass>
<externalViolence>true</externalViolence>
<!-- <isExplosive>true</isExplosive> -->
<hediff>Shredded</hediff>
<hediffSolid>Crack</hediffSolid>
<harmAllLayersUntilOutside>true</harmAllLayersUntilOutside>
<armorCategory>Sharp</armorCategory>
<!-- <harmsHealth>false</harmsHealth> -->
<impactSoundType>Electric</impactSoundType>
<defaultDamage>50</defaultDamage>
<minDamageToFragment>5</minDamageToFragment>
<defaultStoppingPower>3</defaultStoppingPower>
<defaultArmorPenetration>0.75</defaultArmorPenetration>
<buildingDamageFactorImpassable>6</buildingDamageFactorImpassable>
<buildingDamageFactorPassable>3</buildingDamageFactorPassable>
<plantDamageFactor>8</plantDamageFactor>
<explosionHeatEnergyPerCell>5</explosionHeatEnergyPerCell>
<!-- <explosionSnowMeltAmount>0</explosionSnowMeltAmount> -->
<explosionCellFleck>Blast_WULA_Plasm_Explosive</explosionCellFleck>
<explosionColorCenter>(0.2, 0.8, 0.3)</explosionColorCenter>
<explosionColorEdge>(0.1, 0.9, 0.5)</explosionColorEdge>
<explosionInteriorFleck>ElectricalSpark_WULA_Plasm_Explosive</explosionInteriorFleck>
<soundExplosion>Explosion_EMP</soundExplosion>
<combatLogRules>Damage_Bomb</combatLogRules>
</DamageDef>
</Defs>

View File

@@ -409,6 +409,9 @@
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_Plasm</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>MoteGlow</shaderType>
<color>(61,199,157,202)</color>
<drawSize>(0.75,1)</drawSize>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>

View File

@@ -62,19 +62,20 @@
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_WULA_RW_Plasm_Homing_AR</defName>
<label>磷叶等离子体射弹</label>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_Plasm</texPath>
<graphicClass>Graphic_Single</graphicClass>
<color>(61,199,157,202)</color>
<drawSize>(0.75,1)</drawSize>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<damageAmountBase>16</damageAmountBase>
<armorPenetrationBase>0.75</armorPenetrationBase>
<speed>55</speed>
<speed>30</speed>
</projectile>
<thingClass>WulaFallenEmpire.Projectile_TrackingBullet</thingClass>
<modExtensions>
@@ -92,99 +93,4 @@
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>WULA_Weapon_Plasm_HomingExplosive</defName>
<label>PMr-92"夹竹桃"</label>
<description>乌拉帝国的旧式多用途突击步枪,搭载了一套用于发射等离子体追踪爆弹的谐振器,可以射出高精度的等离子体追踪爆弹,擅长区域压制和造成重创。</description>
<techLevel>Spacer</techLevel>
<graphicData>
<texPath>Wula/Weapon/WULA_RW_Plasm_AR</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.4</drawSize>
</graphicData>
<generateCommonality>0.8</generateCommonality>
<soundInteract>Interact_ChargeRifle</soundInteract> <!-- Placeholder, needs a proper sound -->
<weaponClasses>
<li>LongShots</li>
<li>RangedHeavy</li>
</weaponClasses>
<recipeMaker>
<recipeUsers Inherit="False">
<li>WULA_Cube_Productor_BIO</li>
<li>WULA_Cube_Productor_Energy</li>
</recipeUsers>
<researchPrerequisite>WULA_Synth_Weapon_Technology</researchPrerequisite>
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<statBases>
<WorkToMake>2000</WorkToMake>
<Mass>5.0</Mass>
<AccuracyTouch>0.4</AccuracyTouch>
<AccuracyShort>0.6</AccuracyShort>
<AccuracyMedium>0.7</AccuracyMedium>
<AccuracyLong>0.65</AccuracyLong>
<RangedWeapon_Cooldown>3.0</RangedWeapon_Cooldown>
</statBases>
<costList Inherit="False">
<Steel>150</Steel>
<ComponentIndustrial>8</ComponentIndustrial>
<Plasteel>30</Plasteel>
<Uranium>10</Uranium>
</costList>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_WULA_Weapon_Plasm_HomingExplosive</defaultProjectile>
<warmupTime>1.25</warmupTime>
<range>28</range>
<burstShotCount>6</burstShotCount>
<ticksBetweenBurstShots>3</ticksBetweenBurstShots>
<soundCast>ChargeLance_Fire</soundCast>
<soundCastTail>GunTail_Medium</soundCastTail>
<muzzleFlashScale>7</muzzleFlashScale>
</li>
</verbs>
<weaponTags>
<li>Wula_Weapon_Init</li>
<li>HomingExplosiveWeapon</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_WULA_Weapon_Plasm_HomingExplosive</defName>
<label>夹竹桃等离子体爆弹</label>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_Plasm</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<thingClass>WulaFallenEmpire.Projectile_ExplosiveTrackingBullet</thingClass>
<projectile>
<speed>60</speed>
<damageDef>Bomb</damageDef>
<damageAmountBase>10</damageAmountBase>
<armorPenetrationBase>0.7</armorPenetrationBase>
<stoppingPower>2.0</stoppingPower>
</projectile>
<modExtensions>
<li Class="WulaFallenEmpire.ExplosiveTrackingBulletDef">
<explosionRadius>1.1</explosionRadius>
<damageDef>Bomb</damageDef>
</li>
<li Class="WulaFallenEmpire.TrackingBulletDef">
<homingSpeed>0.1</homingSpeed>
<initRotateAngle>15</initRotateAngle>
<destroyTicksAfterLosingTrack>
<min>60</min>
<max>120</max>
</destroyTicksAfterLosingTrack>
<tailFleckDef>WULA_GunTail_Blue</tailFleckDef>
<impactThreshold>1</impactThreshold>
</li>
</modExtensions>
</ThingDef>
</Defs>

View File

@@ -48,7 +48,7 @@
<productionQueue>
<li>
<pawnKind>WULA_Alpha_Wolf</pawnKind>
<count>2</count>
<count>3</count>
<cooldownTicks>600</cooldownTicks> <!-- 独立冷却: 10秒 -->
<cost>10</cost> <!-- 独立成本: 10 钢铁 -->
</li>
@@ -189,6 +189,12 @@
</bodyGraphicData>
</li>
</lifeStages>
<weaponMoney>99999~99999</weaponMoney>
<weaponTags>
<li>WULA_WM_Alpha_Wolf_Plasm_Gun</li>
</weaponTags>
<controlGroupPortraitZoom>0.7</controlGroupPortraitZoom>
</PawnKindDef>

View File

@@ -1,23 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationInsert" MayRequire="MemeGoddess.SearchAndDestroy">
<xpath>Defs/ThinkTreeDef[defName = "WULA_Humanlike"]/thinkRoot[@Class = "ThinkNode_Priority"]/subNodes/li[@Class="ThinkNode_ConditionalColonist"]</xpath> <!--Priority is important here, hence the insert after this specific subNode-->
<value>
<!-- Do search and destroy instead of waiting -->
<li Class="SearchAndDestroy.ThinkNode_ConditionalSearchAndDestroy">
<subNodes>
<li Class="ThinkNode_Priority">
<subNodes>
<!-- <li Class="JobGiver_MoveToStandable"/> -->
<li Class="SearchAndDestroy.JobGiver_AIFightEnemiesShortExp">
<targetAcquireRadius>200</targetAcquireRadius>
<targetKeepRadius>72</targetKeepRadius>
</li>
<li Class="SearchAndDestroy.JobGiver_GoWithinRangeOfHostile"/>
</subNodes>
</li>
</subNodes>
</li>
</value>
</Operation>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Search and Destroy (Continued)</li>
</mods>
<match Class="PatchOperationInsert">
<xpath>Defs/ThinkTreeDef[defName = "WULA_Humanlike"]/thinkRoot[@Class = "ThinkNode_Priority"]/subNodes/li[@Class="ThinkNode_ConditionalColonist"]</xpath> <!--Priority is important here, hence the insert after this specific subNode-->
<value>
<!-- Do search and destroy instead of waiting -->
<li Class="SearchAndDestroy.ThinkNode_ConditionalSearchAndDestroy">
<subNodes>
<li Class="ThinkNode_Priority">
<subNodes>
<!-- <li Class="JobGiver_MoveToStandable"/> -->
<li Class="SearchAndDestroy.JobGiver_AIFightEnemiesShortExp">
<targetAcquireRadius>200</targetAcquireRadius>
<targetKeepRadius>72</targetKeepRadius>
</li>
<li Class="SearchAndDestroy.JobGiver_GoWithinRangeOfHostile"/>
</subNodes>
</li>
</subNodes>
</li>
</value>
</match>
</Operation>
</Patch>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB