Skip to content

Commit

Permalink
Merge pull request #3105 from CombatExtended-Continued/Anomaly-DLC
Browse files Browse the repository at this point in the history
Patch Anomaly DLC
  • Loading branch information
N7Huntsman authored Jun 21, 2024
2 parents ace7f7c + f675f2d commit 22c24fc
Show file tree
Hide file tree
Showing 47 changed files with 3,689 additions and 190 deletions.
53 changes: 53 additions & 0 deletions Anomaly/Defs/Ammo/Flamethrower_Burst.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>

<!-- ==================== AmmoSet ========================== -->

<CombatExtended.AmmoSetDef>
<defName>AmmoSet_Incinerator_Burst</defName>
<label>flamethrower fuel</label>
<ammoTypes>
<Ammo_Flamethrower_Napalm>Bullet_Incinerator_Burst_Napalm</Ammo_Flamethrower_Napalm>
<Ammo_Flamethrower_Prometheum>Bullet_Incinerator_Burst_Prometheum</Ammo_Flamethrower_Prometheum>
</ammoTypes>
</CombatExtended.AmmoSetDef>

<!-- ================== Projectiles ================== -->

<ThingDef ParentName="BaseFlamethrowerBullet">
<defName>Bullet_Incinerator_Burst_Napalm</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>jellied chemfuel stream</label>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<pelletCount>20</pelletCount>
<damageDef>Flame</damageDef>
<damageAmountBase>3</damageAmountBase>
<preExplosionSpawnThingDef>Filth_Fuel</preExplosionSpawnThingDef>
<preExplosionSpawnChance>0.33</preExplosionSpawnChance>
<soundExplode>CE_FlamethrowerExplosion</soundExplode>
<explosionRadius>1.0</explosionRadius>
<ai_IsIncendiary>true</ai_IsIncendiary>
<screenShakeFactor>0</screenShakeFactor>
<spreadMult>0.5</spreadMult>
</projectile>
</ThingDef>

<ThingDef ParentName="BaseFlamethrowerBullet">
<defName>Bullet_Incinerator_Burst_Prometheum</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>jellied prometheum stream</label>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<pelletCount>20</pelletCount>
<damageDef>PrometheumFlame</damageDef>
<damageAmountBase>5</damageAmountBase>
<preExplosionSpawnThingDef>FilthPrometheum</preExplosionSpawnThingDef>
<preExplosionSpawnChance>0.67</preExplosionSpawnChance>
<soundExplode>CE_FlamethrowerExplosion</soundExplode>
<explosionRadius>1.2</explosionRadius>
<ai_IsIncendiary>true</ai_IsIncendiary>
<screenShakeFactor>0</screenShakeFactor>
<spreadMult>0.5</spreadMult>
</projectile>
</ThingDef>

</Defs>
94 changes: 94 additions & 0 deletions Anomaly/Defs/Ammo/NerveSpikerBolt.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>

<ThingCategoryDef>
<defName>AmmoNerveSpiker</defName>
<label>nerve spiker</label>
<parent>AmmoNeolithic</parent>
<iconPath>UI/Icons/ThingCategories/CaliberArrow</iconPath>
</ThingCategoryDef>

<!-- ==================== AmmoSet ========================== -->

<CombatExtended.AmmoSetDef>
<defName>AmmoSet_NerveSpikerBolt</defName>
<label>nerve spiker bolts</label>
<ammoTypes>
<Ammo_NerveSpikerBolt>Projectile_NerveSpikerBolt</Ammo_NerveSpikerBolt>
</ammoTypes>
</CombatExtended.AmmoSetDef>

<!-- ==================== Ammo ========================== -->

<ThingDef Class="CombatExtended.AmmoDef" ParentName="AmmoCrossbowBoltBase">
<defName>Ammo_NerveSpikerBolt</defName>
<label>nerve spiker bolt</label>
<description>A heavy bioferrite bolt, tipped with biotoxin and shaped to be fired from a nerve spiker.\n\nThough simple to make, these bolts are brittle and tend to deform or break on impact, making them impossible to reuse.</description>
<graphicData>
<texPath>Things/Ammo/Neolithic/Arrow/Bioferrite</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<statBases>
<Mass>0.098</Mass>
<Bulk>0.29</Bulk>
<Flammability>0</Flammability>
<MarketValue>0.78</MarketValue> <!-- The value of 1 bioferrite + value of work [(workAmount / 1200) / product quantity] -->
</statBases>
<thingCategories>
<li>AmmoNerveSpiker</li>
</thingCategories>
<tradeTags inherit="false">
<li>CE_PreIndustrialAmmo</li>
</tradeTags>
<ammoClass>Nerve</ammoClass>
</ThingDef>

<!-- ================== Projectiles ================== -->

<ThingDef ParentName="BaseCrossbowBoltProjectile">
<defName>Projectile_NerveSpikerBolt</defName>
<label>nerve spiker bolt</label>
<graphicData>
<texPath>Things/Projectile/Arrows/Arrow_Bioferrite</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Nerve</damageDef>
<speed>34</speed>
<damageAmountBase>12</damageAmountBase>
<armorPenetrationBlunt>7.08</armorPenetrationBlunt>
<armorPenetrationSharp>5</armorPenetrationSharp>
<preExplosionSpawnChance>0.25</preExplosionSpawnChance>
<preExplosionSpawnThingDef>Bioferrite</preExplosionSpawnThingDef> <!-- The bolts crack/bend on impact and can't immediately be reused.-->
</projectile>
</ThingDef>

<!-- ==================== Recipes ========================== -->

<RecipeDef ParentName="AmmoRecipeNeolithicBase">
<defName>MakeAmmo_NerveSpikerBolt</defName>
<label>make nerve spiker bolts x10</label>
<description>Craft 10 nerve spiker bolts.</description>
<jobString>Making nerve spiker bolts.</jobString>
<ingredients>
<li>
<filter>
<thingDefs>
<li>Bioferrite</li>
</thingDefs>
</filter>
<count>10</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>Bioferrite</li>
</thingDefs>
</fixedIngredientFilter>
<products>
<Ammo_NerveSpikerBolt>10</Ammo_NerveSpikerBolt>
</products>
<workAmount>400</workAmount>
</RecipeDef>

</Defs>
196 changes: 196 additions & 0 deletions Anomaly/Patches/AbilityDefs/Abilities_Anomaly.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[@Name="SpikeLaunchBase"]/verbProperties/verbClass</xpath>
<value>
<verbClass>CombatExtended.Verb_AbilityShootCE</verbClass>
</value>
</Operation>

<!-- ========== Spike Base ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[@Name="SpikeBase"]/projectile</xpath>
<value>
<thingClass>CombatExtended.BulletCE</thingClass>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>RangedStab</damageDef>
<speed>57</speed>
<damageAmountBase>1</damageAmountBase>
</projectile>
</value>
</Operation>

<!-- ========== Tough/Tri Spike ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="SpikeLaunch_Toughspike"]/verbProperties</xpath>
<value>
<verbProperties Class="CombatExtended.VerbPropertiesCE">
<range>18.9</range>
<defaultProjectile>Spike_Toughspike</defaultProjectile>
</verbProperties>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="Spike_Toughspike"]/projectile</xpath>
<value>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>11</damageAmountBase>
<armorPenetrationSharp>7.5</armorPenetrationSharp>
<armorPenetrationBlunt>8.2</armorPenetrationBlunt>
</projectile>
</value>
</Operation>

<!-- ========== Finger Spike ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="SpikeLaunch_Fingerspike"]/verbProperties</xpath>
<value>
<verbProperties Class="CombatExtended.VerbPropertiesCE">
<range>18.9</range>
<defaultProjectile>Spike_Fingerspike</defaultProjectile>
</verbProperties>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="Spike_Fingerspike"]/projectile</xpath>
<value>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>8</damageAmountBase>
<armorPenetrationSharp>3.85</armorPenetrationSharp>
<armorPenetrationBlunt>4.22</armorPenetrationBlunt>
</projectile>
</value>
</Operation>

<!-- ========== Gorehulk Spike ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="SpineLaunch_Gorehulk"]/verbProperties</xpath>
<value>
<verbProperties Class="CombatExtended.VerbPropertiesCE">
<soundCast>Gorehulk_Spine_Launch</soundCast>
<range>27.9</range>
<defaultProjectile>Spine_Gorehulk</defaultProjectile>
</verbProperties>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="Spine_Gorehulk"]/projectile</xpath>
<value>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>15</damageAmountBase>
<armorPenetrationSharp>14.75</armorPenetrationSharp>
<armorPenetrationBlunt>16.16</armorPenetrationBlunt>
</projectile>
</value>
</Operation>

<!-- ========== Devourer Leap ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="ConsumeLeap_Devourer"]/verbProperties/range</xpath>
<value>
<range>12.9</range>
</value>
</Operation>

<!-- ========== Heatspikes ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="Heatspikes"]/verbProperties</xpath>
<value>
<verbProperties Class="CombatExtended.VerbPropertiesCE">
<soundCast>Heatspikes_Shot</soundCast>
<verbClass>CombatExtended.Verb_AbilityShootCE</verbClass>
<soundCastTail>Heatspikes_Tail</soundCastTail>
<range>44.9</range>
<defaultProjectile>Bullet_Heatspike</defaultProjectile>
<ticksBetweenBurstShots>6</ticksBetweenBurstShots>
<warmupTime>0</warmupTime>
<burstShotCount>12</burstShotCount>
<stopBurstWithoutLos>false</stopBurstWithoutLos>
<recoilAmount>3</recoilAmount> <!-- Abilities can't use ShotSpread, so give high recoil. -->
</verbProperties>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="Bullet_Heatspike"]/projectile</xpath>
<value>
<thingClass>CombatExtended.BulletCE</thingClass>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>EnergyBolt</damageDef>
<damageAmountBase>18</damageAmountBase>
<speed>54</speed>
<bulletChanceToStartFire>1</bulletChanceToStartFire>
<armorPenetrationSharp>20</armorPenetrationSharp>
<armorPenetrationBlunt>1</armorPenetrationBlunt>
</projectile>
</value>
</Operation>

<!-- ========== Fleshmelter Bolt ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="FleshmelterBolt"]/verbProperties/range</xpath>
<value>
<range>44.9</range>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="Bullet_FleshmelterBolt"]/projectile</xpath>
<value>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>NociosphereVaporize</damageDef>
<damageAmountBase>150</damageAmountBase>
<speed>120</speed>
<soundAmbient>FleshmelterBolt_Launch</soundAmbient>
<explosionRadius>2.49</explosionRadius>
<screenShakeFactor>1.25</screenShakeFactor>
<explosionChanceToStartFire>0.75</explosionChanceToStartFire>
<bulletChanceToStartFire>1</bulletChanceToStartFire>
</projectile>
</value>
</Operation>

<!-- ========== Psychic Slaughter ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="PsychicSlaughter"]/verbProperties/range</xpath>
<value>
<range>7.9</range>
</value>
</Operation>

<!-- ========== Fleshmelter Bolt ========== -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AbilityDef[defName="CorrosiveSpray"]/verbProperties/range</xpath>
<value>
<range>12.9</range>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="Proj_CorrosiveFluid"]/projectile</xpath>
<value>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>AcidBurn</damageDef>
<speed>40</speed>
<damageAmountBase>30</damageAmountBase>
<shadowSize>0</shadowSize>
<filth>Filth_SpentAcid</filth>
<filthCount>1</filthCount>
</projectile>
</value>
</Operation>

</Patch>
Loading

0 comments on commit 22c24fc

Please sign in to comment.