Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feral / Federation Partial Armor + Tweaks #3359

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,9 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>

<!-- ========== Bases =========== -->

<ThingDef Name="BaseOpticBoltCE" ParentName="BaseBulletCE" Abstract="true">
<label>energy bolt</label>
<graphicData>
<texPath>Things/Projectile/Mlaser</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>100</speed>
<dropsCasings>false</dropsCasings>
</projectile>
</ThingDef>

<ThingDef Name="BaseCrucibleBoltCE" ParentName="BaseBulletCE" Abstract="true">
<label>energy bolt</label>
<graphicData>
<texPath>Things/Projectile/Cruciblebolt</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Crucible</damageDef>
<speed>100</speed>
<dropsCasings>false</dropsCasings>
</projectile>
</ThingDef>

<ThingDef Name="BasePlasmaBombCE" ParentName="BaseExplosiveBullet" Abstract="true">
<label>plasma sphere</label>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<graphicData>
<texPath>Things/Projectile/Plasma</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<suppressionFactor>6.0</suppressionFactor>
<dangerFactor>4.0</dangerFactor>
<damageDef>Plasma</damageDef>
<speed>16</speed>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is going to be too slow, given the reasonably long range of the weapons that use it like the plasma rifle--the target can comfortably be 4 - 5 tiles if it starts moving as you fire, and leading a target that's constantly making tiny course changes as it navigates rough terrain is a crap shoot.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plasma rifle itself is actually the longest range, with the other launchers generally being on the shorter end for their sort of weapon.
Additionally the reduced gravity factor the plasma projectiles have mitigates the effect of the speed somewhat and the flat trajectory still allows for incidental hits since they mostly fly at target height across their path, creating a zone of suppression thus limiting target movements.
Finally, the plasma guns are suppsoed to be high strength anti-static weapons, even in vanilla it is trivial to walk out of their path if you have the space to do so, the risk being that in order to do that you have to be out in the open to do so and as such succeptable to every non plasma armament in the raid (and even still, the plasma spheres providing suppresson means that if you screw up you'll get locked in place and killed).

<dropsCasings>false</dropsCasings>
</projectile>
</ThingDef>

<!-- ========== Harvester Cannon =========== -->

<ThingDef ParentName="Base40x365mmBoforsBullet">
<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_HarvesterCannon</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>energy bolt</label>
Expand All @@ -12,12 +56,7 @@
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>106</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>12</damageAmountBase>
<armorPenetrationBlunt>5</armorPenetrationBlunt>
<armorPenetrationSharp>14</armorPenetrationSharp>
<damageAmountBase>36</damageAmountBase>
<explosionRadius>1</explosionRadius>
</projectile>
</ThingDef>
Expand All @@ -39,16 +78,14 @@
<flyOverhead>true</flyOverhead>
<dropsCasings>false</dropsCasings>
<damageAmountBase>25</damageAmountBase>
<armorPenetrationBlunt>5</armorPenetrationBlunt>
<armorPenetrationSharp>14</armorPenetrationSharp>
<explosionRadius>2.5</explosionRadius>
<gravityFactor>5</gravityFactor>
</projectile>
</ThingDef>

<!-- ========== Crucible Cannon Projectile =========== -->

<ThingDef ParentName="Base40x365mmBoforsBullet">
<ThingDef ParentName="BaseCrucibleBoltCE">
<defName>Bullet_CrucibleCannon_CE</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>energy bolt</label>
Expand All @@ -57,41 +94,34 @@
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>98</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>20</damageAmountBase>
<armorPenetrationBlunt>5</armorPenetrationBlunt>
<armorPenetrationSharp>20</armorPenetrationSharp>
<explosionRadius>1</explosionRadius>
<damageAmountBase>40</damageAmountBase>
<explosionRadius>0.9</explosionRadius>
</projectile>
</ThingDef>

<!-- ========== Mech Plasma Bombard Projectile =========== -->

<ThingDef ParentName="BaseExplosiveBullet">
<ThingDef ParentName="BasePlasmaBombCE">
<defName>Bullet_PlasmaMechBombard</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>energy bolt</label>
<graphicData>
<texPath>Things/Projectile/MFlux</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Plasma</damageDef>
<speed>63</speed>
<speed>8</speed>
<gravityFactor>0.01</gravityFactor>
<dropsCasings>false</dropsCasings>
<damageAmountBase>50</damageAmountBase>
<armorPenetrationBlunt>5</armorPenetrationBlunt>
<armorPenetrationSharp>14</armorPenetrationSharp>
<damageAmountBase>120</damageAmountBase>
<explosionRadius>4</explosionRadius>
</projectile>
</ThingDef>

<!-- ========== Plasma Rifle Projectile =========== -->

<ThingDef ParentName="Base556x45mmNATOBullet">
<ThingDef ParentName="BasePlasmaBombCE">
<defName>Bullet_PlasmaRifle_Fed</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>plasma sphere</label>
Expand All @@ -101,11 +131,10 @@
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Plasma</damageDef>
<speed>54</speed>
<speed>20</speed>
<gravityFactor>0.01</gravityFactor>
<dropsCasings>false</dropsCasings>
<damageAmountBase>25</damageAmountBase>
<armorPenetrationBlunt>5</armorPenetrationBlunt>
<armorPenetrationSharp>16</armorPenetrationSharp>
<damageAmountBase>30</damageAmountBase>
<explosionRadius>1.5</explosionRadius>
</projectile>
</ThingDef>
Expand Down Expand Up @@ -133,26 +162,21 @@

<!-- ========== Auxiliary Pistol Projectile =========== -->

<ThingDef ParentName="Base45ACPBullet">
<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_AuxiliaryPistol</defName>
<label>energy bolt</label>
<graphicData>
<texPath>Things/Projectile/Laser</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>8</damageAmountBase>
<armorPenetrationBlunt>1.5</armorPenetrationBlunt>
<armorPenetrationSharp>8</armorPenetrationSharp>
</projectile>
</ThingDef>

<!-- ========== Makeshift Crucible Rifle Projectile =========== -->

<ThingDef ParentName="Base556x45mmNATOBullet">
<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_MakeshiftCrucibleRifle</defName>
<label>energy bolt</label>
<graphicData>
Expand All @@ -164,52 +188,52 @@
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>13</damageAmountBase>
<armorPenetrationBlunt>2.5</armorPenetrationBlunt>
<armorPenetrationSharp>10</armorPenetrationSharp>
</projectile>
</ThingDef>

<!-- ========== Crucible Rifle Projectile =========== -->

<ThingDef ParentName="Base556x45mmNATOBullet">
<ThingDef ParentName="BaseCrucibleBoltCE">
<defName>Bullet_CrucibleRifle</defName>
<label>energy bolt</label>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>12</damageAmountBase>
</projectile>
</ThingDef>

<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_CrucibleRifleAD</defName>
<graphicData>
<texPath>Things/Projectile/Laser</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>12</damageAmountBase>
<armorPenetrationBlunt>3</armorPenetrationBlunt>
<armorPenetrationSharp>12</armorPenetrationSharp>
</projectile>
</ThingDef>

<!-- ========== Crucible Pistol Projectile =========== -->

<ThingDef ParentName="Base45ACPBullet">
<ThingDef ParentName="BaseCrucibleBoltCE">
<defName>Bullet_CruciblePistol</defName>
<label>energy bolt</label>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>10</damageAmountBase>
</projectile>
</ThingDef>

<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_CruciblePistolAD</defName>
<graphicData>
<texPath>Things/Projectile/Laser</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>10</damageAmountBase>
<armorPenetrationBlunt>1.5</armorPenetrationBlunt>
<armorPenetrationSharp>10</armorPenetrationSharp>
</projectile>
</ThingDef>

<!-- ========== Heat Cannon Projectile =========== -->

<ThingDef ParentName="Base40x365mmBoforsBullet">
<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_HeatCannon</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>heat bolt</label>
Expand All @@ -222,35 +246,34 @@
<damageDef>Flame</damageDef>
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>5</damageAmountBase>
<armorPenetrationBlunt>3.5</armorPenetrationBlunt>
<armorPenetrationSharp>9</armorPenetrationSharp>
<damageAmountBase>12</damageAmountBase>
<explosionRadius>0.5</explosionRadius>
</projectile>
</ThingDef>

<!-- ========== Crucible Precision Rifle Projectile =========== -->

<ThingDef ParentName="Base556x45mmNATOBullet">
<ThingDef ParentName="BaseCrucibleBoltCE">
<defName>Bullet_CruciblePrecisionRifle</defName>
<label>energy bolt</label>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageAmountBase>20</damageAmountBase>
</projectile>
</ThingDef>

<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_CruciblePrecisionRifleAD</defName>
<graphicData>
<texPath>Things/Projectile/Laser</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>20</damageAmountBase>
<armorPenetrationBlunt>1.5</armorPenetrationBlunt>
<armorPenetrationSharp>10</armorPenetrationSharp>
</projectile>
</ThingDef>

<!-- ========== Plasma Caster Projectile =========== -->

<ThingDef ParentName="Base40x365mmBoforsBullet">
<ThingDef ParentName="BasePlasmaBombCE">
<defName>Bullet_PlasmaCaster</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>plasma sphere</label>
Expand All @@ -261,18 +284,17 @@
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Plasma</damageDef>
<speed>32</speed>
<speed>8</speed>
<gravityFactor>0.01</gravityFactor>
<dropsCasings>false</dropsCasings>
<damageAmountBase>25</damageAmountBase>
<armorPenetrationBlunt>30</armorPenetrationBlunt>
<armorPenetrationSharp>8</armorPenetrationSharp>
<explosionRadius>2.5</explosionRadius>
<damageAmountBase>75</damageAmountBase>
<explosionRadius>3.5</explosionRadius>
</projectile>
</ThingDef>

<!-- ========== Plasma Bomb Projectile =========== -->

<ThingDef ParentName="Base40x365mmBoforsBullet">
<ThingDef ParentName="BasePlasmaBombCE">
<defName>Bullet_PlasmaBomb</defName>
<thingClass>CombatExtended.ProjectileCE_Explosive</thingClass>
<label>plasma bomb</label>
Expand All @@ -294,20 +316,15 @@

<!-- ========== Crucible Carbine Projectile =========== -->

<ThingDef ParentName="Base556x45mmNATOBullet">
<ThingDef ParentName="BaseOpticBoltCE">
<defName>Bullet_CrucibleCarbine</defName>
<label>energy bolt</label>
<graphicData>
<texPath>Things/Projectile/Laser</texPath>
<texPath>Things/Projectile/Mlaser</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<damageDef>Optic</damageDef>
<speed>90</speed>
<dropsCasings>false</dropsCasings>
<damageAmountBase>8</damageAmountBase>
<armorPenetrationBlunt>3.5</armorPenetrationBlunt>
<armorPenetrationSharp>9</armorPenetrationSharp>
<damageAmountBase>10</damageAmountBase>
</projectile>
</ThingDef>
</Defs>
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>Defs/DamageDef[defName="Optic"]</xpath>
<value>
<li Class="CombatExtended.DamageDefExtensionCE">
<isAmbientDamage>true</isAmbientDamage>
</li>
</value>
</Operation>

<Operation Class="PatchOperationAddModExtension">
<xpath>Defs/DamageDef[defName="Plasma"]</xpath>
<xpath>Defs/DamageDef[
defName="Optic" or
defName="Crucible" or
defName="Plasma"
]</xpath>
<value>
<li Class="CombatExtended.DamageDefExtensionCE">
<isAmbientDamage>true</isAmbientDamage>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<soundCast>RS_ShotHarmonizer</soundCast>
<muzzleFlashScale>17</muzzleFlashScale>
<soundCastTail>GunTail_Heavy</soundCastTail>
<ignorePartialLoSBlocker>true</ignorePartialLoSBlocker>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While we're at it, we probably want to let some of these weapons (including this one) target locations--which it doesn't appear they can currently do.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'll go ahead and check it out.

</Properties>
<FireModes>
<aiAimMode>AimedShot</aiAimMode>
Expand All @@ -35,7 +36,7 @@
<SwayFactor>1.21</SwayFactor>
<Bulk>28.00</Bulk>
<Mass>24.00</Mass>
<RangedWeapon_Cooldown>8</RangedWeapon_Cooldown>
<RangedWeapon_Cooldown>1.6</RangedWeapon_Cooldown>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If memory serves, this patch pre-dates our ability to make weapons reloading without consuming ammo--so I suspect the long cooldown was intended to keep the weapon from being an endless firehose of death, since it's the weapon carried by the Federator.

The shorter cooldown is fine, but I've added a reloading roughly analogus to the HCB--let me know your thoughts?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had considered going with the no ammo reload approach for a number of weapons but didn't want to tweak too much outside of what was required to get them more in a normal state (the problem with the crucible cannon in particular is that the 8s cooldown meant what would often happen is they would get 2 shots off, the target would go into cover and then they would proceed to sit and twiddle their thumbs for 8 seconds, massively reducing their actual threat).

</statBases>
<Properties>
<recoilAmount>1.18</recoilAmount>
Expand Down
Loading
Loading