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…
	
	Add table
		Add a link
		
	
		Reference in a new issue