RJW-Sexperience/RJWSexperience/IdeologyAddon/Ideology/Rituals/RitualBehaviorWorkers.cs

54 lines
1.5 KiB
C#
Raw Normal View History

2021-07-30 17:25:46 +00:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RimWorld;
using Verse;
2021-08-21 16:29:59 +00:00
using Verse.AI.Group;
2021-07-30 17:25:46 +00:00
2021-08-21 16:29:59 +00:00
namespace RJWSexperience.Ideology
2021-07-30 17:25:46 +00:00
{
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);
}
}
2021-08-21 16:29:59 +00:00
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);
}
}
2021-07-30 17:25:46 +00:00
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();
}
}
2021-08-21 16:29:59 +00:00
2021-07-30 17:25:46 +00:00
}