private void HumanCongregation(Pawn pawn) { // prepare bill Bill_Spell bill = new Bill_Spell(CultsDefOf.Cults_SacrificeHuman); this.billStack.Clear(); this.billStack.AddBill(bill); bill.billStack = this.billStack; bill.ingredientSearchRadius = 5f; // prepare job Job job = JobMaker.MakeJob(CultsDefOf.Cults_DoBill); // JobDefOf.DoBill); // job.targetQueueB = new List <LocalTargetInfo>() { this.congregationParms.sacrifice }; job.countQueue = new List <int>() { 1 }; job.playerForced = true; job.targetA = this; job.targetC = PositionHeld; job.haulMode = HaulMode.ToCellNonStorage; job.locomotionUrgency = LocomotionUrgency.Sprint; job.bill = this.billStack.FirstShouldDoNow; // start job pawn.jobs.TryTakeOrderedJob(job); }
//------------------------------------------------------------------------------ // Other private void FoodCongregation(Pawn pawn) { // get required things based on bill's recipe List <ThingCount> chosen_things = new List <ThingCount>(); Bill_Spell bill = new Bill_Spell(CultsDefOf.Cults_OfferMeatRaw_Worthy); if (!IngredientFinder.TryFindBestBillIngredients(bill, pawn, this, chosen_things)) { Messages.Message("Ingredients not available", null, MessageTypeDefOf.RejectInput, null); return; } ; // prepare bill this.billStack.Clear(); this.billStack.AddBill(bill); bill.billStack = this.billStack; bill.ingredientSearchRadius = 5f; // prepare job Job job = JobMaker.MakeJob(CultsDefOf.Cults_DoBill); // JobDefOf.DoBill); // List <LocalTargetInfo> target_list = new List <LocalTargetInfo>(); List <int> thing_count = new List <int>(); job.targetQueueB = new List <LocalTargetInfo>(chosen_things.Count); job.countQueue = new List <int>(chosen_things.Count); for (int i = 0; i < chosen_things.Count; i++) { job.targetQueueB.Add(chosen_things[i].Thing); job.countQueue.Add(chosen_things[i].Count); } job.playerForced = true; job.targetA = this; job.targetC = PositionHeld; job.haulMode = HaulMode.ToCellNonStorage; job.locomotionUrgency = LocomotionUrgency.Sprint; job.bill = this.billStack.FirstShouldDoNow; // start job pawn.jobs.TryTakeOrderedJob(job); }