diff --git a/README.md b/README.md index 2a7fd67..da4954b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ -# RJW_Genes_Addons -Some code which can be copied into RJW genes if they want to, however a few names may need to be changed for it to work. Names, labels, descriptions and icons are just placeholders. +# RJW_More_Genes +Adds some more genes related to RJW to the game. +Current Genes +- PussyHeal +- Sexfrenzy + +Any suggestions and ideas are welcome. + + + diff --git a/RJW_More_Genes/About/About.xml b/RJW_More_Genes/About/About.xml index 052183a..c3ce71a 100644 --- a/RJW_More_Genes/About/About.xml +++ b/RJW_More_Genes/About/About.xml @@ -1,11 +1,11 @@ - RJW Genes Addons + RJW More Genes Shaba - Shaba.rjw.genes.addons + Shaba.rjw.more.genes
  • 1.4
  • - Adds additional contentfor RJW Genes + Adds additional more genes connected to RJW to the game
  • ludeon.rimworld.biotech @@ -22,14 +22,6 @@ steam://url/CommunityFilePage/2009463077 https://github.com/pardeike/HarmonyRimWorld/releases/latest
  • -
  • rim.job.world
  • diff --git a/RJW_More_Genes/Common/Assemblies/RJW_More_Genes.dll b/RJW_More_Genes/Common/Assemblies/RJW_More_Genes.dll index 06552b3..cc214bf 100644 Binary files a/RJW_More_Genes/Common/Assemblies/RJW_More_Genes.dll and b/RJW_More_Genes/Common/Assemblies/RJW_More_Genes.dll differ diff --git a/RJW_More_Genes/Common/Defs/AbilityDefs/Abilities.xml b/RJW_More_Genes/Common/Defs/AbilityDefs/Ability_PussyHeal.xml similarity index 83% rename from RJW_More_Genes/Common/Defs/AbilityDefs/Abilities.xml rename to RJW_More_Genes/Common/Defs/AbilityDefs/Ability_PussyHeal.xml index ffefe06..d48c4c2 100644 --- a/RJW_More_Genes/Common/Defs/AbilityDefs/Abilities.xml +++ b/RJW_More_Genes/Common/Defs/AbilityDefs/Ability_PussyHeal.xml @@ -3,8 +3,8 @@ PussyHeal - Use special vagina to quickly tend someone's wounds. - UI/Icons/Genes/Gene_Coagulate + Rape another pawn, so you can heal them with your vagina's special healing power. + Things/Mote/Heart false true false @@ -20,7 +20,7 @@ -1 0 - false + true false false false @@ -30,9 +30,6 @@
  • 0.4~0.8 -
  • -
  • - Manipulation
  • diff --git a/RJW_More_Genes/Common/Defs/AbilityDefs/Ability_SexFrenzy.xml b/RJW_More_Genes/Common/Defs/AbilityDefs/Ability_SexFrenzy.xml new file mode 100644 index 0000000..a61b4a5 --- /dev/null +++ b/RJW_More_Genes/Common/Defs/AbilityDefs/Ability_SexFrenzy.xml @@ -0,0 +1,29 @@ + + + + SexFrenzy + + Causes nearby pawns to go into a sex frenzy, trying to rape anyone if they can. + Things/Mote/Heart + false + false + 180000 + Coagulate_Cast + 402 + + Verb_CastAbility + 1 + 7.9 + + True + True + True + + + +
  • + 4.9 +
  • +
    +
    + \ No newline at end of file diff --git a/RJW_More_Genes/Common/Defs/GeneDefs/GeneDefs_AbilityGenes.xml b/RJW_More_Genes/Common/Defs/GeneDefs/GeneDefs_AbilityGenes.xml index 9824cf5..88ce930 100644 --- a/RJW_More_Genes/Common/Defs/GeneDefs/GeneDefs_AbilityGenes.xml +++ b/RJW_More_Genes/Common/Defs/GeneDefs/GeneDefs_AbilityGenes.xml @@ -4,8 +4,8 @@ rjw_genes_pussyhealer pussyhealer - Carriers of this gene are able use vaginal sex to tend to others wounds. - UI/Icons/Genes/Gene_Coagulate + Carriers of this gene are able use vaginal sex to tend to other's wounds. + Things/Mote/Heart Ability
  • PussyHeal
  • @@ -14,7 +14,31 @@ PussyHeal -1 - 3 + 13 + + +
  • life
  • +
  • clotter
  • +
  • tender
  • +
    +
    + + + + rjw_genes_sexfrenzy + + sexfrenzy + Carriers of this gene are able to induce a sexfrenzy nearby. + Things/Mote/Heart + Ability + +
  • SexFrenzy
  • +
    + + SexFrenzy + + -2 + 13
  • life
  • diff --git a/RJW_More_Genes/Common/Defs/HediffDefs/Hediff_SexFrenzy.xml b/RJW_More_Genes/Common/Defs/HediffDefs/Hediff_SexFrenzy.xml new file mode 100644 index 0000000..082e565 --- /dev/null +++ b/RJW_More_Genes/Common/Defs/HediffDefs/Hediff_SexFrenzy.xml @@ -0,0 +1,33 @@ + + + + SexFrenzy + + sexfrenzied + A pawn under the influence of sex frenzy. + HediffWithComps + (0.5, 0.5, 0.9) + false + false + false + 1.0 + 1.0 + 1.0 + false + +
  • + + + 250 + + 500 + +
  • +
    + +
  • + true +
  • +
    +
    +
    \ No newline at end of file diff --git a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/2c1ea451-88d4-4a27-bc83-f32ce8587305.vsidx b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/2c1ea451-88d4-4a27-bc83-f32ce8587305.vsidx new file mode 100644 index 0000000..e96b407 Binary files /dev/null and b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/2c1ea451-88d4-4a27-bc83-f32ce8587305.vsidx differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/2f67a196-a824-434d-9710-aefa87db4bf5.vsidx b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/2f67a196-a824-434d-9710-aefa87db4bf5.vsidx new file mode 100644 index 0000000..2e3c544 Binary files /dev/null and b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/2f67a196-a824-434d-9710-aefa87db4bf5.vsidx differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/5d9c162d-646f-4457-a9c5-3181f8e4f3d6.vsidx b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/5d9c162d-646f-4457-a9c5-3181f8e4f3d6.vsidx new file mode 100644 index 0000000..fff024f Binary files /dev/null and b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/5d9c162d-646f-4457-a9c5-3181f8e4f3d6.vsidx differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/6a658bd9-f2ff-4d36-9cfa-a5e83f86b903.vsidx b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/6a658bd9-f2ff-4d36-9cfa-a5e83f86b903.vsidx new file mode 100644 index 0000000..cc027a4 Binary files /dev/null and b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/6a658bd9-f2ff-4d36-9cfa-a5e83f86b903.vsidx differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/f89c998f-728f-4e82-9434-7a7cedeb321a.vsidx b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/f89c998f-728f-4e82-9434-7a7cedeb321a.vsidx deleted file mode 100644 index 1553254..0000000 Binary files a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/FileContentIndex/f89c998f-728f-4e82-9434-7a7cedeb321a.vsidx and /dev/null differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/v17/.suo b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/v17/.suo index f12c6cb..d1a8ec5 100644 Binary files a/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/v17/.suo and b/RJW_More_Genes/Source/RJW_More_Genes/.vs/RJW_More_Genes/v17/.suo differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/AbilityUtility.cs b/RJW_More_Genes/Source/RJW_More_Genes/AbilityUtility.cs new file mode 100644 index 0000000..bbf278e --- /dev/null +++ b/RJW_More_Genes/Source/RJW_More_Genes/AbilityUtility.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using rjw; +using rjw.Modules.Interactions.Helpers; +using rjw.Modules.Interactions.Enums; + +namespace RJW_More_Genes +{ + public class AbilityUtility + { + public static void PussyHeal(SexProps props) + { + if (InteractionHelper.GetWithExtension(props.dictionaryKey).DominantHasFamily(GenitalFamily.Vagina) || InteractionHelper.GetWithExtension(props.dictionaryKey).SubmissiveHasFamily(GenitalFamily.Vagina)) + { + Pawn pawn = props.pawn; + Pawn partner = props.partner; + FloatRange tendQualityRange; + tendQualityRange.min = 0.4f; + tendQualityRange.max = 0.8f; + if (GeneUtility.isPussyHealer(pawn)) + { + Heal(partner, tendQualityRange); + } + if (GeneUtility.isPussyHealer(partner)) + { + Heal(pawn, tendQualityRange); + } + } + } + + public static bool Heal(Pawn pawn, FloatRange tendQualityRange) + { + bool any_wound_tended = false; + List hediffs = pawn.health.hediffSet.hediffs; + for (int i = hediffs.Count - 1; i >= 0; i--) + { + if ((hediffs[i] is Hediff_Injury || hediffs[i] is Hediff_MissingPart) && hediffs[i].TendableNow(false)) + { + hediffs[i].Tended(tendQualityRange.RandomInRange, tendQualityRange.TrueMax, 1); + any_wound_tended = true; + } + } + return any_wound_tended; + } + } +} diff --git a/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_PussyHeal.cs b/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_PussyHeal.cs index 48c1d11..08d19fe 100644 --- a/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_PussyHeal.cs +++ b/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_PussyHeal.cs @@ -28,21 +28,13 @@ namespace RJW_More_Genes { return; } - int num = 0; - List hediffs = pawn.health.hediffSet.hediffs; - for (int i = hediffs.Count - 1; i >= 0; i--) + bool any_wound_tended = AbilityUtility.Heal(pawn, this.Props.tendQualityRange); + if (any_wound_tended) { - if ((hediffs[i] is Hediff_Injury || hediffs[i] is Hediff_MissingPart) && hediffs[i].TendableNow(false)) - { - hediffs[i].Tended(this.Props.tendQualityRange.RandomInRange, this.Props.tendQualityRange.TrueMax, 1); - num++; - } + MoteMaker.ThrowText(pawn.DrawPos, pawn.Map, "Sex Healed Wounds", 3.65f); + pawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.Pussy_Healed, pawn, null); } - if (num > 0) - { - MoteMaker.ThrowText(pawn.DrawPos, pawn.Map, "NumWoundsTended".Translate(num), 3.65f); - } - this.AfterSex(this.parent.pawn, pawn); + //this.AfterSex(any_wound_tended); //FleckMaker.AttachedOverlay(pawn, FleckDefOf.FlashHollow, Vector3.zero, 1.5f, -1f); } @@ -67,8 +59,6 @@ namespace RJW_More_Genes Pawn pawn = target.Pawn; if (pawn != null) { - - //to be replaced with severel checks to make it clear why target is unable to have sex if (!CasualSex_Helper.CanHaveSex(pawn)) { @@ -78,19 +68,36 @@ namespace RJW_More_Genes } return false; } - Pawn parent = this.parent.pawn; - if (parent == null || !Genital_Helper.has_vagina(parent)) - { - if (throwMessages && parent != null) + else if (pawn.IsAnimal() && !RJWSettings.bestiality_enabled) + { + if (throwMessages) { - Messages.Message(parent.Name + " has no vagina to use", pawn, MessageTypeDefOf.RejectInput, false); + Messages.Message("bestiality is disabled", pawn, MessageTypeDefOf.RejectInput, false); } return false; } - AbilityUtility.ValidateHasTendableWound(pawn, throwMessages, this.parent); + //AbilityUtility.ValidateHasTendableWound(pawn, throwMessages, this.parent); } return base.Valid(target, throwMessages); } + + public override bool GizmoDisabled(out string reason) + { + reason = null; + if (!Genital_Helper.has_vagina(this.parent.pawn)) + { + reason = this.parent.pawn.Name + " has no vagina to use."; + return true; + } + else if (!RJWSettings.rape_enabled) + { + reason = "Rape is disabled"; + return true; + } + return false; + } + + } } diff --git a/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_SexFrenzy.cs b/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_SexFrenzy.cs new file mode 100644 index 0000000..fe6ad72 --- /dev/null +++ b/RJW_More_Genes/Source/RJW_More_Genes/CompAbilityEffect_SexFrenzy.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using UnityEngine; +using RimWorld; +using rjw; +using Verse.AI; +using rjw.Modules.Interactions.Helpers; + +namespace RJW_More_Genes +{ + public class CompAbilityEffect_SexFrenzy : CompAbilityEffect + { + private new CompProperties_AbilitySexFrenzy Props + { + get + { + return (CompProperties_AbilitySexFrenzy)this.props; + } + } + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + foreach (Pawn pawn in AffectedPawns(target, this.parent.pawn.Map)) + { + if (pawn != null) + { + Need_Sex needsex = pawn.needs.TryGetNeed(); + needsex.CurLevel = 0f; + pawn.health.AddHediff(HediffDefOf.SexFrenzy); + } + } + + foreach (Pawn pawn in AffectedPawns(target,this.parent.pawn.Map)) + { + if(pawn == null || !xxx.can_rape(pawn, false)|| pawn.jobs.curJob.def.defName == "GettinRaped" || pawn.jobs.curJob.def.defName == "SexFrenzy") + { + continue; + } + Pawn pawn2 = FindVictim(pawn); + if (pawn2 == null) + { + continue; + } + pawn.pather.StopDead(); + pawn.jobs.StopAll(); + //pawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.RandomRape, null, true, false, null, false, false, false); + Job newJob = JobMaker.MakeJob(xxx.RapeRandom, pawn2); + pawn.jobs.StartJob(newJob, JobCondition.InterruptForced, null, false, true, null, null, false, false, null, false, true); + } + Log.Message("test"); + } + + public override bool GizmoDisabled(out string reason) + { + reason = null; + if (!RJWSettings.rape_enabled) + { + reason = "Rape is disabled"; + return true; + } + return false; + } + + private IEnumerable AffectedPawns(LocalTargetInfo target, Map map) + { + foreach (Pawn pawn in map.mapPawns.AllPawns) + { + if (target.Cell.DistanceTo(pawn.Position) < this.Props.radius) + { + yield return pawn; + } + + } + IEnumerator enumerator = null; + yield break; + yield break; + } + public override void DrawEffectPreview(LocalTargetInfo target) + { + GenDraw.DrawRadiusRing(target.Cell, this.Props.radius); + } + + public Pawn FindVictim(Pawn pawn) + { + Map m = pawn.Map; + IEnumerable source = from x in m.mapPawns.AllPawnsSpawned + where x != pawn && xxx.is_not_dying(x) && (xxx.can_get_raped(x) || (xxx.can_be_fucked(x) && x.health.hediffSet.HasHediff(HediffDefOf.SexFrenzy))) && + !x.Suspended && !x.IsForbidden(pawn) && x.jobs.curJob.def.defName != "GettinRaped" && x.jobs.curJob.def.defName != "RandomRape" && + IntVec3Utility.DistanceTo(pawn.Position, x.Position) < 15 && pawn.CanReserveAndReach(x, PathEndMode.Touch, Danger.Deadly, 1, 0, null, false) + select x; + if (source != null) + { + return source.RandomElement(); + } + else + { + return null; + } + } + } +} diff --git a/RJW_More_Genes/Source/RJW_More_Genes/CompProperties_SexFrenzy.cs b/RJW_More_Genes/Source/RJW_More_Genes/CompProperties_SexFrenzy.cs new file mode 100644 index 0000000..6afb618 --- /dev/null +++ b/RJW_More_Genes/Source/RJW_More_Genes/CompProperties_SexFrenzy.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_More_Genes +{ + public class CompProperties_AbilitySexFrenzy : CompProperties_AbilityEffect + { + public CompProperties_AbilitySexFrenzy() + { + this.compClass = typeof(CompAbilityEffect_SexFrenzy); + } + + public float radius; + } +} diff --git a/RJW_More_Genes/Source/RJW_More_Genes/GeneUtility.cs b/RJW_More_Genes/Source/RJW_More_Genes/GeneUtility.cs index d81ee50..762420e 100644 --- a/RJW_More_Genes/Source/RJW_More_Genes/GeneUtility.cs +++ b/RJW_More_Genes/Source/RJW_More_Genes/GeneUtility.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Verse; + namespace RJW_More_Genes { public class GeneUtility @@ -17,5 +18,7 @@ namespace RJW_More_Genes } return pawn.genes.HasGene(GeneDefOf.rjw_genes_pussyhealer); } + + } } diff --git a/RJW_More_Genes/Source/RJW_More_Genes/HediffDefOf.cs b/RJW_More_Genes/Source/RJW_More_Genes/HediffDefOf.cs new file mode 100644 index 0000000..8ed0fd8 --- /dev/null +++ b/RJW_More_Genes/Source/RJW_More_Genes/HediffDefOf.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; + +namespace RJW_More_Genes +{ + [DefOf] + public static class HediffDefOf + { + public static readonly HediffDef SexFrenzy; + } +} diff --git a/RJW_More_Genes/Source/RJW_More_Genes/MentalStateDefOf.cs b/RJW_More_Genes/Source/RJW_More_Genes/MentalStateDefOf.cs new file mode 100644 index 0000000..ecf1856 --- /dev/null +++ b/RJW_More_Genes/Source/RJW_More_Genes/MentalStateDefOf.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace RJW_More_Genes +{ + public static class MentalStateDefOf + { + public static readonly MentalStateDef RandomRape; + } +} diff --git a/RJW_More_Genes/Source/RJW_More_Genes/PatchProcessSex.cs b/RJW_More_Genes/Source/RJW_More_Genes/PatchProcessSex.cs new file mode 100644 index 0000000..eff04d7 --- /dev/null +++ b/RJW_More_Genes/Source/RJW_More_Genes/PatchProcessSex.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using HarmonyLib; +using rjw; +namespace RJW_More_Genes +{ + [HarmonyPatch(typeof(SexUtility), "ProcessSex")] + class PatchProcessSex + { + [HarmonyPostfix] + public static void ProcessSexGenes(SexProps props) + { + AbilityUtility.PussyHeal(props); + } + } +} diff --git a/RJW_More_Genes/Source/RJW_More_Genes/RJW_More_Genes.csproj b/RJW_More_Genes/Source/RJW_More_Genes/RJW_More_Genes.csproj index 6f563d5..48f699c 100644 --- a/RJW_More_Genes/Source/RJW_More_Genes/RJW_More_Genes.csproj +++ b/RJW_More_Genes/Source/RJW_More_Genes/RJW_More_Genes.csproj @@ -57,13 +57,19 @@ + + + + + + diff --git a/RJW_More_Genes/Source/RJW_More_Genes/SexInteractionUtility.cs b/RJW_More_Genes/Source/RJW_More_Genes/SexInteractionUtility.cs index e112ec0..d3880dc 100644 --- a/RJW_More_Genes/Source/RJW_More_Genes/SexInteractionUtility.cs +++ b/RJW_More_Genes/Source/RJW_More_Genes/SexInteractionUtility.cs @@ -17,25 +17,19 @@ namespace RJW_More_Genes { class SexInteractionUtility { - public static List GenerateDomVaginaInteractionDefList(Pawn pawn, Pawn pawn2) - { - List list2 = new List(); - foreach (InteractionDef interactionDef in SexUtility.SexInterractions) - { - InteractionWithExtension withExtension = InteractionHelper.GetWithExtension(interactionDef); - if((withExtension.DominantHasTag(GenitalTag.CanBePenetrated) || withExtension.DominantHasFamily(GenitalFamily.Vagina)) - && LewdInteractionValidatorService.Instance.IsValid(interactionDef, pawn, pawn2)) - { - //Log.Message(interactionDef.ToString()); - list2.Add(interactionDef); - } - } - return list2; - } - public static List GenerateInteractionDefList(Pawn pawn, Pawn pawn2, CompProperties_SexInteractionRequirements sexpropsreq) { - List tags = sexpropsreq.tags; + List tags = new List(); + if (pawn2.IsAnimal()) + { + tags.Add(InteractionTag.Animal); + + } + else + { + tags = sexpropsreq.tags; + } + InteractionRequirement dominantRequirement = sexpropsreq.dominantRequirement; InteractionRequirement submissiveRequirement = sexpropsreq.submissiveRequirement; List sexinteractions = SexUtility.SexInterractions; @@ -121,35 +115,10 @@ namespace RJW_More_Genes public static SexProps GenerateSexProps(Pawn pawn, Pawn pawn2, CompProperties_SexInteractionRequirements sexpropsreq) { List interactionlist = GenerateInteractionDefList(pawn, pawn2, sexpropsreq); - if (interactionlist == null) + if (!interactionlist.Any()) { return null; } - //foreach(InteractionDef interaction in interactionlist) - //{ - // Log.Message(interaction.ToString()); - //} - InteractionDef dictionaryKey = interactionlist.RandomElement(); - bool rape = InteractionHelper.GetWithExtension(dictionaryKey).HasInteractionTag(InteractionTag.Rape); - SexProps sexProps = new SexProps(); - sexProps.pawn = pawn; - sexProps.partner = pawn2; - sexProps.sexType = SexUtility.rjwSextypeGet(dictionaryKey); - sexProps.isRape = rape; - sexProps.isRapist = rape; - sexProps.canBeGuilty = false; - sexProps.dictionaryKey = dictionaryKey; - sexProps.rulePack = SexUtility.SexRulePackGet(dictionaryKey); - return sexProps; - } - - public static SexProps GenerateSexpropsDomVagina(Pawn pawn, Pawn pawn2) - { - List interactionlist = GenerateDomVaginaInteractionDefList(pawn, pawn2); - if (interactionlist == null) - { - return null; - } InteractionDef dictionaryKey = interactionlist.RandomElement(); bool rape = InteractionHelper.GetWithExtension(dictionaryKey).HasInteractionTag(InteractionTag.Rape); SexProps sexProps = new SexProps(); diff --git a/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.AssemblyReference.cache b/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.AssemblyReference.cache index a747a5f..afbf00c 100644 Binary files a/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.AssemblyReference.cache and b/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.AssemblyReference.cache differ diff --git a/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.CoreCompileInputs.cache b/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.CoreCompileInputs.cache index cad0206..1b12a35 100644 --- a/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.CoreCompileInputs.cache +++ b/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -4d7ff98164d1cf091715f5b60c92ca5ce544b757 +1d1d2f5a3658f55aaa88d8cc24b3d4d7c5755ab0 diff --git a/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.dll b/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.dll index 06552b3..cc214bf 100644 Binary files a/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.dll and b/RJW_More_Genes/Source/RJW_More_Genes/obj/Debug/RJW_More_Genes.dll differ diff --git a/TODOS.txt b/TODOS.txt new file mode 100644 index 0000000..a3497ed --- /dev/null +++ b/TODOS.txt @@ -0,0 +1,18 @@ +Healpussy +- Mood effect depends on relationship between pawns. +- Add sex interaction to have a female, female animal vaginal interaction, animal scissoring? +- + +Sex frenzy gene +- Add Special Mind break, Run around colony and cause other pawns to go into random rape. + +Aphrodisiac gene +- Increases sexdrive of pawns around pawn + +Cumabsorber gene +- Gain benefits after cum enters any orfice, rest? combat? + +Vigorous gene +- Gain rest after sex + + \ No newline at end of file diff --git a/changelog b/changelog index 3b5dbf5..263fc91 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,10 @@ V1.0 Made Changelog, currently have insectincubator and mechbreeder genes V1.0.1 Fixed some null errors in geneutility V1.0.2 Added insectbreeder gene -V1.0.3 Added Healpussy Gene \ No newline at end of file +V1.0.3 Added Healpussy Gene +V1.0.4 Changed Name and Removed Genes which were copied to rjw_genes +V1.0.5 +- Allowed Healpussy to work on animals +V1.0.6 +- Allowed Healpussy to work passively +- Added checks for RJWsettings and if the pawn has a vagina. \ No newline at end of file