RJW-Sexperience/RJWSexperience/IdeologyAddon/Ideology/Rituals/RitualBehaviorWorkers.cs
moreoreganostodump 33d8d9b855 1.0.1.9
2021-08-22 01:29:59 +09:00

53 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RimWorld;
using Verse;
using Verse.AI.Group;
namespace RJWSexperience.Ideology
{
public class RitualBehaviorWorker_Gangbang : RitualBehaviorWorker
{
public RitualBehaviorWorker_Gangbang() { }
public RitualBehaviorWorker_Gangbang(RitualBehaviorDef def) : base(def) { }
public override void PostCleanup(LordJob_Ritual ritual)
{
Pawn warden = ritual.PawnWithRole("initiator");
Pawn pawn = ritual.PawnWithRole("victim");
if (pawn.IsPrisonerOfColony)
{
WorkGiver_Warden_TakeToBed.TryTakePrisonerToBed(pawn, warden);
pawn.guest.WaitInsteadOfEscapingFor(1250);
}
}
protected override LordJob CreateLordJob(TargetInfo target, Pawn organizer, Precept_Ritual ritual, RitualObligation obligation, RitualRoleAssignments assignments)
{
return new LordJob_Ritual_Gangbang(target, ritual, obligation, def.stages, assignments, organizer);
}
}
public class RitualStage_InteractWithVictim : RitualStage
{
public override TargetInfo GetSecondFocus(LordJob_Ritual ritual)
{
return ritual.assignments.AssignedPawns("victim").FirstOrDefault(p => RitualRole_RapeVictim.CanBeVictim(p));
}
}
public class RitualStage_InteractWithVictim_All : RitualStage
{
public override TargetInfo GetSecondFocus(LordJob_Ritual ritual)
{
return ritual.assignments.AssignedPawns("victim").FirstOrDefault();
}
}
}