From d4e55113068980fb33476d9c593897ec0f8378d9 Mon Sep 17 00:00:00 2001 From: Merwini <86023141+Merwini@users.noreply.github.com> Date: Thu, 1 Aug 2024 18:43:54 -0400 Subject: [PATCH 01/35] RH2 Faction - Gruppa Krovi initial compatibility push --- LoadFolders.xml | 1 + .../Defs/Ammo_Gruppa_Krovi.xml | 87 +++ .../Patches/Apparel_Gruppa_Krovi.xml | 364 +++++++++++ .../Patches/Bodies_Gruppa_Krovi.xml | 281 +++++++++ .../Patches/Mech_Weapons_Gruppa_Krovi.xml | 226 +++++++ .../Patches/PawnKinds_Gruppa_Krovi.xml | 98 +++ .../Patches/Races_Gruppa_Krovi.xml | 331 ++++++++++ .../Patches/TraderKinds_Gruppa_Krovi.xml | 23 + .../Patches/Weapons_Gruppa_Krovi.xml | 568 ++++++++++++++++++ 9 files changed, 1979 insertions(+) create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Bodies_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml diff --git a/LoadFolders.xml b/LoadFolders.xml index 50a3c02e3d..6f3a8ddf09 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -328,6 +328,7 @@
  • ModPatches/RH2 Faction - Task Force 141
  • ModPatches/RH2 Faction - The Rangers
  • ModPatches/RH2 Faction - Utilitarian
  • +
  • ModPatches/RH2 Faction - Gruppa Krovi
  • ModPatches/RH2 Faction - VOID
  • ModPatches/RH2 Metal Gear Solid
  • ModPatches/RH2 Rimmu-NationĀ² - Clothing
  • diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml new file mode 100644 index 0000000000..4ad081a5b0 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml @@ -0,0 +1,87 @@ + + + + + + AmmoSet_RNTeslaCharge + + + Bullet_CE_RNBullet_Tesla_Charge + + + + + Bullet_CE_RNBullet_Tesla_Charge + + + Things/Projectile/Tesla_Arc + Graphic_Single + TransparentPostLight + 4 + + + EMP + 2.0 + 25 + false + Artillery_HitThickRoof + RN_Tesla_Explode + 93 + 3.2 + + +
  • + Smoke + (-0.3,0,0.35) + (0.3,0,0.35) + 90 + 1~1.1 + (0,235,31,255) + (0,235,31,255) +
  • +
    +
    + + + + + AmmoSet_RNPlasmaCharge + + + Bullet_CE_RNBullet_RedStar_Plasma + + + + + Bullet_CE_RNBullet_RedStar_Plasma + + + Things/Projectile/RedStar_Plasma + Graphic_Single + TransparentPostLight + 4 + + + RN2_RedStarBomb + 1.95 + 30 + false + Artillery_HitThickRoof + RN_RedStar_Explode + 76 + 3 + + +
  • + Smoke + (-0.3,0,0.35) + (0.3,0,0.35) + 90 + 1~1.1 + (0,235,31,255) + (0,235,31,255) +
  • +
    +
    + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml new file mode 100644 index 0000000000..32b5c66d4d --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml @@ -0,0 +1,364 @@ + + + + + + Defs/ThingDef[ + defName="RNApparel_EyePros_EdgeTactical" or + defName="RNApparel_EyePros_GucciAviatorGlasses" + ]/apparel/layers + + +
  • StrappedHead
  • +
    +
    +
    + + + Defs/ThingDef[ + defName="RNApparel_EyePros_EdgeTactical" or + defName="RNApparel_EyePros_GucciAviatorGlasses" or + defName="RNApparel_Flatcap" + ]/statBases + + 2 + 0.1 + + + + + Defs/ThingDef[defName="RNApparel_EyePros_EdgeTactical"]/statBases/StuffEffectMultiplierArmor + + 1.5 + + + + + Defs/ThingDef[defName="RNApparel_Flatcap"]/statBases + + 2 + + + + + + Defs/ThingDef[ + defName="RNApparel_UaRmsTORD_GreenMoss" or + defName="RNApparel_6b27_GreenBare" or + defName="RNApparel_K63_HelmetA" or + defName="RNApparel_K63_HelmetB" or + defName="RNApparel_K63_Helmet_GP7Gasmask" or + defName="RNApparel_Helmet_JuggernautMkII" + ]/stuffCategories + + +
  • Steeled
  • +
    +
    +
    + + + Defs/ThingDef[ + defName="RNApparel_UaRmsTORD_GreenMoss" or + defName="RNApparel_6b27_GreenBare" or + defName="RNApparel_K63_HelmetA" or + defName="RNApparel_K63_HelmetB" + ]/statBases + + 3.5 + 1 + 8 + 16 + 0.54 + + + + + Defs/ThingDef[defName="RNApparel_K63_Helmet_GP7Gasmask"]/statBases + + 5.0 + 1.5 + 8 + 16 + 0.54 + + + + + Defs/ThingDef[defName="RNApparel_Helmet_JuggernautMkII"]/statBases + + 5.0 + 1.5 + 15 + 30 + 0.90 + + + + + Defs/ThingDef[defName="RNApparel_Helmet_JuggernautMkII"]/costList + + + 20 + 5 + + + + + + Defs/ThingDef[defName="RNApparel_Helmet_JuggernautMkII"]/equippedStatOffsets/MoveSpeed + + + + + Defs/ThingDef[ + defName="RNApparel_Balaclava_Kula1Hole" or + defName="RNApparel_Balaclava_Kula3Hole" or + defName="RNApparel_Balaclava_Multicam" + ]/costStuffCount + + 20 + + + + + Defs/ThingDef[ + defName="RNApparel_Balaclava_Kula1Hole" or + defName="RNApparel_Balaclava_Kula3Hole" or + defName="RNApparel_Balaclava_Multicam" + ]/statBases/StuffEffectMultiplierArmor + + 1 + 0.5 + + + + + Defs/ThingDef[ + defName="RNApparel_Balaclava_Kula1Hole" or + defName="RNApparel_Balaclava_Kula3Hole" or + defName="RNApparel_Balaclava_Multicam" + ]/apparel/layers + + +
  • OnHead
  • +
    +
    +
    + + + Defs/ThingDef[ + defName="RNApparel_Balaclava_Kula1Hole" or + defName="RNApparel_Balaclava_Kula3Hole" or + defName="RNApparel_Balaclava_Multicam" + ]/apparel/bodyPartGroups + + +
  • UpperHead
  • +
  • Teeth
  • +
    +
    +
    + + + + Defs/ThingDef[ + defName="RNApparel_UBACShirt_GreenMoss" or + defName="RNApparel_Jacket_GORKA4Jacket" or + defName="RNApparel_Jacket_GORKA4AnorakJacket" or + defName="RNApparel_Jacket_GORKAESSOJacket" or + defName="RNApparel_Jacket_GORKAKMLKJacket" or + defName="RNApparel_Tracksuit_Black" + ]/statBases/StuffEffectMultiplierArmor + + 1.5 + 1 + + + + + Defs/ThingDef[ + defName="RNApparel_UBACShirt_GreenMoss" or + defName="RNApparel_Jacket_GORKA4Jacket" or + defName="RNApparel_Jacket_GORKA4AnorakJacket" or + defName="RNApparel_Jacket_GORKAESSOJacket" or + defName="RNApparel_Jacket_GORKAKMLKJacket" + ]/statBases/Flammability + + 0.6 + + + + + + Defs/ThingDef[ + defName="RNApparel_CryeCAGE_Multicam" or + defName="RNApparel_Defender2_Green" or + defName="RNApparel_Soviet_JuggernautSuitMkII" + ]/equippedStatOffsets/MoveSpeed + + + + Defs/ThingDef[defName="RNApparel_CryeCAGE_Multicam"]/statBases + + + 9000 + 75 + 0.6 + 14 + 20 + 0.27 + 1 + 4.5 + 11 + 6 + 3 + + + + + + Defs/ThingDef[defName="RNApparel_Defender2_Green"]/statBases + + + 9000 + 75 + 0.6 + 16 + 23 + 0.27 + 1 + 5.5 + 13 + 6 + 4 + + + + + + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/statBases + + + 21000 + 360 + 0.25 + 18 + 31 + 0.27 + 1 + 5.5 + 30 + 50 + 20 + -0.25 + -0.25 + 0.15 + + + + + + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/costList + + + 130 + 10 + 35 + 12 + + + + + + + Defs/ThingDef[@Name = "RHApparel_GruppaKroviHarnessBase"]/apparel/layers + + +
  • Webbing
  • +
    +
    +
    + + + Defs/ThingDef[@Name = "RHApparel_GruppaKroviHarnessBase"]/apparel/bodyPartGroups + + +
  • Shoulders
  • +
    +
    +
    + + + Defs/ThingDef[@Name = "RHApparel_GruppaKroviHarnessBase"]/statBases + + + 10 + 5 + + + + + Defs/ThingDef[@Name = "RHApparel_GruppaKroviHarnessBase"]/equippedStatOffsets + + + 25 + 0.1 + 0.05 + + + + + + + Defs/ThingDef[@Name="RH2_BackpackBase" or @Name="RH2_BackpackMakeableBase"]/apparel/layers + + +
  • Backpack
  • +
    +
    +
    + + + Defs/ThingDef[defName = "RNApparel_Backpack_KulaHydrobag"]/statBases + + 2 + + + + + Defs/ThingDef[defName = "RNApparel_Backpack_KulaHydrobag"]/equippedStatOffsets/CarryingCapacity + + 20 + + + + + Defs/ThingDef[defName = "RNApparel_Backpack_SydorM230L" or defName = "RNApparel_Backpack_Cascade45L"]/statBases + + 4 + + + + + Defs/ThingDef[defName = "RNApparel_Backpack_SydorM230L" or defName = "RNApparel_Backpack_Cascade45L"]/equippedStatOffsets/CarryingCapacity + + 35 + + + + + Defs/ThingDef[defName = "RNApparel_Backpack_JuggernautMkII"]/statBases + + 20 + + + + + Defs/ThingDef[defName = "RNApparel_Backpack_JuggernautMkII"]/equippedStatOffsets/CarryingCapacity + + 25 + 60 + + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Bodies_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Bodies_Gruppa_Krovi.xml new file mode 100644 index 0000000000..9e5b1baf84 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Bodies_Gruppa_Krovi.xml @@ -0,0 +1,281 @@ + + + + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalNeck"]/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalNeck"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalNeck"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalNeck"]/parts/li[def="MechanicalHead"]/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalNeck"]/parts/li[def="MechanicalHead"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalNeck"]/parts/li[def="MechanicalHead"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[customLabel="rear left foot"]/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[customLabel="rear left foot"] + + + + + + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[customLabel="rear right foot"]/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[customLabel="rear right foot"] + + + + + + + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[def="MechanicalFoot"]/groups + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[def="MechanicalFoot"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_KV2_Walker"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[def="MechanicalFoot"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalNeck"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalNeck"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalNeck"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalNeck"]/parts/li[def="MechanicalHead"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalNeck"]/parts/li[def="MechanicalHead"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalNeck"]/parts/li[def="MechanicalHead"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/parts/li[def="MechanicalHand"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/parts/li[def="MechanicalHand"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/parts/li[def="MechanicalHand"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/parts/li[def="MechanicalHand"]/parts/li[def="MechanicalFinger"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/parts/li[def="MechanicalHand"]/parts/li[def="MechanicalFinger"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalShoulder"]/parts/li[def="MechanicalArm"]/parts/li[def="MechanicalHand"]/parts/li[def="MechanicalHand"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalLeg"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalLeg"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalLeg"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[def="MechanicalFoot"]/groups + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[def="MechanicalFoot"]/groups + +
  • CoveredByNaturalArmor
  • +
    +
    + + Defs/BodyDef[defName="RH2_Soviet_Drone"]/corePart/parts/li[def="MechanicalLeg"]/parts/li[def="MechanicalFoot"] + + +
  • CoveredByNaturalArmor
  • +
    +
    +
    +
    + +
    + \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml new file mode 100644 index 0000000000..9958553ad8 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml @@ -0,0 +1,226 @@ + + + + + + Defs/ThingDef[ + defName="RNGun_KV2_Howitzer" or + defName="RNGun_Tesla_Coil" or + defName="RNGun_RedStar_PlasmaCannon" + ]/weaponTags + +
  • NoSwitch
  • +
    +
    + + + + RN2Gun_KV2_DSHKMachineGun + + 1 + 0.2 + 1.36 + 20.00 + + + CombatExtended.Verb_ShootCE + true + Bullet_127x108mm_FMJ + 55 + 10 + RNShot_DSHK + GunTail_Heavy + 9 + 2.5 + HeadAttackTool + true + 12 + + + + + + + + + + RNGun_KV2_Howitzer + + + 50.00 + 20.00 + 0.75 + 0.10 + 0.5 + 2.55 + + + 3.24 + CombatExtended.Verb_ShootCE + True + Bullet_120mmCannonShell_HE + 4.3 + 125 + RN_152mmHowitzer_Shot + GunTail_Heavy + 6 + false + false + + true + + 16 + + + 1 + 8.4 + AmmoSet_120mmCannonShell + + + + + Defs/ThingDef[defName="RNGun_KV2_Howitzer"]/tools + + +
  • + + +
  • Blunt
  • + + 45 + 2.6 + 10.5 + Barrel + +
    +
    +
    + + + + RNGun_Tesla_Coil + + 50.00 + 20.00 + 1.59 + 0.15 + 1.0 + 0.35 + + + 0.0 + CombatExtended.Verb_ShootCE + True + Bullet_CE_RNBullet_Tesla_Charge + 2.5 + 62 + RN_Tesla_Shot + GunTail_Heavy + 6 + false + false + + false + + 16 + + + 1 + 4.15 + AmmoSet_RNTeslaCharge + + + + + Defs/ThingDef[defName="RNBullet_Tesla_Charge"] + + + + + + RNGun_RedStar_PlasmaCannon + + 50.00 + 20.00 + 1.59 + 0.15 + 1.0 + 0.45 + + + 1.36 + CombatExtended.Verb_ShootCE + True + Bullet_CE_RNBullet_RedStar_Plasma + 3.15 + 66 + 27 + RN_RedStar_Shot + GunTail_Heavy + 6 + false + 2 + false + + false + + 16 + + + 2 + 5.1 + AmmoSet_RNPlasmaCharge + + + AimedShot + FALSE + + + + + Defs/ThingDef[defName="RNBullet_RedStar_Plasma"] + + + + Defs/ThingDef[ + defName="RNGun_Tesla_Coil" or + defName="RNGun_RedStar_PlasmaCannon"]/tools + + +
  • + + +
  • Blunt
  • + + 25 + 2.0 + 7 + Barrel + +
    +
    +
    + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml new file mode 100644 index 0000000000..5ba15bcff2 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml @@ -0,0 +1,98 @@ + + + + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] + +
  • + + 4 + 6 + +
  • +
    +
    + + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] + +
  • + + 4 + 6 + + +
  • + 0.15 + + 10 + 100 + + +
  • GrenadeSmoke
  • + + + 0 + 1 + + +
  • + 0.075 + + 50 + 200 + + +
  • CE_FlareLauncher
  • + + + 2 + 4 + + + + +
    +
    + + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_SpecialBase"] + +
  • + + 4 + 6 + + +
  • + 0.125 + + 10 + 100 + + +
  • GrenadeDestructive
  • + + + 2 + 3 + + + + +
    +
    + + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] + +
  • + + 4 + 6 + +
  • +
    +
    + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml new file mode 100644 index 0000000000..5f751fa5ee --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml @@ -0,0 +1,331 @@ + + + + + Defs/ThingDef[ + defName="RH2Mech_KV2Walker" or + defName="RH2Mech_TeslaDrone" or + defName="RH2Mech_PlasmaDrone" + ] + +
  • + Humanoid +
  • +
    +
    + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases + + 125 + 125 + 1.0 + 1.0 + 0.25 + 500 + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Blunt + + 75 + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Sharp + + 30 + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps + +
  • + 2500 + false + 0.5 + true + + 5 + + 200 + 250 + 15 + 37 +
  • +
    +
    + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"] + +
  • + +
  • + false + 0.25 + +
  • SightSensor
  • + + +
  • + false + 0.25 + +
  • SightSensor
  • + + +
  • + false + 0.25 + +
  • HearingSensor
  • + + +
  • + false + 0.25 + +
  • HearingSensor
  • + + +
  • + false + .6 + +
  • MechanicalLeg
  • + + +
  • + false + .5 + +
  • MechanicalLeg
  • + + + + +
    +
    + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps/li[@Class="CompProperties_TurretGun" and turretDef="RNGun_KV2_KrohaLauncher"] + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/tools + + +
  • + + +
  • Blunt
  • + + 85 + 3 + FrontLeftLeg + true + +
  • + + +
  • Blunt
  • + + 85 + 3 + FrontRightLeg + true + +
    +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_KV2Walker"] + +
  • + + 10 + 20 + + GrenadeHE +
  • +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_KV2Walker"]/combatPower + + 800 + + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases + + 80 + 20 + 1.0 + 1.0 + 0.25 + 300 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Blunt + + 50 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Sharp + + 20 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/comps + +
  • + 1500 + false + 0.5 + true + + 3 + + 140 + 150 + 10 + 25 +
  • +
    +
    + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"] + +
  • + +
  • + false + 0.1 + +
  • SightSensor
  • + + +
  • + false + 0.1 + +
  • SightSensor
  • + + +
  • + false + 0.1 + +
  • HearingSensor
  • + + +
  • + false + 0.1 + +
  • HearingSensor
  • + + +
  • + false + 1.5 + +
  • MechanicalShoulder
  • + + +
  • + false + 1.5 + +
  • MechanicalShoulder
  • + + + + +
    +
    + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/tools + + +
  • + + +
  • Blunt
  • + + 22 + 2 + LeftHand + true + +
  • + + +
  • Blunt
  • + + 25 + 2 + RightHand + true + true + +
    +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"] + +
  • + + 20 + 30 + +
  • +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"]/combatPower + + 300 + + + + + Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"] + +
  • + + 20 + 25 + +
  • +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"]/combatPower + + 350 + + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml new file mode 100644 index 0000000000..a03503ebf9 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml @@ -0,0 +1,23 @@ + + + + Defs/TraderKindDef[ + defName="RHBase_GruppaKrovi_Standard" or + defName="RHCaravan_GruppaKrovi_BlackMarket" + ]/stockGenerators + +
  • + CE_Ammo + + 1000 + 3000 + + Cheap + + 5 + 12 + +
  • +
    +
    +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml new file mode 100644 index 0000000000..00bc2d9cd4 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml @@ -0,0 +1,568 @@ + + + + + + + Defs/ThingDef[ + defName = "RNGun_PKP_GPMG" or + defName = "RNGun_GSHG762_RotaryCannon" or + defName = "RNGun_AK12_Rifle" or + defName = "RNGun_AK105_Rifle" or + defName = "RNGun_AK74Contractor_Rifle" or + defName = "RNGun_ASVALContractor_Rifle" or + defName = "RNGun_DragunovSVDS_DMR" or + defName = "RNGun_KSVK_AMR" + ]/tools + + + +
  • + + +
  • Blunt
  • + + 8 + 1.55 + 1.5 + 2.755 + Stock + +
  • + + +
  • Blunt
  • + + 5 + 2.02 + 1.630 + Barrel + +
  • + + +
  • Poke
  • + + 8 + 1.55 + 2.755 + Muzzle + +
    +
    +
    + + + + + Defs/ThingDef[defName="RNGun_RPG7V2_RocketLauncher"]/tools + + +
  • + + +
  • Blunt
  • + + 10 + 2.44 + 3.5 + Barrel + +
    +
    +
    + + + RNGun_RPG7V2_RocketLauncher + + 25500 + 10.50 + 1.68 + 0.2 + 2.16 + 1.5 + + + 70 + 4 + + + CombatExtended.Verb_ShootCE + True + Bullet_RPG7Grenade_HEAT + 2.035 + 5 + 40 + RNShotLauncher + GunTail_Heavy + 14 + + true + + true + + + 1 + 5.6 + AmmoSet_RPG7Grenade + + + AimedShot + FALSE + + +
  • GunHeavy
  • +
  • CE_AI_AOE
  • +
  • RN_RPG7v2
  • +
    +
    + + + + RNGun_PKP_GPMG + + 32000 + 8.70 + 14.00 + 1.45 + 0.04 + 1.1 + 0.56 + + + 90 + 6 + + + 1.39 + CombatExtended.Verb_ShootCE + True + Bullet_762x54mmR_FMJ + 10 + 6 + 1.3 + 112 + RNShotDP28LMG + GunTail_Medium + 9 + + + 100 + 4.9 + AmmoSet_762x54mmR + + + SuppressFire + False + 5 + + +
  • IndustrialGunAdvanced
  • +
  • CE_MachineGun
  • +
  • Bipod_SAW
  • +
  • RN_GruppaKrovi_MG
  • +
  • RNGun_PKP
  • +
    + + PrecisionRifling +
    + + + + RNGun_GSHG762_RotaryCannon + + 40000 + 19.00 + 10.00 + 2.70 + 0.05 + 1 + 0.35 + + + 115 + 6 + + + 0.92 + CombatExtended.Verb_ShootCE + True + Bullet_762x54mmR_FMJ + 50 + 1 + 2.1 + 86 + RNShotGShG + GunTail_Medium + 9 + + + 200 + 7.8 + AmmoSet_762x54mmR + + + SuppressFire + False + 25 + + +
  • CE_MachineGun
  • +
  • RNGun_GShG_GattlingGun
  • +
    + MicroelectronicsBasics +
    + + + Defs/ThingDef[defName="RNGun_GSHG762_RotaryCannon"]/equippedStatOffsets/MoveSpeed + + + + + RNGun_AK12_Rifle + + 33500 + 3.5 + 6.88 + 1.27 + 0.09 + 1.1 + 0.36 + + + 40 + 6 + 10 + + + 1.35 + CombatExtended.Verb_ShootCE + True + Bullet_545x39mmSoviet_FMJ + 6 + 5 + 1.0 + 51 + RNShot_AK12AR + GunTail_Medium + 9 + + + 30 + 4 + AmmoSet_545x39mmSoviet + + + AimedShot + True + 3 + + +
  • RN_GruppaKrovi_BasicRifles
  • +
  • RN_AK12
  • +
    + PrecisionRifling +
    + + + + RNGun_AK105_Rifle + + 32000 + 3.2 + 5.86 + 1.14 + 0.11 + 1.1 + 0.36 + + + 40 + 6 + 5 + + + 1.37 + CombatExtended.Verb_ShootCE + True + Bullet_545x39mmSoviet_FMJ + 6 + 6 + 0.8 + 40 + RNShot_AN94 + GunTail_Medium + 9 + + + 30 + 4 + AmmoSet_545x39mmSoviet + + + AimedShot + True + 3 + + +
  • RN_GruppaKrovi_AdvancedRifles
  • +
  • RN_AK105_Contractor
  • +
    + PrecisionRifling +
    + + + + RNGun_AK74Contractor_Rifle + + 32000 + 3.07 + 6.90 + 1.25 + 0.09 + 2.0 + 0.36 + + + 50 + 6 + 5 + + + 1.44 + CombatExtended.Verb_ShootCE + True + Bullet_545x39mmSoviet_FMJ + 6 + 6 + 1.1 + 55 + RNShotAK74USMG + GunTail_Medium + 9 + + + 30 + 4 + AmmoSet_545x39mmSoviet + + + AimedShot + True + 3 + + +
  • RN_GruppaKrovi_IntermediateRifles
  • +
  • RN_AK74_Contractor
  • +
    + PrecisionRifling +
    + + + + RNGun_ASVALContractor_Rifle + + 32000 + 2.50 + 6.15 + 1.13 + 0.14 + 1.1 + 0.36 + + + 40 + 6 + 5 + + + 1.57 + CombatExtended.Verb_ShootCE + True + Bullet_9x39mmSoviet_FMJ + 6 + 5 + 1.0 + 40 + RNShotASVAL + GunTail_Heavy + 9 + + + 30 + 4 + AmmoSet_9x39mmSoviet + + + AimedShot + True + 3 + + +
  • RN_GruppaKrovi_IntermediateRifles
  • +
  • RN_ASVAL_Contractor
  • +
    + PrecisionRifling +
    + + + + RNGun_DragunovSVDS_DMR + + 32000 + 4.68 + 8.75 + 1.60 + 0.05 + 2.0 + 0.37 + + + 40 + 6 + 5 + + + 1.84 + CombatExtended.Verb_ShootCE + True + Bullet_762x54mmR_FMJ + 1 + 5 + 1.1 + 75 + RNShotDragunov + GunTail_Heavy + 9 + + + 10 + 4 + AmmoSet_762x54mmR + + + AimedShot + False + + +
  • RN_GruppaKrovi_Marksman
  • +
  • RN_SVDS
  • +
    + PrecisionRifling +
    + + + + RNGun_KSVK_AMR + + 28000 + 12.00 + 15.20 + 1.13 + 0.01 + 2.0 + 0.61 + + + 95 + 4 + 10 + + + 3.46 + CombatExtended.Verb_ShootCE + True + Bullet_127x108mm_FMJ + 1 + 5 + 2.8 + 112 + RNTac50Shot + GunTail_Heavy + 9 + + + 5 + 4 + AmmoSet_127x108mm + + + AimedShot + False + + +
  • RN_GruppaKrovi_Marksman
  • +
  • RN_KSVK
  • +
    + PrecisionRifling +
    + + + + + + Defs/ThingDef[defName="RH2_DragonVodka"]/statBases + + 1.5 + 0.33 + + + + + Defs/ThingDef[defName="RH2_DragonVodka"]/tools + + +
  • + +
  • Blunt
  • + + 2 + 2.22 + 1.33 + 0.338 + Base + +
  • + + +
  • Poke
  • + + 1 + 3.33 + 0.150 + Neck + +
    +
    +
    + + + Defs/ThingDef[defName="RH2_DragonVodka"] + + + 0.1 + 0.33 + 0.07 + + + + + + Defs/ThingDef[defName="RH_RedWine"]/weaponTags + + Defs/ThingDef[defName="RH2_DragonVodka"]/weaponTags + +
  • CE_OneHandedWeapon
  • +
    +
    + + Defs/ThingDef[defName="RH2_DragonVodka"] + + +
  • CE_OneHandedWeapon
  • +
    +
    +
    +
    + +
    \ No newline at end of file From fb837a39f91addfe08729abcfc066fe2d2bd4888 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:41:09 -0700 Subject: [PATCH 02/35] Move loader functionality into CE itself --- .gitignore | 2 ++ Assemblies/0CombatExtendedLoader.dll | Bin 10240 -> 0 bytes Assemblies/CombatExtendedLoader.dll | Bin 0 -> 7168 bytes Source/CombatExtended/Loader/IModPart.cs | 14 ++++++++++++++ Source/CombatExtended/Loader/ISettingsCE.cs | 11 +++++++++++ 5 files changed, 27 insertions(+) delete mode 100644 Assemblies/0CombatExtendedLoader.dll create mode 100644 Assemblies/CombatExtendedLoader.dll create mode 100644 Source/CombatExtended/Loader/IModPart.cs create mode 100644 Source/CombatExtended/Loader/ISettingsCE.cs diff --git a/.gitignore b/.gitignore index ba719fca3b..60969532ac 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ UnityEngine.dll .idea/ +__pycache__ +ModPatches/*/Assemblies/ diff --git a/Assemblies/0CombatExtendedLoader.dll b/Assemblies/0CombatExtendedLoader.dll deleted file mode 100644 index ce2d0521d05f2becc7abfa9f75d1514b685399e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10240 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 ACIA2c diff --git a/Assemblies/CombatExtendedLoader.dll b/Assemblies/CombatExtendedLoader.dll new file mode 100644 index 0000000000000000000000000000000000000000..225ee260879b2ecde093783ebb3c843b425053f3 GIT binary patch literal 7168 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 R0PweBj~@gdwGUke{s*Wafhhn0 literal 0 HcmV?d00001 diff --git a/Source/CombatExtended/Loader/IModPart.cs b/Source/CombatExtended/Loader/IModPart.cs new file mode 100644 index 0000000000..8e8f45580e --- /dev/null +++ b/Source/CombatExtended/Loader/IModPart.cs @@ -0,0 +1,14 @@ +using System.Reflection; +using RimWorld; +using System.Collections.Generic; +using Verse; +using System; + +namespace CombatExtended.Loader +{ + public interface IModPart + { + public void PostLoad(ModContentPack content, ISettingsCE settings); + public Type GetSettingsType(); + } +} diff --git a/Source/CombatExtended/Loader/ISettingsCE.cs b/Source/CombatExtended/Loader/ISettingsCE.cs new file mode 100644 index 0000000000..2ce6b50033 --- /dev/null +++ b/Source/CombatExtended/Loader/ISettingsCE.cs @@ -0,0 +1,11 @@ +using RimWorld; +using Verse; +using UnityEngine; + +namespace CombatExtended.Loader +{ + public interface ISettingsCE + { + public void DoWindowContents(Listing_Standard list); + } +} From d3b3d3f3061ff05e7572c6d89020806cb3bb4922 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:41:31 -0700 Subject: [PATCH 03/35] Add script to find duplicate relative paths --- DupeFinder.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 DupeFinder.py diff --git a/DupeFinder.py b/DupeFinder.py new file mode 100644 index 0000000000..57f689ba1a --- /dev/null +++ b/DupeFinder.py @@ -0,0 +1,48 @@ +from xml.dom.minidom import parse as XMLOpen +from twisted.python.filepath import FilePath +import sys +err = "-c" not in sys.argv + +used = {} +mods = set() +ModPatches = FilePath("ModPatches") +ec = 0 + +def process(node): + global ec + mod = c.getAttribute("IfModActive") + if (mod, c.firstChild.data) in mods: + ec += 1 + msg = f"Mod {mod} is listed in LoadFolders.xml twice, both pointing to {c.firstChild.data}" + if err: + raise RuntimeError(msg) + else: + print(msg) + mods.add((mod, c.firstChild.data)) + root = FilePath(c.firstChild.data) + if not ModPatches in root.parents(): + return + for fd in root.walk(): + if fd.isdir(): + continue + if not fd.basename().endswith(".xml"): + continue + relative = tuple(fd.segmentsFrom(root)) + if relative in used: + msg = f"Mod {mod} is trying to use {relative}, but {used[relative]} already owns that path" + if err: + raise RuntimeError(msg) + else: + ec += 1 + print(msg) + used[relative] = mod + +with XMLOpen("LoadFolders.xml") as x: + v1_5 = x.getElementsByTagName("v1.5") + for n in v1_5: + for c in n.getElementsByTagName("li"): + if c.getAttribute("IfModActive"): + process(c) + + +raise SystemExit(ec) From 21202f31ca349ea3d464ed1845342de1ea65a180 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:41:45 -0700 Subject: [PATCH 04/35] Update makefile to not require building the loader and change the loader name --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index d440b09473..9a4fc416fb 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ PUBLICIZER := /tmp/AssemblyPublicizer -all: Assemblies/0CombatExtendedLoader.dll Assemblies/CombatExtended.dll CompatAssemblies AssembliesCompat $(PUBLICIZER) +all: Assemblies/CombatExtended.dll CompatAssemblies AssembliesCompat $(PUBLICIZER) $(PUBLICIZER): git clone https://github.com/CombatExtended-Continued/AssemblyPublicizer --depth=1 $(PUBLICIZER) @@ -12,10 +12,10 @@ $(PUBLICIZER): AssembliesCompat: $(PUBLICIZER) mkdir -p AssembliesCompat -Assemblies/0CombatExtendedLoader.dll: Source/Loader/Loader.csproj $(wildcard Source/Loader/Loader/*.cs) $(PUBLICIZER) - python3 Make.py --csproj Source/Loader/Loader.csproj --output Assemblies/0CombatExtendedLoader.dll --reference /tmp/rwreference --all-libs $(DOWNLOAD_LIBS) +Assemblies/CombatExtendedLoader.dll: Source/Loader/Loader.csproj $(wildcard Source/Loader/Loader/*.cs) $(PUBLICIZER) + python3 Make.py --csproj Source/Loader/Loader.csproj --output Assemblies/CombatExtendedLoader.dll --reference /tmp/rwreference --all-libs $(DOWNLOAD_LIBS) -Assemblies/CombatExtended.dll: Assemblies/0CombatExtendedLoader.dll Source/CombatExtended/CombatExtended.csproj $(wildcard Source/CombatExtended/*/*.cs) $(wildcard Source/CombatExtended/*/*/*.cs) $(PUBLICIZER) +Assemblies/CombatExtended.dll: Source/CombatExtended/CombatExtended.csproj $(wildcard Source/CombatExtended/*/*.cs) $(wildcard Source/CombatExtended/*/*/*.cs) $(PUBLICIZER) python3 Make.py --csproj Source/CombatExtended/CombatExtended.csproj --output Assemblies/CombatExtended.dll --reference /tmp/rwreference --all-libs $(DOWNLOAD_LIBS) --publicizer $(PUBLICIZER) From 7c35397d1be8d43a26465da388f4f4ab4c3955a6 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:42:07 -0700 Subject: [PATCH 05/35] Add loadfolders entries for compat assemblies --- LoadFolders.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/LoadFolders.xml b/LoadFolders.xml index 504adff5f1..83a0d024f7 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -358,7 +358,6 @@
  • ModPatches/Rimmu-Nation - Weapons
  • ModPatches/RimNauts 2
  • ModPatches/RimSec-Security
  • -
  • ModPatches/Rimsenal - Spacer Faction Pack
  • ModPatches/Rimsenal Xenotype Pack - Askbarn
  • ModPatches/RimTraits - General Traits
  • ModPatches/RimTraits - Medieval Talents
  • @@ -605,5 +604,8 @@
  • ModPatches/pphhyy's Lightless Empyrean
  • ModPatches/Vanilla Arsenal
  • ModPatches/Jin-Roh Kerberos Panzer Cop Armor
  • - +
  • ModPatches/VehicleFramework
  • +
  • ModPatches/Multiplayer
  • +
  • ModPatches/SRTS
  • + From d432f9e8183d4cf6ab453a3ed91526815c4aa4a9 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:42:24 -0700 Subject: [PATCH 06/35] Read destination of output assemblies from .csproj files they must be located under ModPatches --- BuildCompat.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/BuildCompat.py b/BuildCompat.py index e3470dd2ad..caf130e938 100644 --- a/BuildCompat.py +++ b/BuildCompat.py @@ -4,6 +4,7 @@ from subprocess import Popen import re import sys +from xml.dom.minidom import parse as XMLOpen tm = '-m' in sys.argv @@ -37,8 +38,20 @@ def system(*cmd): if tm and name not in sys.argv: continue csproj = csproj.replace('\\', '/').split('/') csproj = FilePath("Source").descendant(csproj) - print(f"Building {name}") output = FilePath("AssembliesCompat").child(name+".dll") + with XMLOpen(csproj.path) as cpath: + op = cpath.getElementsByTagName("OutputPath") + if op: + op = op[0].firstChild.data + if 'ModPatches' in op: + op = op.rsplit("..\\ModPatches", 1)[-1].replace('\\', '/').split('/') + if op: + od = FilePath("ModPatches").descendant(op) + if not od.exists(): + od.makedirs() + output = od.child(name+".dll") + + print(f"Building {name}") system("python3", "Make.py", "--csproj", csproj.path, "--output", output.path, DOWNLOAD_LIBS, "--all-libs", "--publicizer", PUBLICIZER, "--", "-r:Assemblies/CombatExtended.dll") for t in tasks: From cc0073dc9f6ff65a04907834cc7740a1d14b13af Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:43:12 -0700 Subject: [PATCH 07/35] Remove references to loader, move output to ModPatches --- Source/BetterTurretsCompat/BetterTurretsCompat.csproj | 10 ++-------- Source/CombatExtended/CombatExtended.csproj | 6 ------ Source/Loader/Loader.csproj | 2 +- Source/MiscTurretsCompat/MiscTurretsCompat.csproj | 10 ++-------- Source/MultiplayerCompat/MultiplayerCompat.csproj | 10 ++-------- Source/SOS2Compat/SOS2Compat.csproj | 10 ++-------- Source/SRTSCompat/SRTSCompat.csproj | 10 ++-------- Source/VehiclesCompat/VehiclesCompat.csproj | 10 ++-------- 8 files changed, 13 insertions(+), 55 deletions(-) diff --git a/Source/BetterTurretsCompat/BetterTurretsCompat.csproj b/Source/BetterTurretsCompat/BetterTurretsCompat.csproj index b37cab8275..21bb270f34 100644 --- a/Source/BetterTurretsCompat/BetterTurretsCompat.csproj +++ b/Source/BetterTurretsCompat/BetterTurretsCompat.csproj @@ -12,7 +12,7 @@ false - ..\..\AssembliesCompat\ + ..\..\ModPatches\BetterTurrets\Assemblies\ portable true true @@ -20,7 +20,7 @@ true - ..\..\AssembliesCompat\ + ..\..\ModPatches\BetterTurrets\Assemblies\ true none false @@ -34,12 +34,6 @@ - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - False diff --git a/Source/CombatExtended/CombatExtended.csproj b/Source/CombatExtended/CombatExtended.csproj index 06d24c20c2..a64042ec2f 100644 --- a/Source/CombatExtended/CombatExtended.csproj +++ b/Source/CombatExtended/CombatExtended.csproj @@ -69,12 +69,6 @@ - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - ..\packages\Rimatomics-reference.dll diff --git a/Source/Loader/Loader.csproj b/Source/Loader/Loader.csproj index 5fe09601d5..0d1bf4fd3f 100644 --- a/Source/Loader/Loader.csproj +++ b/Source/Loader/Loader.csproj @@ -2,7 +2,7 @@ net472 - 0CombatExtendedLoader + CombatExtendedLoader 1.1.2.0 1.1.2.0 1.1.2 diff --git a/Source/MiscTurretsCompat/MiscTurretsCompat.csproj b/Source/MiscTurretsCompat/MiscTurretsCompat.csproj index 12f309f64b..302cf63967 100644 --- a/Source/MiscTurretsCompat/MiscTurretsCompat.csproj +++ b/Source/MiscTurretsCompat/MiscTurretsCompat.csproj @@ -12,7 +12,7 @@ false - ..\..\AssembliesCompat\ + ..\..\ModPatches\MiscTurrets\Assemblies\ portable true true @@ -20,7 +20,7 @@ true - ..\..\AssembliesCompat\ + ..\..\ModPatches\MiscTurrets\Assemblies\ true none false @@ -39,12 +39,6 @@ False - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - ..\packages\WeaponBase-reference.dll diff --git a/Source/MultiplayerCompat/MultiplayerCompat.csproj b/Source/MultiplayerCompat/MultiplayerCompat.csproj index c32381cb51..f26cc82d97 100644 --- a/Source/MultiplayerCompat/MultiplayerCompat.csproj +++ b/Source/MultiplayerCompat/MultiplayerCompat.csproj @@ -12,7 +12,7 @@ false - ..\..\AssembliesCompat\ + ..\..\ModPatches\Multiplayer\Assemblies\ portable true true @@ -20,7 +20,7 @@ true - ..\..\AssembliesCompat\ + ..\..\ModPatches\Multiplayer\Assemblies\ true none false @@ -34,12 +34,6 @@ - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - False diff --git a/Source/SOS2Compat/SOS2Compat.csproj b/Source/SOS2Compat/SOS2Compat.csproj index 12ab57e780..42f86238ac 100644 --- a/Source/SOS2Compat/SOS2Compat.csproj +++ b/Source/SOS2Compat/SOS2Compat.csproj @@ -12,7 +12,7 @@ false - ..\..\AssembliesCompat\ + ..\..\ModPatches\Save Our Ship 2\Assemblies portable true true @@ -20,7 +20,7 @@ true - ..\..\AssembliesCompat\ + ..\..\ModPatches\Save Our Ship 2\Assemblies true none false @@ -35,12 +35,6 @@ False - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - ..\packages\ShipsHaveInsides-reference.dll diff --git a/Source/SRTSCompat/SRTSCompat.csproj b/Source/SRTSCompat/SRTSCompat.csproj index 5abb8ba699..f712c546bf 100644 --- a/Source/SRTSCompat/SRTSCompat.csproj +++ b/Source/SRTSCompat/SRTSCompat.csproj @@ -12,7 +12,7 @@ false - ..\..\AssembliesCompat\ + ..\..\ModPatches\SRTS\Assemblies\ portable true true @@ -20,7 +20,7 @@ true - ..\..\AssembliesCompat\ + ..\..\ModPatches\SRTS\Assemblies\ true none false @@ -39,12 +39,6 @@ False - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - ..\packages\SRTS-reference.dll diff --git a/Source/VehiclesCompat/VehiclesCompat.csproj b/Source/VehiclesCompat/VehiclesCompat.csproj index 79be0719b7..9145d8f0cf 100644 --- a/Source/VehiclesCompat/VehiclesCompat.csproj +++ b/Source/VehiclesCompat/VehiclesCompat.csproj @@ -12,7 +12,7 @@ false - ..\..\AssembliesCompat\ + ..\..\ModPatches\VehicleFramework\Assemblies\ portable true true @@ -20,7 +20,7 @@ true - ..\..\AssembliesCompat\ + ..\..\ModPatches\VehicleFramework\Assemblies\ true none false @@ -39,12 +39,6 @@ False - - - ..\..\Assemblies\0CombatExtendedLoader.dll - False - - ..\packages\Vehicles-reference.dll From 5224f600c5284f990b0de27ea6312d52a3f69324 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:44:17 -0700 Subject: [PATCH 08/35] Removed loader functionality from CombatExtendedLoader.dll --- Source/Loader/Loader/IModPart.cs | 15 --- Source/Loader/Loader/ISettingsCE.cs | 11 -- Source/Loader/Loader/Loader.cs | 179 +++------------------------- 3 files changed, 14 insertions(+), 191 deletions(-) delete mode 100644 Source/Loader/Loader/IModPart.cs delete mode 100644 Source/Loader/Loader/ISettingsCE.cs diff --git a/Source/Loader/Loader/IModPart.cs b/Source/Loader/Loader/IModPart.cs deleted file mode 100644 index f35497645a..0000000000 --- a/Source/Loader/Loader/IModPart.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Reflection; -using RimWorld; -using System.Collections.Generic; -using Verse; -using System; - -namespace CombatExtended.Loader -{ - public interface IModPart - { - public void PostLoad(ModContentPack content, ISettingsCE settings); - public Type GetSettingsType(); - public IEnumerable GetCompatList(); - } -} diff --git a/Source/Loader/Loader/ISettingsCE.cs b/Source/Loader/Loader/ISettingsCE.cs deleted file mode 100644 index 2ce6b50033..0000000000 --- a/Source/Loader/Loader/ISettingsCE.cs +++ /dev/null @@ -1,11 +0,0 @@ -using RimWorld; -using Verse; -using UnityEngine; - -namespace CombatExtended.Loader -{ - public interface ISettingsCE - { - public void DoWindowContents(Listing_Standard list); - } -} diff --git a/Source/Loader/Loader/Loader.cs b/Source/Loader/Loader/Loader.cs index e9a088a2c5..789b1cfd1f 100644 --- a/Source/Loader/Loader/Loader.cs +++ b/Source/Loader/Loader/Loader.cs @@ -10,163 +10,28 @@ namespace CombatExtended.Loader { - public class Loader : Mod + /* + A compiled version of this class resides in our source tree. Anyone who downloads the + source tree and installs it uncompiled as a mod will get a warning that they are running + uncompiled. During the packaging process this file is removed. If CombatExtended.dll + exists in the Assemblies directory, we can assume we are running a local build and omit + the warning. + + */ + public class UncompiledWarning : Mod { - /* - This class handles loading and initializing the different components of CombatExtended. - If the main CombatExtended.dll is unavailable, it will load an outdated one which is - sufficient to allow the game to reach the main menu. It will then display a warning to - the user that they are running the uncompiled git sources rather than a real CombatExtend - release. - - DLLs in the main CombatExtended/Assemblies directory are automatically loaded before any - code here is run. - - DLLs in CombatExtended/AssembliesCore are loaded by Loader's constructor. - - After all core CombatExtended assemblies are loaded, all classes implementing - `CombatExtended.Loader.IModPart` are instantiated, and their list of required Compat modules - is queried. These compat modules are loaded (and *their* Compat list is queried) until all - required modules are loaded. - - Then each IModPart's PostLoad method is called, with an ISettingsCE if desired (or null). - */ - public static List settingList = new List(); - private static Loader instance = null; - private Vector2 scrollPosition; - - private ModContentPack content; - - private Assembly _loadCompatAssembly(string name) + public UncompiledWarning(ModContentPack content) : base(content) { - DirectoryInfo locationInfo = new DirectoryInfo(content.RootDir).GetDirectories("AssembliesCompat").FirstOrFallback(null); - if (locationInfo == null) - { - Log.Error("Combat Extended :: Cannot find compat assembly directory"); - } - FileInfo file = locationInfo.GetFiles(name + ".dll").FirstOrFallback(null); - if (file == null) - { - Log.Error("Combat Extended :: Cannot find compat assembly for " + name); - } - return _loadAssembly(file); - } - - private Assembly _loadAssembly(FileInfo file) - { - Log.Message("Combat Extended :: Loading " + file.FullName); - byte[] rawAssembly = File.ReadAllBytes(file.FullName); - - Assembly assembly; - - FileInfo pdbFile = new FileInfo(Path.Combine(file.DirectoryName, Path.GetFileNameWithoutExtension(file.FullName)) + ".pdb"); - if (pdbFile.Exists) - { - assembly = AppDomain.CurrentDomain.Load(rawAssembly, File.ReadAllBytes(pdbFile.FullName)); - } - else - { - assembly = AppDomain.CurrentDomain.Load(rawAssembly); - } - if (assembly != null) - { - content.assemblies.loadedAssemblies.Add(assembly); - } - - return assembly; - } - - public Loader(ModContentPack content) : base(content) - { - Loader.instance = this; - this.content = content; - bool found = false; - Dictionary assemblies = new Dictionary(); - foreach (Assembly assembly in content.assemblies.loadedAssemblies) { string name = assembly.GetName().Name; - assemblies[name] = assembly; if (name == "CombatExtended") { - found = true; - } - } - - - DirectoryInfo locationInfo = new DirectoryInfo(content.RootDir).GetDirectories("AssembliesCore").FirstOrFallback(null); - if (locationInfo != null) - { - foreach (FileInfo fileInfo in locationInfo.GetFiles()) - { - if (fileInfo.Name.EndsWith(".dll")) - { - Assembly assembly = _loadAssembly(fileInfo); - assemblies[assembly.GetName().Name] = assembly; - } + return; } } - - Queue toProcess = new Queue(content.assemblies.loadedAssemblies); - List modParts = new List(); - HashSet compatParts = new HashSet(); - - while (toProcess.Any()) - { - Assembly assembly = toProcess.Dequeue(); - - foreach (Type t in assembly.GetTypes().Where(x => typeof(IModPart).IsAssignableFrom(x) && !x.IsAbstract)) - { - IModPart imp = ((IModPart)t.GetConstructor(new Type[] { }).Invoke(new object[] { })); - modParts.Add(imp); - foreach (string compatPart in imp.GetCompatList()) - { - if (!compatParts.Contains(compatPart)) - { - compatParts.Add(compatPart); - Assembly compatAssembly = _loadCompatAssembly(compatPart); - toProcess.Enqueue(compatAssembly); - } - } - } - - } - - - foreach (IModPart modPart in modParts) - { - Type settingsType = modPart.GetSettingsType(); - ISettingsCE settings = null; - if (settingsType != null) - { - if (typeof(ModSettings).IsAssignableFrom(settingsType)) - { - settings = (ISettingsCE)typeof(Loader).GetMethod(nameof(Loader.GetSettings)).MakeGenericMethod(settingsType).Invoke(instance, null); - } - else - { - settings = (ISettingsCE)settingsType.GetConstructor(new Type[] { }).Invoke(new object[] { }); - } - settingList.Add(settings); - } - - modPart.PostLoad(content, settings); - - } - - - if (!found) - { - Log.Error("Combat Extended :: Running uncompiled"); - LongEventHandler.QueueLongEvent(ShowUncompiledBuildWarning, "CE_LongEvent_ShowUncompiledBuildWarning", false, null); - _loadAssembly(new DirectoryInfo(content.RootDir) - .GetDirectories("Source") - .FirstOrFallback(null)? - .GetDirectories("packages") - .FirstOrFallback(null)?.GetFiles("CombatExtended.dll") - .FirstOrFallback(null)); - } - + Log.Error("Combat Extended :: Running uncompiled"); + LongEventHandler.QueueLongEvent(ShowUncompiledBuildWarning, "CE_LongEvent_ShowUncompiledBuildWarning", false, null); } public override string SettingsCategory() @@ -174,23 +39,7 @@ public override string SettingsCategory() return "Combat Extended"; } - public override void DoSettingsWindowContents(Rect inRect) - { - Rect inner = inRect.ContractedBy(20f); - inner.height = 800f; - inner.x += 10f; - Widgets.BeginScrollView(inRect, ref this.scrollPosition, inner, true); - Listing_Standard list = new Listing_Standard(); - list.ColumnWidth = (inner.width - 17) / 2; // Subtract 17 for gap between columns - list.Begin(inner); - - foreach (ISettingsCE settings in settingList) - { - settings.DoWindowContents(list); - } - list.End(); - Widgets.EndScrollView(); - } + //Unused method is only here for reference, the repository assembly uses it to warn users to get a compiled build. private static void ShowUncompiledBuildWarning() From 894259d3122afabb18cfddda7ceefb7998f89405 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:47:35 -0700 Subject: [PATCH 09/35] Migrate mod part init and settings management into Controller --- .../CombatExtended/Controller.cs | 87 +++++++++++++++---- 1 file changed, 72 insertions(+), 15 deletions(-) diff --git a/Source/CombatExtended/CombatExtended/Controller.cs b/Source/CombatExtended/CombatExtended/Controller.cs index 797207f934..5aa5c8b94c 100644 --- a/Source/CombatExtended/CombatExtended/Controller.cs +++ b/Source/CombatExtended/CombatExtended/Controller.cs @@ -5,43 +5,95 @@ using RimWorld; using Verse; using UnityEngine; +using System.Reflection; +using System.IO; using CombatExtended.HarmonyCE; using CombatExtended.Compatibility; using CombatExtended.Loader; namespace CombatExtended { - public class Controller : IModPart + /* + This class handles initializing the different components of CombatExtended. The LoadFolders + system is responsible for loading the assemblies, this gives an opportunity to run any + post-load sanity checking, and is responsible for rendering any sub-mod settings as required. + */ + public class Controller : Mod { + public static List settingList = new List(); public static Settings settings; - public static Controller instant; + public static Controller instance; public static ModContentPack content; private static Patches patches; + private Vector2 scrollPosition; - public Type GetSettingsType() + public override void DoSettingsWindowContents(Rect inRect) { - return typeof(Settings); + Rect inner = inRect.ContractedBy(20f); + inner.height = 800f; + inner.x += 10f; + Widgets.BeginScrollView(inRect, ref this.scrollPosition, inner, true); + Listing_Standard list = new Listing_Standard(); + list.ColumnWidth = (inner.width - 17) / 2; // Subtract 17 for gap between columns + list.Begin(inner); + + foreach (ISettingsCE settings in settingList) + { + settings.DoWindowContents(list); + } + list.End(); + Widgets.EndScrollView(); } - public Controller() + public Controller(ModContentPack content) : base(content) { patches = new Patches(); + Controller.instance = this; + Controller.content = content; + Controller.settings = GetSettings(); + settingList.Add(Controller.settings); + PostLoad(); } - public IEnumerable GetCompatList() - { - return patches.GetCompatList(); - } - - public void PostLoad(ModContentPack content, ISettingsCE settings) + public void PostLoad() { - Controller.instant = this; - Controller.content = content; - Controller.settings = (Settings)settings; - // Apply Harmony patches HarmonyBase.InitPatches(); + Queue toProcess = new Queue(content.assemblies.loadedAssemblies); + List modParts = new List(); + while (toProcess.Any()) + { + Assembly assembly = toProcess.Dequeue(); + + foreach (Type t in assembly.GetTypes().Where(x => typeof(IModPart).IsAssignableFrom(x) && !x.IsAbstract)) + { + IModPart imp = ((IModPart)t.GetConstructor(new Type[] { }).Invoke(new object[] { })); + modParts.Add(imp); + } + } + foreach (IModPart modPart in modParts) + { + Log.Message("CE: Loading Mod Part"); + Type settingsType = modPart.GetSettingsType(); + ISettingsCE settings = null; + if (settingsType != null) + { + if (typeof(ModSettings).IsAssignableFrom(settingsType)) + { + settings = (ISettingsCE)typeof(Controller).GetMethod(nameof(Controller.GetSettings)).MakeGenericMethod(settingsType).Invoke(instance, null); + } + else + { + settings = (ISettingsCE)settingsType.GetConstructor(new Type[] { }).Invoke(new object[] { }); + } + settingList.Add(settings); + } + + modPart.PostLoad(content, settings); + + } + // Initialize loadout generator LongEventHandler.QueueLongEvent(LoadoutPropertiesExtension.Reset, "CE_LongEvent_LoadoutProperties", false, null); @@ -66,6 +118,11 @@ public void PostLoad(ModContentPack content, ISettingsCE settings) } + public override string SettingsCategory() + { + return "Combat Extended"; + } + private static void DoTutorialPopup() { var enableAction = new Action(() => From fa2850dcc50b852aa5a211bedff19643b0d12057 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 00:48:43 -0700 Subject: [PATCH 10/35] Remove GetCompatList from IPatch --- .../CombatExtended/Compatibility/BetterTurrets.cs | 7 ------- Source/CombatExtended/Compatibility/EDShields.cs | 5 ----- Source/CombatExtended/Compatibility/IPatch.cs | 1 - Source/CombatExtended/Compatibility/MiscTurrets.cs | 8 -------- Source/CombatExtended/Compatibility/Multiplayer.cs | 5 ----- Source/CombatExtended/Compatibility/Patches.cs | 14 -------------- .../Compatibility/ProjectRimFactory.cs | 5 ----- Source/CombatExtended/Compatibility/Rimatomics.cs | 5 ----- Source/CombatExtended/Compatibility/SOS2.cs | 5 ----- Source/CombatExtended/Compatibility/SRTS.cs | 5 ----- .../Compatibility/VanillaExpandedFramework.cs | 5 ----- .../VanillaFurnitureExpandedSecurity.cs | 5 ----- .../Compatibility/VanillaPsycastExpanded.cs | 4 ---- Source/CombatExtended/Compatibility/Vehicles.cs | 5 ----- 14 files changed, 79 deletions(-) diff --git a/Source/CombatExtended/Compatibility/BetterTurrets.cs b/Source/CombatExtended/Compatibility/BetterTurrets.cs index f21073d1e0..dc4fee1210 100644 --- a/Source/CombatExtended/Compatibility/BetterTurrets.cs +++ b/Source/CombatExtended/Compatibility/BetterTurrets.cs @@ -21,12 +21,5 @@ public void Install() { Log.Message("Combat Extended :: Installing Better Turrets"); } - public IEnumerable GetCompatList() - { - yield return "BetterTurretsCompat"; - } - - - } } diff --git a/Source/CombatExtended/Compatibility/EDShields.cs b/Source/CombatExtended/Compatibility/EDShields.cs index c317515e2d..7eba51dc33 100644 --- a/Source/CombatExtended/Compatibility/EDShields.cs +++ b/Source/CombatExtended/Compatibility/EDShields.cs @@ -40,11 +40,6 @@ public void Install() HitSoundDef = (SoundDef)t.GetField("HitSoundDef", BindingFlags.Static | BindingFlags.Public).GetValue(null); } - - public IEnumerable GetCompatList() - { - yield break; - } public static bool CheckForCollisionBetweenCallback(ProjectileCE projectile, Vector3 from, Vector3 to) { /* Check if an active shield can block this projectile diff --git a/Source/CombatExtended/Compatibility/IPatch.cs b/Source/CombatExtended/Compatibility/IPatch.cs index 9fc08acc3a..f2d06220ce 100644 --- a/Source/CombatExtended/Compatibility/IPatch.cs +++ b/Source/CombatExtended/Compatibility/IPatch.cs @@ -5,6 +5,5 @@ public interface IPatch { public bool CanInstall(); public void Install(); - public IEnumerable GetCompatList(); } } diff --git a/Source/CombatExtended/Compatibility/MiscTurrets.cs b/Source/CombatExtended/Compatibility/MiscTurrets.cs index cfa9743afd..a2f1afb484 100644 --- a/Source/CombatExtended/Compatibility/MiscTurrets.cs +++ b/Source/CombatExtended/Compatibility/MiscTurrets.cs @@ -21,13 +21,5 @@ public void Install() { Log.Message("Combat Extended :: Installing Misc Turrets"); } - - public IEnumerable GetCompatList() - { - yield return "MiscTurretsCompat"; - } - - - } } diff --git a/Source/CombatExtended/Compatibility/Multiplayer.cs b/Source/CombatExtended/Compatibility/Multiplayer.cs index c4d4c05e7f..ad8ae5ce9b 100644 --- a/Source/CombatExtended/Compatibility/Multiplayer.cs +++ b/Source/CombatExtended/Compatibility/Multiplayer.cs @@ -23,11 +23,6 @@ public void Install() isMultiplayerActive = true; } - public IEnumerable GetCompatList() - { - yield return "MultiplayerCompat"; - } - public static bool InMultiplayer { get diff --git a/Source/CombatExtended/Compatibility/Patches.cs b/Source/CombatExtended/Compatibility/Patches.cs index db520ac3a6..58cf23acbb 100644 --- a/Source/CombatExtended/Compatibility/Patches.cs +++ b/Source/CombatExtended/Compatibility/Patches.cs @@ -82,20 +82,6 @@ public static IEnumerable GetUsedAmmo() } } - public IEnumerable GetCompatList() - { - foreach (IPatch patch in patches) - { - if (patch.CanInstall()) - { - foreach (string s in patch.GetCompatList()) - { - yield return s; - } - } - } - } - private static bool _gcbfactive = false; public static void RegisterCollisionBodyFactorCallback(Func> f) diff --git a/Source/CombatExtended/Compatibility/ProjectRimFactory.cs b/Source/CombatExtended/Compatibility/ProjectRimFactory.cs index 110922d2e0..42e4d5c064 100644 --- a/Source/CombatExtended/Compatibility/ProjectRimFactory.cs +++ b/Source/CombatExtended/Compatibility/ProjectRimFactory.cs @@ -16,11 +16,6 @@ public void Install() { Building_FuelingMachine.RegisterRefuelable(typeof(Building_TurretGunCE), FindCompAmmoUser, TestAmmo, ReloadAction); } - public IEnumerable GetCompatList() - { - yield break; - } - private static int TestAmmo(object compObject, Thing ammo) { var comp = compObject as CompAmmoUser; diff --git a/Source/CombatExtended/Compatibility/Rimatomics.cs b/Source/CombatExtended/Compatibility/Rimatomics.cs index d894714815..41b688629e 100644 --- a/Source/CombatExtended/Compatibility/Rimatomics.cs +++ b/Source/CombatExtended/Compatibility/Rimatomics.cs @@ -35,11 +35,6 @@ public void Install() BlockerRegistry.RegisterShieldZonesCallback(Rimatomics.ShieldZonesCallback); } - public IEnumerable GetCompatList() - { - yield break; - } - public static bool CheckForCollisionBetweenCallback(ProjectileCE projectile, Vector3 from, Vector3 to) { Map map = projectile.Map; diff --git a/Source/CombatExtended/Compatibility/SOS2.cs b/Source/CombatExtended/Compatibility/SOS2.cs index f61ebd4c6b..82a334d212 100644 --- a/Source/CombatExtended/Compatibility/SOS2.cs +++ b/Source/CombatExtended/Compatibility/SOS2.cs @@ -20,10 +20,5 @@ public void Install() { Log.Message("Combat Extended :: Installing SOS2"); } - - public IEnumerable GetCompatList() - { - yield return "SOS2Compat"; - } } } diff --git a/Source/CombatExtended/Compatibility/SRTS.cs b/Source/CombatExtended/Compatibility/SRTS.cs index 065e2239bd..ae593dff6a 100644 --- a/Source/CombatExtended/Compatibility/SRTS.cs +++ b/Source/CombatExtended/Compatibility/SRTS.cs @@ -22,11 +22,6 @@ public bool CanInstall() } return true; } - public IEnumerable GetCompatList() - { - yield return "SRTSCompat"; - } - public void Install() { Log.Message("Combat Extended :: Installing SRTS Expanded"); diff --git a/Source/CombatExtended/Compatibility/VanillaExpandedFramework.cs b/Source/CombatExtended/Compatibility/VanillaExpandedFramework.cs index a3d939db83..e6cc8b18c9 100644 --- a/Source/CombatExtended/Compatibility/VanillaExpandedFramework.cs +++ b/Source/CombatExtended/Compatibility/VanillaExpandedFramework.cs @@ -18,11 +18,6 @@ bool IPatch.CanInstall() return ModLister.HasActiveModWithName(ModName); } - IEnumerable IPatch.GetCompatList() - { - yield break; - } - void IPatch.Install() { BlockerRegistry.RegisterCheckForCollisionCallback(CheckIntercept); diff --git a/Source/CombatExtended/Compatibility/VanillaFurnitureExpandedSecurity.cs b/Source/CombatExtended/Compatibility/VanillaFurnitureExpandedSecurity.cs index 3852571d47..41d6bdd24a 100644 --- a/Source/CombatExtended/Compatibility/VanillaFurnitureExpandedSecurity.cs +++ b/Source/CombatExtended/Compatibility/VanillaFurnitureExpandedSecurity.cs @@ -44,11 +44,6 @@ public void Install() BlockerRegistry.RegisterImpactSomethingCallback(ImpactSomething); } - public IEnumerable GetCompatList() - { - yield break; - } - private static bool CheckCollision(ProjectileCE projectile, IntVec3 cell, Thing launcher) { if (projectile.def.projectile.flyOverhead) diff --git a/Source/CombatExtended/Compatibility/VanillaPsycastExpanded.cs b/Source/CombatExtended/Compatibility/VanillaPsycastExpanded.cs index e0ff231ef2..e041a9ff69 100644 --- a/Source/CombatExtended/Compatibility/VanillaPsycastExpanded.cs +++ b/Source/CombatExtended/Compatibility/VanillaPsycastExpanded.cs @@ -20,10 +20,6 @@ public bool CanInstall() return ModLister.HasActiveModWithName(ModName); } - public IEnumerable GetCompatList() - { - yield break; - } public void Install() { diff --git a/Source/CombatExtended/Compatibility/Vehicles.cs b/Source/CombatExtended/Compatibility/Vehicles.cs index 59efb1b7ff..9330f8a77d 100644 --- a/Source/CombatExtended/Compatibility/Vehicles.cs +++ b/Source/CombatExtended/Compatibility/Vehicles.cs @@ -23,11 +23,6 @@ public bool CanInstall() } return true; } - public IEnumerable GetCompatList() - { - yield return "VehiclesCompat"; - } - public void Install() { From e29cf60438971b5db19752dae2e205b487256708 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 01:16:15 -0700 Subject: [PATCH 11/35] Support ' escapes pointing to directories with ' in the name --- DupeFinder.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/DupeFinder.py b/DupeFinder.py index 57f689ba1a..6b871d378b 100644 --- a/DupeFinder.py +++ b/DupeFinder.py @@ -11,15 +11,16 @@ def process(node): global ec mod = c.getAttribute("IfModActive") - if (mod, c.firstChild.data) in mods: + dp = c.firstChild.data.replace(''', "'") + if (mod, dp) in mods: ec += 1 msg = f"Mod {mod} is listed in LoadFolders.xml twice, both pointing to {c.firstChild.data}" if err: raise RuntimeError(msg) else: print(msg) - mods.add((mod, c.firstChild.data)) - root = FilePath(c.firstChild.data) + mods.add((mod, dp)) + root = FilePath(dp) if not ModPatches in root.parents(): return for fd in root.walk(): From 409b9ee6233aaca827cfd8dba453867d7fc75748 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 01:33:05 -0700 Subject: [PATCH 12/35] remove old comment --- Source/Loader/Loader/Loader.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/Source/Loader/Loader/Loader.cs b/Source/Loader/Loader/Loader.cs index 789b1cfd1f..f9fada4428 100644 --- a/Source/Loader/Loader/Loader.cs +++ b/Source/Loader/Loader/Loader.cs @@ -39,9 +39,6 @@ public override string SettingsCategory() return "Combat Extended"; } - - - //Unused method is only here for reference, the repository assembly uses it to warn users to get a compiled build. private static void ShowUncompiledBuildWarning() { Log.Error("You are running CE Uncompiled. See https://github.com/CombatExtended-Continued/CombatExtended#development-version for details"); From 3af2ecc560dc9447d150eba867e31d8c48c9c916 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 01:41:08 -0700 Subject: [PATCH 13/35] remove tabs --- Source/CombatExtended/CombatExtended/Controller.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/CombatExtended/CombatExtended/Controller.cs b/Source/CombatExtended/CombatExtended/Controller.cs index 5aa5c8b94c..ab2295ccef 100644 --- a/Source/CombatExtended/CombatExtended/Controller.cs +++ b/Source/CombatExtended/CombatExtended/Controller.cs @@ -74,7 +74,7 @@ public void PostLoad() } foreach (IModPart modPart in modParts) { - Log.Message("CE: Loading Mod Part"); + Log.Message("CE: Loading Mod Part"); Type settingsType = modPart.GetSettingsType(); ISettingsCE settings = null; if (settingsType != null) @@ -118,10 +118,10 @@ public void PostLoad() } - public override string SettingsCategory() - { - return "Combat Extended"; - } + public override string SettingsCategory() + { + return "Combat Extended"; + } private static void DoTutorialPopup() { From e59de80d25428c12cab49f6112fe97ae8593d814 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 01:57:16 -0700 Subject: [PATCH 14/35] Remove duplicate lines --- LoadFolders.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/LoadFolders.xml b/LoadFolders.xml index d675e41cfa..44f2362b6c 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -604,8 +604,6 @@
  • ModPatches/pphhyy Expanded Scythers
  • ModPatches/pphhyy Sanguinary Animals
  • ModPatches/pphhyy's Lightless Empyrean
  • -
  • ModPatches/Vanilla Arsenal
  • -
  • ModPatches/Jin-Roh Kerberos Panzer Cop Armor
  • ModPatches/VehicleFramework
  • ModPatches/Multiplayer
  • ModPatches/SRTS
  • From 225572fb3b40c75dafc1a3e78d0ab8fd6ce08bd2 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 19:18:06 -0700 Subject: [PATCH 15/35] Consider all targets under the content root instead of ModPatches only --- DupeFinder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DupeFinder.py b/DupeFinder.py index 6b871d378b..5368665cf2 100644 --- a/DupeFinder.py +++ b/DupeFinder.py @@ -5,7 +5,7 @@ used = {} mods = set() -ModPatches = FilePath("ModPatches") +ContentRoot = FilePath(".") ec = 0 def process(node): @@ -21,7 +21,7 @@ def process(node): print(msg) mods.add((mod, dp)) root = FilePath(dp) - if not ModPatches in root.parents(): + if not ContentRoot in root.parents(): return for fd in root.walk(): if fd.isdir(): From 8622f0dc119e017238cb9a15c4601a823ea8a472 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 19:17:51 -0700 Subject: [PATCH 16/35] Fall back to CE's package id if there is no IfModActive attribute --- DupeFinder.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DupeFinder.py b/DupeFinder.py index 5368665cf2..6f72188e8c 100644 --- a/DupeFinder.py +++ b/DupeFinder.py @@ -11,6 +11,8 @@ def process(node): global ec mod = c.getAttribute("IfModActive") + if not mod: + mod = "CETeam.CombatExtended" dp = c.firstChild.data.replace(''', "'") if (mod, dp) in mods: ec += 1 From dbbec9b79c5e0f71c8aa46225dfd9d7d729d81f7 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 19:17:16 -0700 Subject: [PATCH 17/35] Fix typo in SRTS id --- LoadFolders.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoadFolders.xml b/LoadFolders.xml index 44f2362b6c..14518719fd 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -606,6 +606,6 @@
  • ModPatches/pphhyy's Lightless Empyrean
  • ModPatches/VehicleFramework
  • ModPatches/Multiplayer
  • -
  • ModPatches/SRTS
  • +
  • ModPatches/SRTS
  • From cc42d067fb9b88ad5cc96898eda3c38195edc4db Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 19:58:59 -0700 Subject: [PATCH 18/35] Give the path of conflicting files relative to the content root instead of package id of the offending files. --- DupeFinder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DupeFinder.py b/DupeFinder.py index 6f72188e8c..aad7dcaeb5 100644 --- a/DupeFinder.py +++ b/DupeFinder.py @@ -32,13 +32,13 @@ def process(node): continue relative = tuple(fd.segmentsFrom(root)) if relative in used: - msg = f"Mod {mod} is trying to use {relative}, but {used[relative]} already owns that path" + msg = f"""Relative paths collision found: {str.join("/", fd.segmentsFrom(ContentRoot))} overrides {str.join("/", used[relative].segmentsFrom(ContentRoot))}""" if err: raise RuntimeError(msg) else: ec += 1 print(msg) - used[relative] = mod + used[relative] = fd with XMLOpen("LoadFolders.xml") as x: v1_5 = x.getElementsByTagName("v1.5") From 0ef38615f3527370855f242ebeaff6b9742011cf Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 20:09:13 -0700 Subject: [PATCH 19/35] Force all paths to be relative --- DupeFinder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DupeFinder.py b/DupeFinder.py index aad7dcaeb5..07fa8cf38d 100644 --- a/DupeFinder.py +++ b/DupeFinder.py @@ -22,7 +22,7 @@ def process(node): else: print(msg) mods.add((mod, dp)) - root = FilePath(dp) + root = FilePath("./" + dp) if not ContentRoot in root.parents(): return for fd in root.walk(): From ff1adffd07d8ab898f37a20ade3690fc9fd74124 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 3 Aug 2024 20:09:22 -0700 Subject: [PATCH 20/35] Process all nodes, even if they don't have a mod id --- DupeFinder.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DupeFinder.py b/DupeFinder.py index 07fa8cf38d..6fa58f875f 100644 --- a/DupeFinder.py +++ b/DupeFinder.py @@ -44,8 +44,7 @@ def process(node): v1_5 = x.getElementsByTagName("v1.5") for n in v1_5: for c in n.getElementsByTagName("li"): - if c.getAttribute("IfModActive"): - process(c) + process(c) raise SystemExit(ec) From 01742475e15f7043d551a63904a141eaa34da389 Mon Sep 17 00:00:00 2001 From: Merwini <86023141+Merwini@users.noreply.github.com> Date: Fri, 16 Aug 2024 18:55:50 -0400 Subject: [PATCH 21/35] Changed Faction PawnGroupMakers selectionWeights to account for the massive combatPower difference between the mechs and human pawns, to maintain a good spawn ratio. Changed RN2_RedStarBomb damageDef armorCategory from sharp to blunt, to prevent unintended behavior for Deflection --- .../Defs/Ammo_Gruppa_Krovi.xml | 171 ++++---- .../Patches/Faction_Gruppa_Krovi.xml | 133 ++++++ .../Patches/Mech_Weapons_Gruppa_Krovi.xml | 407 +++++++++--------- .../Patches/Mechs_Gruppa_Krovi.xml | 349 +++++++++++++++ .../Patches/PawnKinds_Gruppa_Krovi.xml | 184 ++++---- .../Patches/Races_Gruppa_Krovi.xml | 331 -------------- 6 files changed, 872 insertions(+), 703 deletions(-) create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml create mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml delete mode 100644 ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml index 4ad081a5b0..6af5b2be8c 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml @@ -1,87 +1,94 @@ - - - AmmoSet_RNTeslaCharge - - - Bullet_CE_RNBullet_Tesla_Charge - - - - - Bullet_CE_RNBullet_Tesla_Charge - - - Things/Projectile/Tesla_Arc - Graphic_Single - TransparentPostLight - 4 - - - EMP - 2.0 - 25 - false - Artillery_HitThickRoof - RN_Tesla_Explode - 93 - 3.2 - - -
  • - Smoke - (-0.3,0,0.35) - (0.3,0,0.35) - 90 - 1~1.1 - (0,235,31,255) - (0,235,31,255) -
  • -
    -
    - - - - - AmmoSet_RNPlasmaCharge - - - Bullet_CE_RNBullet_RedStar_Plasma - - - - - Bullet_CE_RNBullet_RedStar_Plasma - - - Things/Projectile/RedStar_Plasma - Graphic_Single - TransparentPostLight - 4 - - - RN2_RedStarBomb - 1.95 - 30 - false - Artillery_HitThickRoof - RN_RedStar_Explode - 76 - 3 - - -
  • - Smoke - (-0.3,0,0.35) - (0.3,0,0.35) - 90 - 1~1.1 - (0,235,31,255) - (0,235,31,255) -
  • -
    -
    + + + AmmoSet_RNTeslaCharge + + + Bullet_CE_RNBullet_Tesla_Charge + + + + + Bullet_CE_RNBullet_Tesla_Charge + + + Things/Projectile/Tesla_Arc + Graphic_Single + TransparentPostLight + 4 + + + Electrical + 2.0 + 25 + false + Artillery_HitThickRoof + RN_Tesla_Explode + 93 + 3.2 + true + 0 + 0 + 0 + + +
  • + Smoke + (-0.3,0,0.35) + (0.3,0,0.35) + 90 + 1~1.1 + (0,235,31,255) + (0,235,31,255) +
  • +
    +
    + + + + + AmmoSet_RNPlasmaCharge + + + Bullet_CE_RNBullet_RedStar_Plasma + + + + + Bullet_CE_RNBullet_RedStar_Plasma + + + Things/Projectile/RedStar_Plasma + Graphic_Single + TransparentPostLight + 4 + + + RN2_RedStarBomb + 1.95 + 30 + false + Artillery_HitThickRoof + RN_RedStar_Explode + 76 + 3 + 0 + 0 + 0 + + +
  • + Smoke + (-0.3,0,0.35) + (0.3,0,0.35) + 90 + 1~1.1 + (0,235,31,255) + (0,235,31,255) +
  • +
    +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml new file mode 100644 index 0000000000..bca7a2a202 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml @@ -0,0 +1,133 @@ +ļ»æ + + + + + Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/maxPawnCostPerTotalPointsCurve + + + +
  • (0,35)
  • +
  • (70, 50)
  • +
  • (700, 100)
  • +
  • (1300, 150)
  • +
  • (2000, 450)
  • +
  • (4200, 1400)
  • +
  • (100000, 10000)
  • +
    +
    +
    +
    + + + Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/apparelStuffFilter/thingDefs/li[text()="Hyperweave"] + + + + + + Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/pawnGroupMakers + + +
  • + + Combat + 100 + + 300 + 30 + 210 + 150 + 1 + 9 + 7 + 150 + 30 + +
  • +
  • + + Combat + 20 + + 300 + 90 + 150 + 20 + 2 + 8 + 6 + +
  • +
  • + + Combat + 15 + +
  • Siege
  • + + + 300 + 60 + 60 + 30 + 1 + 8 + 6 + + + +
  • + Peaceful + + 300 + 300 + 90 + 60 + 90 + 8 + 6 + 1 + +
  • + +
  • + Trader + + 1 + + + 5 + 10 + 5 + 1 + + + 300 + 60 + 8 + 6 + 1 + +
  • + +
  • + Settlement + + 300 + 570 + 240 + 150 + 90 + 90 + 150 + 8 + 6 + 2 + +
  • +
    +
    +
    + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml index 9958553ad8..3e2c0eb1ab 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml @@ -1,46 +1,48 @@ - - - Defs/ThingDef[ - defName="RNGun_KV2_Howitzer" or - defName="RNGun_Tesla_Coil" or - defName="RNGun_RedStar_PlasmaCannon" - ]/weaponTags - -
  • NoSwitch
  • -
    -
    + + + Defs/ThingDef[ + defName="RNGun_KV2_Howitzer" or + defName="RNGun_Tesla_Coil" or + defName="RNGun_RedStar_PlasmaCannon" + ]/weaponTags + + +
  • NoSwitch
  • +
    +
    - - - RN2Gun_KV2_DSHKMachineGun - - 1 - 0.2 - 1.36 - 20.00 - - - CombatExtended.Verb_ShootCE - true - Bullet_127x108mm_FMJ - 55 - 10 - RNShot_DSHK - GunTail_Heavy - 9 - 2.5 - HeadAttackTool - true - 12 - - + + + RN2Gun_KV2_DSHKMachineGun + + 1 + 0.2 + 1.36 + 20.00 + + + CombatExtended.Verb_ShootCE + true + Bullet_127x108mm_FMJ + 55 + + 10 + RNShot_DSHK + GunTail_Heavy + 9 + 2.5 + HeadAttackTool + true + 12 + + - - - + + - - - - RNGun_KV2_Howitzer - - - 50.00 - 20.00 - 0.75 - 0.10 - 0.5 - 2.55 - - - 3.24 - CombatExtended.Verb_ShootCE - True - Bullet_120mmCannonShell_HE - 4.3 - 125 - RN_152mmHowitzer_Shot - GunTail_Heavy - 6 - false - false - - true - - 16 - - - 1 - 8.4 - AmmoSet_120mmCannonShell - - - - - Defs/ThingDef[defName="RNGun_KV2_Howitzer"]/tools - - -
  • - - -
  • Blunt
  • - - 45 - 2.6 - 10.5 - Barrel - -
    -
    -
    - - - - RNGun_Tesla_Coil - - 50.00 - 20.00 - 1.59 - 0.15 - 1.0 - 0.35 - - - 0.0 - CombatExtended.Verb_ShootCE - True - Bullet_CE_RNBullet_Tesla_Charge - 2.5 - 62 - RN_Tesla_Shot - GunTail_Heavy - 6 - false - false - - false - - 16 - - - 1 - 4.15 - AmmoSet_RNTeslaCharge - - - - - Defs/ThingDef[defName="RNBullet_Tesla_Charge"] - - - - - - RNGun_RedStar_PlasmaCannon - - 50.00 - 20.00 - 1.59 - 0.15 - 1.0 - 0.45 - - - 1.36 - CombatExtended.Verb_ShootCE - True - Bullet_CE_RNBullet_RedStar_Plasma - 3.15 - 66 - 27 - RN_RedStar_Shot - GunTail_Heavy - 6 - false - 2 - false - - false - - 16 - - - 2 - 5.1 - AmmoSet_RNPlasmaCharge - - - AimedShot - FALSE - - - - - Defs/ThingDef[defName="RNBullet_RedStar_Plasma"] - - - - Defs/ThingDef[ - defName="RNGun_Tesla_Coil" or - defName="RNGun_RedStar_PlasmaCannon"]/tools - - -
  • - - -
  • Blunt
  • - - 25 - 2.0 - 7 - Barrel - -
    -
    -
    - + + + + RNGun_KV2_Howitzer + + + 50.00 + 20.00 + 0.75 + 0.10 + 0.5 + 2.55 + + + 3.24 + CombatExtended.Verb_ShootCE + True + Bullet_120mmCannonShell_HE + 4.3 + 125 + RN_152mmHowitzer_Shot + GunTail_Heavy + 6 + false + false + + true + + 16 + + + 1 + 8.4 + AmmoSet_120mmCannonShell + + + + + Defs/ThingDef[defName="RNGun_KV2_Howitzer"]/tools + + +
  • + + +
  • Blunt
  • + + 45 + 2.6 + 10.5 + Barrel + +
    +
    +
    + + + + RNGun_Tesla_Coil + + 50.00 + 20.00 + 1.59 + 0.15 + 1.0 + 0.35 + + + 0.0 + CombatExtended.Verb_ShootCE + True + Bullet_CE_RNBullet_Tesla_Charge + 2.5 + 62 + RN_Tesla_Shot + GunTail_Heavy + 6 + false + false + + false + + 16 + + + 1 + 4.15 + AmmoSet_RNTeslaCharge + + + + + Defs/ThingDef[defName="RNBullet_Tesla_Charge"] + + + + + + RNGun_RedStar_PlasmaCannon + + 50.00 + 20.00 + 1.59 + 0.15 + 1.0 + 0.45 + + + 1.36 + CombatExtended.Verb_ShootCE + True + Bullet_CE_RNBullet_RedStar_Plasma + 3.15 + 66 + 27 + RN_RedStar_Shot + GunTail_Heavy + 6 + false + 2 + false + + false + + 16 + + + 2 + 5.1 + AmmoSet_RNPlasmaCharge + + + AimedShot + FALSE + + + + + Defs/ThingDef[defName="RNBullet_RedStar_Plasma"] + + + + + Defs/ThingDef[ + defName="RNGun_Tesla_Coil" or + defName="RNGun_RedStar_PlasmaCannon"]/tools + + + +
  • + + +
  • Blunt
  • + + 25 + 2.0 + 7 + Barrel + +
    +
    +
    + + + Defs/DamageDef[defName="RN2_RedStarBomb"]/armorCategory + + Blunt + + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml new file mode 100644 index 0000000000..628c738b28 --- /dev/null +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml @@ -0,0 +1,349 @@ + + + + + Defs/ThingDef[ + defName="RH2Mech_KV2Walker" or + defName="RH2Mech_TeslaDrone" or + defName="RH2Mech_PlasmaDrone" + ] + + +
  • + Humanoid + +
  • +
    +
    + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases + + 125 + 125 + 1.0 + 1.0 + 0.25 + 500 + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Blunt + + 75 + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Sharp + + 30 + + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps + +
  • + 2500 + false + 0.5 + true + + 5 + + 200 + 250 + 15 + 37 +
  • +
    +
    + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"] + +
  • + +
  • + false + 0.25 + +
  • SightSensor
  • + + +
  • + false + 0.25 + +
  • SightSensor
  • + + +
  • + false + 0.25 + +
  • HearingSensor
  • + + +
  • + false + 0.25 + +
  • HearingSensor
  • + + +
  • + false + .6 + +
  • MechanicalLeg
  • + + +
  • + false + .5 + +
  • MechanicalLeg
  • + + + + +
    +
    + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps/li[@Class="CompProperties_TurretGun" and turretDef="RNGun_KV2_KrohaLauncher"] + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/tools + + +
  • + + +
  • Blunt
  • + + 85 + 3 + FrontLeftLeg + true + +
  • + + +
  • Blunt
  • + + 85 + 3 + FrontRightLeg + true + +
    +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_KV2Walker"] + +
  • + + 10 + 20 + + GrenadeHE +
  • +
    +
    + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/race/baseHealthScale + + 8 + + + + + Defs/PawnKindDef[defName="RH2Mech_KV2Walker"]/combatPower + + 1400 + + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases + + 80 + 20 + 1.0 + 1.0 + 0.25 + 300 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Blunt + + 50 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Sharp + + 20 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/comps + +
  • + 1500 + false + 0.5 + true + + 3 + + 140 + 150 + 10 + 25 +
  • +
    +
    + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/race/baseHealthScale + + 4 + + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"] + +
  • + +
  • + false + 0.1 + +
  • SightSensor
  • + + +
  • + false + 0.1 + +
  • SightSensor
  • + + +
  • + false + 0.1 + +
  • HearingSensor
  • + + +
  • + false + 0.1 + +
  • HearingSensor
  • + + +
  • + false + 1.5 + +
  • MechanicalShoulder
  • + + +
  • + false + 1.5 + +
  • MechanicalShoulder
  • + + + + +
    +
    + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/tools + + +
  • + + +
  • Blunt
  • + + 22 + 2 + LeftHand + true + +
  • + + +
  • Blunt
  • + + 25 + 2 + RightHand + true + true + +
    +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"] + +
  • + + 20 + 30 + +
  • +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"]/combatPower + + 400 + + + + + Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"] + +
  • + + 20 + 25 + +
  • +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"]/combatPower + + 450 + + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml index 5ba15bcff2..15904468e6 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml @@ -1,98 +1,98 @@ - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] - -
  • - - 4 - 6 - -
  • -
    -
    - - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] - -
  • - - 4 - 6 - - -
  • - 0.15 - - 10 - 100 - - -
  • GrenadeSmoke
  • - - - 0 - 1 - - -
  • - 0.075 - - 50 - 200 - - -
  • CE_FlareLauncher
  • - - - 2 - 4 - - - - -
    -
    + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] + +
  • + + 4 + 6 + +
  • +
    +
    - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_SpecialBase"] - -
  • - - 4 - 6 - - -
  • - 0.125 - - 10 - 100 - - -
  • GrenadeDestructive
  • - - - 2 - 3 - - - - -
    -
    - - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] - -
  • - - 4 - 6 - -
  • -
    -
    + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] + +
  • + + 4 + 6 + + +
  • + 0.15 + + 10 + 100 + + +
  • GrenadeSmoke
  • + + + 0 + 1 + + +
  • + 0.075 + + 50 + 200 + + +
  • CE_FlareLauncher
  • + + + 2 + 4 + + + + +
    +
    + + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_SpecialBase"] + +
  • + + 4 + 6 + + +
  • + 0.125 + + 10 + 100 + + +
  • GrenadeDestructive
  • + + + 2 + 3 + + + + +
    +
    + + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] + +
  • + + 4 + 6 + +
  • +
    +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml deleted file mode 100644 index 5f751fa5ee..0000000000 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Races_Gruppa_Krovi.xml +++ /dev/null @@ -1,331 +0,0 @@ - - - - - Defs/ThingDef[ - defName="RH2Mech_KV2Walker" or - defName="RH2Mech_TeslaDrone" or - defName="RH2Mech_PlasmaDrone" - ] - -
  • - Humanoid -
  • -
    -
    - - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases - - 125 - 125 - 1.0 - 1.0 - 0.25 - 500 - - - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Blunt - - 75 - - - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Sharp - - 30 - - - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps - -
  • - 2500 - false - 0.5 - true - - 5 - - 200 - 250 - 15 - 37 -
  • -
    -
    - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"] - -
  • - -
  • - false - 0.25 - -
  • SightSensor
  • - - -
  • - false - 0.25 - -
  • SightSensor
  • - - -
  • - false - 0.25 - -
  • HearingSensor
  • - - -
  • - false - 0.25 - -
  • HearingSensor
  • - - -
  • - false - .6 - -
  • MechanicalLeg
  • - - -
  • - false - .5 - -
  • MechanicalLeg
  • - - - - -
    -
    - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps/li[@Class="CompProperties_TurretGun" and turretDef="RNGun_KV2_KrohaLauncher"] - - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/tools - - -
  • - - -
  • Blunt
  • - - 85 - 3 - FrontLeftLeg - true - -
  • - - -
  • Blunt
  • - - 85 - 3 - FrontRightLeg - true - -
    -
    -
    - - - Defs/PawnKindDef[defName="RH2Mech_KV2Walker"] - -
  • - - 10 - 20 - - GrenadeHE -
  • -
    -
    - - - Defs/PawnKindDef[defName="RH2Mech_KV2Walker"]/combatPower - - 800 - - - - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases - - 80 - 20 - 1.0 - 1.0 - 0.25 - 300 - - - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Blunt - - 50 - - - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Sharp - - 20 - - - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/comps - -
  • - 1500 - false - 0.5 - true - - 3 - - 140 - 150 - 10 - 25 -
  • -
    -
    - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"] - -
  • - -
  • - false - 0.1 - -
  • SightSensor
  • - - -
  • - false - 0.1 - -
  • SightSensor
  • - - -
  • - false - 0.1 - -
  • HearingSensor
  • - - -
  • - false - 0.1 - -
  • HearingSensor
  • - - -
  • - false - 1.5 - -
  • MechanicalShoulder
  • - - -
  • - false - 1.5 - -
  • MechanicalShoulder
  • - - - - -
    -
    - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/tools - - -
  • - - -
  • Blunt
  • - - 22 - 2 - LeftHand - true - -
  • - - -
  • Blunt
  • - - 25 - 2 - RightHand - true - true - -
    -
    -
    - - - Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"] - -
  • - - 20 - 30 - -
  • -
    -
    - - - Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"]/combatPower - - 300 - - - - - Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"] - -
  • - - 20 - 25 - -
  • -
    -
    - - - Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"]/combatPower - - 350 - - -
    \ No newline at end of file From b4e4db352447ab778c402f853c6a40927ac24541 Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Fri, 16 Aug 2024 20:54:12 -0400 Subject: [PATCH 22/35] Housekeeping --- LoadFolders.xml | 2 +- .../Defs/Ammo_Gruppa_Krovi.xml | 170 ++--- .../Patches/Apparel_Gruppa_Krovi.xml | 4 +- .../Patches/Faction_Gruppa_Krovi.xml | 246 +++---- .../Patches/Mech_Weapons_Gruppa_Krovi.xml | 396 ++++++----- .../Patches/Mechs_Gruppa_Krovi.xml | 647 +++++++++--------- .../Patches/PawnKinds_Gruppa_Krovi.xml | 180 ++--- .../Patches/Weapons_Gruppa_Krovi.xml | 8 +- SupportedThirdPartyMods.md | 1 + 9 files changed, 826 insertions(+), 828 deletions(-) diff --git a/LoadFolders.xml b/LoadFolders.xml index 6f3a8ddf09..7289dd4f68 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -325,10 +325,10 @@
  • ModPatches/Revia Race ā€” biotech
  • ModPatches/RH2 DOOM
  • ModPatches/RH2 Faction - Bounty Hunters
  • +
  • ModPatches/RH2 Faction - Gruppa Krovi
  • ModPatches/RH2 Faction - Task Force 141
  • ModPatches/RH2 Faction - The Rangers
  • ModPatches/RH2 Faction - Utilitarian
  • -
  • ModPatches/RH2 Faction - Gruppa Krovi
  • ModPatches/RH2 Faction - VOID
  • ModPatches/RH2 Metal Gear Solid
  • ModPatches/RH2 Rimmu-NationĀ² - Clothing
  • diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml index 6af5b2be8c..acf2a00756 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Defs/Ammo_Gruppa_Krovi.xml @@ -1,94 +1,94 @@ - - - AmmoSet_RNTeslaCharge - - - Bullet_CE_RNBullet_Tesla_Charge - - + + + AmmoSet_RNTeslaCharge + + + Bullet_CE_RNBullet_Tesla_Charge + + - - Bullet_CE_RNBullet_Tesla_Charge - - - Things/Projectile/Tesla_Arc - Graphic_Single - TransparentPostLight - 4 - - - Electrical - 2.0 - 25 - false - Artillery_HitThickRoof - RN_Tesla_Explode - 93 - 3.2 - true - 0 - 0 - 0 - - -
  • - Smoke - (-0.3,0,0.35) - (0.3,0,0.35) - 90 - 1~1.1 - (0,235,31,255) - (0,235,31,255) -
  • -
    -
    + + Bullet_CE_RNBullet_Tesla_Charge + + + Things/Projectile/Tesla_Arc + Graphic_Single + TransparentPostLight + 4 + + + Electrical + 2.0 + 25 + false + Artillery_HitThickRoof + RN_Tesla_Explode + 93 + 3.2 + true + 0 + 0 + 0 + + +
  • + Smoke + (-0.3,0,0.35) + (0.3,0,0.35) + 90 + 1~1.1 + (0,235,31,255) + (0,235,31,255) +
  • +
    +
    - - - AmmoSet_RNPlasmaCharge - - - Bullet_CE_RNBullet_RedStar_Plasma - - + + + AmmoSet_RNPlasmaCharge + + + Bullet_CE_RNBullet_RedStar_Plasma + + - - Bullet_CE_RNBullet_RedStar_Plasma - - - Things/Projectile/RedStar_Plasma - Graphic_Single - TransparentPostLight - 4 - - - RN2_RedStarBomb - 1.95 - 30 - false - Artillery_HitThickRoof - RN_RedStar_Explode - 76 - 3 - 0 - 0 - 0 - - -
  • - Smoke - (-0.3,0,0.35) - (0.3,0,0.35) - 90 - 1~1.1 - (0,235,31,255) - (0,235,31,255) -
  • -
    -
    + + Bullet_CE_RNBullet_RedStar_Plasma + + + Things/Projectile/RedStar_Plasma + Graphic_Single + TransparentPostLight + 4 + + + RN2_RedStarBomb + 1.95 + 30 + false + Artillery_HitThickRoof + RN_RedStar_Explode + 76 + 3 + 0 + 0 + 0 + + +
  • + Smoke + (-0.3,0,0.35) + (0.3,0,0.35) + 90 + 1~1.1 + (0,235,31,255) + (0,235,31,255) +
  • +
    +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml index 32b5c66d4d..1fc6084ac1 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml @@ -6,7 +6,7 @@ Defs/ThingDef[ defName="RNApparel_EyePros_EdgeTactical" or defName="RNApparel_EyePros_GucciAviatorGlasses" - ]/apparel/layers + ]/apparel/layers
  • StrappedHead
  • @@ -19,7 +19,7 @@ defName="RNApparel_EyePros_EdgeTactical" or defName="RNApparel_EyePros_GucciAviatorGlasses" or defName="RNApparel_Flatcap" - ]/statBases + ]/statBases 2 0.1 diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml index bca7a2a202..39ed4b2b4d 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Faction_Gruppa_Krovi.xml @@ -1,133 +1,133 @@ ļ»æ - - - Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/maxPawnCostPerTotalPointsCurve - - - -
  • (0,35)
  • -
  • (70, 50)
  • -
  • (700, 100)
  • -
  • (1300, 150)
  • -
  • (2000, 450)
  • -
  • (4200, 1400)
  • -
  • (100000, 10000)
  • -
    -
    -
    -
    + + + Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/maxPawnCostPerTotalPointsCurve + + + +
  • (0,35)
  • +
  • (70, 50)
  • +
  • (700, 100)
  • +
  • (1300, 150)
  • +
  • (2000, 450)
  • +
  • (4200, 1400)
  • +
  • (100000, 10000)
  • +
    +
    +
    +
    - - Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/apparelStuffFilter/thingDefs/li[text()="Hyperweave"] - + + Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/apparelStuffFilter/thingDefs/li[text()="Hyperweave"] + - - - - Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/pawnGroupMakers - - -
  • - - Combat - 100 - - 300 - 30 - 210 - 150 - 1 - 9 - 7 - 150 - 30 - -
  • -
  • - - Combat - 20 - - 300 - 90 - 150 - 20 - 2 - 8 - 6 - -
  • -
  • - - Combat - 15 - -
  • Siege
  • - - - 300 - 60 - 60 - 30 - 1 - 8 - 6 - - + + + + Defs/FactionDef[@Name="RH2_FactionBase_GruppaKrovi"]/pawnGroupMakers + + +
  • + + Combat + 100 + + 300 + 30 + 210 + 150 + 1 + 9 + 7 + 150 + 30 + +
  • +
  • + + Combat + 20 + + 300 + 90 + 150 + 20 + 2 + 8 + 6 + +
  • +
  • + + Combat + 15 + +
  • Siege
  • + + + 300 + 60 + 60 + 30 + 1 + 8 + 6 + + -
  • - Peaceful - - 300 - 300 - 90 - 60 - 90 - 8 - 6 - 1 - -
  • +
  • + Peaceful + + 300 + 300 + 90 + 60 + 90 + 8 + 6 + 1 + +
  • -
  • - Trader - - 1 - - - 5 - 10 - 5 - 1 - - - 300 - 60 - 8 - 6 - 1 - -
  • +
  • + Trader + + 1 + + + 5 + 10 + 5 + 1 + + + 300 + 60 + 8 + 6 + 1 + +
  • -
  • - Settlement - - 300 - 570 - 240 - 150 - 90 - 90 - 150 - 8 - 6 - 2 - -
  • -
    -
    -
    +
  • + Settlement + + 300 + 570 + 240 + 150 + 90 + 90 + 150 + 8 + 6 + 2 + +
  • +
    +
    +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml index 3e2c0eb1ab..394d032262 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml @@ -1,48 +1,46 @@ - - - Defs/ThingDef[ - defName="RNGun_KV2_Howitzer" or - defName="RNGun_Tesla_Coil" or - defName="RNGun_RedStar_PlasmaCannon" - ]/weaponTags - - -
  • NoSwitch
  • -
    -
    + + Defs/ThingDef[ + defName="RNGun_KV2_Howitzer" or + defName="RNGun_Tesla_Coil" or + defName="RNGun_RedStar_PlasmaCannon" + ]/weaponTags + +
  • NoSwitch
  • +
    +
    - - - RN2Gun_KV2_DSHKMachineGun - - 1 - 0.2 - 1.36 - 20.00 - - - CombatExtended.Verb_ShootCE - true - Bullet_127x108mm_FMJ - 55 - - 10 - RNShot_DSHK - GunTail_Heavy - 9 - 2.5 - HeadAttackTool - true - 12 - - + + + RN2Gun_KV2_DSHKMachineGun + + 1 + 0.2 + 1.36 + 20.00 + + + CombatExtended.Verb_ShootCE + true + Bullet_127x108mm_FMJ + 55 + + 10 + RNShot_DSHK + GunTail_Heavy + 9 + 2.5 + HeadAttackTool + true + 12 + + - - - + + - - - RNGun_KV2_Howitzer - - - 50.00 - 20.00 - 0.75 - 0.10 - 0.5 - 2.55 - - - 3.24 - CombatExtended.Verb_ShootCE - True - Bullet_120mmCannonShell_HE - 4.3 - 125 - RN_152mmHowitzer_Shot - GunTail_Heavy - 6 - false - false - - true - - 16 - - - 1 - 8.4 - AmmoSet_120mmCannonShell - - + + + RNGun_KV2_Howitzer + + + 50.00 + 20.00 + 0.75 + 0.10 + 0.5 + 2.55 + + + 3.24 + CombatExtended.Verb_ShootCE + True + Bullet_120mmCannonShell_HE + 4.3 + 125 + RN_152mmHowitzer_Shot + GunTail_Heavy + 6 + false + false + + true + + 16 + + + 1 + 8.4 + AmmoSet_120mmCannonShell + + - - Defs/ThingDef[defName="RNGun_KV2_Howitzer"]/tools - - -
  • - - -
  • Blunt
  • - - 45 - 2.6 - 10.5 - Barrel - -
    -
    -
    + + Defs/ThingDef[defName="RNGun_KV2_Howitzer"]/tools + + +
  • + + +
  • Blunt
  • + + 45 + 2.6 + 10.5 + Barrel + +
    +
    +
    - - - RNGun_Tesla_Coil - - 50.00 - 20.00 - 1.59 - 0.15 - 1.0 - 0.35 - - - 0.0 - CombatExtended.Verb_ShootCE - True - Bullet_CE_RNBullet_Tesla_Charge - 2.5 - 62 - RN_Tesla_Shot - GunTail_Heavy - 6 - false - false - - false - - 16 - - - 1 - 4.15 - AmmoSet_RNTeslaCharge - - + + + RNGun_Tesla_Coil + + 50.00 + 20.00 + 1.59 + 0.15 + 1.0 + 0.35 + + + 0.0 + CombatExtended.Verb_ShootCE + True + Bullet_CE_RNBullet_Tesla_Charge + 2.5 + 62 + RN_Tesla_Shot + GunTail_Heavy + 6 + false + false + + false + + 16 + + + 1 + 4.15 + AmmoSet_RNTeslaCharge + + - - Defs/ThingDef[defName="RNBullet_Tesla_Charge"] - + + Defs/ThingDef[defName="RNBullet_Tesla_Charge"] + - - - RNGun_RedStar_PlasmaCannon - - 50.00 - 20.00 - 1.59 - 0.15 - 1.0 - 0.45 - - - 1.36 - CombatExtended.Verb_ShootCE - True - Bullet_CE_RNBullet_RedStar_Plasma - 3.15 - 66 - 27 - RN_RedStar_Shot - GunTail_Heavy - 6 - false - 2 - false - - false - - 16 - - - 2 - 5.1 - AmmoSet_RNPlasmaCharge - - - AimedShot - FALSE - - + + + RNGun_RedStar_PlasmaCannon + + 50.00 + 20.00 + 1.59 + 0.15 + 1.0 + 0.45 + + + 1.36 + CombatExtended.Verb_ShootCE + True + Bullet_CE_RNBullet_RedStar_Plasma + 3.15 + 66 + 27 + RN_RedStar_Shot + GunTail_Heavy + 6 + false + 2 + false + + false + + 16 + + + 2 + 5.1 + AmmoSet_RNPlasmaCharge + + + AimedShot + FALSE + + - - Defs/ThingDef[defName="RNBullet_RedStar_Plasma"] - + + Defs/ThingDef[defName="RNBullet_RedStar_Plasma"] + - - - Defs/ThingDef[ - defName="RNGun_Tesla_Coil" or - defName="RNGun_RedStar_PlasmaCannon"]/tools - - - -
  • - - -
  • Blunt
  • - - 25 - 2.0 - 7 - Barrel - -
    -
    -
    + + + Defs/ThingDef[ + defName="RNGun_Tesla_Coil" or + defName="RNGun_RedStar_PlasmaCannon"]/tools + + + +
  • + + +
  • Blunt
  • + + 25 + 2.0 + 7 + Barrel + +
    +
    +
    - - Defs/DamageDef[defName="RN2_RedStarBomb"]/armorCategory - - Blunt - - + + Defs/DamageDef[defName="RN2_RedStarBomb"]/armorCategory + + Blunt + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml index 628c738b28..4511cef338 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml @@ -1,349 +1,348 @@ - - - Defs/ThingDef[ - defName="RH2Mech_KV2Walker" or - defName="RH2Mech_TeslaDrone" or - defName="RH2Mech_PlasmaDrone" - ] - - -
  • - Humanoid - -
  • -
    -
    - - - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases - - 125 - 125 - 1.0 - 1.0 - 0.25 - 500 - - + + Defs/ThingDef[ + defName="RH2Mech_KV2Walker" or + defName="RH2Mech_TeslaDrone" or + defName="RH2Mech_PlasmaDrone" + ] + +
  • + Humanoid + +
  • +
    +
    - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Blunt - - 75 - - + + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases + + 125 + 125 + 1.0 + 1.0 + 0.25 + 500 + + - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Sharp - - 30 - - + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Blunt + + 75 + + - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps - -
  • - 2500 - false - 0.5 - true - - 5 - - 200 - 250 - 15 - 37 -
  • -
    -
    + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/statBases/ArmorRating_Sharp + + 30 + + - - Defs/ThingDef[defName="RH2Mech_KV2Walker"] - -
  • - -
  • - false - 0.25 - -
  • SightSensor
  • - - -
  • - false - 0.25 - -
  • SightSensor
  • - - -
  • - false - 0.25 - -
  • HearingSensor
  • - - -
  • - false - 0.25 - -
  • HearingSensor
  • - - -
  • - false - .6 - -
  • MechanicalLeg
  • - - -
  • - false - .5 - -
  • MechanicalLeg
  • - - - - -
    -
    + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps + +
  • + 2500 + false + 0.5 + true + + 5 + + 200 + 250 + 15 + 37 +
  • +
    +
    - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps/li[@Class="CompProperties_TurretGun" and turretDef="RNGun_KV2_KrohaLauncher"] - + + Defs/ThingDef[defName="RH2Mech_KV2Walker"] + +
  • + +
  • + false + 0.25 + +
  • SightSensor
  • + + +
  • + false + 0.25 + +
  • SightSensor
  • + + +
  • + false + 0.25 + +
  • HearingSensor
  • + + +
  • + false + 0.25 + +
  • HearingSensor
  • + + +
  • + false + .6 + +
  • MechanicalLeg
  • + + +
  • + false + .5 + +
  • MechanicalLeg
  • + + + + +
    +
    - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/tools - - -
  • - - -
  • Blunt
  • - - 85 - 3 - FrontLeftLeg - true - -
  • - - -
  • Blunt
  • - - 85 - 3 - FrontRightLeg - true - -
    -
    -
    + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/comps/li[@Class="CompProperties_TurretGun" and turretDef="RNGun_KV2_KrohaLauncher"] + - - Defs/PawnKindDef[defName="RH2Mech_KV2Walker"] - -
  • - - 10 - 20 - - GrenadeHE -
  • -
    -
    + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/tools + + +
  • + + +
  • Blunt
  • + + 85 + 3 + FrontLeftLeg + true + +
  • + + +
  • Blunt
  • + + 85 + 3 + FrontRightLeg + true + +
    +
    +
    - - Defs/ThingDef[defName="RH2Mech_KV2Walker"]/race/baseHealthScale - - 8 - - + + Defs/PawnKindDef[defName="RH2Mech_KV2Walker"] + +
  • + + 10 + 20 + + GrenadeHE +
  • +
    +
    - - Defs/PawnKindDef[defName="RH2Mech_KV2Walker"]/combatPower - - 1400 - - + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/race/baseHealthScale + + 8 + + - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases - - 80 - 20 - 1.0 - 1.0 - 0.25 - 300 - - + + Defs/PawnKindDef[defName="RH2Mech_KV2Walker"]/combatPower + + 1400 + + - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Blunt - - 50 - - + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases + + 80 + 20 + 1.0 + 1.0 + 0.25 + 300 + + - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Sharp - - 20 - - + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Blunt + + 50 + + - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/comps - -
  • - 1500 - false - 0.5 - true - - 3 - - 140 - 150 - 10 - 25 -
  • -
    -
    + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/statBases/ArmorRating_Sharp + + 20 + + + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/comps + +
  • + 1500 + false + 0.5 + true + + 3 + + 140 + 150 + 10 + 25 +
  • +
    +
    - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/race/baseHealthScale - - 4 - - - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"] - -
  • - -
  • - false - 0.1 - -
  • SightSensor
  • - - -
  • - false - 0.1 - -
  • SightSensor
  • - - -
  • - false - 0.1 - -
  • HearingSensor
  • - - -
  • - false - 0.1 - -
  • HearingSensor
  • - - -
  • - false - 1.5 - -
  • MechanicalShoulder
  • - - -
  • - false - 1.5 - -
  • MechanicalShoulder
  • - - - - -
    -
    + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/race/baseHealthScale + + 4 + + - - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/tools - - -
  • - - -
  • Blunt
  • - - 22 - 2 - LeftHand - true - -
  • - - -
  • Blunt
  • - - 25 - 2 - RightHand - true - true - -
    -
    -
    + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"] + +
  • + +
  • + false + 0.1 + +
  • SightSensor
  • + + +
  • + false + 0.1 + +
  • SightSensor
  • + + +
  • + false + 0.1 + +
  • HearingSensor
  • + + +
  • + false + 0.1 + +
  • HearingSensor
  • + + +
  • + false + 1.5 + +
  • MechanicalShoulder
  • + + +
  • + false + 1.5 + +
  • MechanicalShoulder
  • + + + + +
    +
    - - Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"] - -
  • - - 20 - 30 - -
  • -
    -
    + + Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/tools + + +
  • + + +
  • Blunt
  • + + 22 + 2 + LeftHand + true + +
  • + + +
  • Blunt
  • + + 25 + 2 + RightHand + true + true + +
    +
    +
    - - Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"]/combatPower - - 400 - - + + Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"] + +
  • + + 20 + 30 + +
  • +
    +
    - - Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"] - -
  • - - 20 - 25 - -
  • -
    -
    + + Defs/PawnKindDef[defName="RH2Mech_TeslaDrone"]/combatPower + + 400 + + - - Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"]/combatPower - - 450 - - + + Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"] + +
  • + + 20 + 25 + +
  • +
    +
    + + + Defs/PawnKindDef[defName="RH2Mech_PlasmaDrone"]/combatPower + + 450 + +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml index 15904468e6..3dd9e52cb7 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml @@ -1,98 +1,98 @@ - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] - -
  • - - 4 - 6 - -
  • -
    -
    + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] + +
  • + + 4 + 6 + +
  • +
    +
    - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] - -
  • - - 4 - 6 - - -
  • - 0.15 - - 10 - 100 - - -
  • GrenadeSmoke
  • - - - 0 - 1 - - -
  • - 0.075 - - 50 - 200 - - -
  • CE_FlareLauncher
  • - - - 2 - 4 - - - - -
    -
    + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] + +
  • + + 4 + 6 + + +
  • + 0.15 + + 10 + 100 + + +
  • GrenadeSmoke
  • + + + 0 + 1 + + +
  • + 0.075 + + 50 + 200 + + +
  • CE_FlareLauncher
  • + + + 2 + 4 + + + + +
    +
    - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_SpecialBase"] - -
  • - - 4 - 6 - - -
  • - 0.125 - - 10 - 100 - - -
  • GrenadeDestructive
  • - - - 2 - 3 - - - - -
    -
    + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_SpecialBase"] + +
  • + + 4 + 6 + + +
  • + 0.125 + + 10 + 100 + + +
  • GrenadeDestructive
  • + + + 2 + 3 + + + + +
    +
    - - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] - -
  • - - 4 - 6 - -
  • -
    -
    + + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] + +
  • + + 4 + 6 + +
  • +
    +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml index 00bc2d9cd4..afa5db7386 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml @@ -445,8 +445,8 @@ False -
  • RN_GruppaKrovi_Marksman
  • -
  • RN_SVDS
  • +
  • RN_GruppaKrovi_Marksman
  • +
  • RN_SVDS
  • PrecisionRifling @@ -491,8 +491,8 @@ False -
  • RN_GruppaKrovi_Marksman
  • -
  • RN_KSVK
  • +
  • RN_GruppaKrovi_Marksman
  • +
  • RN_KSVK
  • PrecisionRifling diff --git a/SupportedThirdPartyMods.md b/SupportedThirdPartyMods.md index 746d33a0ac..920a29c11b 100644 --- a/SupportedThirdPartyMods.md +++ b/SupportedThirdPartyMods.md @@ -40,6 +40,7 @@ Mod | [Pratt] WWII Weapons Pack (Vanilla) | [RH2] DOOM | [RH2] Faction: Bounty Hunters | +[RH2] Faction: Gruppa Krovi | [RH2] Faction: Task Force 141 | [RH2] Faction: The Rangers | [RH2] Faction: Utilitarian | From 8dd11b1d703592ddb195b0bd4f659f3c47a3f805 Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Fri, 16 Aug 2024 21:14:16 -0400 Subject: [PATCH 23/35] More housekeeping --- .../Patches/Mechs_Gruppa_Krovi.xml | 13 -- .../Patches/PawnKinds_Gruppa_Krovi.xml | 114 +++++++++--------- .../Patches/TraderKinds_Gruppa_Krovi.xml | 2 + 3 files changed, 59 insertions(+), 70 deletions(-) diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml index 4511cef338..176ff6bfeb 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml @@ -68,42 +68,36 @@
  • - false 0.25
  • SightSensor
  • - false 0.25
  • SightSensor
  • - false 0.25
  • HearingSensor
  • - false 0.25
  • HearingSensor
  • - false .6
  • MechanicalLeg
  • - false .5
  • MechanicalLeg
  • @@ -219,7 +213,6 @@
    - Defs/ThingDef[defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone"]/race/baseHealthScale @@ -233,42 +226,36 @@
  • - false 0.1
  • SightSensor
  • - false 0.1
  • SightSensor
  • - false 0.1
  • HearingSensor
  • - false 0.1
  • HearingSensor
  • - false 1.5
  • MechanicalShoulder
  • - false 1.5
  • MechanicalShoulder
  • diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml index 3dd9e52cb7..e252fed382 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/PawnKinds_Gruppa_Krovi.xml @@ -2,57 +2,57 @@ - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] - -
  • - - 4 - 6 - -
  • -
    + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_Base"] + +
  • + + 4 + 6 + +
  • +
    - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] - -
  • - - 4 - 6 - - -
  • - 0.15 - - 10 - 100 - - -
  • GrenadeSmoke
  • - - - 0 - 1 - - -
  • - 0.075 - - 50 - 200 - - -
  • CE_FlareLauncher
  • - - - 2 - 4 - - - - -
    + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_IntermediateBase"] + +
  • + + 4 + 6 + + +
  • + 0.15 + + 10 + 100 + + +
  • GrenadeSmoke
  • + + + 0 + 1 + + +
  • + 0.075 + + 50 + 200 + + +
  • CE_FlareLauncher
  • + + + 2 + 4 + + + + +
    @@ -84,15 +84,15 @@ - Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] - -
  • - - 4 - 6 - -
  • -
    + Defs/PawnKindDef[@Name="RH2_GruppaKrovi_BossBase"] + +
  • + + 4 + 6 + +
  • +
    \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml index a03503ebf9..813fa43d1d 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml @@ -1,5 +1,6 @@ + Defs/TraderKindDef[ defName="RHBase_GruppaKrovi_Standard" or @@ -20,4 +21,5 @@
    + \ No newline at end of file From dda011580e92dd60dfddeaddc195619fcaed41c3 Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Fri, 16 Aug 2024 21:36:36 -0400 Subject: [PATCH 24/35] Tweaks --- .../Patches/Apparel_Gruppa_Krovi.xml | 113 +++++++++++++++++- .../Patches/Weapons_Gruppa_Krovi.xml | 1 + 2 files changed, 109 insertions(+), 5 deletions(-) diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml index 1fc6084ac1..fc7ec3ac17 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml @@ -83,7 +83,29 @@ 0.54
    - + + + Defs/ThingDef[defName="RNApparel_K63_Helmet_GP7Gasmask"] + +
  • + +
  • + 0.20 + +
  • Eye
  • + + +
  • + 0.20 + +
  • Eye
  • + + + + +
    +
    + Defs/ThingDef[defName="RNApparel_Helmet_JuggernautMkII"]/statBases @@ -109,6 +131,28 @@ Defs/ThingDef[defName="RNApparel_Helmet_JuggernautMkII"]/equippedStatOffsets/MoveSpeed + + Defs/ThingDef[defName="RNApparel_Helmet_JuggernautMkII"] + +
  • + +
  • + 0.80 + +
  • Eye
  • + + +
  • + 0.80 + +
  • Eye
  • + + + + +
    +
    + Defs/ThingDef[ @@ -183,12 +227,12 @@ defName="RNApparel_Jacket_GORKA4AnorakJacket" or defName="RNApparel_Jacket_GORKAESSOJacket" or defName="RNApparel_Jacket_GORKAKMLKJacket" - ]/statBases/Flammability + ]/statBases/Flammability 0.6 - + Defs/ThingDef[ @@ -197,7 +241,31 @@ defName="RNApparel_Soviet_JuggernautSuitMkII" ]/equippedStatOffsets/MoveSpeed - + + + Defs/ThingDef[defName="RNApparel_CryeCAGE_Multicam" or defName="RNApparel_Defender2_Green"] + +
  • + +
  • + 0.60 + +
  • Neck
  • +
  • Shoulder
  • + + +
  • + 0.60 + +
  • Neck
  • +
  • Shoulder
  • + + + + +
    +
    + Defs/ThingDef[defName="RNApparel_CryeCAGE_Multicam"]/statBases @@ -269,7 +337,41 @@ - + + + Defs/ThingDef[@Name="RNApparel_Soviet_JuggernautSuitMkII"] + +
  • + +
  • + 0.80 + +
  • Neck
  • + + +
  • + 0.80 + +
  • Neck
  • + + +
  • + 0.90 + +
  • Arm
  • + + +
  • + 0.90 + +
  • Arm
  • + + + + +
    +
    + Defs/ThingDef[@Name = "RHApparel_GruppaKroviHarnessBase"]/apparel/layers @@ -361,4 +463,5 @@ 60 + \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml index afa5db7386..690b24dc2d 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Weapons_Gruppa_Krovi.xml @@ -493,6 +493,7 @@
  • RN_GruppaKrovi_Marksman
  • RN_KSVK
  • +
  • Bipod_AMR
  • PrecisionRifling From a43d0e7136493349d451b80caae3acc4de446325 Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Fri, 16 Aug 2024 22:38:33 -0400 Subject: [PATCH 25/35] Housekeeping and tweaks --- .../Patches/Apparel_Gruppa_Krovi.xml | 2 +- .../Patches/Mech_Weapons_Gruppa_Krovi.xml | 2 +- .../Patches/Mechs_Gruppa_Krovi.xml | 15 +++++++++++---- .../Patches/TraderKinds_Gruppa_Krovi.xml | 2 +- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml index fc7ec3ac17..6d9ee38a30 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml @@ -339,7 +339,7 @@ - Defs/ThingDef[@Name="RNApparel_Soviet_JuggernautSuitMkII"] + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]
  • diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml index 394d032262..0c73a72e5d 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mech_Weapons_Gruppa_Krovi.xml @@ -22,6 +22,7 @@ 20.00 + 1.27 CombatExtended.Verb_ShootCE true Bullet_127x108mm_FMJ @@ -157,7 +158,6 @@ Defs/ThingDef[defName="RNBullet_Tesla_Charge"] - RNGun_RedStar_PlasmaCannon diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml index 176ff6bfeb..d24afae67d 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Mechs_Gruppa_Krovi.xml @@ -2,7 +2,7 @@ - Defs/ThingDef[ + Defs/ThingDef[ defName="RH2Mech_KV2Walker" or defName="RH2Mech_TeslaDrone" or defName="RH2Mech_PlasmaDrone" @@ -10,7 +10,6 @@
  • Humanoid -
  • @@ -62,6 +61,13 @@ + + Defs/ThingDef[defName="RH2Mech_KV2Walker"]/butcherProducts + + 100 + + + Defs/ThingDef[defName="RH2Mech_KV2Walker"] @@ -92,13 +98,13 @@
  • - .6 + 0.6
  • MechanicalLeg
  • - .5 + 0.5
  • MechanicalLeg
  • @@ -332,4 +338,5 @@ 450
    + \ No newline at end of file diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml index 813fa43d1d..8444e86e11 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml @@ -5,7 +5,7 @@ Defs/TraderKindDef[ defName="RHBase_GruppaKrovi_Standard" or defName="RHCaravan_GruppaKrovi_BlackMarket" - ]/stockGenerators + ]/stockGenerators
  • CE_Ammo From 79e8d2fe752049d7252ee704416dbb52db5a4d0d Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Fri, 16 Aug 2024 23:28:52 -0400 Subject: [PATCH 26/35] Tweaks --- .../Patches/Apparel_Gruppa_Krovi.xml | 41 ++++++++++--------- .../Patches/TraderKinds_Gruppa_Krovi.xml | 7 ++++ 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml index 6d9ee38a30..59df622907 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/Apparel_Gruppa_Krovi.xml @@ -305,27 +305,30 @@ - Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/statBases + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/statBases/ArmorRating_Sharp - - 21000 - 360 - 0.25 - 18 - 31 - 0.27 - 1 - 5.5 - 30 - 50 - 20 - -0.25 - -0.25 - 0.15 - + 18 + 50 + 20 - - + + + + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/statBases/ArmorRating_Blunt + + 32 + + + + + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/equippedStatOffsets + + + 40 + + + + Defs/ThingDef[defName="RNApparel_Soviet_JuggernautSuitMkII"]/costList diff --git a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml index 8444e86e11..afe58741b8 100644 --- a/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml +++ b/ModPatches/RH2 Faction - Gruppa Krovi/Patches/TraderKinds_Gruppa_Krovi.xml @@ -1,6 +1,13 @@ + + Defs/ThingDef[defName="RH2_Dima_Cigarette"]/statBases + + 0.05 + + + Defs/TraderKindDef[ defName="RHBase_GruppaKrovi_Standard" or From 5d894d89837b4e18ac3e1a9ed9163af32caad312 Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Sat, 17 Aug 2024 01:02:07 -0400 Subject: [PATCH 27/35] Make frag grenades smeltable --- Patches/Core/ThingDefs_Misc/Weapons_Grenades.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Patches/Core/ThingDefs_Misc/Weapons_Grenades.xml b/Patches/Core/ThingDefs_Misc/Weapons_Grenades.xml index a36fb35d53..140fcbc614 100644 --- a/Patches/Core/ThingDefs_Misc/Weapons_Grenades.xml +++ b/Patches/Core/ThingDefs_Misc/Weapons_Grenades.xml @@ -148,12 +148,19 @@ + + Defs/ThingDef[defName="Weapon_GrenadeFrag"]/smeltable + + false + + + Defs/ThingDef[defName="Weapon_GrenadeFrag"] CombatExtended.AmmoThing 75 - First + First @@ -405,7 +412,7 @@ CombatExtended.AmmoThing 75 - First + First From 78f62c9f82af70bbb86c56d660cb99bef6bf7440 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 17 Aug 2024 00:15:25 -0700 Subject: [PATCH 28/35] Add Test for Duplicates --- .github/workflows/duplicates.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/duplicates.yml diff --git a/.github/workflows/duplicates.yml b/.github/workflows/duplicates.yml new file mode 100644 index 0000000000..cd6bc7e1f8 --- /dev/null +++ b/.github/workflows/duplicates.yml @@ -0,0 +1,20 @@ +name: Check Patch Duplicates +on: + pull_request: + branches: [ master, Development ] + +# Restrict the permissions of the ephemeral GitHub token used by this workflow +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Check C# code style + run: | + python3 DupeFinder.py -c From 664027c4a892e270a4e963b056fc19dffb7ce357 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 17 Aug 2024 00:20:20 -0700 Subject: [PATCH 29/35] Remove AssembliesCompat and CombatExtendedLoader --- .github/workflows/release.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 756bb2140a..50669e0cd7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,13 +16,11 @@ jobs: rm -rf AssemblyPublicizer git clone https://github.com/CombatExtended-Continued/AssemblyPublicizer mkdir -p Assemblies - mkdir -p AssembliesCore - mkdir -p AssembliesCompat mkdir -p ${{ runner.temp }}/downloads - - name: build loader + - name: remove loader run: | - TEMP=${{ runner.temp }}/ python Make.py --csproj Source/Loader/Loader.csproj --output Assemblies/0CombatExtendedLoader.dll --download-libs --all-libs + rm Assemblies/CombatExtendedLoader.dll - name: build core run: | TEMP=${{ runner.temp }}/ python Make.py --csproj Source/CombatExtended/CombatExtended.csproj --output Assemblies/CombatExtended.dll --download-libs --all-libs --publicizer $PWD/AssemblyPublicizer @@ -32,7 +30,7 @@ jobs: - name: package run: | mkdir CombatExtended - cp -r Assemblies/ AssembliesCore/ AssembliesCompat/ About/ Defs/ Languages/ Patches/ Royalty/ Ideology/ Biotech/ Anomaly/ Sounds/ Textures/ ModPatches/ LoadFolders.xml README.md SupportedThirdPartyMods.md CombatExtended + cp -r Assemblies/ About/ Defs/ Languages/ Patches/ Royalty/ Ideology/ Biotech/ Anomaly/ Sounds/ Textures/ ModPatches/ LoadFolders.xml README.md SupportedThirdPartyMods.md CombatExtended zip -9 -r CombatExtended.zip CombatExtended - name: Upload Package id: upload-package From f3152e69ca45ed13e09111a9cd50394fb7df9125 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 17 Aug 2024 00:21:44 -0700 Subject: [PATCH 30/35] Remove AssembliesCore AssembliesCompat and Loader from zipfiles --- .github/workflows/pullrequest.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index fc14818afd..5196edc729 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -25,15 +25,13 @@ jobs: wget https://raw.githubusercontent.com/CombatExtended-Continued/CombatExtended/Development/Make.py -O Make.py wget https://raw.githubusercontent.com/CombatExtended-Continued/CombatExtended/Development/BuildCompat.py -O BuildCompat.py mkdir -p Assemblies - mkdir -p AssembliesCore - mkdir -p AssembliesCompat mkdir -p ${{ runner.temp }}/downloads rm -rf AssemblyPublicizer git clone https://github.com/CombatExtended-Continued/AssemblyPublicizer - - name: build loader + - name: remove loader run: | - TEMP=${{ runner.temp }}/ python Make.py --csproj Source/Loader/Loader.csproj --output Assemblies/0CombatExtendedLoader.dll --download-libs --all-libs + rm Assemblies/CombatExtendedLoader.dll - name: build core run: | @@ -46,7 +44,7 @@ jobs: - name: package run: | mkdir CombatExtended - cp -r Source/ Assemblies/ AssembliesCompat/ AssembliesCore/ About/ Defs/ Languages/ Patches/ Royalty/ Ideology/ Biotech/ Anomaly/ Sounds/ Textures/ ModPatches/ LoadFolders.xml README.md SupportedThirdPartyMods.md CombatExtended + cp -r Source/ Assemblies/ About/ Defs/ Languages/ Patches/ Royalty/ Ideology/ Biotech/ Anomaly/ Sounds/ Textures/ ModPatches/ LoadFolders.xml README.md SupportedThirdPartyMods.md CombatExtended zip -9 -r build.zip CombatExtended - name: Upload to DO run: | From fb0f411577d47d236b7ad5b5cc5b38027b4b0905 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 17 Aug 2024 00:22:34 -0700 Subject: [PATCH 31/35] Remove AssembliesCompat AssembliesCore and Loader from zipfiles --- .github/workflows/main.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b04e34fc0f..f314aa9c7f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,12 +15,10 @@ jobs: rm -rf AssemblyPublicizer git clone https://github.com/CombatExtended-Continued/AssemblyPublicizer mkdir -p Assemblies - mkdir -p AssembliesCore - mkdir -p AssembliesCompat mkdir -p ${{ runner.temp }}/downloads - - name: build loader + - name: remove loader run: | - TEMP=${{ runner.temp }}/ python Make.py --csproj Source/Loader/Loader.csproj --output Assemblies/0CombatExtendedLoader.dll --download-libs --all-libs + rm Assemblies/CombatExtendedLoader.dll - name: build core run: | @@ -33,7 +31,7 @@ jobs: - name: package run: | mkdir CombatExtended - cp -r Source/ Assemblies/ AssembliesCore/ AssembliesCompat/ About/ Defs/ Languages/ Patches/ Royalty/ Ideology/ Biotech/ Anomaly/ Sounds/ Textures/ ModPatches/ LoadFolders.xml README.md SupportedThirdPartyMods.md CombatExtended + cp -r Source/ Assemblies/ About/ Defs/ Languages/ Patches/ Royalty/ Ideology/ Biotech/ Anomaly/ Sounds/ Textures/ ModPatches/ LoadFolders.xml README.md SupportedThirdPartyMods.md CombatExtended zip -9 -r build.zip CombatExtended - name: Upload to DO run: | From d9a9f0c280c9d984156916174dc5903a7d059d4b Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 17 Aug 2024 00:23:54 -0700 Subject: [PATCH 32/35] Rename task --- .github/workflows/duplicates.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/duplicates.yml b/.github/workflows/duplicates.yml index cd6bc7e1f8..777a91976e 100644 --- a/.github/workflows/duplicates.yml +++ b/.github/workflows/duplicates.yml @@ -15,6 +15,6 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Check C# code style + - name: Check for duplicate virtual file paths run: | python3 DupeFinder.py -c From a78f6b7c69d2f75b6281735a9d1cfdde60fb9c04 Mon Sep 17 00:00:00 2001 From: Logan Perkins Date: Sat, 17 Aug 2024 00:30:50 -0700 Subject: [PATCH 33/35] Rename colliding path --- .../DamageDefs/{Damages_Misc.xml => Anomaly_Damages_Misc.xml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Anomaly/Patches/DamageDefs/{Damages_Misc.xml => Anomaly_Damages_Misc.xml} (100%) diff --git a/Anomaly/Patches/DamageDefs/Damages_Misc.xml b/Anomaly/Patches/DamageDefs/Anomaly_Damages_Misc.xml similarity index 100% rename from Anomaly/Patches/DamageDefs/Damages_Misc.xml rename to Anomaly/Patches/DamageDefs/Anomaly_Damages_Misc.xml From 82696bc8a9085e04e5f47968811c6bec0d365150 Mon Sep 17 00:00:00 2001 From: SamaelGray <56392968+SamaelGray@users.noreply.github.com> Date: Mon, 19 Aug 2024 14:35:02 +0330 Subject: [PATCH 34/35] VRE Lycans patch --- LoadFolders.xml | 5 +++-- .../Patches/GeneDefs/GeneDefs_Health.xml | 13 +++++++++++++ SupportedThirdPartyMods.md | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/GeneDefs/GeneDefs_Health.xml diff --git a/LoadFolders.xml b/LoadFolders.xml index 1d7bf52a19..87ab9e226c 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -380,7 +380,7 @@
  • ModPatches/RBSE
  • ModPatches/RH2 DOOM
  • ModPatches/RH2 Faction - Bounty Hunters
  • -
  • ModPatches/RH2 Faction - Gruppa Krovi
  • +
  • ModPatches/RH2 Faction - Gruppa Krovi
  • ModPatches/RH2 Faction - Task Force 141
  • ModPatches/RH2 Faction - The Rangers
  • ModPatches/RH2 Faction - Utilitarian
  • @@ -556,6 +556,7 @@
  • ModPatches/Vanilla Races Expanded - Highmate
  • ModPatches/Vanilla Races Expanded - Hussar
  • ModPatches/Vanilla Races Expanded - Insector
  • +
  • ModPatches/Vanilla Races Expanded - Lycanthrope
  • ModPatches/Vanilla Races Expanded - Phytokin
  • ModPatches/Vanilla Races Expanded - Sanguophage
  • ModPatches/Vanilla Races Expanded - Saurid
  • @@ -613,4 +614,4 @@
  • ModPatches/Multiplayer
  • ModPatches/SRTS
  • - + \ No newline at end of file diff --git a/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/GeneDefs/GeneDefs_Health.xml b/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/GeneDefs/GeneDefs_Health.xml new file mode 100644 index 0000000000..55dcd7fbee --- /dev/null +++ b/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/GeneDefs/GeneDefs_Health.xml @@ -0,0 +1,13 @@ + + + + + Defs/GeneDef[defName="VRE_SuperiorDarkVision"] + + + 0.9 + + + + + \ No newline at end of file diff --git a/SupportedThirdPartyMods.md b/SupportedThirdPartyMods.md index af308caa03..37d7db57df 100644 --- a/SupportedThirdPartyMods.md +++ b/SupportedThirdPartyMods.md @@ -537,6 +537,7 @@ Vanilla Races Expanded - Fungoid | Vanilla Races Expanded - Highmate | Vanilla Races Expanded - Hussar | Vanilla Races Expanded - Insector | +Vanilla Races Expanded - Lycanthrope | Vanilla Races Expanded - Phytokin | Vanilla Races Expanded - Sanguophage | Vanilla Races Expanded - Saurid | From 5d87ee8166f4e5bc15f614d9bf4d64c8f5c71797 Mon Sep 17 00:00:00 2001 From: n7huntsman Date: Tue, 20 Aug 2024 01:42:23 -0400 Subject: [PATCH 35/35] Rename inner folder, give warhowl suppression buff --- .../GeneDefs_Health.xml | 0 .../Hediffs_Health.xml | 74 +++++++++++++++++++ 2 files changed, 74 insertions(+) rename ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/{GeneDefs => Vanilla Races Expanded - Lycanthrope}/GeneDefs_Health.xml (100%) create mode 100644 ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/Vanilla Races Expanded - Lycanthrope/Hediffs_Health.xml diff --git a/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/GeneDefs/GeneDefs_Health.xml b/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/Vanilla Races Expanded - Lycanthrope/GeneDefs_Health.xml similarity index 100% rename from ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/GeneDefs/GeneDefs_Health.xml rename to ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/Vanilla Races Expanded - Lycanthrope/GeneDefs_Health.xml diff --git a/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/Vanilla Races Expanded - Lycanthrope/Hediffs_Health.xml b/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/Vanilla Races Expanded - Lycanthrope/Hediffs_Health.xml new file mode 100644 index 0000000000..90e2e98b1f --- /dev/null +++ b/ModPatches/Vanilla Races Expanded - Lycanthrope/Patches/Vanilla Races Expanded - Lycanthrope/Hediffs_Health.xml @@ -0,0 +1,74 @@ + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[1]/statOffsets + + -0.10 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[2]/statOffsets + + -0.20 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[3]/statOffsets + + -0.30 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[4]/statOffsets + + -0.40 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[5]/statOffsets + + -0.50 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[6]/statOffsets + + -0.60 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[7]/statOffsets + + -0.70 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[8]/statOffsets + + -0.80 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[9]/statOffsets + + -0.90 + + + + + Defs/HediffDef[defName="VRE_WarHowlHediff"]/stages/li[10]/statOffsets + + -1 + + + + \ No newline at end of file