mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Custom succubus tail sex interactions and modification to fertilin absorbtion
This commit is contained in:
parent
22892db8e0
commit
3cf2d44c82
17 changed files with 955 additions and 44 deletions
Binary file not shown.
|
@ -31,7 +31,7 @@
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
<GeneDef ParentName="GeneTailBase">
|
<GeneDef ParentName="GeneTailBase">
|
||||||
<defName>Succubus_Tail</defName>
|
<defName>rjw_genes_succubus_tail</defName>
|
||||||
<label>succubus tail</label>
|
<label>succubus tail</label>
|
||||||
<description>Carriers of this gene grow a slender tail ending with a heart that can act as a dexterous fifth limb.</description>
|
<description>Carriers of this gene grow a slender tail ending with a heart that can act as a dexterous fifth limb.</description>
|
||||||
<iconPath>Genes/Icons/Succubus_Tail</iconPath>
|
<iconPath>Genes/Icons/Succubus_Tail</iconPath>
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
</symbolPack>
|
</symbolPack>
|
||||||
<mentalBreakDef>rjw_genes_lifeforce_randomrape</mentalBreakDef>
|
<mentalBreakDef>rjw_genes_lifeforce_randomrape</mentalBreakDef>
|
||||||
<minAgeActive>18</minAgeActive>
|
<minAgeActive>18</minAgeActive>
|
||||||
<resourceLossPerDay>0.02</resourceLossPerDay>
|
<resourceLossPerDay>0.05</resourceLossPerDay>
|
||||||
<biostatCpx>1</biostatCpx>
|
<biostatCpx>1</biostatCpx>
|
||||||
<biostatMet>1</biostatMet>
|
<biostatMet>1</biostatMet>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
@ -70,7 +70,6 @@
|
||||||
<displayOrderInCategory>2</displayOrderInCategory>
|
<displayOrderInCategory>2</displayOrderInCategory>
|
||||||
<displayCategory>rjw_genes_fertilin</displayCategory>
|
<displayCategory>rjw_genes_fertilin</displayCategory>
|
||||||
<biostatCpx>1</biostatCpx>
|
<biostatCpx>1</biostatCpx>
|
||||||
<biostatMet>-1</biostatMet>
|
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
<GeneDef>
|
<GeneDef>
|
||||||
|
@ -82,6 +81,5 @@
|
||||||
<displayOrderInCategory>3</displayOrderInCategory>
|
<displayOrderInCategory>3</displayOrderInCategory>
|
||||||
<displayCategory>rjw_genes_fertilin</displayCategory>
|
<displayCategory>rjw_genes_fertilin</displayCategory>
|
||||||
<biostatCpx>1</biostatCpx>
|
<biostatCpx>1</biostatCpx>
|
||||||
<biostatMet>-1</biostatMet>
|
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
</Defs>
|
</Defs>
|
153
Common/Defs/InteractionDef/Rape/Rape_SuccubusTail.xml
Normal file
153
Common/Defs/InteractionDef/Rape/Rape_SuccubusTail.xml
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Defs>
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Tailjob</defName>
|
||||||
|
<label>succubustail tailjob</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given tailjob by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave tailjob to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Tailjob</RMBLabel>
|
||||||
|
<rjwSextype>Handjob</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Tailjob_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Vaginal</defName>
|
||||||
|
<label>succubustail vaginal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave vaginal tailsex to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given vaginal tailsex by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Vaginal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Vaginal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Vagina</li>
|
||||||
|
</families>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Anal</defName>
|
||||||
|
<label>succubustail anal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave anal tailsex to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given anal tailsex by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Anal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Anal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Anal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Anus</li>
|
||||||
|
</families>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<!--Top of tail opens up and evelops the penis-->
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Envelop</defName>
|
||||||
|
<label>succubustail envelop</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given special tailjob by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave special tailjob to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Envelop</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Envelop_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
</Defs>
|
|
@ -0,0 +1,159 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Defs>
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Reverse_Tailjob</defName>
|
||||||
|
<label>succubustail tailjob</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave tailjob to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given tailjob by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Tailjob</RMBLabel>
|
||||||
|
<rjwSextype>Handjob</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>SubSuccubusTail_Tailjob_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Reverse_Vaginal</defName>
|
||||||
|
<label>succubustail vaginal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given vaginal tailsex by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave vaginal tailsex to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Vaginal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Vaginal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Vagina</li>
|
||||||
|
</families>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Reverse_Anal</defName>
|
||||||
|
<label>succubustail anal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given anal tailsex by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave anal tailsex to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Anal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Anal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Anal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Anus</li>
|
||||||
|
</families>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<!--Top of tail opens up and evelops the penis-->
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Rape_SuccubusTail_Reverse_Envelop</defName>
|
||||||
|
<label>succubustail envelop</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave special tailjob to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given special tailjob by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Envelop</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Envelop_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Rape</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
</Defs>
|
|
@ -0,0 +1,159 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Defs>
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Reverse_Tailjob</defName>
|
||||||
|
<label>succubustail tailjob</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave tailjob to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given tailjob by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Tailjob</RMBLabel>
|
||||||
|
<rjwSextype>Handjob</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>SubSuccubusTail_Tailjob_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Reverse_Vaginal</defName>
|
||||||
|
<label>succubustail vaginal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given vaginal tailsex by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave vaginal tailsex to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Vaginal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Vaginal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Vagina</li>
|
||||||
|
</families>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Reverse_Anal</defName>
|
||||||
|
<label>succubustail anal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given anal tailsex by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave anal tailsex to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Anal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Anal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Anal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Anus</li>
|
||||||
|
</families>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<!--Top of tail opens up and evelops the penis-->
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Reverse_Envelop</defName>
|
||||||
|
<label>succubustail envelop</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave special tailjob to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given special tailjob by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Envelop</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Envelop_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Reverse</li>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
</Defs>
|
154
Common/Defs/InteractionDef/Sex/Sex_SuccubusTail.xml
Normal file
154
Common/Defs/InteractionDef/Sex/Sex_SuccubusTail.xml
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Defs>
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Tailjob</defName>
|
||||||
|
<label>succubustail tailjob</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given tailjob by [RECIPIENT_nameDef].</li>
|
||||||
|
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave tailjob to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Tailjob</RMBLabel>
|
||||||
|
<rjwSextype>Handjob</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Tailjob_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Vaginal</defName>
|
||||||
|
<label>succubustail vaginal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave vaginal tailsex to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given vaginal tailsex by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Vaginal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Vaginal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Vagina</li>
|
||||||
|
</families>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Anal</defName>
|
||||||
|
<label>succubustail anal</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave anal tailsex to [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given anal tailsex by [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Anal Tailsex</RMBLabel>
|
||||||
|
<rjwSextype>Anal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Anal_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>DomSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
<families>
|
||||||
|
<li>Anus</li>
|
||||||
|
</families>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
|
||||||
|
<!--Top of tail opens up and evelops the penis-->
|
||||||
|
<InteractionDef ParentName="RJW_InteractionDefBaseSex">
|
||||||
|
<defName>Sex_SuccubusTail_Envelop</defName>
|
||||||
|
<label>succubustail envelop</label>
|
||||||
|
<logRulesInitiator>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Was given special tailjob by [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesInitiator>
|
||||||
|
<logRulesRecipient>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>r_logentry->Gave special tailjob to [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</logRulesRecipient>
|
||||||
|
<modExtensions>
|
||||||
|
<li Class="rjw.InteractionExtension">
|
||||||
|
<RMBLabel>Envelop</RMBLabel>
|
||||||
|
<rjwSextype>Vaginal</rjwSextype>
|
||||||
|
<rulepack_defs>
|
||||||
|
<li>DomSuccubusTail_Envelop_RP</li>
|
||||||
|
</rulepack_defs>
|
||||||
|
</li>
|
||||||
|
<li Class="rjw.Modules.Interactions.DefModExtensions.InteractionSelectorExtension">
|
||||||
|
<customRequirementHandler>SubSuccubusTailCustomRequirementHandler</customRequirementHandler>
|
||||||
|
<tags>
|
||||||
|
<li>Consensual</li>
|
||||||
|
</tags>
|
||||||
|
<dominantRequirement>
|
||||||
|
<tags>
|
||||||
|
<li>CanPenetrate</li>
|
||||||
|
</tags>
|
||||||
|
</dominantRequirement>
|
||||||
|
<submissiveRequirement>
|
||||||
|
</submissiveRequirement>
|
||||||
|
</li>
|
||||||
|
</modExtensions>
|
||||||
|
</InteractionDef>
|
||||||
|
</Defs>
|
77
Common/Defs/RulePackDefs/Sex/RulePacks_SuccubTail.xml
Normal file
77
Common/Defs/RulePackDefs/Sex/RulePacks_SuccubTail.xml
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Defs>
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>DomSuccubusTail_Tailjob_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [INITIATOR_nameDef] gave [RECIPIENT_nameDef] a tailjob.</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>DomSuccubusTail_Vaginal_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [INITIATOR_nameDef] [INITIATOR_possessive] tail was vaginally inserted into [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>DomSuccubusTail_Anal_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [INITIATOR_nameDef] [INITIATOR_possessive] tail was anally inserted into [RECIPIENT_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<!--Top of tail opens up and evelops the penis-->
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>DomSuccubusTail_Envelop_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [RECIPIENT_nameDef] dick was enveloped by [INITIATOR_nameDef] [INITIATOR_possessive] tail.</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>SubSuccubusTail_Tailjob_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [RECIPIENT_nameDef] gave [INITIATOR_nameDef] a tailjob.</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>SubSuccubusTail_Vaginal_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [RECIPIENT_nameDef] [RECIPIENT_possessive] tail was vaginally inserted into [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>SubSuccubusTail_Anal_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [RECIPIENT_nameDef] [RECIPIENT_possessive] tail was anally inserted into [INITIATOR_nameDef].</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
|
||||||
|
<!--Top of tail opens up and evelops the penis-->
|
||||||
|
<RulePackDef>
|
||||||
|
<defName>SubSuccubusTail_Envelop_RP</defName>
|
||||||
|
<rulePack>
|
||||||
|
<rulesStrings>
|
||||||
|
<li>sent-> [INITIATOR_nameDef] dick was enveloped by [RECIPIENT_nameDef] [RECIPIENT_possessive] tail.</li>
|
||||||
|
</rulesStrings>
|
||||||
|
</rulePack>
|
||||||
|
</RulePackDef>
|
||||||
|
</Defs>
|
|
@ -77,5 +77,8 @@ namespace RJW_Genes
|
||||||
public static readonly GeneDef rjw_genes_pussyhealer;
|
public static readonly GeneDef rjw_genes_pussyhealer;
|
||||||
public static readonly GeneDef rjw_genes_vaginal_absorber;
|
public static readonly GeneDef rjw_genes_vaginal_absorber;
|
||||||
public static readonly GeneDef rjw_genes_anal_absorber;
|
public static readonly GeneDef rjw_genes_anal_absorber;
|
||||||
|
|
||||||
|
// Cosmetic
|
||||||
|
public static readonly GeneDef rjw_genes_succubus_tail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ namespace RJW_Genes
|
||||||
if (comp.props is CompProperties_SexInteractionRequirements)
|
if (comp.props is CompProperties_SexInteractionRequirements)
|
||||||
{
|
{
|
||||||
CompProperties_SexInteractionRequirements sexpropsreq = comp.props as CompProperties_SexInteractionRequirements;
|
CompProperties_SexInteractionRequirements sexpropsreq = comp.props as CompProperties_SexInteractionRequirements;
|
||||||
this.Sexprops = CompAbility_SexInteractionRequirements.GenerateSexProps(this.pawn, this.Partner, sexpropsreq);
|
this.Sexprops = CustomSexInteraction_Helper.GenerateSexProps(this.pawn, this.Partner, sexpropsreq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.Start();
|
this.Start();
|
||||||
|
|
|
@ -20,58 +20,144 @@ namespace RJW_Genes
|
||||||
if (props.pawn == null || !props.hasPartner())
|
if (props.pawn == null || !props.hasPartner())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Exit if pawn has fertilin themself, it won't give any if it has lifeforce themself.
|
||||||
|
if (GeneUtility.HasLifeForce(props.pawn))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Summary//
|
||||||
|
//We use the positions of the pawn (dom or sub) and based on that which interactions will transfer fertilin
|
||||||
|
//By checking isreceiver we know if the succubus is the dom or the sub and if the situation is reverse we also swap the function we use
|
||||||
|
//
|
||||||
float absorb_factor = 0f;
|
float absorb_factor = 0f;
|
||||||
if (GeneUtility.HasLifeForce(props.partner))
|
if (GeneUtility.HasLifeForce(props.partner))
|
||||||
{
|
{
|
||||||
if (props.sexType == xxx.rjwSextype.Oral || props.sexType == xxx.rjwSextype.Fellatio || props.sexType == xxx.rjwSextype.Sixtynine)
|
Pawn succubus = props.partner;
|
||||||
|
if (!props.isRevese)
|
||||||
{
|
{
|
||||||
absorb_factor += 1f;
|
if (props.isReceiver)
|
||||||
//Currently taking the sum of all penises, maybe I should just consider one at random
|
|
||||||
}
|
|
||||||
else if (props.sexType == xxx.rjwSextype.Vaginal && GeneUtility.HasGeneNullCheck(props.partner, GeneDefOf.rjw_genes_vaginal_absorber))
|
|
||||||
{
|
|
||||||
absorb_factor += 1f;
|
|
||||||
}
|
|
||||||
else if (props.sexType == xxx.rjwSextype.Anal && GeneUtility.HasGeneNullCheck(props.partner, GeneDefOf.rjw_genes_anal_absorber))
|
|
||||||
{
|
|
||||||
absorb_factor += 1f;
|
|
||||||
}
|
|
||||||
else if (props.sexType == xxx.rjwSextype.DoublePenetration)
|
|
||||||
{
|
|
||||||
if (GeneUtility.HasGeneNullCheck(props.partner, GeneDefOf.rjw_genes_vaginal_absorber))
|
|
||||||
{
|
{
|
||||||
absorb_factor += 0.5f;
|
// Scenario Dom Succubus, normal
|
||||||
|
absorb_factor = BaseDom(props, succubus);
|
||||||
}
|
}
|
||||||
if (GeneUtility.HasGeneNullCheck(props.partner, GeneDefOf.rjw_genes_anal_absorber))
|
else
|
||||||
{
|
{
|
||||||
absorb_factor += 0.5f;
|
// Scenario Sub Succubus, normal
|
||||||
|
absorb_factor = BaseSub(props, succubus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (absorb_factor != 0)
|
else
|
||||||
{
|
{
|
||||||
|
if (props.isReceiver)
|
||||||
|
{
|
||||||
|
// Scenario Dom Succubus, Reverse
|
||||||
|
absorb_factor = BaseSub(props, succubus);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Scenario Sub Succubus, Reverse
|
||||||
|
absorb_factor = BaseDom(props, succubus);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//If we remove this check fertelin is always lost, but the succubus doesn't always gain any
|
||||||
|
if (absorb_factor != 0f)
|
||||||
|
{
|
||||||
AbsorbFertilin(props, absorb_factor);
|
AbsorbFertilin(props, absorb_factor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static void AbsorbFertilin(SexProps props, float absorb_factor = 1f)
|
public static void AbsorbFertilin(SexProps props, float absorb_factor = 1f)
|
||||||
{
|
{
|
||||||
Pawn_GeneTracker genes = props.partner.genes;
|
Pawn_GeneTracker genes = props.partner.genes;
|
||||||
Gene_LifeForce gene = genes.GetFirstGeneOfType<Gene_LifeForce>();
|
Gene_LifeForce gene = genes.GetFirstGeneOfType<Gene_LifeForce>();
|
||||||
float multiplier = Rand.Range(0.10f, 0.40f); //Around quarter get ejected everytime pawn cums
|
float multiplier = Rand.Range(0.10f, 0.40f); //Around quarter get ejected everytime pawn cums
|
||||||
Hediff fertelin_lost = props.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.Fertilin_Lost);
|
Hediff fertelin_lost = props.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.Fertilin_Lost);
|
||||||
if (fertelin_lost == null)
|
if (fertelin_lost == null)
|
||||||
{
|
{
|
||||||
Hediff new_fertelin_lost = HediffMaker.MakeHediff(HediffDefOf.Fertilin_Lost, props.pawn);
|
Hediff new_fertelin_lost = HediffMaker.MakeHediff(HediffDefOf.Fertilin_Lost, props.pawn);
|
||||||
props.pawn.health.AddHediff(new_fertelin_lost);
|
props.pawn.health.AddHediff(new_fertelin_lost);
|
||||||
new_fertelin_lost.Severity = multiplier;
|
new_fertelin_lost.Severity = multiplier;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
multiplier *= 1 - fertelin_lost.Severity;
|
multiplier *= 1 - fertelin_lost.Severity;
|
||||||
fertelin_lost.Severity += multiplier;
|
fertelin_lost.Severity += multiplier;
|
||||||
|
|
||||||
}
|
}
|
||||||
gene.Resource.Value += CumUtility.GetTotalFluidAmount(props.partner) / 100 * absorb_factor * multiplier;
|
//Currently taking the sum of all penises, maybe I should just consider one at random
|
||||||
|
gene.Resource.Value += CumUtility.GetTotalFluidAmount(props.pawn) / 100 * absorb_factor * multiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static float BaseDom(SexProps props, Pawn succubus)
|
||||||
|
{
|
||||||
|
float absorb_factor = 0f;
|
||||||
|
if (props.sexType == xxx.rjwSextype.Sixtynine)
|
||||||
|
{
|
||||||
|
absorb_factor += 1f;
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.Vaginal)
|
||||||
|
{
|
||||||
|
//with insertion absorbtion or vaginal cum absorbtion
|
||||||
|
//absorb_factor += 1f;
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.DoublePenetration)
|
||||||
|
{
|
||||||
|
if (GeneUtility.HasGeneNullCheck(succubus, GeneDefOf.rjw_genes_vaginal_absorber))
|
||||||
|
{
|
||||||
|
//with insertion absorbtion?
|
||||||
|
//absorb_factor += 0.5f;
|
||||||
|
}
|
||||||
|
if (GeneUtility.HasGeneNullCheck(succubus, GeneDefOf.rjw_genes_anal_absorber))
|
||||||
|
{
|
||||||
|
//with insertion absorbtion?
|
||||||
|
//absorb_factor += 0.5f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.Scissoring)
|
||||||
|
{
|
||||||
|
//with vaginal cum absorption && vaginal absorbtion
|
||||||
|
//absorb_factor += 1f;
|
||||||
|
}
|
||||||
|
return absorb_factor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float BaseSub(SexProps props, Pawn succubus)
|
||||||
|
{
|
||||||
|
float absorb_factor = 0f;
|
||||||
|
if (props.sexType == xxx.rjwSextype.Oral || props.sexType == xxx.rjwSextype.Fellatio || props.sexType == xxx.rjwSextype.Sixtynine)
|
||||||
|
{
|
||||||
|
absorb_factor += 1f;
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.Vaginal && GeneUtility.HasGeneNullCheck(succubus, GeneDefOf.rjw_genes_vaginal_absorber))
|
||||||
|
{
|
||||||
|
absorb_factor += 1f;
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.Anal && GeneUtility.HasGeneNullCheck(succubus, GeneDefOf.rjw_genes_anal_absorber))
|
||||||
|
{
|
||||||
|
absorb_factor += 1f;
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.DoublePenetration)
|
||||||
|
{
|
||||||
|
if (GeneUtility.HasGeneNullCheck(succubus, GeneDefOf.rjw_genes_vaginal_absorber))
|
||||||
|
{
|
||||||
|
absorb_factor += 0.5f;
|
||||||
|
}
|
||||||
|
if (GeneUtility.HasGeneNullCheck(succubus, GeneDefOf.rjw_genes_anal_absorber))
|
||||||
|
{
|
||||||
|
absorb_factor += 0.5f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (props.sexType == xxx.rjwSextype.Scissoring || props.sexType == xxx.rjwSextype.Cunnilingus)
|
||||||
|
{
|
||||||
|
//with vaginal cum absorbtion
|
||||||
|
//absorb_factor += 1f;
|
||||||
|
}
|
||||||
|
return absorb_factor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Verse;
|
||||||
|
using RimWorld;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class CompAbility_SexInteractionRequirements : AbilityComp
|
||||||
|
{
|
||||||
|
public CompProperties_SexInteractionRequirements Props
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (CompProperties_SexInteractionRequirements)this.props;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,16 +13,8 @@ using rjw.Modules.Interactions.Implementation;
|
||||||
using rjw.Modules.Interactions.Defs.DefFragment;
|
using rjw.Modules.Interactions.Defs.DefFragment;
|
||||||
namespace RJW_Genes
|
namespace RJW_Genes
|
||||||
{
|
{
|
||||||
public class CompAbility_SexInteractionRequirements : AbilityComp
|
public class CustomSexInteraction_Helper
|
||||||
{
|
{
|
||||||
public CompProperties_SexInteractionRequirements Props
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return (CompProperties_SexInteractionRequirements)this.props;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<InteractionDef> GenerateInteractionDefList(Pawn pawn, Pawn pawn2, CompProperties_SexInteractionRequirements sexpropsreq)
|
public static List<InteractionDef> GenerateInteractionDefList(Pawn pawn, Pawn pawn2, CompProperties_SexInteractionRequirements sexpropsreq)
|
||||||
{
|
{
|
||||||
List<InteractionTag> tags = new List<InteractionTag>();
|
List<InteractionTag> tags = new List<InteractionTag>();
|
|
@ -0,0 +1,52 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Verse;
|
||||||
|
using RimWorld;
|
||||||
|
using rjw.Modules.Interactions;
|
||||||
|
using rjw.Modules.Interactions.Internals.Implementation;
|
||||||
|
using rjw.Modules.Interactions.Objects;
|
||||||
|
using rjw;
|
||||||
|
using rjw.Modules.Interactions.Enums;
|
||||||
|
|
||||||
|
//Modefied code based of RJW-AI code at https://gitgud.io/Ed86/rjw-ia/-/tree/master/
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
[StaticConstructorOnStartup]
|
||||||
|
public class DomSuccubusTailCustomRequirementHandler : ICustomRequirementHandler
|
||||||
|
{
|
||||||
|
public string HandlerKey
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return "DomSuccubusTailCustomRequirementHandler";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static DomSuccubusTailCustomRequirementHandler()
|
||||||
|
{
|
||||||
|
Register();
|
||||||
|
}
|
||||||
|
public static void Register()
|
||||||
|
{
|
||||||
|
InteractionRequirementService.CustomRequirementHandlers.Add(new DomSuccubusTailCustomRequirementHandler());
|
||||||
|
if (Prefs.DevMode)
|
||||||
|
{
|
||||||
|
Log.Message("DomSuccubusTailCustomRequirementHandler registered: ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool FufillRequirements(InteractionWithExtension interaction, InteractionPawn dominant, InteractionPawn submissive)
|
||||||
|
{
|
||||||
|
if (GeneUtility.HasGeneNullCheck(dominant.Pawn, GeneDefOf.rjw_genes_succubus_tail))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//public static readonly StringListDef filter = DefDatabase<StringListDef>.GetNamed("DomSuccubusTailFilter");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Verse;
|
||||||
|
using RimWorld;
|
||||||
|
using rjw.Modules.Interactions;
|
||||||
|
using rjw.Modules.Interactions.Internals.Implementation;
|
||||||
|
using rjw.Modules.Interactions.Objects;
|
||||||
|
using rjw;
|
||||||
|
using rjw.Modules.Interactions.Enums;
|
||||||
|
|
||||||
|
//Modefied code based of RJW-AI code at https://gitgud.io/Ed86/rjw-ia/-/tree/master/
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
[StaticConstructorOnStartup]
|
||||||
|
public class SubSuccubusTailCustomRequirementHandler : ICustomRequirementHandler
|
||||||
|
{
|
||||||
|
public string HandlerKey
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return "SubSuccubusTailCustomRequirementHandler";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static SubSuccubusTailCustomRequirementHandler()
|
||||||
|
{
|
||||||
|
Register();
|
||||||
|
}
|
||||||
|
public static void Register()
|
||||||
|
{
|
||||||
|
InteractionRequirementService.CustomRequirementHandlers.Add(new SubSuccubusTailCustomRequirementHandler());
|
||||||
|
if (Prefs.DevMode)
|
||||||
|
{
|
||||||
|
Log.Message("SubSuccubusTailCustomRequirementHandler registered: ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool FufillRequirements(InteractionWithExtension interaction, InteractionPawn dominant, InteractionPawn submissive)
|
||||||
|
{
|
||||||
|
if (GeneUtility.HasGeneNullCheck(submissive.Pawn, GeneDefOf.rjw_genes_succubus_tail))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//public static readonly StringListDef filter = DefDatabase<StringListDef>.GetNamed("SubSuccubusTailFilter");
|
||||||
|
}
|
||||||
|
}
|
|
@ -116,10 +116,10 @@
|
||||||
<Compile Include="Genes\Genitalia\GenitaliaChanger.cs" />
|
<Compile Include="Genes\Genitalia\GenitaliaChanger.cs" />
|
||||||
<Compile Include="Genes\Life_Force\AbilityUtility.cs" />
|
<Compile Include="Genes\Life_Force\AbilityUtility.cs" />
|
||||||
<Compile Include="Genes\Life_Force\CompAbilityEffect_LifeForceCost.cs" />
|
<Compile Include="Genes\Life_Force\CompAbilityEffect_LifeForceCost.cs" />
|
||||||
<Compile Include="Genes\Life_Force\CompAbility_SexInteractionRequirements.cs" />
|
<Compile Include="Interactions\CompAbility_SexInteractionRequirements.cs" />
|
||||||
<Compile Include="Genes\Life_Force\CompAbilityEffect_PussyHeal.cs" />
|
<Compile Include="Genes\Life_Force\CompAbilityEffect_PussyHeal.cs" />
|
||||||
<Compile Include="Genes\Life_Force\CompProperties_AbilityLifeForceCost.cs" />
|
<Compile Include="Genes\Life_Force\CompProperties_AbilityLifeForceCost.cs" />
|
||||||
<Compile Include="Genes\Life_Force\CompProperties_SexInteractionRequirements.cs" />
|
<Compile Include="Interactions\CompProperties_SexInteractionRequirements.cs" />
|
||||||
<Compile Include="Genes\Life_Force\CompProperties_AbilityPussyHeal.cs" />
|
<Compile Include="Genes\Life_Force\CompProperties_AbilityPussyHeal.cs" />
|
||||||
<Compile Include="Genes\Life_Force\GeneGizmo_ResourceLifeForce.cs" />
|
<Compile Include="Genes\Life_Force\GeneGizmo_ResourceLifeForce.cs" />
|
||||||
<Compile Include="Genes\Life_Force\HediffWithComps_tank.cs" />
|
<Compile Include="Genes\Life_Force\HediffWithComps_tank.cs" />
|
||||||
|
@ -137,7 +137,10 @@
|
||||||
<Compile Include="Genes\Special\Patch_OrgasmRush.cs" />
|
<Compile Include="Genes\Special\Patch_OrgasmRush.cs" />
|
||||||
<Compile Include="HarmonyInit.cs" />
|
<Compile Include="HarmonyInit.cs" />
|
||||||
<Compile Include="HediffDefOf.cs" />
|
<Compile Include="HediffDefOf.cs" />
|
||||||
|
<Compile Include="Interactions\CustomSexInteraction_Helper.cs" />
|
||||||
<Compile Include="Interactions\GenesPartKindUsageRule.cs" />
|
<Compile Include="Interactions\GenesPartKindUsageRule.cs" />
|
||||||
|
<Compile Include="Interactions\SubSuccubusTailCustomRequirementHandler - Copy.cs" />
|
||||||
|
<Compile Include="Interactions\DomSuccubusTailCustomRequirementHandler.cs" />
|
||||||
<Compile Include="JobDefOf.cs" />
|
<Compile Include="JobDefOf.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="RJW_Genes.cs" />
|
<Compile Include="RJW_Genes.cs" />
|
||||||
|
|
Loading…
Reference in a new issue