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

Convert MH patches to ABF patches #3564

Merged
merged 13 commits into from
Dec 6, 2024
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 Synstructs Biomimetics</li>
N7Huntsman marked this conversation as resolved.
Show resolved Hide resolved
<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
Loading