mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Adde some explanations in the code
This commit is contained in:
parent
1f865320b0
commit
e8f9f94130
8 changed files with 17 additions and 8 deletions
Binary file not shown.
|
@ -18,9 +18,9 @@
|
|||
<stages>
|
||||
<li>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
<statOffsets>
|
||||
<statFactors>
|
||||
<SexFrequency>2</SexFrequency>
|
||||
</statOffsets>
|
||||
</statFactors>
|
||||
</li>
|
||||
</stages>
|
||||
</HediffDef>
|
||||
|
|
|
@ -20,6 +20,9 @@ namespace RJW_Genes
|
|||
}
|
||||
|
||||
//Modified code from https://gitgud.io/lutepickle/rjw_menstruation/-/tree/main/1.4/source/RJW_Menstruation/RJW_Menstruation
|
||||
//Summary//
|
||||
//Adds our own partpreferences to rjw's list. Our partpreferences are under Interactions.GenesPartKindUsageRule
|
||||
//
|
||||
private static void AddtoIPartPreferenceRule()
|
||||
{
|
||||
List<IPartPreferenceRule> partPreferenceRules = Unprivater.GetProtectedValue<List<IPartPreferenceRule>>("_partKindUsageRules", typeof(PartPreferenceDetectorService));
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace RJW_Genes
|
|||
|
||||
}
|
||||
|
||||
//Get total fluidamount a persom has.
|
||||
//Get total fluidamount a person has.
|
||||
public static float GetTotalFluidAmount(Pawn pawn, float multiplier = 1f)
|
||||
{
|
||||
var partBPR = Genital_Helper.get_genitalsBPR(pawn);
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace RJW_Genes
|
|||
yield break;
|
||||
}
|
||||
|
||||
//Depending on how low the value is it will increase sexdrive and if it reaches zero it will create a random rape mental break.
|
||||
//Depending on how low the value is it will increase sexdrive and if it reaches zero it will create a mental break which will make the pawn rape others.
|
||||
//Not using base.Tick() as it is used to start mental breaks, but we have another way to do it.
|
||||
public override void Tick()
|
||||
{
|
||||
|
|
|
@ -14,7 +14,6 @@ namespace RJW_Genes
|
|||
[HarmonyPatch(typeof(SexUtility), nameof(SexUtility.SatisfyPersonal))]
|
||||
public static class Patch_LifeForce
|
||||
{
|
||||
|
||||
public static void Postfix(SexProps props)
|
||||
{
|
||||
// ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation)
|
||||
|
@ -27,7 +26,7 @@ namespace RJW_Genes
|
|||
{
|
||||
Pawn_GeneTracker genes = props.pawn.genes;
|
||||
Gene_LifeForce gene = genes.GetFirstGeneOfType<Gene_LifeForce>();
|
||||
gene.Resource.Value += CumUtility.GetTotalFluidAmount(props.partner); //total amount may need to be modified to be balanced
|
||||
gene.Resource.Value += CumUtility.GetTotalFluidAmount(props.partner); //total amount may need to be modified to be balanced or maybe I should just consider one at random
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@ 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.
|
||||
public override void Tick()
|
||||
{
|
||||
base.Tick();
|
||||
|
@ -24,11 +26,12 @@ namespace RJW_Genes
|
|||
}
|
||||
}
|
||||
|
||||
//Creatus an IEnumerable of all pawns which are closeby and in lineofsight
|
||||
private IEnumerable<Pawn> AffectedPawns(IntVec3 pos, Map map)
|
||||
{
|
||||
foreach (Pawn pawn in map.mapPawns.AllPawns)
|
||||
{
|
||||
if (pos.DistanceTo(pawn.Position) < 5)
|
||||
if (pos.DistanceTo(pawn.Position) < 5 && GenSight.LineOfSight(pos, pawn.Position, pawn.Map))
|
||||
{
|
||||
yield return pawn;
|
||||
}
|
||||
|
@ -37,6 +40,7 @@ namespace RJW_Genes
|
|||
yield break;
|
||||
}
|
||||
|
||||
//Applies er renews a hediff which increases sexdrive for 6 hours
|
||||
private void InduceAphrodisiac(Pawn pawn)
|
||||
{
|
||||
Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.Aphrodisiac_Pheromone);
|
||||
|
|
|
@ -9,7 +9,10 @@ using Verse;
|
|||
|
||||
namespace RJW_Genes.Interactions
|
||||
{
|
||||
public class GenesPartKindUsageRule : IPartPreferenceRule
|
||||
//Summary//
|
||||
//Set custom preferences for pawn. Gets integrated to rjw by AddtoIPartPreferenceRule in First
|
||||
//Depending on the level of lifeforce increase the chance for using the mouth.
|
||||
public class GenesPartKindUsageRule : IPartPreferenceRule
|
||||
{
|
||||
public IEnumerable<Weighted<LewdablePartKind>> ModifiersForDominant(InteractionContext context)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue