diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index 4b6ffe9..c35489b 100644 Binary files a/Common/Assemblies/Rjw-Genes.dll and b/Common/Assemblies/Rjw-Genes.dll differ diff --git a/Common/Defs/Genes/XenotypeDefs.xml b/Common/Defs/Genes/XenotypeDefs.xml deleted file mode 100644 index 752634f..0000000 --- a/Common/Defs/Genes/XenotypeDefs.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Succubus - - A succubus, an ancient race created long ago to fullfill sexual fantasies of humankind. (better description required) \n\nSuccubi require fertilin to survive, which is commonly derived from cum. UI/Icons/Xenotypes/Baseliner - true - 1000 - 0 - -
  • rjw_genes_female_only
  • -
  • Beauty_Beautiful
  • -
  • rjw_genes_succubus_tail
  • -
  • rjw_genes_Succubus_Wings
  • -
  • rjw_genes_aphrodisiac_pheromones
  • -
  • rjw_genes_orgasm_rush
  • -
  • rjw_genes_hypersexual
  • -
  • rjw_genes_lifeforce
  • -
  • rjw_genes_lifeforcedrain
  • -
  • rjw_genes_pussyhealer
  • -
  • rjw_genes_cockeater
  • -
  • rjw_genes_paralysingkiss
  • -
  • rjw_genes_seduce
  • -
  • rjw_genes_vaginal_absorber
  • -
  • rjw_genes_anal_absorber
  • -
  • rjw_genes_drainer
  • -
    -
    -
    \ No newline at end of file diff --git a/Common/Defs/PawnKindDefs/PawnKind_Succubus.xml b/Common/Defs/PawnKindDefs/PawnKind_Succubus.xml index 4cdda17..7ac7a42 100644 --- a/Common/Defs/PawnKindDefs/PawnKind_Succubus.xml +++ b/Common/Defs/PawnKindDefs/PawnKind_Succubus.xml @@ -2,13 +2,13 @@ - Succubus + rjw_genes_succubus 50 Human - 999 + 999 0.5 diff --git a/Common/Defs/Xenotypes/Succubus.xml b/Common/Defs/Xenotypes/Succubus.xml index c6b51a1..6cfb79d 100644 --- a/Common/Defs/Xenotypes/Succubus.xml +++ b/Common/Defs/Xenotypes/Succubus.xml @@ -4,7 +4,7 @@ rjw_genes_succubus - 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. + 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. Succubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this. UI/Icons/Xenotypes/Sanguophage PawnBecameSanguophage @@ -13,6 +13,7 @@ 1 -1000 0.005 + true 0.02 0.02 @@ -32,10 +33,11 @@
  • rjw_genes_drainer
  • -
  • rjw_genes_pussyhealer
  • +
  • rjw_genes_pussyhealing
  • rjw_genes_paralysingkiss
  • rjw_genes_seduce
  • rjw_genes_elasticity
  • +
  • rjw_genes_succubus_wings
  • rjw_genes_succubus_tail
  • rjw_genes_aphrodisiac_pheromones
  • diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index 73aeb76..a41e259 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -89,12 +89,8 @@ namespace RJW_Genes public static readonly GeneDef rjw_genes_succubus_tail; public static readonly GeneDef rjw_genes_succubus_wings; - // Others & Non-Genes - public static readonly GeneDef rjw_genes_youth_fountain; - public static readonly GeneDef rjw_genes_sex_age_drain; - public static readonly HediffDef rjw_genes_orgasm_rush_hediff; - public static readonly XenotypeDef Succubus; + public static readonly XenotypeDef rjw_genes_succubus; } diff --git a/Source/Genes/Life_Force/IncidentWorker_SuccubusDreamVisit.cs b/Source/Genes/Life_Force/IncidentWorker_SuccubusDreamVisit.cs index 0be4637..2548370 100644 --- a/Source/Genes/Life_Force/IncidentWorker_SuccubusDreamVisit.cs +++ b/Source/Genes/Life_Force/IncidentWorker_SuccubusDreamVisit.cs @@ -49,13 +49,14 @@ namespace RJW_Genes } //Spawn succubus at pawn and initiate sex - Pawn succubus = PawnGenerator.GeneratePawn(new PawnGenerationRequest(PawnKindDef.Named("Succubus"), faction, PawnGenerationContext.NonPlayer, -1, + Pawn succubus = PawnGenerator.GeneratePawn(new PawnGenerationRequest(PawnKindDef.Named("rjw_genes_succubus"), faction, PawnGenerationContext.NonPlayer, -1, false, false, false, true, false, 1f, false, true, false, true, true, false, false, false, false, 0f, 0f, null, 1f, null, null, null, null, null, null, null, null, null, null, null, null, false, false, false, false, null, null, null, null, null, 0f, DevelopmentalStage.Adult, null, null, null, false)); succubus.SetFaction(null, null); GenSpawn.Spawn(succubus, loc, map, WipeMode.Vanish); + //Broken for now //Sends letter //string value = succubus.DevelopmentalStage.Child() ? "FeralChild".Translate().ToString() : succubus.KindLabel; //TaggedString value2 = succubus.DevelopmentalStage.Child() ? "Child".Translate() : "Person".Translate(); diff --git a/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs b/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs index d9f4341..c01652b 100644 --- a/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs +++ b/Source/Genes/Special/Gene_Aphrodisiac_Pheromones_.cs @@ -13,11 +13,11 @@ namespace RJW_Genes public class Gene_Aphrodisiac_Pheromones : Gene { - //Summary one every one check for all pawns nearby and in line of sight and add/renew a hediff which increases sexdrive for six hours. + //Summary once every one hour check for all pawns nearby and in line of sight (same room) and add/renew a hediff which lasts for 1 hour. public override void Tick() { base.Tick(); - if (this.pawn.IsHashIntervalTick(2500)) + if (this.pawn.IsHashIntervalTick(2500) && this.pawn.Map != null) { //Only spread pheromones if sexdrive above 1 float sexfrequency = this.pawn.GetStatValue(StatDef.Named("SexFrequency")); @@ -31,12 +31,12 @@ namespace RJW_Genes } } - //Creatus an IEnumerable of all pawns which are closeby and in lineofsight, self and other pawns with aphrodisiac pheromones gene are skipped. + //Creatus an IEnumerable of all pawns which are closeby and in lineofsight, self and other pawns with aphrodisiac pheromones gene are skipped (to prevent loops). private IEnumerable AffectedPawns(IntVec3 pos, Map map) { foreach (Pawn pawn in map.mapPawns.AllPawns) { - if (this.pawn != null && pawn != this.pawn && pos.DistanceTo(pawn.Position) < 5 && GenSight.LineOfSight(pos, pawn.Position, pawn.Map) && !GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_aphrodisiac_pheromones)) + if (pawn != null && this.pawn != null && pawn != this.pawn && pos.DistanceTo(pawn.Position) < 5 && GenSight.LineOfSight(pos, pawn.Position, pawn.Map) && !GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_aphrodisiac_pheromones)) { yield return pawn; } @@ -45,7 +45,7 @@ namespace RJW_Genes yield break; } - //Applies er renews a hediff which increases sexdrive for 6 hours + //Applies or renews a hediff which increases sexdrive for 1 hours private void InduceAphrodisiac(Pawn pawn, float sexfrequency) { Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.Aphrodisiac_Pheromone); @@ -59,9 +59,6 @@ namespace RJW_Genes Hediff aphrodisiac = HediffMaker.MakeHediff(HediffDefOf.Aphrodisiac_Pheromone, pawn); foreach (StatModifier stat in aphrodisiac.CurStage.statFactors) { - //Log.Message(pawn.Name.ToString()); - //Log.Message(stat.stat.defName); - //Log.Message(stat.value.ToString()); if (stat.stat.defName == "SexFrequency") { stat.value = ModifySexfrequency(pawn, sexfrequency);