Compare commits

...

49 Commits

Author SHA1 Message Date
Vegapnk 7d9e399a47 Nested 2 Mod-Search for AG_Malachai, Fixes #68 2023-11-02 11:52:48 +01:00
Vegapnk e805cfe025 Fix #69 by adding looking for the Sexperience mod 2023-11-02 11:48:06 +01:00
Vegapnk a3a6273b86 Updated Changelog 2023-10-24 07:18:24 +02:00
Vegapnk 87b5500018 re-added 2 xenotype patches, formatting of patches 2023-10-24 07:16:16 +02:00
Vegapnk d5eefa7608 revert 9968312 due to issues, never accept prs 2023-10-24 07:10:34 +02:00
Vegapnk f4002ed9f2 Updated Manifest, build dll for release 2023-10-22 16:29:24 +02:00
Vegapnk 65f74e7369 Added a simple social worker for aphrodisiac genes, closes #50 2023-10-22 16:25:52 +02:00
Vegapnk 996831269d Added two patches for Alpha Genes, closes #65 2023-10-22 15:51:36 +02:00
Vegapnk 483965ea19 Made empathetic Lifeforce public, fixes #66 2023-10-22 15:43:22 +02:00
vegapnk 49e66d3302
Update CHANGELOG.md after #64 2023-10-13 08:42:59 +02:00
vegapnk 7b0a7102a9
Merge pull request #64 from mwcrow/main
Fixed closing tag doesn't match opening tag error
2023-10-13 08:39:54 +02:00
mwcrow a2f0840c79
Update Lifeforce.xml
Fixed closing tag doesn't match opening tag error
2023-10-06 19:45:39 +02:00
vegapnk 729f60151b
Merge pull request #62 from vegapnk/dev
Version 1.3. Release I guess
2023-09-13 17:04:11 +02:00
Vegapnk 071d5b578d New build for 1.3.0, minor change in csproj 2023-09-13 17:00:26 +02:00
Vegapnk 3db05a8dce Added some nullchecks for queen existance, fixing #60 2023-09-13 16:55:01 +02:00
Vegapnk 70a15dbfed Made Letters Translatable, fixes #58 2023-07-27 08:14:46 +02:00
Vegapnk 051f67af55 Penis Hypergrowth also makes pawn hypersexual 2023-07-26 17:29:58 +02:00
Vegapnk d4e90f6762 Rebalancing Fertilin Costs, minor cleanup in XML 2023-07-26 17:14:00 +02:00
Vegapnk 0aefb45d9b Custom Xenotypes should work now with Hivelogic 2023-07-26 17:06:17 +02:00
Vegapnk 57bb1950e4 Made evergrowth Genitalia tick configurable 2023-07-18 07:00:45 +02:00
Vegapnk 7c22dcd348 Using new ModExtensions for AphrodisiacPheromone 2023-07-17 07:21:32 +02:00
Vegapnk 132344b294 LifeForceEmpath uses new XML DefModExtension 2023-07-17 07:09:05 +02:00
Vegapnk ef1e3cdd0f Added generic DefModExtension for Distance and Ticks 2023-07-17 06:58:00 +02:00
Vegapnk d21a665a3c Build for 1.3 beta 1 2023-07-16 11:58:32 +02:00
Vegapnk 188cd070f7 Added Changelog for LifeForce Empath #42 2023-07-16 11:57:38 +02:00
Vegapnk 507c150b38 Added a Lifeforce Empath Gene 2023-07-16 11:55:38 +02:00
Vegapnk d5580ba92a Added a new gene that increases penis size on oral sex 2023-07-16 10:59:06 +02:00
Vegapnk 93a4699fba Made an oopsie 2023-07-16 10:19:49 +02:00
Vegapnk 2598e4cc49 Hardened Genderfluid LicentiaLab Hediff Removal 2023-07-16 10:18:52 +02:00
Vegapnk 1ddb7dc9bd Set Genderfluid times out of dev, soreness of vagina gets removed on change. 2023-07-16 10:15:01 +02:00
Vegapnk b18e4077a4 New Gene removing sex need 2023-07-16 09:48:49 +02:00
Vegapnk 61400c7fa5 Updated Succubus Textures thanks to Monti 2023-07-16 09:35:12 +02:00
Vegapnk 5b2e644134 Added new Textures for Wings, thanks to Monti 2023-07-16 09:12:55 +02:00
Vegapnk 97c153f468 Added a Gene for Gender Fluid Pawns 2023-07-16 08:54:01 +02:00
Vegapnk ae3c4471cf Updated Changelog after PR 2023-06-28 15:05:54 +02:00
vegapnk 9ef884eb76
Merge pull request #53 from WasmachenDennSachenSo/Fix-Icons
Fix white outlines on gene icons
2023-06-28 15:01:19 +02:00
Vegapnk 15a72ae250 Revamped patches for Cum-Eating Succubi, #41 and 48 2023-06-28 14:59:20 +02:00
Vegapnk ada4a87efc Added new Gene for evergrowing cock 2023-06-28 14:45:43 +02:00
Wasmachensachen a7009cc3ae Fix full colors
- forgot to tick convert to srgb.
2023-06-24 09:20:58 +02:00
Wasmachensachen 1329fbc016 Fix white outlines on icons
- reexport all icons with 1% black background at 512x512 NN.
2023-06-24 08:48:59 +02:00
Vegapnk 5e3bbe66a3 New Patch for Used Condoms from Infi 2023-06-22 12:56:36 +02:00
Vegapnk f7445f8df7 Minor Fix for #52, updated docs and a small preview image 2023-06-18 21:02:31 +02:00
Vegapnk 91f2e4a60d New Build for 1.2 2023-06-11 11:15:11 +02:00
Vegapnk 0ddead2851 Updated Docs 2023-06-11 11:14:33 +02:00
Vegapnk 197eb076e5 More food and less malnutrition for Halamyr Hive Start - less silver 2023-06-11 11:04:00 +02:00
Vegapnk 4fc3f94f2a Added Patches for more popular Xenotypes 2023-06-11 11:02:03 +02:00
Vegapnk d1b45f02db Added conflicts / load order for cumaddictiongene #41 2023-06-11 10:32:15 +02:00
Vegapnk 41cb46118b Moved some Conditional Genes to the Xenotypes from Patches, also fix #47 2023-06-11 10:20:08 +02:00
Vegapnk 24e5bb2a52 More patches for common xenotypes 2023-06-11 09:45:39 +02:00
124 changed files with 1885 additions and 432 deletions

View File

@ -41,6 +41,7 @@
<li>sarg.alphaanimals</li>
<li>Sl4vP0weR.DominantGene</li>
<li>rjw.sexperience.cumgenes</li>
</loadAfter>
</ModMetaData>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
<identifier>RJW-Genes</identifier>
<version>1.2.0</version>
<version>1.3.1</version>
<dependencies>
<li>RimJobWorld</li>
<li>HugsLib</li>
@ -12,6 +12,7 @@
<loadAfter>
<li>RimJobWorld</li>
<li>HugsLib</li>
<li>RJWSexperience_CumGenes</li>
</loadAfter>
<suggests>
<li>RJW-LicentiaLabs</li>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 581 KiB

View File

@ -1,29 +1,84 @@
# 1.2
# 1.3.3
**Since beta-1**:
**Fixes:**
- Fix of icon-names (#36)
- Changes to the scenario (more building items, throne for start). Wealth is now at 12k, which is the same as crashlanded and lost tribe.
- Added the Orgasmic Mytosis Draft
- Many touches on the Halamyr Hive Logic and Fertilizitation (#37,#38)
- Added another check to the AG Malachai Xenotype (Fixes #68)
- Fixed the `GatheredCum`Fertilin Ingestion Patch throwing an Error for people without Sexperience (Fixes #69 (nice))
# 1.3.2
**Fixes:**
- Removed patch for Malachai, needs a different patching operator but I don't want to have broken fixes for now (Tracked in a new Issue)
# 1.3.1
**Changes**
- Added patches for Alpha-Genes Animusen, Drakonori and Malachai (Closes #65, thanks @Stars22223)
- Little Social Boost for Pawns affected by pheromones (Closes #50)
**Fixes:**
- XML Missmatch for Succubus Letter (Fixed in #64, thanks @mwcrow)
- Made constructor for Empathetic Lifeforce explicitly `public` to not hang up in character creation (Fixes #66)
# 1.3.0 (19-09-2023)
**Changes:**
- New Gene for Evergrowing Cocks. Be careful.
- New Gene for Genderfluid Pawns - daily chance to change sex. Futas just change "display" and keep genitalia, other pawns switch genitalia. XML configurable times & chances.
- New Drawings for the Succubi Wings & Tail, thanks to @Monti (donated via Discord)
- Simple Gene that removes Sex need (called asexual, `rjw_genes_no_sex_need`)
- New Gene that grows Penisses on Oral sex. Configurable in XML.
- New Gene Lifeforce Empath: Gain Lifeforce for sexually satisfied pawns, loose for frustrated pawns.
- More genes are configurable with XML, e.g. tick speed, distances or multipliers. I am getting the hang of it.
- Halfed Succubus Fertilin-Need, increased cost of abilities.
- Translation Keys for some letters
**Fixes:**
- New attempt at fixing condom consumption for Fertilin, adressing #41 & #48 provided by Infi
- Copy of Infis patch for eating cum from sexperience, #41 and #48
- Updated some Icons to have better backgrounds (thanks @WasmachenDennSachenSo #53)
- Custom Queen- and Drone-Xenotypes should work now.
- Some more checks if Queen is on Map or not (fixing #60)
*Notes*:
The pawns that are gender fluid can get pregnant.
However, with RJW 5.3.7 these pregnancies disappear.
This is a change needed upstream, but I will have a look.
# 1.2.1
**Fixes**:
- Issue with RJW Changes for Orgasms, #52. Methods were renamed.
- Notes on the Gene Inheritance #51
# 1.2 (11-06-2023)
**Changes:**
- Cocoon Weaver Gene
- Spawn Spelopede Gene (Can be changed to spawn megascarabs or other insects via xml)
- Queens & Caste logic (see below)
- Addition to InsectIncubator: Now fertilizes eggs once placed inside a host, and breeds out eggs twice as fast.
- Addition to InsectIncubator: Now fertilizes eggs once placed inside a host, and breeds out eggs roughly twice as fast.
- Many new icons
- Custom background icons when Vanilla-Expanded-Framework is loaded
- Sexual Age Drainer & Youth Fountain now change age as configured in XML
- Draft for a Hive-Start Scenario
- Added Orgasmic Mytosis Gene: On Multiple Orgasms, spawn an identical copy of a pawn. Items and Implants are not copied.
- Added Orgasmic Mytosis Gene: On Multiple Orgasms, spawn an identical copy of a pawn. Items and Implants are not copied.
- Patches for Alpha Genes Xenotypes and LTS Xenotech
- New Simple Genitalia Patches for other popular Xenotypes (Thanks @Pali42K)
**Internal:**
- Renamed abilities to have _ability_ in their name, to not exactly match the gene-defnames.
- Moved Insect-Incubator & Insect-Breeder to hive category and folders (from breeding)
- Some exclusion-tags for Alpha Genes
- Removed Patches for conditional Genes, and moved them to `mayRequire` in the XenotypeDefs
**Fixes:**
@ -47,6 +102,7 @@ In general, the logic is the following:
- For workers, every queen can have a set of genes for their workers defined in [a special def](./Common/Defs/QueenWorkerMappingDefs/QueenWorkerMappingDefs_base.xml). These will be added as endogenes, so that pawns can still become xenotypes.
- There is a default gene-set for workers, making dumb, sterile and servile pawns.
- Chances for Offsprings (Drone, Queen, Worker) is defined in an [XML-Def](./Common/Defs/HiveOffspringChanceDef/HiveOffspringChanceDefs.xml). They are set per Queen.
- Birthlogic should apply for normal pregnancies, and for RJW-Insect Eggs. Other Pregnancies (from mods) are not supported.
I am not sure if I want to have a specific mapping defining that queen can only mate with certain drones, let me know how you feel about it.
*Queens can be male*. I just used the female-term, but implementation is gender-neutral.
@ -61,6 +117,19 @@ But i don't want to add a bunch of cosmetic genes on top of things.
*And what the fuck is a halamyr?* Well I had to name my little ants somehow. But I didn't want to call them `myr` as I maybe want to make some [TiTs](https://www.fenoxo.com/play-games/) xenotypes separately.
And I am aware that the TiTs-Myr work different than the things I made now.
**Changes Since beta-1**:
- Fix of icon-names (#36)
- Changes to the scenario (more building items, throne for start). Wealth is now at 12k, which is the same as crashlanded and lost tribe.
- Added the Orgasmic Mytosis Draft
- Many touches on the Halamyr Hive Logic and Fertilizitation (#37,#38)
**Changes Since beta-2**:
- Mostly Patches and Changes to the Halamyr Defs
- Some re-arranging and mayRequires for other mods
# 1.1.4
Fixes:

Binary file not shown.

View File

@ -38,7 +38,7 @@
</li>
<li Class="RJW_Genes.CompProperties_CasterIsNaked"/>
<li Class="RJW_Genes.CompProperties_AbilityLifeForceCost">
<fertilinCost>0.1</fertilinCost>
<fertilinCost>0.15</fertilinCost>
</li>
</comps>

View File

@ -37,7 +37,7 @@
<fleckDef>rjw_genes_lips</fleckDef> <!--Will change to kiss when I have a good icon/fleck for it-->
</li>
<li Class="RJW_Genes.CompProperties_AbilityLifeForceCost">
<fertilinCost>0.05</fertilinCost>
<fertilinCost>0.1</fertilinCost>
</li>
</comps>
</AbilityDef>

View File

@ -28,7 +28,7 @@
</verbProperties>
<comps>
<li Class="RJW_Genes.CompProperties_AbilityLifeForceCost">
<fertilinCost>0.2</fertilinCost>
<fertilinCost>0.3</fertilinCost>
</li>
<li Class="RJW_Genes.CompProperties_AbilityPussyHeal">
<tendQualityRange>0.4~0.8</tendQualityRange>

View File

@ -36,7 +36,7 @@
<fleckDef>Heart</fleckDef>
</li>
<li Class="RJW_Genes.CompProperties_AbilityLifeForceCost">
<fertilinCost>0.1</fertilinCost>
<fertilinCost>0.20</fertilinCost>
</li>
</comps>
</AbilityDef>

View File

@ -27,9 +27,9 @@
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
<graphicData>
<graphicPath>Things/Pawn/Humanlike/BodyAttachments/rjw_genes_Succubus_Wings/Succubus_Wings</graphicPath>
<graphicPath>Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings</graphicPath>
<colorType>Skin</colorType>
<drawScale>2</drawScale>
<drawScale>2</drawScale>
<drawOffsetNorth>(0.0, 0.01, -0.1)</drawOffsetNorth>
<drawOffsetSouth>(0.0, 0.0, -0.1)</drawOffsetSouth>
<drawOffsetEast>(0.1, 0.0, 0.0)</drawOffsetEast>
@ -59,14 +59,9 @@
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
<graphicData>
<graphicPaths>
<li>Things/Pawn/Humanlike/BodyAttachments/rjw_genes_Succubus_Tail/Succubus_Tail_L1</li>
<li>Things/Pawn/Humanlike/BodyAttachments/rjw_genes_Succubus_Tail/Succubus_Tail_R1</li>
<li>Things/Pawn/Humanlike/BodyAttachments/rjw_genes_Succubus_Tail/Succubus_Tail_L2</li>
<li>Things/Pawn/Humanlike/BodyAttachments/rjw_genes_Succubus_Tail/Succubus_Tail_R2</li>
</graphicPaths>
<graphicPath>Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail</graphicPath>
<colorType>Skin</colorType>
<drawScale>2</drawScale>
<drawScale>2</drawScale>
<drawOffsetNorth>(0, 0.2, -0.1)</drawOffsetNorth>
<drawOffsetSouth>(0, -0.1, 0.1)</drawOffsetSouth>
<drawOffsetEast>(0.2, 0.2, 0.1)</drawOffsetEast>

View File

@ -111,4 +111,26 @@
<li>AnusSize</li>
</exclusionTags>
</GeneDef>
<!-- Extra -->
<GeneDef ParentName="GeneGenitaliaSizeBase">
<defName>rjw_genes_evergrowth</defName>
<label>Evergrowth</label>
<description>One of the most regretted gene-modifications in the Glitterworlds: The (primary) genitalia will continue growing forever. This affects size and fluid output. Excessive growth can also effect mental stability! (Resizing takes place at 20th Birthday)</description>
<iconPath>Genes/Icons/Big_Male_Genitalia</iconPath>
<geneClass>RJW_Genes.Gene_EvergrowingGenitalia</geneClass>
<displayOrderInCategory>767</displayOrderInCategory>
<exclusionTags>
<li>PenisSize</li>
<li>VaginaSize</li>
</exclusionTags>
<modExtensions>
<li Class="RJW_Genes.TickIntervalExtension">
<!-- One day has 60k ticks-->
<tickInterval>60000</tickInterval>
</li>
</modExtensions>
</GeneDef>
</Defs>

View File

@ -1,6 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<GeneDef>
<GeneDef Name="LifeForceBase" Abstract="True">
<displayCategory>rjw_genes_fertilin</displayCategory>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_lifeforce</defName>
<label>fertilin</label>
<description>Carriers of this gene have a reserve of biological strength powered by a resource called fertilin. The resource can be gained and spent in various ways, some of which are unlocked by other genes.\n\nCarriers lose 5 fertilin per day from biological entropy. \n\nGene is inactive until carrier is able to have sex.</description>
@ -17,7 +29,6 @@
<resourceDescription>A reserve of biological strength which can be gained and spent in a variety of ways. \n\nFertilin can be increased by absorbing cum, typically through oral sex or stored cum. \n\nIf fertilin reaches zero, {PAWN_nameDef} will become very unhappy and may try to obtain some forcefully.</resourceDescription>
<iconPath>Genes/Icons/FertilinAlt</iconPath>
<selectionWeight>0</selectionWeight>
<displayCategory>rjw_genes_fertilin</displayCategory>
<displayOrderInCategory>-2</displayOrderInCategory>
<minAgeActive>18</minAgeActive>
<customEffectDescriptions>
@ -28,43 +39,28 @@
<li><symbol>fert</symbol></li>
</prefixSymbols>
</symbolPack>
<resourceLossPerDay>0.05</resourceLossPerDay>
<resourceLossPerDay>0.025</resourceLossPerDay>
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_lifeforce_drain</defName>
<label>fertilin drain</label>
<labelShortAdj>draining</labelShortAdj>
<description>Carriers lose an additional 15 fertilin per day from biological entropy.</description>
<description>Carriers lose an additional 7.5 fertilin per day from biological entropy.</description>
<resourceLabel>fertilin</resourceLabel>
<geneClass>RJW_Genes.Gene_LifeForceDrain</geneClass>
<iconPath>Genes/Icons/FertilinDrainAlt</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<resourceLossPerDay>0.15</resourceLossPerDay>
<displayCategory>rjw_genes_fertilin</displayCategory>
<resourceLossPerDay>0.075</resourceLossPerDay>
<minAgeActive>18</minAgeActive>
<displayOrderInCategory>-1</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>6</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_pussyhealing</defName>
<label>Pussy Healer</label>
<labelShortAdj>pussyhealer</labelShortAdj>
@ -72,7 +68,6 @@
<iconPath>Genes/Icons/Healpussy</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>9</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<abilities>
<li>rjw_genes_ability_pussyheal</li>
</abilities>
@ -88,16 +83,9 @@
<li><symbol>heal</symbol></li>
</suffixSymbols>
</symbolPack>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_cockeater</defName>
<label>Cockeater</label>
<labelShortAdj>cockeater</labelShortAdj>
@ -105,7 +93,6 @@
<iconPath>Genes/Icons/cockeater</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>11</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<abilities>
<li>rjw_genes_ability_cockeater</li>
</abilities>
@ -121,16 +108,9 @@
<li><symbol>eat</symbol></li>
</suffixSymbols>
</symbolPack>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_paralysingkiss</defName>
<label>paralysing kiss</label>
<labelShortAdj>paralysing kiss</labelShortAdj>
@ -138,7 +118,6 @@
<iconPath>Genes/Icons/Paralysing_Kiss</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>12</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<abilities>
<li>rjw_genes_ability_paralysingkiss</li>
</abilities>
@ -153,16 +132,9 @@
<li><symbol>kiss</symbol></li>
</suffixSymbols>
</symbolPack>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_seduce</defName>
<label>seduction</label>
<labelShortAdj>seduction</labelShortAdj>
@ -170,7 +142,6 @@
<iconPath>Genes/Icons/seduce</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>13</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<abilities>
<li>rjw_genes_ability_seduce</li>
</abilities>
@ -186,23 +157,15 @@
<li><symbol>kiss</symbol></li>
</suffixSymbols>
</symbolPack>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_naked_prowess</defName>
<label>naked prowess</label>
<description>Carriers of this gene are able to temporarily increase their strength and resilience, while they are naked.</description>
<iconPath>Genes/Icons/rjw_naked_prowess</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>13</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<displayOrderInCategory>14</displayOrderInCategory>
<abilities>
<li>rjw_genes_ability_naked_prowess</li>
</abilities>
@ -211,67 +174,64 @@
</descriptionHyperlinks>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_cum_eater</defName>
<label>Cum eater</label>
<description>Carriers of this gene are able to absorb fertilin through eating cum. This includes oral sex, eating cum for food or sucking out cumflated pawns. </description>
<iconPath>Genes/Icons/cumeater</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>1</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<biostatCpx>1</biostatCpx>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_fertilin_absorber</defName>
<label>Fertilin Absorber</label>
<description>Carriers of this gene are able to absorb the fertilin inside sperm through their vagina and anus.</description>
<iconPath>Genes/Icons/Vaginal_cum_absorption</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>2</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<biostatCpx>1</biostatCpx>
</GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_lifeforce_empath</defName>
<label>empathic lifeforce</label>
<geneClass>RJW_Genes.Gene_LifeForce_Empath</geneClass>
<description>Carriers of this gene generate lifeforce if nearby pawns are sexually satisfied. Be careful: Sexually frustrated pawns will make your empath loose lifeforce!</description>
<iconPath>Genes/Icons/Hypersexual</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>3</displayOrderInCategory>
<biostatCpx>3</biostatCpx>
<biostatMet>-2</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
<li Class="RJW_Genes.LifeForceEmpathExtension">
<aheagoIncrement>0.02</aheagoIncrement>
<satisfactionIncrement>0.01</satisfactionIncrement>
<frustratedDecrement>-0.01</frustratedDecrement>
</li>
<li Class="RJW_Genes.TickIntervalExtension">
<!-- One day has 60k ticks, so we check every hour with 60000/24 = 2500-->
<tickInterval>2500</tickInterval>
</li>
<li Class="RJW_Genes.DistanceExtension">
<!-- distance 25 means 25 tiles in every direction from the empath.-->
<distance>25</distance>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<GeneDef ParentName="LifeForceBase">
<defName>rjw_genes_drainer</defName>
<label>vitality drainer</label>
<description>Carriers of this gene are able to absorb a great amount of fertilin by draining the vitality of the partner. This is done passively through having sex with a non-drained pawn that does not have this gene.</description>
<iconPath>Genes/Icons/Vitality_Drainer</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>4</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>-1</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
</Defs>

View File

@ -94,4 +94,29 @@
</modExtensions>
</GeneDef>
<GeneDef>
<defName>rjw_genes_no_sex_need</defName>
<label>Asexual</label>
<description>Carriers of this gene do not have a sex-need. They can still participate in sex, </description>
<iconPath>Genes/Icons/Empty</iconPath>
<displayOrderInCategory>5</displayOrderInCategory>
<disablesNeeds>
<li>Sex</li>
</disablesNeeds>
<biostatMet>-1</biostatMet>
<biostatCpx>2</biostatCpx>
<exclusionTags>
<li>rjw_genes_sexual_orientation</li>
</exclusionTags>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
</Defs>

View File

@ -65,6 +65,17 @@
<displayOrderInCategory>4</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
<modExtensions>
<li Class="RJW_Genes.TickIntervalExtension">
<!-- One day has 60k ticks, so we check every hour with 60000/48 = 1250-->
<tickInterval>1250</tickInterval>
</li>
<li Class="RJW_Genes.DistanceExtension">
<!-- distance 25 means 25 tiles in every direction from the pheromone-pawn.-->
<distance>25</distance>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="SpecialBase">
@ -78,4 +89,24 @@
<biostatMet>-5</biostatMet>
</GeneDef>
<GeneDef ParentName="SpecialBase">
<defName>rjw_genes_hormonal_saliva</defName>
<label>Hormonal Saliva</label>
<description>The saliva of this xenotype stimulates growth in penises. Regular contact will lead to noticable growth.</description>
<biostatCpx>2</biostatCpx>
<biostatMet>-1</biostatMet>
<iconPath>Genes/Icons/Big_Male_Genitalia</iconPath>
<displayOrderInCategory>6</displayOrderInCategory>
<modExtensions>
<li Class="RJW_Genes.HormonalSalivaExtension">
<!-- SizeIncrement is applied "flat" -->
<sizeIncrement>0.02</sizeIncrement>
<maxBodySize>2.5</maxBodySize>
<!-- CumMultiplier is applied "exponential" -->
<cumMultiplier>1.05</cumMultiplier>
</li>
</modExtensions>
</GeneDef>
</Defs>

View File

@ -46,4 +46,36 @@
</modExtensions>
</GeneDef>
<GeneDef>
<defName>rjw_genes_gender_fluid</defName>
<displayCategory>rjw_genes_gender</displayCategory>
<label>Gender Fluid</label>
<description>Everyday carriers of this gene might change their biological sex.</description>
<biostatCpx>0</biostatCpx>
<iconPath>Genes/Icons/Futa</iconPath>
<geneClass>RJW_Genes.Gene_GenderFluid</geneClass>
<displayOrderInCategory>2</displayOrderInCategory>
<!-- Design Decision: GenderFluids like GenderFluids (slightly) more. -->
<missingGeneRomanceChanceFactor>0.9</missingGeneRomanceChanceFactor>
<exclusionTags>
<li>AG_Gender</li>
<li>Gender</li>
</exclusionTags>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
<li Class="RJW_Genes.GenderFluidExtension">
<!-- 120k = 2 days -->
<changeInterval>120000</changeInterval>
<changeChance>0.25</changeChance>
</li>
</modExtensions>
</GeneDef>
</Defs>

View File

@ -36,7 +36,7 @@
<li>AptitudeTerrible_Shooting</li>
<li>AptitudeTerrible_Melee</li>
<li>AptitudeRemarkable_Social</li>
<li>AptitudeRemarkable_Sex</li>
<li MayRequire="rjw.sexperience">AptitudeRemarkable_Sex</li>
<li>rjw_genes_female_only</li>
<li>rjw_genes_ovipositor_genitalia</li>
<li>rjw_genes_aphrodisiac_pheromones</li>

View File

@ -35,7 +35,10 @@
<li>rjw_genes_paralysingkiss</li>
<li>rjw_genes_seduce</li>
<li MayRequire="rjw.sexperience">AptitudeRemarkable_Sex</li>
<li MayRequire="Sl4vP0weR.DominantGene">DominantGene</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_succubus_wings</li>
<li>rjw_genes_succubus_tail</li>
<li>rjw_genes_aphrodisiac_pheromones</li>
@ -77,6 +80,10 @@
<li>rjw_genes_drainer</li>
<li>rjw_genes_demonic_genitalia</li>
<li MayRequire="rjw.sexperience">AptitudeRemarkable_Sex</li>
<li MayRequire="Sl4vP0weR.DominantGene">DominantGene</li>
<li>rjw_genes_seduce</li>
<li>rjw_genes_succubus_wings</li>
<li>rjw_genes_succubus_tail</li>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>rjw_genes_evergrowth_sideeffect</defName>
<hediffClass>HediffWithComps</hediffClass>
<label>genital hybris</label>
<description>science has gone too far - a tool like this needs constant attention.</description>
<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-0.025</severityPerDay>
</li>
</comps>
<stages>
<li>
<label>minor</label>
<statFactors>
<SexFrequency>3</SexFrequency>
</statFactors>
</li>
<li>
<minSeverity>0.5</minSeverity>
<label>moderate</label>
<statFactors>
<SexFrequency>5</SexFrequency>
</statFactors>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.05</offset>
</li>
</capMods>
</li>
<li>
<minSeverity>0.9</minSeverity>
<label>strong</label>
<statFactors>
<SexFrequency>7</SexFrequency>
</statFactors>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.1</offset>
</li>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@ -65,7 +65,7 @@
<context>PlayerStarter</context>
<chance>0.5</chance>
<hediff>Malnutrition</hediff>
<severityRange>0.2~0.4</severityRange>
<severityRange>0.1~0.2</severityRange>
</li>
<li Class="ScenPart_SetNeedLevel">
<def>SetNeedLevel</def>
@ -73,19 +73,19 @@
<context>PlayerStarter</context>
<chance>1.0</chance>
<need>Food</need>
<levelRange>0~0.1</levelRange>
<levelRange>0.3~0.8</levelRange>
</li>
<!-- Player starting things -->
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>Silver</thingDef>
<count>400</count>
<count>300</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>Pemmican</thingDef>
<count>250</count>
<count>350</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
@ -132,6 +132,12 @@
<thingDef>Jade</thingDef>
<count>100</count>
</li>
<li Class="ScenPart_ScatterThingsNearPlayerStart">
<def>ScatterThingsNearPlayerStart</def>
<thingDef>Pemmican</thingDef>
<count>150</count>
</li>
<li Class="ScenPart_ScatterThingsNearPlayerStart">
<def>ScatterThingsNearPlayerStart</def>
<thingDef>Steel</thingDef>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThoughtDef>
<defName>rjw_genes_pheromone_carrier_nearby</defName>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<workerClass>RJW_Genes.ThoughtWorker_Aphrodisiac_Pheromones_Social</workerClass>
<stages>
<li>
<label>Pheromones</label>
<description>{0} has a special vibe, we should hang out more often.</description>
<baseOpinionOffset>+3</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
</Defs>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<rjw_genes_queenbirth_letter_label>New Queen</rjw_genes_queenbirth_letter_label>
<rjw_genes_queenbirth_letter_description>A new Queen was born! Make sure to adress inheritance before the new queen reaches adolesence.</rjw_genes_queenbirth_letter_description>
</LanguageData>

View File

@ -14,4 +14,7 @@
<rjw_genes_sexdemon_visit_incident_label>Dirty dreams</rjw_genes_sexdemon_visit_incident_label>
<rjw_genes_sexdemon_visit_incident_description>The dirty dreams of your colonists have attracted succubi.\n\nThey will hang around for a couple of days trying to seduce your colonists. They may decide to join your colony, if they are impressed by your colonists's sexual prowess.</rjw_genes_sexdemon_visit_incident_description>
</LanguageData>
<rjw_genes_succubus_joins_letter_label>Guest Joins</rjw_genes_succubus_joins_letter_label>
<rjw_genes_succubus_joins_letter_description>{0} enjoys it here and has decided to stay.</rjw_genes_succubus_joins_letter_description>
</LanguageData>

View File

@ -1,11 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<!-- Add RJW Sex meditation focus icon to VanillaPsycastsExpanded -->
<Operation Class="PatchOperationFindMod">
<mods>
<li>RimJobWorld</li>
</mods>
<match Class="PatchOperationAdd">
<!--
DevNote:
There used to be an issue with a Gene-Mod Called "Cum-Addiction Gene". That mod just overwrote the complete UsedCondom.xml and Sexperience Cum.xml
This would lead to two types of failures:
A) If this mod was before the other mod, changes were just overwritten
B) If this mod was after, there was an issue in targetting the XML throwing a patch error
Please if you write mods, do not just purge out XMLs. Thanks.
This patch was kindly provided by Infi over Discord.
-->
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="UsedCondom"]/ingestible/outcomeDoers</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="UsedCondom"]/ingestible</xpath>
<value>
<outcomeDoers>
@ -14,6 +22,15 @@
</li>
</outcomeDoers>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="UsedCondom"]/ingestible/outcomeDoers</xpath>
<value>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,17 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<!-- Add RJW Sex meditation focus icon to VanillaPsycastsExpanded -->
<!--
DevNote:
There used to be an issue with a Gene-Mod Called "Cum-Addiction Gene". That mod just overwrote the
complete UsedCondom.xml and Sexperience Cum.xml
This would lead to two types of failures:
A) If this mod was before the other mod, changes were just overwritten
B) If this mod was after, there was an issue in targetting the XML throwing a patch error
Please if you write mods, do not just purge out XMLs. Thanks.
This patch was kindly mirrored after Infis Patch of UsedCondoms.
-->
<Operation Class="PatchOperationFindMod">
<mods>
<li>RJW Sexperience</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="GatheredCum"]/ingestible/outcomeDoers</xpath>
<value>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</value>
<match Class="PatchOperationConditional">
<xpath>Defs/ThingDef[defName="GatheredCum"]/ingestible/outcomeDoers</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="GatheredCum"]/ingestible</xpath>
<value>
<outcomeDoers>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</outcomeDoers>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="GatheredCum"]/ingestible/outcomeDoers</xpath>
<value>
<li Class="RJW_Genes.IngestionOutcomeDoer_LifeForceOffset">
<FertilinPerUnit>1</FertilinPerUnit>
</li>
</value>
</match>
</match>
</Operation>
</Patch>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Kijin Race 3.0</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="KijinXenotype"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>NaraiXenotype</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Narai"]/genes</xpath>
<value>
<li>rjw_genes_canine_genitalia</li>
<li>rjw_genes_zoophile</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Biotech Nyaron</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Nyaron"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_feline_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Papou Race : emotional birds</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="papago"]/genes</xpath>
<value>
<li>rjw_genes_orgasm_rush</li>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Roo's Minotaur Xenotype</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="RBM_Minotaur"]/genes</xpath>
<value>
<li>rjw_genes_much_cum</li>
<li>rjw_genes_cumflation_immunity</li>
<li>rjw_genes_loose_female_genitalia</li>
<li>rjw_genes_big_male_genitalia</li>
<li>rjw_genes_equine_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Saurid</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRESaurids_Saurid"]/genes</xpath>
<value>
<li>rjw_genes_dragon_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Phytokin</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Poluxkin"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_bisexual</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Phytokin</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Gauranlenkin"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_bisexual</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Phytokin</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Animakin"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_bisexual</li>
</value>
</match>
</li>
</operations>
</Operation>
</Patch>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>LustLicentia.RJWLabs</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="rjw_genes_succubus"]/genes</xpath>
<value>
<li>rjw_genes_elasticity</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>Dominant Gene</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="rjw_genes_succubus"]/genes</xpath>
<value>
<li>DominantGene</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Dominant Gene</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="rjw_genes_incubus"]/genes</xpath>
<value>
<li>DominantGene</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Dominant Gene</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="rjw_genes_cumazone"]/genes</xpath>
<value>
<li>DominantGene</li>
</value>
</match>
</li>
</operations>
</Operation>
</Patch>

View File

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>RJW Sexperience</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="rjw_genes_succubus"]/genes</xpath>
<value>
<li>AptitudeRemarkable_Sex</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>RJW Sexperience</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="rjw_genes_incubus"]/genes</xpath>
<value>
<li>AptitudeRemarkable_Sex</li>
</value>
</match>
</li>
</operations>
</Operation>
</Patch>

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Fleetkind"]/genes</xpath>
<value>
<li>rjw_genes_slime_genitalia</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Helixien"]/genes</xpath>
<value>
<li>rjw_genes_slime_genitalia</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Taukai"]/genes</xpath>
<value>
<li>rjw_genes_sexual_mytosis</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_MindDevourer"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
<li>rjw_genes_sex_age_drain</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Lapis"]/genes</xpath>
<value>
<li>rjw_genes_big_breasts</li>
<li>rjw_genes_no_cum</li>
<li>rjw_genes_big_male_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Efreet"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
<li>rjw_genes_small_breasts</li>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Drakonori"]/genes</xpath>
<value>
<li>rjw_genes_dragon_genitalia</li>
<li>rjw_genes_big_male_genitalia</li>
<li>rjw_genes_aphrodisiac_pheromones</li>
<li>rjw_genes_big_breasts</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Animusen"]/genes</xpath>
<value>
<li>rjw_genes_canine_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Alpha Genes</li>
</mods>
<match Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Sanguophage</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="AG_Malachai"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
</value>
</match>
</match>
</li>
</operations>
</Operation>
</Patch>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Biotech Nyaron</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Nyaron"]/genes</xpath>
<value>
<li>rjw_genes_feline_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Erin's Auronya</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="ERN_Auronya"]/genes</xpath>
<value>
<li>rjw_genes_feline_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Erin's Shisune</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="ERN_Shisune"]/genes</xpath>
<value>
<li>rjw_genes_canine_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Kijin Race 3.0</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="KijinXenotype"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>NaraiXenotype</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Narai"]/genes</xpath>
<value>
<li>rjw_genes_canine_genitalia</li>
<li>rjw_genes_zoophile</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Biotech Nyaron</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Nyaron"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_feline_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Papou Race : emotional birds</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="papago"]/genes</xpath>
<value>
<li>rjw_genes_orgasm_rush</li>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Roo's Faun Xenotype</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="RBSF_Faun"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_small_male_genitalia</li>
<li>rjw_genes_small_breasts</li>
<li>rjw_genes_tight_anus</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Roo's Minotaur Xenotype</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="RBM_Minotaur"]/genes</xpath>
<value>
<li>rjw_genes_much_cum</li>
<li>rjw_genes_cumflation_immunity</li>
<li>rjw_genes_loose_female_genitalia</li>
<li>rjw_genes_big_male_genitalia</li>
<li>rjw_genes_equine_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -2,13 +2,14 @@
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Biotech Nyaron</li>
<li>Roo's Satyr Xenotype</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="Nyaron"]/genes</xpath>
<xpath>Defs/XenotypeDef[defName="RBSF_Satyr"]/genes</xpath>
<value>
<li>rjw_genes_feline_genitalia</li>
<li>rjw_genes_aphrodisiac_pheromones</li>
<li>rjw_genes_much_cum</li>
</value>
</match>
</Operation>
</Patch>
</Patch>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Saurid</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRESaurids_Saurid"]/genes</xpath>
<value>
<li>rjw_genes_dragon_genitalia</li>
</value>
</match>
</Operation>
</Patch>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Phytokin</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Poluxkin"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_bisexual</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Phytokin</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Gauranlenkin"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_bisexual</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Phytokin</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Animakin"]/genes</xpath>
<value>
<li>rjw_genes_tight_female_genitalia</li>
<li>rjw_genes_tight_anus</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li>rjw_genes_bisexual</li>
</value>
</match>
</li>
</operations>
</Operation>
</Patch>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Sanguophage</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Bruxa"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Sanguophage</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Ekkimian"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>Vanilla Races Expanded - Sanguophage</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="VRE_Strigoi"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
</value>
</match>
</li>
</operations>
</Operation>
</Patch>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationFindMod">
<mods>
<li>[LTS]Xenotech</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="LTS_Nyankind"]/genes</xpath>
<value>
<li>rjw_genes_feline_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>[LTS]Xenotech</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="LTS_Growler"]/genes</xpath>
<value>
<li>rjw_genes_canine_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>[LTS]Xenotech</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="LTS_Elfin"]/genes</xpath>
<value>
<li>rjw_genes_small_male_genitalia</li>
<li>rjw_genes_tight_female_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>[LTS]Xenotech</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="LTS_Ork"]/genes</xpath>
<value>
<li>rjw_genes_big_male_genitalia</li>
<li>rjw_genes_loose_female_genitalia</li>
</value>
</match>
</li>
<li Class="PatchOperationFindMod">
<mods>
<li>[LTS]Xenotech</li>
</mods>
<match Class="PatchOperationAdd">
<xpath>Defs/XenotypeDef[defName="LTS_Lilime"]/genes</xpath>
<value>
<li>rjw_genes_demonic_genitalia</li>
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
<li MayRequire="rjw.sexperience">AptitudeRemarkable_Sex</li>
</value>
</match>
</li>
</operations>
</Operation>
</Patch>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 940 B

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1015 B

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -9,14 +9,16 @@ This mod adds genes related and based on RJW to Rimworld.
- Extra Genitalia (and a Futa Attempt)
- Most RJW Traits, Cumflation Immunity, Elasticity
- Cum-Amount Changes, Transfer Nutrition Boosts
- Mech Breeding / Insect Breeding Additions
- Mech Breeding / Insect Breeding Additions & Orgasmic Mytosis
- Human-Animal Gene Inheritance merged from [Shabakur](https://github.com/Shabakur/RJW_Animal_Gene_Inheritance)
- Succubi, Incubi & Cumazones that utilize Fertilin, similar to Hemogen
- Insect-Caste Mechanics, with Queens, Drones and Workers and a conditional reproduction
- Patches for some popular / common Xenotypes from other Mods.
See [planned things](TODOS.md) and feel free to contribute.
With the Human-Animal-Gene Inheritance we have a lot of XML that you can contribute!
We have a [template](./Common/Defs/RaceGeneDefs/RaceGeneDefs_template.xml) and you can add animals and/or genes from mods there (Racegroups are base-rjw).
If you want to make your own Hive-Xenotypes, please see the required XMLs at [Changelog - 1.2](./CHANGELOG.md).
## Bugs?
@ -40,4 +42,6 @@ Please load this after any mod adding genes, and after the used RJW-Mods (Licent
1. Should not be used with the original RJW_Animal_Gene_Inheritance anymore.
2. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now.
3. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended.
4. Alpha Genes "Female / Male Only" Genes might overwrite later Genitalia-Changes and should be avoided in combination with RJW-Genes Features.
4. Alpha Genes "Female / Male Only" Genes might overwrite later Genitalia-Changes and should be avoided in combination with RJW-Genes features.
5. rjw.sexperience.cumgenes removes fertilin-gain from Cum item - I hope I addressed this by adding a load order but keep me posted (Issue #41)
6. [Consistent Gene Inheritance](https://steamcommunity.com/sharedfiles/filedetails/?id=2881479142&searchtext=Consistent+Gene+Inheritance) alters inheritance - it messes a bit with the Insect-Caste Logic. Your game will not crash, but the insect xenotypes will be a bit messed up.

View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace RJW_Genes
{
/// <summary>
/// Small Extension that covers distances for Genes.
/// This allows to set distance in the XMLs.
/// The distance is measured in tiles, so a distance of ~25 means 25 tiles away from the pawn in any direction.
/// </summary>
public class DistanceExtension : DefModExtension
{
public int distance;
}
}

View File

@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace RJW_Genes
{
internal class ModExtensionHelper
{
public static int GetDistanceFromModExtension(GeneDef defOf, int fallback)
{
DistanceExtension distanceExt = defOf.GetModExtension<DistanceExtension>();
int potentialDistance = distanceExt?.distance ?? fallback;
if (potentialDistance > 0)
{
return potentialDistance;
} else {
ModLog.Warning($"Retrieved a bad distance ({potentialDistance}) reading the RJW_Genes.DistanceExtension for {defOf.defName}");
return 1;
}
}
public static int GetTickIntervalFromModExtension(GeneDef defOf, int fallback)
{
TickIntervalExtension tickExt = defOf.GetModExtension<TickIntervalExtension>();
int potentialTickInterval = tickExt?.tickInterval ?? fallback;
if (potentialTickInterval > 0)
{
return potentialTickInterval;
}
else
{
ModLog.Warning($"Retrieved a bad distance ({potentialTickInterval}) reading the RJW_Genes.DistanceExtension for {defOf.defName}");
return 1;
}
}
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace RJW_Genes
{
/// <summary>
/// General DefModExtension to cover various genes that need to tick regularly.
/// Defining it like this allows to adjust things in XML.
/// </summary>
public class TickIntervalExtension : DefModExtension
{
public int tickInterval;
}
}

28
Source/Common/Either.cs Normal file
View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RJW_Genes
{
public class Either<TL, TR>
{
public readonly TL left;
public readonly TR right;
public readonly bool isLeft;
public Either(TL left)
{
this.left = left;
this.isLeft = true;
}
public Either(TR right)
{
this.right = right;
this.isLeft = false;
}
}
}

View File

@ -32,9 +32,10 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_extra_anus;
public static readonly GeneDef rjw_genes_no_anus;
public static readonly GeneDef rjw_genes_futa;
public static readonly GeneDef rjw_genes_featureless_chest;
// Genitalia Sizes
public static readonly GeneDef rjw_genes_big_male_genitalia;
// Genitalia Sizes
public static readonly GeneDef rjw_genes_big_male_genitalia;
public static readonly GeneDef rjw_genes_small_male_genitalia;
public static readonly GeneDef rjw_genes_loose_female_genitalia;
public static readonly GeneDef rjw_genes_tight_female_genitalia;
@ -42,10 +43,12 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_small_breasts;
public static readonly GeneDef rjw_genes_loose_anus;
public static readonly GeneDef rjw_genes_tight_anus;
public static readonly GeneDef rjw_genes_evergrowth;
// Gender
public static readonly GeneDef rjw_genes_female_only;
public static readonly GeneDef rjw_genes_male_only;
public static readonly GeneDef rjw_genes_gender_fluid;
// Breeding
public static readonly GeneDef rjw_genes_mechbreeder;
@ -66,6 +69,7 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_rapist;
public static readonly GeneDef rjw_genes_homosexual;
public static readonly GeneDef rjw_genes_bisexual;
public static readonly GeneDef rjw_genes_no_sex_need;
// Damage & Side Effects
[MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_elasticity;
@ -77,6 +81,7 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_sex_age_drain;
public static readonly GeneDef rjw_genes_aphrodisiac_pheromones;
public static readonly GeneDef rjw_genes_sexual_mytosis;
public static readonly GeneDef rjw_genes_hormonal_saliva;
// LifeForce
public static readonly GeneDef rjw_genes_lifeforce;
@ -88,9 +93,10 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_seduce;
public static readonly GeneDef rjw_genes_paralysingkiss;
public static readonly GeneDef rjw_genes_cockeater;
public static readonly GeneDef rjw_genes_lifeforce_empath;
// Cosmetic
public static readonly GeneDef rjw_genes_succubus_tail;
// Cosmetic
public static readonly GeneDef rjw_genes_succubus_tail;
public static readonly GeneDef rjw_genes_succubus_wings;
// Hive

Some files were not shown because too many files have changed in this diff Show More