This commit is contained in:
2025-08-20 13:27:51 +08:00
parent eaf2f54569
commit 617f8da51e
15 changed files with 1295 additions and 61 deletions

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FleckDef ParentName="FleckBase">
<defName>WULA_GunTail_Blue</defName>
<altitudeLayer>Projectile</altitudeLayer>
<fadeOutTime>0.5</fadeOutTime>
<graphicData>
<texPath>Things/Projectile/ChargeLanceShot</texPath>
<shaderType>MoteGlow</shaderType>
<drawSize>(0.45,2)</drawSize>
</graphicData>
</FleckDef>
<FleckDef ParentName="FleckBase">
<defName>WULA_GunTail_Smoke</defName>
<altitudeLayer>Projectile</altitudeLayer>
<fadeOutTime>0.23</fadeOutTime>
<graphicData>
<texPath>Things/Others/Smoke_Dark</texPath>
<shaderType>TransparentPostLight</shaderType>
<drawSize>(0.06,0.25)</drawSize>
</graphicData>
</FleckDef>
</Defs>

View File

@@ -1725,7 +1725,6 @@
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_WULA_WM_Panzer_Turret</defaultProjectile>
<warmupTime>0</warmupTime>
<forcedMissRadius>0.1</forcedMissRadius>
<minRange>5.9</minRange>
<range>75</range>
<burstShotCount>1</burstShotCount>

View File

@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>Weapon_ExampleCruiseMissileLauncher</defName>
<label>Cruise Missile Launcher</label>
<description>A heavy launcher designed for cruise missiles, capable of long-range precision strikes and area bombardment.</description>
<techLevel>Spacer</techLevel>
<graphicData>
<texPath>Things/Item/Weapon/Launcher</texPath> <!-- Placeholder, needs a proper texture path -->
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<generateCommonality>1</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>2500</WorkToMake>
<Mass>6.0</Mass>
<AccuracyTouch>0.3</AccuracyTouch>
<AccuracyShort>0.5</AccuracyShort>
<AccuracyMedium>0.6</AccuracyMedium>
<AccuracyLong>0.7</AccuracyLong>
<RangedWeapon_Cooldown>4.0</RangedWeapon_Cooldown>
</statBases>
<costList Inherit="False">
<Steel>180</Steel>
<ComponentIndustrial>10</ComponentIndustrial>
<Plasteel>40</Plasteel>
<Uranium>15</Uranium>
</costList>
<verbs>
<li>
<verbClass>Verb_LaunchProjectile</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_ExampleCruiseMissile</defaultProjectile>
<warmupTime>3.0</warmupTime>
<range>60</range>
<burstShotCount>1</burstShotCount>
<soundCast>Shot_ChargeLance</soundCast> <!-- Placeholder, needs a proper sound -->
<soundCastTail>GunTail_Heavy</soundCastTail>
<muzzleFlashScale>15</muzzleFlashScale>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
<forcedMiss>false</forcedMiss>
</li>
</verbs>
<weaponTags>
<li>Wula_Weapon_Init</li>
<li>CruiseMissileLauncher</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ExampleCruiseMissile</defName>
<label>cruise missile</label>
<graphicData>
<texPath>Things/Projectile/Bullet_Big</texPath> <!-- Placeholder, needs a proper texture path -->
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<thingClass>WulaFallenEmpire.Projectile_CruiseMissile</thingClass>
<projectile>
<speed>30</speed>
<damageDef>Bomb</damageDef>
<damageAmountBase>20</damageAmountBase>
<stoppingPower>2.5</stoppingPower>
<armorPenetrationBase>0.8</armorPenetrationBase>
<soundExplode>Explosion_Bomb</soundExplode>
<soundImpactAnticipate>Impact_Metal</soundImpactAnticipate>
<flyOverhead>true</flyOverhead>
<shadowSize>1.0</shadowSize>
<explosionRadius>4.0</explosionRadius>
<postExplosionSpawnThingDef>Filth_Rubble</postExplosionSpawnThingDef>
<postExplosionSpawnChance>1.0</postExplosionSpawnChance>
<postExplosionSpawnThingCount>5</postExplosionSpawnThingCount>
<explosionDelay>120</explosionDelay>
<screenShakeFactor>1.5</screenShakeFactor>
<applyDamageToExplosionCellsNeighbors>true</applyDamageToExplosionCellsNeighbors>
<preExplosionSpawnChance>1.0</preExplosionSpawnChance>
<preExplosionSpawnThingCount>8</preExplosionSpawnThingCount>
<explosionChanceToStartFire>0.7</explosionChanceToStartFire>
<explosionDamageFalloff>true</explosionDamageFalloff>
<doExplosionVFX>true</doExplosionVFX>
<modExtensions>
<li Class="WulaFallenEmpire.CruiseMissileProperties">
<customDamageDef>Bomb</customDamageDef>
<customDamageAmount>25</customDamageAmount>
<customExplosionRadius>3.5</customExplosionRadius>
<customSoundExplode>Explosion_Bomb</customSoundExplode>
<useSubExplosions>true</useSubExplosions>
<subExplosionCount>5</subExplosionCount>
<subExplosionRadius>2.0</subExplosionRadius>
<subExplosionDamage>15</subExplosionDamage>
<subExplosionSpread>7.0</subExplosionSpread>
<subDamageDef>Bomb</subDamageDef>
<subSoundExplode>Explosion_Bomb</subSoundExplode>
<tailFleckDef>WULA_GunTail_Smoke</tailFleckDef>
<homingSpeed>0.05</homingSpeed>
<initRotateAngle>15</initRotateAngle>
<destroyTicksAfterLosingTrack>
<min>180</min>
<max>300</max>
</destroyTicksAfterLosingTrack>
<speedChangePerTick>0.001</speedChangePerTick>
<speedRangeOverride>
<min>10</min>
<max>20</max>
</speedRangeOverride>
<proximityFuseRange>1.5</proximityFuseRange>
</li>
</modExtensions>
</projectile>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>Weapon_ExampleHomingGun</defName>
<label>Homing Rifle</label>
<description>A rifle designed to fire homing projectiles. It can track targets and adjust its trajectory in real-time.</description>
<techLevel>Spacer</techLevel>
<graphicData>
<texPath>Things/Item/Weapon/Rifle</texPath> <!-- Placeholder, needs a proper texture path -->
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<generateCommonality>1</generateCommonality>
<soundInteract>Interact_Rifle</soundInteract>
<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>1500</WorkToMake>
<Mass>3.0</Mass>
<AccuracyTouch>0.6</AccuracyTouch>
<AccuracyShort>0.75</AccuracyShort>
<AccuracyMedium>0.85</AccuracyMedium>
<AccuracyLong>0.8</AccuracyLong>
<RangedWeapon_Cooldown>1.2</RangedWeapon_Cooldown>
</statBases>
<costList Inherit="False">
<Steel>100</Steel>
<ComponentIndustrial>5</ComponentIndustrial>
<Plasteel>20</Plasteel>
</costList>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_ExampleHoming</defaultProjectile>
<warmupTime>1.0</warmupTime>
<range>35</range>
<burstShotCount>1</burstShotCount>
<soundCast>Shot_ChargeRifle</soundCast> <!-- Placeholder, needs a proper sound -->
<soundCastTail>GunTail_Medium</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
</li>
</verbs>
<weaponTags>
<li>Wula_Weapon_Init</li>
<li>HomingWeapon</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ExampleHoming</defName>
<label>homing bullet</label>
<graphicData>
<texPath>Things/Projectile/Bullet_Big</texPath> <!-- Placeholder, needs a proper texture path -->
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<thingClass>WulaFallenEmpire.Projectile_Homing</thingClass>
<projectile>
<speed>30</speed>
<damageDef>Bullet</damageDef>
<damageAmountBase>15</damageAmountBase>
<stoppingPower>1.5</stoppingPower>
<armorPenetrationBase>0.5</armorPenetrationBase>
<soundExplode>Explosion_Blasting</soundExplode>
<soundImpactAnticipate>Impact_Metal</soundImpactAnticipate>
<flyOverhead>false</flyOverhead>
<shadowSize>0.5</shadowSize>
<explosionRadius>0.5</explosionRadius>
<postExplosionSpawnThingDef>Filth_Rubble</postExplosionSpawnThingDef>
<postExplosionSpawnChance>0.5</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
<explosionDelay>0</explosionDelay>
<screenShakeFactor>0.5</screenShakeFactor>
<applyDamageToExplosionCellsNeighbors>false</applyDamageToExplosionCellsNeighbors>
<preExplosionSpawnChance>0.5</preExplosionSpawnChance>
<preExplosionSpawnThingCount>1</preExplosionSpawnThingCount>
<explosionChanceToStartFire>0.1</explosionChanceToStartFire>
<explosionDamageFalloff>true</explosionDamageFalloff>
<doExplosionVFX>true</doExplosionVFX>
<modExtensions>
<li Class="WulaFallenEmpire.HomingProjectileDef">
<initRotateAngle>10</initRotateAngle>
<homingSpeed>0.05</homingSpeed>
<destroyTicksAfterLosingTrack>60</destroyTicksAfterLosingTrack>
<proximityFuseRange>1.5</proximityFuseRange>
<hitChance>0.8</hitChance>
<extraProjectile>Bullet_ExampleHoming</extraProjectile>
<SpeedChangeTilesPerTickOverride>0.05</SpeedChangeTilesPerTickOverride>
<SpeedRangeTilesPerTickOverride>
<min>20</min>
<max>40</max>
</SpeedRangeTilesPerTickOverride>
<tailFleckDef>WULA_GunTail_Smoke</tailFleckDef>
</li>
</modExtensions>
</projectile>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>Weapon_ExampleHomingExplosiveLauncher</defName>
<label>Homing Explosive Launcher</label>
<description>A powerful launcher that fires homing projectiles with explosive payloads. Ideal for area denial and heavy damage.</description>
<techLevel>Spacer</techLevel>
<graphicData>
<texPath>Things/Item/Weapon/Launcher</texPath> <!-- Placeholder, needs a proper texture path -->
<graphicClass>Graphic_Single</graphicClass>
</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_ExampleHomingExplosive</defaultProjectile>
<warmupTime>2.5</warmupTime>
<range>40</range>
<burstShotCount>1</burstShotCount>
<soundCast>Shot_ChargeLance</soundCast> <!-- Placeholder, needs a proper sound -->
<soundCastTail>GunTail_Heavy</soundCastTail>
<muzzleFlashScale>12</muzzleFlashScale>
</li>
</verbs>
<weaponTags>
<li>Wula_Weapon_Init</li>
<li>HomingExplosiveWeapon</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ExampleHomingExplosive</defName>
<label>homing explosive bullet</label>
<graphicData>
<texPath>Things/Projectile/Bullet_Big</texPath> <!-- Placeholder, needs a proper texture path -->
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<thingClass>WulaFallenEmpire.Projectile_Homing_Explosive</thingClass>
<projectile>
<speed>25</speed>
<damageDef>Bomb</damageDef>
<damageAmountBase>30</damageAmountBase>
<stoppingPower>2.0</stoppingPower>
<armorPenetrationBase>0.7</armorPenetrationBase>
<soundExplode>Explosion_Bomb</soundExplode>
<soundImpactAnticipate>Impact_Metal</soundImpactAnticipate>
<flyOverhead>true</flyOverhead>
<shadowSize>0.8</shadowSize>
<explosionRadius>3.0</explosionRadius>
<postExplosionSpawnThingDef>Filth_Rubble</postExplosionSpawnThingDef>
<postExplosionSpawnChance>1.0</postExplosionSpawnChance>
<postExplosionSpawnThingCount>3</postExplosionSpawnThingCount>
<explosionDelay>60</explosionDelay>
<screenShakeFactor>1.0</screenShakeFactor>
<applyDamageToExplosionCellsNeighbors>true</applyDamageToExplosionCellsNeighbors>
<preExplosionSpawnChance>1.0</preExplosionSpawnChance>
<preExplosionSpawnThingCount>5</preExplosionSpawnThingCount>
<explosionChanceToStartFire>0.5</explosionChanceToStartFire>
<explosionDamageFalloff>true</explosionDamageFalloff>
<doExplosionVFX>true</doExplosionVFX>
<modExtensions>
<li Class="WulaFallenEmpire.HomingProjectileDef">
<initRotateAngle>5</initRotateAngle>
<homingSpeed>0.03</homingSpeed>
<destroyTicksAfterLosingTrack>90</destroyTicksAfterLosingTrack>
<proximityFuseRange>2.0</proximityFuseRange>
<hitChance>0.7</hitChance>
<extraProjectile>Bullet_ExampleHomingExplosive</extraProjectile>
<SpeedChangeTilesPerTickOverride>0.03</SpeedChangeTilesPerTickOverride>
<SpeedRangeTilesPerTickOverride>
<min>20</min>
<max>30</max>
</SpeedRangeTilesPerTickOverride>
<tailFleckDef>WULA_GunTail_Smoke</tailFleckDef>
</li>
<li Class="WulaFallenEmpire.ModExtension_Cone">
<coneAngle>30</coneAngle>
<coneRange>5</coneRange>
<repeatExplosionCount>3</repeatExplosionCount>
<fragment>Bullet_ShotgunPellet</fragment> <!-- Example fragment -->
<fragmentCount>5</fragmentCount>
<fragmentRange>
<min>1</min>
<max>3</max>
</fragmentRange>
<showConeEffect>true</showConeEffect>
</li>
</modExtensions>
</projectile>
</ThingDef>
</Defs>

View File

@@ -68,6 +68,7 @@
<maxHits>-1</maxHits> <!-- 无限穿透 -->
<damageFalloff>0</damageFalloff> <!-- 无伤害衰减 -->
<preventFriendlyFire>false</preventFriendlyFire> <!-- 是否阻止友方火力 -->
<tailFleckDef>WULA_GunTail_Blue</tailFleckDef> <!-- 拖尾特效定义 -->
</li>
</modExtensions>
<tickerType>Normal</tickerType>