Merge Cumeater and follow up changes

This commit is contained in:
Vegapnk 2023-01-20 08:40:09 +01:00
commit 7220accf4a
38 changed files with 1022 additions and 162 deletions

Binary file not shown.

View file

@ -30,7 +30,7 @@
<li Class="RJW_Genes.CompProperties_AbilityLifeForceCost">
<fertilinCost>0.2</fertilinCost>
</li>
<li Class="RJW_Genes.CompProperties_AbilityPussyHeal"> <!-- namespace needs to be changed when copied to another mod-->
<li Class="RJW_Genes.CompProperties_AbilityPussyHeal">
<tendQualityRange>0.4~0.8</tendQualityRange>
</li>
<li Class="RJW_Genes.CompProperties_SexInteractionRequirements">

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<DutyDef>
<defName>rjw_genes_flirt</defName>
<thinkNode Class="ThinkNode_Priority">
<subNodes>
<!-- first fulfill needs -->
<li Class="ThinkNode_Tagger">
<tagToGive>SatisfyingNeeds</tagToGive>
<subNodes>
<li Class="ThinkNode_PrioritySorter">
<subNodes>
<li Class="JobGiver_GetFood"/>
<li Class="JobGiver_GetRest"/>
<li Class="JobGiver_SatisfyChemicalNeed"/>
<li Class="JobGiver_SatifyChemicalDependency" MayRequire="Ludeon.RimWorld.Biotech" />
</subNodes>
</li>
</subNodes>
</li>
<!-- switch target randomly or when target is unreachable/sleeping (similar to insults) -->
<li Class="RJW_Genes.ThinkNode_ConditionalCannotInteract">
<subNodes>
<li Class="RJW_Genes.ThinkNode_NewFlirtTarget" />
</subNodes>
</li>
<li Class="ThinkNode_ConditionalRandom">
<chance>0.05</chance>
<subNodes>
<li Class="RJW_Genes.ThinkNode_NewFlirtTarget" />
</subNodes>
</li>
<!--Go to target pawn-->
<li Class="JobGiver_AIFollowEscortee" />
<li Class="rjw.ThinkNode_ConditionalSexChecks">
<subNodes>
<!--If sexneed is low do rape or masturbate (like a nymph)-->
<li Class="rjw.ThinkNode_ConditionalFrustrated">
<subNodes>
<li Class="rjw.JobGiver_ViolateCorpse" />
<li Class="rjw.JobGiver_RandomRape" />
<li Class="rjw.JobGiver_Masturbate"/>
</subNodes>
</li>
<!--Will sometimes try and hookup with target pawn-->
<li Class="ThinkNode_ConditionalRandom">
<chance>0.1</chance>
<subNodes>
<li Class="RJW_Genes.JobGiver_TryQuickieWith" />
</subNodes>
</li>
</subNodes>
</li>
<!--Flirt with target pawn and try hookup with them, increases sexneed in target pawn, maybe flirt has custom text-->
<li Class="RJW_Genes.JobGiver_Flirt" />
<li Class="JobGiver_WanderNearDutyLocation">
<wanderRadius>5</wanderRadius>
</li>
</subNodes>
</thinkNode>
</DutyDef>
</Defs>

View file

@ -27,7 +27,6 @@
<li><symbol>fert</symbol></li>
</prefixSymbols>
</symbolPack>
<mentalBreakDef>rjw_genes_lifeforce_randomrape</mentalBreakDef>
<resourceLossPerDay>0.05</resourceLossPerDay>
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
@ -50,7 +49,7 @@
</GeneDef>
<GeneDef>
<defName>rjw_genes_pussyhealer</defName>
<defName>rjw_genes_pussyhealing</defName>
<label>Pussy Healer</label>
<labelShortAdj>pussyhealer</labelShortAdj>
<description>Carriers of this gene are able use vaginal sex to tend to other's wounds.</description>
@ -152,10 +151,21 @@
</symbolPack>
</GeneDef>
<GeneDef>
<defName>rjw_genes_cum_eater</defName>
<label>Cum eater</label>
<description>Carriers of this gene are able to absorb fertilin through eating cum.</description>
<iconPath>Things/Mote/Heart</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>1</displayOrderInCategory>
<displayCategory>rjw_genes_fertilin</displayCategory>
<biostatCpx>1</biostatCpx>
</GeneDef>
<GeneDef>
<defName>rjw_genes_vaginal_absorber</defName>
<label>Vaginal Fertilin Absorber</label>
<description>Carriers of this gene are able to absorb fertilin through their vagina.</description>
<description>Carriers of this gene are able to absorb the fertilin inside sperm through their vagina.</description>
<iconPath>Things/Mote/Heart</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>2</displayOrderInCategory>
@ -166,7 +176,7 @@
<GeneDef>
<defName>rjw_genes_anal_absorber</defName>
<label>Anal Fertilin Absorber</label>
<description>Carriers of this gene are able to absorb fertilin through their anus.</description>
<description>Carriers of this gene are able to absorb the fertilin inside sperm through their anus.</description>
<iconPath>Things/Mote/Heart</iconPath>
<prerequisite>rjw_genes_lifeforce</prerequisite>
<displayOrderInCategory>3</displayOrderInCategory>

View file

@ -4,7 +4,7 @@
<defName>rjw_genes_aphrodisiac_pheromone</defName>
<hediffClass>HediffWithComps</hediffClass>
<label>induced libido</label>
<description>Aphrodisiac pheromone effects.</description>
<description>sex drive increasing due to smelling aphrodisiac pheromones.</description>
<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity>
<comps>
@ -16,7 +16,7 @@
<li>
<becomeVisible>true</becomeVisible>
<statFactors>
<SexFrequency>2</SexFrequency>
<SexFrequency>2</SexFrequency> <!--This is a lie, it gets changed when applied -->
</statFactors>
</li>
</stages>
@ -24,7 +24,7 @@
<HediffDef>
<defName>rjw_genes_fertilin_lost</defName>
<hediffClass>RJW_Genes.HediffWithComps_tank</hediffClass>
<hediffClass>Hediff_HemogenCraving</hediffClass>
<label>lost fertilin</label>
<description>Percentage of fertilin lost.</description>
<defaultLabelColor>(1,1,1)</defaultLabelColor>
@ -86,4 +86,54 @@
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>rjw_genes_fertilin_craving</defName>
<label>fertilin craving</label>
<hediffClass>Hediff_HemogenCraving</hediffClass>
<description>weakened due to running out of fertilin.</description>
<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity>
<initialSeverity>0.01</initialSeverity>
<stages>
<li>
<label>minor</label>
<painOffset>0.05</painOffset>
<capMods>
<li>
<capacity>Consciousness</capacity>
<setMax>0.9</setMax>
</li>
</capMods>
</li>
<li>
<label>moderate</label>
<minSeverity>0.35</minSeverity>
<painOffset>0.1</painOffset>
<capMods>
<li>
<capacity>Consciousness</capacity>
<setMax>0.8</setMax>
</li>
</capMods>
</li>
<li>
<label>major</label>
<minSeverity>0.7</minSeverity>
<painOffset>0.15</painOffset>
<capMods>
<li>
<capacity>Consciousness</capacity>
<setMax>0.5</setMax>
</li>
</capMods>
</li>
</stages>
<comps>
<li Class="RJW_Genes.HediffCompProperties_SeverityFromFertilin">
<severityPerHourEmpty>0.05</severityPerHourEmpty>
<severityPerHourHemogen>-0.1</severityPerHourHemogen>
</li>
</comps>
</HediffDef>
</Defs>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<IncidentDef>
<defName>SuccubusDreamVisit</defName>
<label>dirty dreams</label>
<category>Misc</category>
<targetTags>
<li>Map_PlayerHome</li>
</targetTags>
<workerClass>RJW_Genes.IncidentWorker_SuccubusDreamVisit</workerClass>
<baseChance>1.0</baseChance>
<minRefireDays>10</minRefireDays>
<pointsScaleable>false</pointsScaleable>
</IncidentDef>
</Defs>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--Chitchat reduced copy-->
<InteractionDef>
<defName>rjw_genes_flirt</defName>
<label>flirt</label>
<symbol>Things/Mote/SpeechSymbols/Chitchat</symbol>
<logRulesInitiator>
<rulesStrings>
<li>r_logentry->[INITIATOR_nameDef] and [RECIPIENT_nameDef] [talkedabout] [TalkTopicLight].</li>
<li>r_logentry->[INITIATOR_nameDef] [talkedabout] [TalkTopicLight] with [RECIPIENT_nameDef].</li>
<li>r_logentry(p=0.8)->[INITIATOR_nameDef] [commentedabout] [TalkTopicLight] to [RECIPIENT_nameDef].</li>
<li>talkedabout(p=4)->chatted about</li>
<li>talkedabout->shared a word about</li>
<li>talkedabout->spoke about</li>
<li>talkedabout->gabbed about</li>
<li>talkedabout->talked about</li>
<li>talkedabout->joked about</li>
<li>talkedabout->quipped about</li>
<li>commentedabout->said something about</li>
<li>commentedabout->said a word about</li>
<li>commentedabout->made a comment about</li>
<li>commentedabout->commented about</li>
<li>commentedabout->told a joke about</li>
</rulesStrings>
</logRulesInitiator>
</InteractionDef>
</Defs>

View file

@ -22,4 +22,11 @@
<casualInterruptible>false</casualInterruptible>
<playerInterruptible>false</playerInterruptible>
</JobDef>
<JobDef>
<defName>rjw_genes_flirt</defName>
<driverClass>RJW_Genes.JobDriver_Flirt</driverClass>
<reportString>Seduced.</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
</Defs>

View file

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnKindDef>
<defName>rjw_genes_succubus</defName>
<label>succubus</label>
<combatPower>50</combatPower>
<race>Human</race>
<xenotypeSet>
<xenotypeChances>
<rjw_genes_succubus>999</rjw_genes_succubus>
</xenotypeChances>
</xenotypeSet>
<acceptArrestChanceFactor>0.5</acceptArrestChanceFactor>
<useFactionXenotypes>false</useFactionXenotypes>
<minGenerationAge>18</minGenerationAge>
<maxGenerationAge>27</maxGenerationAge>
<itemQuality>Poor</itemQuality>
<backstoryCryptosleepCommonality>0.0</backstoryCryptosleepCommonality>
<isFighter>false</isFighter>
<gearHealthRange>
<min>0.3</min>
<max>0.9</max>
</gearHealthRange>
<apparelIgnoreSeasons>true</apparelIgnoreSeasons>
<apparelTags>
<li>Tribal</li>
</apparelTags>
<apparelMoney>
<min>0</min>
<max>0</max>
</apparelMoney>
<apparelAllowHeadgearChance>0</apparelAllowHeadgearChance>
<techHediffsMoney>
<min>0</min>
<max>0</max>
</techHediffsMoney>
<techHediffsTags>
<li>Poor</li>
</techHediffsTags>
<techHediffsChance>0.0</techHediffsChance>
<initialWillRange>2~4</initialWillRange>
<initialResistanceRange>28~44</initialResistanceRange>
</PawnKindDef>
</Defs>

View file

@ -32,13 +32,25 @@
</ThoughtDef>
<ThoughtDef>
<defName>rjw_critical_fertilin</defName>
<stages>
<li>
<label>low on fertilin</label>
<description>I'm almost out of fertilin. I'm scared of losing control.</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<defName>rjw_genes_critical_fertilin</defName>
<workerClass>ThoughtWorker_Hediff</workerClass>
<hediff>rjw_genes_fertilin_craving</hediff>
<stages>
<li>
<label>fertilin craving</label>
<description>My bones ache. I really need fertilin.</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
<li>
<label>fertilin craving</label>
<description>This hurts bad and I can't stop thinking about sex. I would do anything for some cum.</description>
<baseMoodEffect>-15</baseMoodEffect>
</li>
<li>
<label>fertilin craving</label>
<description>Can't think. Sex. Sex. Must. Have. Cum.</description>
<baseMoodEffect>-20</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -5,7 +5,7 @@
<defName>rjw_genes_succubus</defName>
<label>Succubus</label>
<description>Succubi are strongly enhanced xenohumans. Powered by archites, their abilities go far beyond normal genetic enhancements. These overnaturally beautiful creatures strive parasitically on the Fertilin found in semen.</description>
<descriptionShort>Succubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this.</descriptionShort>
<descriptionShort>Succubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this. </descriptionShort>
<iconPath>UI/Icons/Xenotypes/Sanguophage</iconPath>
<soundDefOnImplant>PawnBecameSanguophage</soundDefOnImplant>
<generateWithXenogermReplicatingHediffChance>0.5</generateWithXenogermReplicatingHediffChance>
@ -13,6 +13,7 @@
<combatPowerFactor>1</combatPowerFactor>
<displayPriority>-1000</displayPriority>
<factionlessGenerationWeight>0.005</factionlessGenerationWeight>
<inheritable>true</inheritable>
<doubleXenotypeChances>
<Pigskin>0.02</Pigskin>
<Impid>0.02</Impid>
@ -30,12 +31,10 @@
<li>rjw_genes_vaginal_absorber</li>
<li>rjw_genes_anal_absorber</li>
<li>rjw_genes_drainer</li>
<li>rjw_genes_pussyhealer</li>
<li>rjw_genes_paralysingkiss</li>
<li>rjw_genes_seduce</li>
<li>rjw_genes_elasticity</li>
<li>rjw_genes_succubus_wings</li>
<li>rjw_genes_succubus_tail</li>
<li>rjw_genes_aphrodisiac_pheromones</li>

View file

@ -3,8 +3,13 @@
<!-- Fertilin strings -->
<AbilityDisabledNoFertilinGene>Pawn doesn't have required fertilin gene.</AbilityDisabledNoFertilinGene>
<AbilityDisabledNoFertilin>Not enough fertilin to cast.</AbilityDisabledNoFertilin>
<MentalBreakNoFertilin>This happened because of low fertilin.</MentalBreakNoFertilin>
<AlertLowFertilin>Low fertilin</AlertLowFertilin>
<AlertLowFertilinDesc>A colonist has low fertilin. At this point they are becoming desperate enough to consider rape and bestiality to obtain fertilin (if they didn't already). At zero fertilin they will lose all sense and start raping randomly</AlertLowFertilinDesc>
<!--Succubus Events-->
<SuccubusLeaving>The succubus has fed enough on your colonists and will now leave.</SuccubusLeaving>
</LanguageData>