Adding Lifeforce and succubus wings gene

Adds lifeforce gene and functions for gaining lifeforce from oral sex and mental break if lifeforce reaches zero. Also add succubus wings drawn by me
This commit is contained in:
Shabakur 2022-12-27 13:48:38 +01:00
parent f0a9cce9c9
commit 1f865320b0
25 changed files with 690 additions and 39 deletions

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Hair restrictions -->
<GeneDef Name="rjw_genes_wings" Abstract="True">
<displayCategory>Miscellaneous</displayCategory>
<randomChosen>true</randomChosen>
<exclusionTags>
<li>Wing</li>
<li>Wings</li>
</exclusionTags>
<graphicData>
<drawLoc>Tailbone</drawLoc>
</graphicData>
</GeneDef>
<GeneDef ParentName="rjw_genes_wings">
<defName>rjw_genes_Succubus_Wings</defName>
<label>succubus wings</label>
<description>Carriers of this gene grow succubus wings.</description>
<iconPath>UI/Icons/Genes/Gene_TailFurry</iconPath>
<iconColor>(0.75, 0.75, 0.75)</iconColor>
<displayOrderInCategory>1000</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<graphicData>
<graphicPath>Things/Pawn/Humanlike/BodyAttachments/rjw_genes_Succubus_Wings/Succubus_Wings</graphicPath>
<colorType>Hair</colorType>
<drawScale>2</drawScale>
<drawOffsetNorth>(0.0, 0.19, -0.1)</drawOffsetNorth>
<drawOffsetSouth>(0.0, 0.0, -0.1)</drawOffsetSouth>
<drawOffsetEast>(0.1, 0.0, 0.0)</drawOffsetEast>
</graphicData>
</GeneDef>
</Defs>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<GeneDef>
<defName>rjw_genes_lifeforce</defName>
<label>lifeforce</label>
<description>Carriers of this gene have a reserve of biological strength powered by a resource called lifeforce. The resource can be gained and spent in various ways, all of which are unlocked by other genes.\n\nCarriers lose 10 lifeforce per day from biological entropy.</description>
<geneClass>RJW_Genes.Gene_LifeForce</geneClass>
<resourceGizmoType>RJW_Genes.GeneGizmo_ResourceLifeForce</resourceGizmoType>
<resourceLabel>lifeforce</resourceLabel>
<resourceGizmoThresholds>
<li>0.25</li>
<li>0.5</li>
<li>0.75</li>
</resourceGizmoThresholds>
<showGizmoOnWorldView>true</showGizmoOnWorldView>
<showGizmoWhenDrafted>true</showGizmoWhenDrafted>
<resourceDescription>A reserve of biological strength which can be gained and spent in a variety of ways. \n\nLifeforce can be increased by absorbing cum, typically through oral sex or stored cum. \n\nIf lifeforce reaches zero, {PAWN_nameDef} will become very unhappy and may try to obtain some forcefully.</resourceDescription>
<iconPath>UI/Icons/Genes/Gene_Hemogenic</iconPath>
<selectionWeight>0</selectionWeight>
<displayCategory>Hemogen</displayCategory>
<displayOrderInCategory>-2</displayOrderInCategory>
<customEffectDescriptions>
<li>Gives lifeforce supply.</li>
</customEffectDescriptions>
<symbolPack>
<prefixSymbols>
<li><symbol>hemo</symbol></li>
</prefixSymbols>
</symbolPack>
<mentalBreakDef>rjw_genes_lifeforce_randomrape</mentalBreakDef>
<minAgeActive>13</minAgeActive>
<resourceLossPerDay>0.02</resourceLossPerDay>
<biostatCpx>1</biostatCpx>
<biostatMet>1</biostatMet>
</GeneDef>
</Defs>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef>
<defName>rjw_genes_lifeforce_randomrape</defName>
<driverClass>rjw.JobDriver_RandomRape</driverClass>
<reportString>Raping</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
</Defs>

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<MentalBreakDef>
<defName>rjw_genes_lifeforce_randomrape</defName>
<mentalState>rjw_genes_lifeforce_randomrape</mentalState>
<baseCommonality>1.5</baseCommonality>
<intensity>Extreme</intensity>
</MentalBreakDef>
<MentalStateDef ParentName="BaseMentalState">
<defName>rjw_genes_lifeforce_randomrape</defName>
<stateClass>RJW_Genes.LifeForceMentalState</stateClass>
<workerClass>RJW_Genes.LifeForceMentalStateWorker</workerClass>
<label>random rape</label>
<category>Malicious</category>
<prisonersCanDo>true</prisonersCanDo>
<colonistsOnly>false</colonistsOnly>
<minTicksBeforeRecovery>30000</minTicksBeforeRecovery>
<recoveryMtbDays>0.8</recoveryMtbDays>
<maxTicksBeforeRecovery>80000</maxTicksBeforeRecovery>
<nameColor>(0.5, 0.9, 0.5)</nameColor>
<beginLetterLabel>random rape</beginLetterLabel>
<beginLetter>{0} has run out of lifeforce and is looking to obtain some.</beginLetter>
<beginLetterDef>ThreatSmall</beginLetterDef>
<recoveryMessage>{0} is no longer raping randomly.</recoveryMessage>
<baseInspectLine>Mental state: Random Rape</baseInspectLine>
<recoverFromSleep>true</recoverFromSleep>
</MentalStateDef>
</Defs>