mirror of
https://gitgud.io/c0ffeeeeeeee/coffees-rjw-ideology-addons.git
synced 2024-08-14 23:57:38 +00:00
Induce lactation
This commit is contained in:
parent
616d83ba08
commit
f21812a3eb
11 changed files with 382 additions and 0 deletions
56
CRIALactation/Source/WorkGivers/WorkGiver_MassageBreasts.cs
Normal file
56
CRIALactation/Source/WorkGivers/WorkGiver_MassageBreasts.cs
Normal file
|
@ -0,0 +1,56 @@
|
|||
using Milk;
|
||||
using RimWorld;
|
||||
using RimWorld.Planet;
|
||||
using rjw;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
|
||||
namespace CRIALactation
|
||||
{
|
||||
public class WorkGiver_MassageBreasts : WorkGiver_Scanner
|
||||
{
|
||||
public override IEnumerable<Thing> PotentialWorkThingsGlobal(Pawn pawn)
|
||||
{
|
||||
return pawn.Map.mapPawns.SpawnedPawnsInFaction(pawn.Faction);
|
||||
}
|
||||
|
||||
public override bool ShouldSkip(Pawn pawn, bool forced = false)
|
||||
{
|
||||
List<Pawn> list = pawn.Map.mapPawns.SpawnedPawnsInFaction(pawn.Faction);
|
||||
for(int i = 0; i < list.Count; i++)
|
||||
{
|
||||
if(LactationUtility.isMassageable(list[i]))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasJobOnThing(Pawn p, Thing t, bool forced = false)
|
||||
{
|
||||
Pawn pawn2 = t as Pawn;
|
||||
if(pawn2?.TryGetComp<CompInduceLactation>() == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
CompInduceLactation c = pawn2.TryGetComp<CompInduceLactation>();
|
||||
|
||||
return p != pawn2 && c.isActive && c.CanMassage && !pawn2.Downed && !pawn2.Drafted && !pawn2.InAggroMentalState && !pawn2.IsFormingCaravan() && pawn2.CanCasuallyInteractNow(false, true, false) && p.CanReserve(pawn2, 1, -1, null, forced);
|
||||
|
||||
}
|
||||
|
||||
public override Job JobOnThing(Pawn pawn, Thing t, bool forced = false)
|
||||
{
|
||||
return JobMaker.MakeJob(JobDefOf_CRIALactation.MassageBreasts, t);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue