Skip to content

Commit

Permalink
Merge pull request #3996 from MADxingjin/fix-CE-ammo
Browse files Browse the repository at this point in the history
Fix CE AmmoDef in Core SK/Patches of those PatchOperationAdd against Defs/
  • Loading branch information
masakitenchi authored Feb 1, 2025
2 parents a18499e + 6cbcaac commit c6961bc
Show file tree
Hide file tree
Showing 20 changed files with 751 additions and 822 deletions.
Original file line number Diff line number Diff line change
@@ -1,43 +1,52 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<Defs>

<CombatExtended.AmmoCategoryDef>
<defName>MetallicArrow</defName>
<label>metallic arrow</label>
<description>The arrow head is made from ,metal to enhance armor penetration.</description>
<advanced>true</advanced>
<advanced>true</advanced>
</CombatExtended.AmmoCategoryDef>

<CombatExtended.AmmoCategoryDef>
<defName>ExplosiveArrow</defName>
<label>explosive arrow</label>
<description>Fitted with a explosive head to make additional explosion damage.</description>
<advanced>true</advanced>
<advanced>true</advanced>
</CombatExtended.AmmoCategoryDef>

<CombatExtended.AmmoCategoryDef>
<defName>BalistaBolt</defName>
<label>balista bolt</label>
<description>The balista bolt head is made from metal to enhance armor penetration.</description>
</CombatExtended.AmmoCategoryDef>

<CombatExtended.AmmoCategoryDef>
<defName>StoneBall</defName>
<label>stone ball</label>
<description>A stone ball used for catapult.</description>
</CombatExtended.AmmoCategoryDef>

<CombatExtended.AmmoCategoryDef>
<defName>ExplosiveBall</defName>
<label>explosive ball</label>
<description>An explosive ball used for catapult.</description>
<advanced>true</advanced>
<advanced>true</advanced>
</CombatExtended.AmmoCategoryDef>

<CombatExtended.AmmoCategoryDef>
<defName>Shock</defName>
<label>shock</label>
<description>Special non-lethal shock type ammo.</description>
</CombatExtended.AmmoCategoryDef>

</Defs>
<CombatExtended.AmmoCategoryDef>
<defName>LaserUST</defName>
<label>unstable laser beam</label>
<description>Unstable laser beam (can ignite objects).</description>
</CombatExtended.AmmoCategoryDef>
<CombatExtended.AmmoCategoryDef>
<defName>LaserST</defName>
<label>stable laser beam</label>
<description>Stable laser beam without igniting objects.</description>
</CombatExtended.AmmoCategoryDef>
</Defs>
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<Defs>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="15x65mmDiffusingChargedBase">
<defName>Ammo_15x65mmDiffusingCharged_Buck</defName>
<label>15x65mm Diffusing Charged cartridge</label>
<graphicData>
<texPath>Things/Ammo/Charged/ShotgunMech</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<statBases>
<MarketValue>10</MarketValue>
<!-- value intentionally decreased to help reduce wealth bloat/free silver -->
</statBases>
<ammoClass>BuckShot</ammoClass>
<cookOffProjectile>Bullet_15x65mmDiffusingCharged_Buck</cookOffProjectile>
</ThingDef>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="Base15x65mmDiffusingChargedBullet">
<defName>Bullet_15x65mmDiffusingCharged_Buck</defName>
<label>diffusing charged ionized</label>
<graphicData>
<texPath>Things/Projectile/Charged/charge_regular</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>32</damageAmountBase>
<pelletCount>5</pelletCount>
<secondaryDamage>
<li>
<def>EMP</def>
<amount>8</amount>
</li>
<li>
<def>Bomb_Secondary</def>
<amount>7</amount>
</li>
</secondaryDamage>
<armorPenetrationSharp>10</armorPenetrationSharp>
<armorPenetrationBlunt>55.46</armorPenetrationBlunt>
<spreadMult>8.9</spreadMult>
</projectile>
</ThingDef>
</Defs>
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<Defs>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="80x256mmFuelBase">
<defName>Ammo_80x256mmFuel_Thermobaric</defName>
<label>80x256mm fuel cell (Thermobaric)</label>
<graphicData>
<texPath>Things/Ammo/FuelCell/Large</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<statBases>
<MarketValue>28.98</MarketValue>
</statBases>
<ammoClass>ThermobaricFuel</ammoClass>
<detonateProjectile>Bullet_80x256mmFuel_Thermobaric</detonateProjectile>
<comps>
<li Class="CompProperties_Explosive">
<explosiveRadius>2</explosiveRadius>
<damageAmountBase>5</damageAmountBase>
<explosiveDamageType>Thermobaric</explosiveDamageType>
<explosiveExpandPerStackcount>0.15</explosiveExpandPerStackcount>
<startWickHitPointsPercent>0.33</startWickHitPointsPercent>
<applyDamageToExplosionCellsNeighbors>true</applyDamageToExplosionCellsNeighbors>
<explodeOnKilled>True</explodeOnKilled>
<wickTicks>60~300</wickTicks>
</li>
</comps>
</ThingDef>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="SK_BaseBullet">
<defName>Bullet_80x256mmFuel_Thermobaric</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>80x256mm fuel shell (Thermobaric)</label>
<graphicData>
<texPath>Things/Projectile/InfernoCannonShot</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Thermobaric</damageDef>
<damageAmountBase>245</damageAmountBase>
<speed>60</speed>
<flyOverhead>false</flyOverhead>
<explosionRadius>4.5</explosionRadius>
<preExplosionSpawnThingDef>Filth_Fuel</preExplosionSpawnThingDef>
<preExplosionSpawnChance>0.5</preExplosionSpawnChance>
<soundExplode>MortarIncendiary_Explode</soundExplode>
<soundHitThickRoof>Artillery_HitThickRoof</soundHitThickRoof>
<soundImpactAnticipate>MortarRound_PreImpact</soundImpactAnticipate>
<soundAmbient>MortarRound_Ambient</soundAmbient>
<applyDamageToExplosionCellsNeighbors>true</applyDamageToExplosionCellsNeighbors>
<ai_IsIncendiary>true</ai_IsIncendiary>
<alwaysFreeIntercept>false</alwaysFreeIntercept>
<bulletChanceToStartFire>0.4</bulletChanceToStartFire>
</projectile>
<comps>
<li Class="CombatExtended.CompProperties_ExplosiveCE">
<damageAmountBase>150</damageAmountBase>
<explosiveDamageType>Thermobaric</explosiveDamageType>
<explosiveRadius>1.9</explosiveRadius>
<applyDamageToExplosionCellsNeighbors>true</applyDamageToExplosionCellsNeighbors>
</li>
</comps>
</ThingDef>
</Defs>
55 changes: 55 additions & 0 deletions Mods/Core_SK/Defs/CombatExtended/Ammo/Ammo_Base.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<Defs>
<ThingDef Class="CombatExtended.AmmoDef" Name="SK_BaseBullet" ParentName="BaseBulletCE"
Abstract="True">
<category>Projectile</category>
<tickerType>Normal</tickerType>
<altitudeLayer>Projectile</altitudeLayer>
<label>bullet</label>
<useHitPoints>False</useHitPoints>
<neverMultiSelect>True</neverMultiSelect>
<graphicData>
<shaderType>Transparent</shaderType>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<explosionDamageFalloff>true</explosionDamageFalloff>
<!--
<suppressionFactor>3</suppressionFactor>
<dangerFactor>0.8</dangerFactor>
<airborneSuppressionFactor>3.5</airborneSuppressionFactor>
-->
</projectile>
</ThingDef>
<RecipeDef Name="AmmoRecipeRifle" ParentName="AmmoRecipeBase" Abstract="true">
<workAmount>2500</workAmount>
<workSkill>Crafting</workSkill>
<targetCountAdjustment>80</targetCountAdjustment>
<recipeUsers>
<!-- Need an empty list here or the ammo injector will throw a null ref exception -->
</recipeUsers>
</RecipeDef>
<RecipeDef Name="AmmoRecipeHighCaliber" ParentName="AmmoRecipeBase" Abstract="true">
<workAmount>3000</workAmount>
<workSkill>Crafting</workSkill>
<targetCountAdjustment>60</targetCountAdjustment>
<recipeUsers>
<!-- Need an empty list here or the ammo injector will throw a null ref exception -->
</recipeUsers>
</RecipeDef>
<RecipeDef Name="AmmoRecipePistol" ParentName="AmmoRecipeBase" Abstract="true">
<workAmount>1500</workAmount>
<workSkill>Crafting</workSkill>
<targetCountAdjustment>100</targetCountAdjustment>
<recipeUsers>
<!-- Need an empty list here or the ammo injector will throw a null ref exception -->
</recipeUsers>
</RecipeDef>
<RecipeDef Name="AmmoRecipeShotgunShell" ParentName="AmmoRecipeBase" Abstract="true">
<workAmount>1500</workAmount>
<workSkill>Crafting</workSkill>
<targetCountAdjustment>40</targetCountAdjustment>
<recipeUsers>
<!-- Need an empty list here or the ammo injector will throw a null ref exception -->
</recipeUsers>
</RecipeDef>
</Defs>
67 changes: 67 additions & 0 deletions Mods/Core_SK/Defs/CombatExtended/Ammo/Ammo_Fragments.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Defs>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="BaseFragment">
<defName>Fragment_Shell</defName>
<label>shell fragments</label>
<graphicData>
<texPath>Things/Projectile/Fragments/Fragment_Medium</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Fragment</damageDef>
<damageAmountBase>62</damageAmountBase>
<speed>20</speed>
<armorPenetrationSharp>9.5</armorPenetrationSharp>
<armorPenetrationBlunt>38</armorPenetrationBlunt>
<gravityFactor>15</gravityFactor>
</projectile>
</ThingDef>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="BaseFragment">
<defName>Fragment_GrenadeFrag</defName>
<label>grenade fragments</label>
<graphicData>
<texPath>Things/Projectile/Fragments/Fragment_Medium</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Fragment</damageDef>
<damageAmountBase>18</damageAmountBase>
<speed>25</speed>
<armorPenetrationSharp>4</armorPenetrationSharp>
<armorPenetrationBlunt>16</armorPenetrationBlunt>
<gravityFactor>15</gravityFactor>
</projectile>
</ThingDef>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="BaseFragment">
<defName>Fragment_GrenadeFragCharged</defName>
<label>charged fragments</label>
<graphicData>
<texPath>Things/Projectile/Fragment_Charged</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Fragment</damageDef>
<damageAmountBase>14</damageAmountBase>
<speed>25</speed>
<armorPenetrationSharp>16</armorPenetrationSharp>
<armorPenetrationBlunt>15</armorPenetrationBlunt>
<gravityFactor>15</gravityFactor>
</projectile>
</ThingDef>
<ThingDef Class="CombatExtended.AmmoDef" ParentName="BaseFragment">
<defName>Fragment_RocketFrag</defName>
<label>rocket fragments</label>
<graphicData>
<texPath>Things/Projectile/Fragments/Fragment_Small</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Fragment</damageDef>
<damageAmountBase>47</damageAmountBase>
<speed>35</speed>
<armorPenetrationSharp>7</armorPenetrationSharp>
<armorPenetrationBlunt>38</armorPenetrationBlunt>
<gravityFactor>15</gravityFactor>
</projectile>
</ThingDef>
</Defs>
Loading

0 comments on commit c6961bc

Please sign in to comment.