mirror of
				https://github.com/amevarashi/RJW-Sexperience.git
				synced 2024-08-14 23:54:08 +00:00 
			
		
		
		
	Compatibility with lutepickle's menstruation
This commit is contained in:
		
							parent
							
								
									4dc352ad75
								
							
						
					
					
						commit
						7ebc0e4878
					
				
					 2 changed files with 22 additions and 20 deletions
				
			
		| 
						 | 
					@ -4,9 +4,8 @@ using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
using Verse;
 | 
					using Verse;
 | 
				
			||||||
using Verse.AI;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace RJWSexperience.ExtensionMethods
 | 
					namespace RJWSexperience
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	public static class PawnExtensions
 | 
						public static class PawnExtensions
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
| 
						 | 
					@ -138,24 +137,6 @@ namespace RJWSexperience.ExtensionMethods
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		public static Building_CumBucket FindClosestBucket(this Pawn pawn)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			List<Building> buckets = pawn.Map.listerBuildings.allBuildingsColonist.FindAll(x => x is Building_CumBucket);
 | 
					 | 
				
			||||||
			Dictionary<Building, float> targets = new Dictionary<Building, float>();
 | 
					 | 
				
			||||||
			if (!buckets.NullOrEmpty()) for (int i = 0; i < buckets.Count; i++)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					if (pawn.CanReach(buckets[i], PathEndMode.ClosestTouch, Danger.None))
 | 
					 | 
				
			||||||
					{
 | 
					 | 
				
			||||||
						targets.Add(buckets[i], pawn.Position.DistanceTo(buckets[i].Position));
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			if (!targets.NullOrEmpty())
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				return (Building_CumBucket)targets.MinBy(x => x.Value).Key;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			return null;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		public static void AteCum(this Pawn pawn, float amount, bool doDrugEffect = false)
 | 
							public static void AteCum(this Pawn pawn, float amount, bool doDrugEffect = false)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			pawn.records.AddTo(VariousDefOf.NumofEatenCum, 1);
 | 
								pawn.records.AddTo(VariousDefOf.NumofEatenCum, 1);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@ using System.Threading.Tasks;
 | 
				
			||||||
using rjw;
 | 
					using rjw;
 | 
				
			||||||
using RimWorld;
 | 
					using RimWorld;
 | 
				
			||||||
using Verse;
 | 
					using Verse;
 | 
				
			||||||
 | 
					using Verse.AI;
 | 
				
			||||||
using UnityEngine;
 | 
					using UnityEngine;
 | 
				
			||||||
using rjw.Modules.Interactions.Objects;
 | 
					using rjw.Modules.Interactions.Objects;
 | 
				
			||||||
using rjw.Modules.Interactions.Helpers;
 | 
					using rjw.Modules.Interactions.Helpers;
 | 
				
			||||||
| 
						 | 
					@ -193,5 +194,25 @@ namespace RJWSexperience
 | 
				
			||||||
            pawn.records?.AddTo(recordforpawn, 1);
 | 
					            pawn.records?.AddTo(recordforpawn, 1);
 | 
				
			||||||
            partner.records?.AddTo(recordforpartner, 1);
 | 
					            partner.records?.AddTo(recordforpartner, 1);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Moved this method back because of Menstruation
 | 
				
			||||||
 | 
					        public static Building_CumBucket FindClosestBucket(this Pawn pawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            List<Building> buckets = pawn.Map.listerBuildings.allBuildingsColonist.FindAll(x => x is Building_CumBucket);
 | 
				
			||||||
 | 
					            Dictionary<Building, float> targets = new Dictionary<Building, float>();
 | 
				
			||||||
 | 
					            if (!buckets.NullOrEmpty()) for (int i = 0; i < buckets.Count; i++)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (pawn.CanReach(buckets[i], PathEndMode.ClosestTouch, Danger.None))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        targets.Add(buckets[i], pawn.Position.DistanceTo(buckets[i].Position));
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            if (!targets.NullOrEmpty())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return (Building_CumBucket)targets.MinBy(x => x.Value).Key;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue