rjw_menstruation/source/RJW_Menstruation/RJW_Menstruation/JobDrivers.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2021-03-06 13:32:33 +00:00
using System.Collections.Generic;
2021-02-13 09:45:22 +00:00
using Verse.AI;
namespace RJW_Menstruation
{
2021-03-06 13:32:33 +00:00
public class JobDriver_VaginaWashing : JobDriver
{
const int excretingTime = 300;//ticks - 120 = 2 real seconds, 3 in-game minutes
2021-02-13 09:45:22 +00:00
2021-03-06 13:32:33 +00:00
public override bool TryMakePreToilReservations(bool errorOnFailed)
{
return pawn.Reserve(pawn, job, 1, -1, null, errorOnFailed);
}
2021-02-13 09:45:22 +00:00
2021-03-06 13:32:33 +00:00
protected override IEnumerable<Toil> MakeNewToils()
{
2021-02-13 09:45:22 +00:00
2021-03-06 13:32:33 +00:00
HediffComp_Menstruation Comp = Utility.GetMenstruationComp(pawn);
this.FailOn(delegate
{
return !(Comp.TotalCumPercent > 0.01);
});
Toil excreting = Toils_General.Wait(excretingTime, TargetIndex.None);//duration of
2021-02-13 09:45:22 +00:00
2021-03-06 13:32:33 +00:00
excreting.WithProgressBarToilDelay(TargetIndex.A);
yield return excreting;
yield return new Toil()
{
initAction = delegate ()
{
Comp.CumOutForce(null, 0.5f);
if (Comp.TotalCumPercent > 0.01) this.JumpToToil(excreting);
}
};
//yield return excreting;
2021-02-13 09:45:22 +00:00
2021-03-06 13:32:33 +00:00
}
}
2021-02-13 09:45:22 +00:00
}