diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f414c40 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/obj +/bin +/.vs diff --git a/About/About.xml b/About/About.xml new file mode 100644 index 0000000..4e44adc --- /dev/null +++ b/About/About.xml @@ -0,0 +1,28 @@ + + + RJW_RBSE + dastardlii + https://www.loverslab.com/topic/131529-rjw-rbse-integration/ + +
  • 1.1
  • +
  • 1.2
  • +
    + dastardlii.rjw.rbse + +
  • + rim.job.world + RimJobWorld + https://gitgud.io/Ed86/rjw +
  • +
  • + Rah.RBSE + Rah's Bionics and Surgery Expansion + https://ludeon.com/forums/index.php?topic=28731.0 +
  • +
    + +
  • rim.job.world
  • +
  • Rah.RBSE
  • +
    + Adjusts RJW bionics and surgery to fit into the style and usage defined by RBSE +
    \ No newline at end of file diff --git a/About/Manifest.xml b/About/Manifest.xml new file mode 100644 index 0000000..d1411eb --- /dev/null +++ b/About/Manifest.xml @@ -0,0 +1,18 @@ + + + RJW+RBSE + 1.1 + +
  • RimJobWorld
  • +
  • Rah's Bionics and Surgery Expansion
  • +
    + + +
  • RimJobWorld
  • +
  • Rah's Bionics and Surgery Expansion
  • +
    + + + + https://www.loverslab.com/topic/131529-rjw-rbse-integration/ +
    \ No newline at end of file diff --git a/About/Preview.png b/About/Preview.png new file mode 100644 index 0000000..fafb873 Binary files /dev/null and b/About/Preview.png differ diff --git a/Assemblies/RJW_RBSE.dll b/Assemblies/RJW_RBSE.dll new file mode 100644 index 0000000..54d3430 Binary files /dev/null and b/Assemblies/RJW_RBSE.dll differ diff --git a/Defs/HediffDefs/Hediffs_AdvBionic.xml b/Defs/HediffDefs/Hediffs_AdvBionic.xml new file mode 100644 index 0000000..b68ebb0 --- /dev/null +++ b/Defs/HediffDefs/Hediffs_AdvBionic.xml @@ -0,0 +1,83 @@ + + + + (188,39,242) + + + + + AdvancedBionicJaw + + an advanced bionic jaw + AdvancedBionicJaw + + 1.2 + + +
  • + + 0.1 + -0.15 + +
  • +
    +
    + + + + + AdvancedBionicPenis + + +
  • + + 0.9 + +
  • +
    + AdvancedBionicPenis +
    + + + AdvancedBionicVagina + + +
  • + + 0.9 + 0.3 + +
  • +
    + AdvancedBionicVagina +
    + + + AdvancedBionicBreasts + + +
  • + + 0.9 + 0.2 + 0.05 + +
  • +
    + AdvancedBionicBreasts +
    + + + AdvancedBionicAnus + + +
  • + + 0.9 + 0.3 + +
  • +
    + AdvancedBionicAnus +
    +
    \ No newline at end of file diff --git a/Defs/HediffDefs/Hediffs_Synthetic.xml b/Defs/HediffDefs/Hediffs_Synthetic.xml new file mode 100644 index 0000000..6de8cb5 --- /dev/null +++ b/Defs/HediffDefs/Hediffs_Synthetic.xml @@ -0,0 +1,52 @@ + + + + HediffWithComps + + + + SyntheticUterus + + SyntheticUterus + true + + true + 1 + + +
  • + + 0.05 + + +
  • + Reproduction + 0.2 +
  • + + +
    +
    + + + SyntheticTesticles + + SyntheticTesticles + true + + true + 1 + + +
  • + 0.95 + +
  • + Reproduction + 0.2 +
  • + + +
    +
    +
    \ No newline at end of file diff --git a/Defs/RecipeDefs/Recipe_AdvMedTable.xml b/Defs/RecipeDefs/Recipe_AdvMedTable.xml new file mode 100644 index 0000000..f318297 --- /dev/null +++ b/Defs/RecipeDefs/Recipe_AdvMedTable.xml @@ -0,0 +1,326 @@ + + + + Creating synthetic organ. + SmithingSpeed + Cook + Recipe_Tailor + 40000 + UnfinishedProsthesis + SyntheticOrgans + Crafting + + 10 + + + + + Upgrading bionic part. + SmithingSpeed + Cook + RBSESound + 40000 + UnfinishedProsthesis + Crafting + + 10 + + + + + + MakeAdvancedBionicJaw + + Upgrades a bionic jaw. + +
  • + + +
  • BionicJaw
  • + + + 1 + +
  • + + +
  • Hyperweave
  • + + + 10 + +
  • + + +
  • ComponentSpacer
  • + + + 2 + +
    + + +
  • BionicJaw
  • +
  • Hyperweave
  • +
  • Plasteel
  • +
    +
    + + 1 + +
    + + + + MakeSyntheticUterus + + Creates a synthetic uterus from hyperweave and plasteel + +
  • + + +
  • Hyperweave
  • + + + 10 + +
  • + + +
  • Plasteel
  • + + + 10 + +
  • + + +
  • ComponentSpacer
  • + + + 1 + +
    + + +
  • Hyperweave
  • +
  • Plasteel
  • +
  • ComponentSpacer
  • +
    +
    + + 1 + +
    + + + MakeSyntheticTesticles + + Creates a synthetic testicles from hyperweave and plasteel + +
  • + + +
  • Hyperweave
  • + + + 5 + +
  • + + +
  • Plasteel
  • + + + 5 + +
  • + + +
  • ComponentSpacer
  • + + + 2 + +
    + + +
  • Hyperweave
  • +
  • Plasteel
  • +
  • ComponentSpacer
  • +
    +
    + + 1 + +
    + + + + MakeAdvancedBionicPenis + + Upgrades a bionic penis. + + 1 + + +
  • + + +
  • BionicPenis
  • + + + 1 + +
  • + + +
  • Plasteel
  • + + + 10 + +
  • + + +
  • ComponentSpacer
  • + + + 2 + +
    + + +
  • BionicPenis
  • +
  • Plasteel
  • +
  • ComponentSpacer
  • +
    +
    +
    + + + MakeAdvancedBionicVagina + + Upgrades a bionic vagina. + + 1 + + +
  • + + +
  • BionicVagina
  • + + + 1 + +
  • + + +
  • Plasteel
  • + + + 15 + +
  • + + +
  • ComponentSpacer
  • + + + 1 + +
    + + +
  • BionicVagina
  • +
  • Plasteel
  • +
  • ComponentSpacer
  • +
    +
    +
    + + + MakeAdvancedBionicBreasts + + Upgrades a pair of bionic breasts. + + 1 + + +
  • + + +
  • BionicBreasts
  • + + + 1 + +
  • + + +
  • Plasteel
  • + + + 25 + +
  • + + +
  • ComponentSpacer
  • + + + 2 + +
    + + +
  • BionicBreasts
  • +
  • Plasteel
  • +
  • ComponentSpacer
  • +
    +
    +
    + + + MakeAdvancedBionicAnus + + Upgrades a bionic anus. + + 1 + + +
  • + + +
  • BionicAnus
  • + + + 1 + +
  • + + +
  • Plasteel
  • + + + 5 + +
  • + + +
  • ComponentSpacer
  • + + + 1 + +
    + + +
  • BionicAnus
  • +
  • Plasteel
  • +
  • ComponentSpacer
  • +
    +
    +
    +
    \ No newline at end of file diff --git a/Defs/RecipeDefs/Surgery_AdvBionic.xml b/Defs/RecipeDefs/Surgery_AdvBionic.xml new file mode 100644 index 0000000..a61281b --- /dev/null +++ b/Defs/RecipeDefs/Surgery_AdvBionic.xml @@ -0,0 +1,279 @@ + + + + + InstallAdvancedBionicJaw + + Installs an advanced bionic jaw. + Recipe_InstallArtificialBodyPart + Installing an advanced bionic jaw implant. + 4000 + +
  • + + +
  • Medicine
  • + + + 3 + +
  • + + +
  • AdvancedBionicJaw
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicJaw
  • +
    +
    + +
  • Jaw
  • +
    + AdvancedBionicJaw + AdvancedBionics +
    + + + + InstallAdvancedBionicVagina + + Installs an advanced bionic vagina, replaces other bodyparts if present. + Installing advanced bionic vagina. + 2000 + + 12 + + +
  • + + +
  • Medicine
  • + + + 1 + +
  • + + +
  • AdvancedBionicVagina
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicVagina
  • +
    +
    + AdvancedBionicVagina + AdvancedBionics +
    + + + + addAdvancedBionicVagina + + adding advanced bionic vagina. + 1500 + + 14 + + +
  • + + +
  • Medicine
  • + + + 1 + +
  • + + +
  • AdvancedBionicVagina
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicVagina
  • +
    +
    + AdvancedBionicVagina +
    + + + + InstallAdvancedBionicPenis + + Attaches an advanced bionic penis, replaces other bodyparts if present. + Attaching advanced bionic penis. + 1500 + + 12 + + +
  • + + +
  • Medicine
  • + + + 1 + +
  • + + +
  • AdvancedBionicPenis
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicPenis
  • +
    +
    + AdvancedBionicPenis + AdvancedBionics +
    + + + + addAdvancedBionicPenis + + Attaching advanced bionic penis. + 1500 + + 14 + + +
  • + + +
  • Medicine
  • + + + 1 + +
  • + + +
  • AdvancedBionicPenis
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicPenis
  • +
    +
    + AdvancedBionicPenis +
    + + + + InstallAdvancedBionicBreasts + + Installs a pair of advanced bionic breasts, replaces other bodyparts if present. + Installing advanced bionic breasts. + 2000 + + 14 + + +
  • + + +
  • Medicine
  • + + + 1 + +
  • + + +
  • AdvancedBionicBreasts
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicBreasts
  • +
    +
    + AdvancedBionicBreasts + AdvancedBionics +
    + + + + InstallAdvancedBionicAnus + + Installs an advanced bionic anus, replaces other bodyparts if present. + Installing advanced bionic anus. + 2000 + + 14 + + +
  • + + +
  • Medicine
  • + + + 1 + +
  • + + +
  • AdvancedBionicAnus
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • AdvancedBionicAnus
  • +
    +
    + AdvancedBionicAnus + AdvancedBionics +
    +
    \ No newline at end of file diff --git a/Defs/RecipeDefs/Surgery_Synthetic.xml b/Defs/RecipeDefs/Surgery_Synthetic.xml new file mode 100644 index 0000000..dcce85b --- /dev/null +++ b/Defs/RecipeDefs/Surgery_Synthetic.xml @@ -0,0 +1,77 @@ + + + + InstallSyntheticUterus + + Installs synthetic uterus. + rjw.Recipe_InstallImplantToExistParts + Installing synthetic uterus. + true + 6000 + +
  • + + +
  • Medicine
  • + + + 3 + +
  • + + +
  • SyntheticUterus
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • SyntheticUterus
  • +
    +
    + SyntheticUterus + SyntheticOrgans +
    + + InstallSyntheticTesticles + + Installs synthetic testicles. + rjw.Recipe_InstallImplantToExistParts + Installing synthetic testicles. + true + 6000 + +
  • + + +
  • Medicine
  • + + + 3 + +
  • + + +
  • SyntheticTesticles
  • + + + 1 + +
    + + +
  • Medicine
  • +
    + +
  • SyntheticTesticles
  • +
    +
    + SyntheticTesticles + SyntheticOrgans +
    +
    \ No newline at end of file diff --git a/Defs/ThingDefs_Items/Items_AdvBionic.xml b/Defs/ThingDefs_Items/Items_AdvBionic.xml new file mode 100644 index 0000000..3f2f737 --- /dev/null +++ b/Defs/ThingDefs_Items/Items_AdvBionic.xml @@ -0,0 +1,90 @@ + + + + +
  • AdvancedProstheses
  • +
    + +
  • AdvancedProstheses
  • +
    + + 2.0 + + true + + Things/Item/BodyPart/Bionic2 + Graphic_Single + +
    + + + + AdvancedBionicJaw + + An upgraded bionic jaw. It includes nano-motors embedded in the structure that allow the entire mouth to vibrate at a several different speeds. In addtion to the obvious intimate uses, the vibration function can aid in chewing. + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + 1038 + 0.4 + + +
  • Advanced
  • +
    +
    + + + + AdvancedBionicPenis + + An upgraded bionic penis. New Features include: +- Configurable shape ensuring you will always be able to hit the right spots. +- Internal temperature regulator allows you to share sultry heat or shocking cold with your partner. +- Increased nerve density ensures maximum sensitivity along the entire length of the penis. + + 1200 + 0.5 + + + + + + AdvancedBionicVagina + + An upgraded prosthetic vagina. New Features include: +- Internal semen sensors that can automatically trigger orgasm when your partner cums. +- Embedded nano-pumps allow for acontrollable suction down to -10psi. +- Lubrication dispensors can be configured for several flavors, including Mango! + + 1200 + 0.10 + + + + + + AdvancedBionicBreasts + + Upgraded prosthetic breasts. New Features include: +- Independantly resizable nipples +- Selectable areola shapes, including hearts and stars. + + 1200 + 1.0 + + + + + + AdvancedBionicAnus + + An upgraded prosthetic anus. New Features include: +- Toggleable nerve clusters that increase pleasure and decrease discomfort. + + 1200 + 0.10 + + +
    \ No newline at end of file diff --git a/Defs/ThingDefs_Items/Items_Synthetic.xml b/Defs/ThingDefs_Items/Items_Synthetic.xml new file mode 100644 index 0000000..51caf43 --- /dev/null +++ b/Defs/ThingDefs_Items/Items_Synthetic.xml @@ -0,0 +1,50 @@ + + + + SyntheticUterus + + An enhanced uterus augmented with nanocells to increase organ efficiency improve defense against disease. Should be kept frozen outside of the body to avoid cell death and organ failure.\n\nDoes not trigger transplant rejection.\n\nStats:\nFertility: 20%\nImmunity Gain: 5% + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + 1224 + 1 + + +
  • Advanced
  • +
    + Rare + +
  • + 4 + true +
  • +
    +
    + + + SyntheticTesticles + + An enhanced pair of testicles augmented with nanocells to increase organ efficiency and reduce pain from vigorous activity. Should be kept frozen outside of the body to avoid cell death and organ failure.\n\nDoes not trigger transplant rejection.\n\nStats:\nFertility: 20%\nPain Threshold: 95% + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + 1224 + 1 + + +
  • Advanced
  • +
    + Rare + +
  • + 4 + true +
  • +
    +
    +
    \ No newline at end of file diff --git a/Patches/Bodypart_Stats_Advanced.xml b/Patches/Bodypart_Stats_Advanced.xml new file mode 100644 index 0000000..e41c861 --- /dev/null +++ b/Patches/Bodypart_Stats_Advanced.xml @@ -0,0 +1,138 @@ + + + + + /Defs/HediffDef[defName="AdvancedBionicSpine"]/stages/li + + + 0.3 + -0.1 + + + + + /Defs/ThingDef[defName="AdvancedBionicSpine"]/description + + An upgraded bionic spine. This durable device makes the user extremely mobile and unbelievably flexible. + + + + + + /Defs/HediffDef[defName="AdvancedBionicHand"] + + +
  • + + 0.2 + -0.2 + +
  • +
    +
    +
    + + /Defs/HediffDef[defName="AdvancedBionicArm"] + + +
  • + + 0.25 + -0.2 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="AdvancedBionicHand"]/description + + An upgraded bionic hand. An adjuystable dermal layer allows the skin of the hand to be hard as steel or soft as velvet. Some people would chop their own hands off just to get this gorgeous piece of tech. + + + + /Defs/ThingDef[defName="AdvancedBionicArm"]/description + + An upgraded bionic arm. An adjuystable dermal layer allows the skin of the hand to be hard as steel or soft as velvet. Remember when you struggled with opening jars? Now you will struggle to not break them instantly. + + + + + + /Defs/HediffDef[defName="AdvancedBionicFoot"] + + +
  • + + 0.1 + +
  • +
    +
    +
    + + /Defs/HediffDef[defName="AdvancedBionicLeg"] + + +
  • + + 0.15 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="AdvancedBionicFoot"]/description + + An upgraded bionic foot. Dozens of servomotors grant faster movement and enough dexterity to comfortably write with this foot. + + + + /Defs/ThingDef[defName="AdvancedBionicLeg"]/description + + An upgraded bionic leg. Impressive technology which allows the user to move around faster than ever. Improved servomotors give enough dexterity to comfortably write with this foot. + + + + + + /Defs/HediffDef[defName="ArchotechArm"] + + +
  • + + 0.35 + -0.3 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="ArchotechArm"]/description + + An artifical arm built by an archotech. It's strong enough to crush a thick hardwood branch in its hand, and precise enough to write a sonnet on a grain of rice. The hand include heating and vibration functions. It looks and feels like natural flesh, but it's harder to damage than plasteel while being as soft as silk. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds. + + + + + + /Defs/HediffDef[defName="ArchotechLeg"] + + +
  • + + 0.25 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="ArchotechLeg"]/description + + An artifical leg built by an archotech. It looks and feels like natural flesh, but a pair of these can move the user as fast as a decent car, and it's harder to damage than plasteel while being as soft as silk. The thighs are adjustable to any desired thickness, and the feet are dexterous enough to paint a masterpiece with. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds. + + +
    \ No newline at end of file diff --git a/Patches/Bodypart_Stats_Bionic.xml b/Patches/Bodypart_Stats_Bionic.xml new file mode 100644 index 0000000..e8413dc --- /dev/null +++ b/Patches/Bodypart_Stats_Bionic.xml @@ -0,0 +1,118 @@ + + + + + /Defs/HediffDef[defName="BionicJaw"] + + +
  • + + 0.05 + -0.15 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="BionicJaw"]/description + + A strengthened jaw that will never get sore or tired. Includes a strong set of teeth and a voice modulator. + + + + + + /Defs/HediffDef[defName="BionicSpine"]/stages/li + + + 0.2 + -0.1 + + + + + /Defs/ThingDef[defName="BionicSpine"]/description + + An advanced artificial spine. A biogel nerve bundle runs down an articulated plasteel core, surrounded by a lattice-dust healing system. Improved disc joints allow for contortionist-like flexibility without discomfort. Outperforms biological spines. + + + + + + /Defs/HediffDef[defName="BionicHand"] + + +
  • + + 0.1 + -0.1 + +
  • +
    +
    +
    + + /Defs/HediffDef[defName="BionicArm"] + + +
  • + + 0.15 + -0.1 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="BionicHand"]/description + + Allows the user to perform tasks even faster than with a regular hand. Includes increased grip strength and an internal heater to ensure the hand is always comfortable warm. + + + + /Defs/ThingDef[defName="BionicArm"]/description + + An advanced artificial arm. Silenced mini-servos give great strength, while the biogel nerve-link gives exquisite control. A lattice-dust healing system allows it to recover from damage. Includes increased grip strength and an internal heater to ensure the hand is always comfortable warm. It is better than a biological arm in almost every way. + + + + + + /Defs/HediffDef[defName="BionicFoot"] + + +
  • + + 0.05 + +
  • +
    +
    +
    + + /Defs/HediffDef[defName="BionicLeg"] + + +
  • + + 0.1 + +
  • +
    +
    +
    + + /Defs/ThingDef[defName="BionicFoot"]/description + + An advanced artificial foot. This prosthesis grants faster walking with little to no stumbling!. An adjuystable dermal layer allows the skin of the foot to be hard as steel or soft as velvet. + + + + /Defs/ThingDef[defName="BionicLeg"]/description + + An advanced artificial leg. Includes a biogel nerve-link, powerful mini-servos, a lattice-dust healing system and an adjuystable dermal layer allows the skin of the leg to be hard as steel or soft as velvet. It is better than a biological leg in almost every way. + + +
    \ No newline at end of file diff --git a/Patches/Bodypart_Textures.xml b/Patches/Bodypart_Textures.xml new file mode 100644 index 0000000..01f6b8b --- /dev/null +++ b/Patches/Bodypart_Textures.xml @@ -0,0 +1,146 @@ + + + + + /Defs/RecipeDef[@Name="MakePrivates"]/unfinishedThingDef + + UnfinishedProsthesis + + + + + + /Defs/ThingDef[defName="SlimeGlob"]/graphicData/texPath + + Things/Item/BodyPart/slimepart + + + + + + /Defs/ThingDef[@Name="rjw_BodyPartNaturalBaseGenMale"]/graphicData/texPath + + Things/Item/BodyPart/Organ + + + + /Defs/ThingDef[@Name="rjw_BodyPartNaturalBaseGenFemale"]/graphicData/texPath + + Things/Item/BodyPart/Organ + + + + /Defs/ThingDef[@Name="rjw_BodyPartNaturalBaseAnus"]/graphicData/texPath + + Things/Item/BodyPart/Organ + + + + /Defs/ThingDef[@Name="rjw_BodyPartNaturalBaseBreast"]/graphicData/texPath + + Things/Item/BodyPart/Organ + + + + + + /Defs/ThingDef[@Name="rjw_BodyPartArtificialBaseGenMale"]/graphicData/texPath + + Things/Item/BodyPart/Simple + + + + /Defs/ThingDef[@Name="rjw_BodyPartArtificialBaseGenFemale"]/graphicData/texPath + + Things/Item/BodyPart/Simple + + + + /Defs/ThingDef[@Name="rjw_BodyPartArtificialBaseAnus"]/graphicData/texPath + + Things/Item/BodyPart/Simple + + + + /Defs/ThingDef[@Name="rjw_BodyPartArtificialBaseBreast"]/graphicData/texPath + + Things/Item/BodyPart/Simple + + + + + + /Defs/ThingDef[defName="BionicPenis"] + + + Things/Item/BodyPart/Bionic + Graphic_Single + + + + + /Defs/ThingDef[defName="BionicVagina"] + + + Things/Item/BodyPart/Bionic + Graphic_Single + + + + + /Defs/ThingDef[defName="BionicAnus"] + + + Things/Item/BodyPart/Bionic + Graphic_Single + + + + + /Defs/ThingDef[defName="BionicBreasts"] + + + Things/Item/BodyPart/Bionic + Graphic_Single + + + + + + + /Defs/ThingDef[defName="ArchotechPenis"] + + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + + + /Defs/ThingDef[defName="ArchotechVagina"] + + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + + + /Defs/ThingDef[defName="ArchotechAnus"] + + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + + + /Defs/ThingDef[defName="ArchotechBreasts"] + + + Things/Item/BodyPart/Bionic2 + Graphic_Single + + + + \ No newline at end of file diff --git a/Patches/Hediff_Colors.xml b/Patches/Hediff_Colors.xml new file mode 100644 index 0000000..4dca670 --- /dev/null +++ b/Patches/Hediff_Colors.xml @@ -0,0 +1,53 @@ + + + + + /Defs/HediffDef[@Name="NaturalPrivatePartBase"]/defaultLabelColor + + (255, 255, 240) + + + + + + /Defs/HediffDef[@Name="ArtificialPrivatePartLotech"] + + (102,178,255) + + + + + + /Defs/HediffDef[@Name="ArtificialPrivatePartHitech"] + + (0.5, 0.5, 0.9) + + + + + + /Defs/HediffDef[defName="ArchotechPenis"] + + (188,39,242) + + + + /Defs/HediffDef[defName="ArchotechVagina"] + + (188,39,242) + + + + /Defs/HediffDef[defName="ArchotechAnus"] + + (188,39,242) + + + + /Defs/HediffDef[defName="ArchotechBreasts"] + + (188,39,242) + + + + \ No newline at end of file diff --git a/Patches/Operation_Research.xml b/Patches/Operation_Research.xml new file mode 100644 index 0000000..fb6f1bb --- /dev/null +++ b/Patches/Operation_Research.xml @@ -0,0 +1,627 @@ + + + + + + + + + + /Defs/RecipeDef[defName="InstallHydraulicPenis"] + + Prosthetics + + + + /Defs/RecipeDef[defName="InstallHydraulicVagina"] + + Prosthetics + + + + /Defs/RecipeDef[defName="InstallHydraulicBreasts"] + + Prosthetics + + + + /Defs/RecipeDef[defName="InstallHydraulicAnus"] + + Prosthetics + + + + /Defs/RecipeDef[defName="addHydraulicVagina"] + + Prosthetics + + + + /Defs/RecipeDef[defName="addHydraulicPenis"] + + Prosthetics + + + + + + + /Defs/RecipeDef[defName="InstallBionicPenis"] + + Bionics + + + + /Defs/RecipeDef[defName="InstallBionicVagina"] + + Bionics + + + + /Defs/RecipeDef[defName="InstallBionicBreasts"] + + Bionics + + + + /Defs/RecipeDef[defName="InstallBionicAnus"] + + Bionics + + + + /Defs/RecipeDef[defName="addBionicVagina"] + + Bionics + + + + /Defs/RecipeDef[defName="addBionicPenis"] + + Bionics + + + + + + + /Defs/RecipeDef[defName="AttachPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallMicroVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallTightVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallLooseVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallGapingVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallCatVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallDogVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallHorseVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallDragonVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallOvipositorF"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachMicroPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachSmallPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachBigPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachHugePenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachHorsePenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachRaccoonPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachCatPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachDogPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachDragonPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachHemipenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachCrocodilianPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachOvipositorM"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachFlatBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachSmallBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachLargeBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachHugeBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachUdder"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AttachFeaturelesschest"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallMicroAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallTightAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallLooseAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallGapingAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="InstallInsectAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiMicroVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiTightVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiLooseVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiGapingVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiHorseVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiCatVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiDogVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiDragonVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiMicropenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiSmallPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiBigPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiHugePenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiHorsePenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiCatPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiDogPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiDragonPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiRaccoonPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiHemipenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiCrocodilianPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiFlatBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiSmallBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiLargeBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiHugeBreasts"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiMicroAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiTightAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiLooseAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMultiGapingAnus"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMicroVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addTightVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addLooseVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addGapingVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addHorseVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addCatVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addDogVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addDragonVagina"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addOvipositorF"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="AddMicropenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addSmallPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addBigPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addHugePenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addHorsePenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addCatPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addDogPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addDragonPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addOvipositorM"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addRaccoonPenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addHemipenis"] + + OrganTransplantation + + + + /Defs/RecipeDef[defName="addCrocodilianPenis"] + + OrganTransplantation + + + \ No newline at end of file diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7618147 --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("RJW_RBSE")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("RJW_RBSE")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e2f0b911-7ec5-41df-898f-7962e8b4cdf4")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/RJW_RBSE.csproj b/RJW_RBSE.csproj new file mode 100644 index 0000000..66f62fc --- /dev/null +++ b/RJW_RBSE.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {E2F0B911-7EC5-41DF-898F-7962E8B4CDF4} + Library + Properties + dastardlii.RJW_RBSE + RJW_RBSE + v4.6.1 + 512 + true + + + + false + none + false + Assemblies\ + DEBUG;TRACE + prompt + 4 + false + + + none + true + Assemblies\ + TRACE + prompt + 4 + false + + + + C:\Steam\steamapps\workshop\content\294100\818773962\Assemblies\0Harmony.dll + False + + + C:\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll + False + + + C:\Steam\steamapps\workshop\content\294100\818773962\Assemblies\HugsLib.dll + False + + + + + + + + + C:\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RJW_RBSE.csproj.user b/RJW_RBSE.csproj.user new file mode 100644 index 0000000..6cbe588 --- /dev/null +++ b/RJW_RBSE.csproj.user @@ -0,0 +1,6 @@ + + + + ProjectFiles + + \ No newline at end of file diff --git a/RJW_RBSE.sln b/RJW_RBSE.sln new file mode 100644 index 0000000..678e4fb --- /dev/null +++ b/RJW_RBSE.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.902 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_RBSE", "RJW_RBSE.csproj", "{E2F0B911-7EC5-41DF-898F-7962E8B4CDF4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E2F0B911-7EC5-41DF-898F-7962E8B4CDF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2F0B911-7EC5-41DF-898F-7962E8B4CDF4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2F0B911-7EC5-41DF-898F-7962E8B4CDF4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2F0B911-7EC5-41DF-898F-7962E8B4CDF4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9F904BC6-74A9-40DB-96DC-94F10C8B9E7B} + EndGlobalSection +EndGlobal diff --git a/Source/Main.cs b/Source/Main.cs new file mode 100644 index 0000000..7b4a0d7 --- /dev/null +++ b/Source/Main.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Linq; +using Harmony; +using RimWorld; +using Verse; + +namespace RJW_RBSE +{ + [StaticConstructorOnStartup] + internal static class Startup + { + //Quick check to see if an another mod is loaded. + private static bool IsLoaded(string mod) + { + return LoadedModManager.RunningModsListForReading.Any(x => x.Name == mod); + } + + private static void Fix_recipes() + { + //Log.Message("[RJW-RBSE] Startup::fix_recipes"); + + if (!IsLoaded("RimJobWorld")) + { + Log.Warning("[RJW-RBSE] RJW is not loaded!"); + return; + } + + if (!IsLoaded("Rah's Bionics and Surgery Expansion")) + { + Log.Warning("[RJW-RBSE] RBSE is not loaded!"); + return; + } + + try + { + //Vanilla bench + var fab_ben = DefDatabase.GetNamed("FabricationBench"); + + //EPOE bench + var bio_ben = DefDatabase.GetNamed("TableBionics", false); + + //RBSE benches + var rbse_bio = DefDatabase.GetNamed("BionicWorkbench", false); + var rbse_adv = DefDatabase.GetNamed("AdvancedMedicalStation", false); + + // Remove existing Bionic recipes + (bio_ben ?? fab_ben).AllRecipes.Remove(DefDatabase.GetNamed("MakeBionicAnus")); + (bio_ben ?? fab_ben).AllRecipes.Remove(DefDatabase.GetNamed("MakeBionicBreasts")); + (bio_ben ?? fab_ben).AllRecipes.Remove(DefDatabase.GetNamed("MakeBionicPenis")); + (bio_ben ?? fab_ben).AllRecipes.Remove(DefDatabase.GetNamed("MakeBionicVagina")); + + // Add recipes to RBSE bionics bench + rbse_bio.AllRecipes.Add(DefDatabase.GetNamed("MakeBionicAnus")); + rbse_bio.AllRecipes.Add(DefDatabase.GetNamed("MakeBionicBreasts")); + rbse_bio.AllRecipes.Add(DefDatabase.GetNamed("MakeBionicPenis")); + rbse_bio.AllRecipes.Add(DefDatabase.GetNamed("MakeBionicVagina")); + + // Add recipes to RBSE Advanced Medical bench + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeAdvancedBionicJaw")); + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeSyntheticUterus")); + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeSyntheticTesticles")); + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeAdvancedBionicPenis")); + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeAdvancedBionicVagina")); + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeAdvancedBionicBreasts")); + rbse_adv.AllRecipes.Add(DefDatabase.GetNamed("MakeAdvancedBionicAnus")); + } + catch + { + Log.Warning("[RJW-RBSE] Unable to fix RJW/RBSE recipes."); + } + + } + + static Startup() + { + //Log.Message("[RJW-RBSE] Startup::Startup() called"); + + Fix_recipes(); + var harmony = HarmonyInstance.Create("rjw-rbse"); + harmony.PatchAll(Assembly.GetExecutingAssembly()); + } + } +} diff --git a/Textures/Things/Item/BodyPart/slimepart.png b/Textures/Things/Item/BodyPart/slimepart.png new file mode 100644 index 0000000..ec82442 Binary files /dev/null and b/Textures/Things/Item/BodyPart/slimepart.png differ