Skip to content

Commit

Permalink
Merge pull request #3564 from CombatExtended-Continued/ABF-Patches
Browse files Browse the repository at this point in the history
Convert MH patches to ABF patches
  • Loading branch information
N7Huntsman authored Dec 6, 2024
2 parents 5909d17 + 3521ade commit e73c7d9
Show file tree
Hide file tree
Showing 27 changed files with 2,531 additions and 524 deletions.
7 changes: 5 additions & 2 deletions LoadFolders.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@
<!-- Mod Patches -->
<li IfModActive="Torann.ARimworldOfMagic">ModPatches/A Rimworld of Magic</li>
<li IfModActive="ADE.AdvancedTurrets.Mod">ModPatches/ADE Advanced Turrets</li>
<li IfModActive="Killathon.ArtificialBeings.SynCore.Civil">ModPatches/ABF Civil Synstructs</li>
<li IfModActive="Killathon.ArtificialBeings.SynCore.Martial">ModPatches/ABF Martial Synstructs</li>
<li IfModActive="Killathon.ArtificialBeings.SynCore.Biomimetics">ModPatches/ABF Synstruct Biomimetics</li>
<li IfModActive="Killathon.ArtificialBeings.SynCore">ModPatches/ABF Synstructs Core</li>
<li IfModActive="Killathon.ArtificialBeings.SynCore.Utility">ModPatches/ABF Utility Synstructs</li>
<li IfModActive="ADE.AdvancedTurretsA.copy.Mod">ModPatches/ADE Advanced turrets PLUS</li>
<li IfModActive="ADE.pulseTurrets.Mod">ModPatches/ADE Pulse Turrets PLUS</li>
<li IfModActive="spoonshortage.ADogSaidAnimalProsthetics">ModPatches/ADogSaid</li>
Expand All @@ -34,9 +39,7 @@
<li IfModActive="zal.easternarmory">ModPatches/Ancient Eastern Armory</li>
<li IfModActive="biowreck.ancientfalloutarmory">ModPatches/Ancient Fallout Armory</li>
<li IfModActive="bbbbilly.ancienthuman">ModPatches/Ancient Human</li>
<li IfModActive="Mlie.AndroidTiersTXSeries">ModPatches/Android Tiers - TX Series</li>
<li IfModActive="Killathon.AndroidTiersReforged">ModPatches/Android Tiers Reforged</li>
<li IfModActive="Mlie.AndroidTiersSM7Overhaul">ModPatches/Android Tiers SM7 Overhaul</li>
<li IfModActive="ChJees.Androids, ChJees.Androids14">ModPatches/Androids</li>
<li IfModActive="peptide.androidsexpanded, rielle.androidsexpanded">ModPatches/Androids Expanded</li>
<li IfModActive="hh.xrushha.AnimaAnimalsCombined">ModPatches/Anima Animals - Community Temp</li>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>

<!-- Body Shape -->

<Operation Class="PatchOperationAddModExtension">
<xpath>Defs/AlienRace.ThingDef_AlienRace[
defName="ABF_Thing_Synstruct_Simpleton" or
defName="ABF_Thing_Synstruct_Commoner" or
defName="ABF_Thing_Synstruct_Socialite" or
defName="ABF_Thing_Synstruct_Stoic"
]</xpath>
<value>
<li Class="CombatExtended.RacePropertiesExtensionCE">
<bodyShape>Humanoid</bodyShape>
</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/AlienRace.ThingDef_AlienRace[
defName="ABF_Thing_Synstruct_Simpleton" or
defName="ABF_Thing_Synstruct_Commoner" or
defName="ABF_Thing_Synstruct_Socialite" or
defName="ABF_Thing_Synstruct_Stoic"]/comps</xpath>
<value>
<li>
<compClass>CombatExtended.CompPawnGizmo</compClass>
</li>
<li Class="CombatExtended.CompProperties_ArmorDurability">
<Durability>500</Durability>
<Regenerates>true</Regenerates>
<RegenInterval>600</RegenInterval>
<RegenValue>5</RegenValue>
<MinArmorPct>0.5</MinArmorPct><!-- The default minimal armor percentage for all armor kinds. Will be overriden by any below -->
</li>
<li Class="CombatExtended.CompProperties_Suppressable" />
<li>
<compClass>CombatExtended.CompAmmoGiver</compClass>
</li>
</value>
</Operation>

<!-- Melee Tools -->

<Operation Class="PatchOperationReplace">
<xpath>Defs/AlienRace.ThingDef_AlienRace[defName="ABF_Thing_Synstruct_Simpleton"]/tools</xpath>
<value>
<tools>
<li Class="CombatExtended.ToolCE">
<label>left fist</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>1</power>
<cooldownTime>2.14</cooldownTime>
<linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup>
<armorPenetrationBlunt>0.245</armorPenetrationBlunt>
</li>
<li Class="CombatExtended.ToolCE">
<label>right fist</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>1</power>
<cooldownTime>2.14</cooldownTime>
<linkedBodyPartsGroup>RightHand</linkedBodyPartsGroup>
<armorPenetrationBlunt>0.245</armorPenetrationBlunt>
</li>
<li Class="CombatExtended.ToolCE">
<label>head</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>2</power>
<cooldownTime>5.61</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<armorPenetrationBlunt>0.40</armorPenetrationBlunt>
</li>
</tools>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>Defs/AlienRace.ThingDef_AlienRace[
defName="ABF_Thing_Synstruct_Commoner" or
defName="ABF_Thing_Synstruct_Socialite" or
defName="ABF_Thing_Synstruct_Stoic"
]/tools</xpath>
<value>
<tools>
<li Class="CombatExtended.ToolCE">
<label>left fist</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>2</power>
<cooldownTime>1.67</cooldownTime>
<linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup>
<armorPenetrationBlunt>1.0</armorPenetrationBlunt>
</li>
<li Class="CombatExtended.ToolCE">
<label>right fist</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>2</power>
<cooldownTime>1.67</cooldownTime>
<linkedBodyPartsGroup>RightHand</linkedBodyPartsGroup>
<armorPenetrationBlunt>1.0</armorPenetrationBlunt>
</li>
<li Class="CombatExtended.ToolCE">
<label>head</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>2</power>
<cooldownTime>4.49</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<armorPenetrationBlunt>0.625</armorPenetrationBlunt>
</li>
</tools>
</value>
</Operation>

<!-- Stats -->

<Operation Class="PatchOperationAdd">
<xpath>Defs/AlienRace.ThingDef_AlienRace[
defName="ABF_Thing_Synstruct_Simpleton" or
defName="ABF_Thing_Synstruct_Commoner" or
defName="ABF_Thing_Synstruct_Socialite" or
defName="ABF_Thing_Synstruct_Stoic"
]/statBases</xpath>
<value>
<MeleeDodgeChance>1</MeleeDodgeChance>
<MeleeCritChance>1</MeleeCritChance>
<MeleeParryChance>1</MeleeParryChance>
<Suppressability>0</Suppressability>
<SmokeSensitivity>0</SmokeSensitivity>
</value>
</Operation>

</Patch>
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Neck"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Neck"]/parts/li[def="ABF_BodyPart_Synstruct_Head"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Neck"]/parts/li[def="ABF_BodyPart_Synstruct_Head"]/parts/li[def="ABF_BodyPart_Synstruct_Vocalizer"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Neck"]/parts/li[def="ABF_BodyPart_Synstruct_Head"]/parts/li[def="ABF_BodyPart_Synstruct_AudialSensor"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Shoulder"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Shoulder"]/parts/li[def="ABF_BodyPart_Synstruct_Arm"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Shoulder"]/parts/li[def="ABF_BodyPart_Synstruct_Arm"]/parts/li[def="ABF_BodyPart_Synstruct_Hand"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Shoulder"]/parts/li[def="ABF_BodyPart_Synstruct_Arm"]/parts/li[def="ABF_BodyPart_Synstruct_Hand"]/parts/li[def="ABF_BodyPart_Synstruct_Finger"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Leg"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>Defs/BodyDef[defName="ABF_Body_Synstruct_Civil"]/corePart/parts/li[def="ABF_BodyPart_Synstruct_Leg"]/parts/li[def="ABF_BodyPart_Synstruct_Foot"]/groups</xpath>
<value>
<li>CoveredByNaturalArmor</li>
</value>
</Operation>

</Patch>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>

<!-- === Add ammo to scenario === -->
<Operation Class="PatchOperationAdd">
<xpath>Defs/ScenarioDef[defName="ABF_Scenario_Synstruct_Crashlanded"]/scenario/parts</xpath>
<value>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>Ammo_303British_FMJ</thingDef>
<count>100</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>Ammo_44Magnum_FMJ</thingDef>
<count>60</count>
</li>
</value>
</Operation>

</Patch>
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>

<ThingCategoryDef>
<defName>AmmoRotaryShrapnelcannonShell</defName>
<label>Rotary Shrapnelcannon shell</label>
<parent>AmmoShotguns</parent>
<iconPath>UI/Icons/ThingCategories/CaliberShotgun</iconPath>
</ThingCategoryDef>

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

<CombatExtended.AmmoSetDef>
<defName>AmmoSet_RotaryShrapnelcannonShell</defName>
<label>Rotary Shrapnelcannon shell</label>
<ammoTypes>
<Ammo_RotaryShrapnelcannonShell>Bullet_RotaryShrapnelcannonShell</Ammo_RotaryShrapnelcannonShell>
</ammoTypes>
<similarTo>AmmoSet_Shotgun</similarTo>
</CombatExtended.AmmoSetDef>

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

<ThingDef Class="CombatExtended.AmmoDef" Name="RotaryShrapnelcannonShellBase" ParentName="HeavyAmmoBase" Abstract="True">
<description>Very large caliber buckshot shell designed specifically for the mech-operated Rotary Shrapnelcannon.</description>
<statBases>
<Mass>1.072</Mass>
<Bulk>5.9</Bulk>
</statBases>
<tradeTags>
<li>CE_AutoEnableTrade</li>
<li>CE_AutoEnableCrafting_TableMachining</li>
</tradeTags>
<thingCategories>
<li>AmmoRotaryShrapnelcannonShell</li>
</thingCategories>
<stackLimit>25</stackLimit>
</ThingDef>

<ThingDef Class="CombatExtended.AmmoDef" ParentName="RotaryShrapnelcannonShellBase">
<defName>Ammo_RotaryShrapnelcannonShell</defName>
<label>Shrapnelcannon shell (Buck)</label>
<graphicData>
<texPath>ThirdParty/Android Tiers/ShrapnelcannonShell</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<statBases>
<MarketValue>4.37</MarketValue>
</statBases>
<ammoClass>BuckShot</ammoClass>
</ThingDef>

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

<ThingDef ParentName="Base12GaugeBullet">
<defName>Bullet_RotaryShrapnelcannonShell</defName>
<label>Shrapnelcannon buckshot pellet</label>
<graphicData>
<texPath>Things/Projectile/Shotgun_Pellet</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile Class="CombatExtended.ProjectilePropertiesCE">
<speed>117</speed>
<damageAmountBase>57</damageAmountBase>
<damageDef>Fragment</damageDef>
<pelletCount>6</pelletCount>
<armorPenetrationSharp>12</armorPenetrationSharp>
<armorPenetrationBlunt>526.34</armorPenetrationBlunt>
<spreadMult>7.9</spreadMult>
</projectile>
</ThingDef>

<RecipeDef ParentName="AmmoRecipeBase">
<defName>MakeAmmo_RotaryShrapnelcannonShell</defName>
<label>make Shrapnelcannon (Buck) shell x10</label>
<description>Craft 10 Shrapnelcannon (Buck) shells.</description>
<jobString>Making Shrapnelcannon (Buck) shells.</jobString>
<workAmount>2200</workAmount>
<ingredients>
<li>
<filter>
<thingDefs>
<li>Steel</li>
</thingDefs>
</filter>
<count>22</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>Steel</li>
</thingDefs>
</fixedIngredientFilter>
<products>
<Ammo_RotaryShrapnelcannonShell>10</Ammo_RotaryShrapnelcannonShell>
</products>
</RecipeDef>

</Defs>
Loading

0 comments on commit e73c7d9

Please sign in to comment.