Example #1
0
        private static void TryTakeScheduledDrugs(Pawn pawn, Caravan caravan)
        {
            if (pawn.drugs == null)
            {
                return;
            }
            DrugPolicy currentPolicy = pawn.drugs.CurrentPolicy;

            for (int i = 0; i < currentPolicy.Count; i++)
            {
                if (pawn.drugs.ShouldTryToTakeScheduledNow(currentPolicy[i].drug) && CaravanInventoryUtility.TryGetThingOfDef(caravan, currentPolicy[i].drug, out Thing thing, out Pawn owner))
                {
                    caravan.needs.IngestDrug(pawn, thing, owner);
                }
            }
        }
 private static void TryTakeScheduledDrugs(Pawn pawn, Caravan caravan)
 {
     if (pawn.drugs != null)
     {
         DrugPolicy currentPolicy = pawn.drugs.CurrentPolicy;
         for (int i = 0; i < currentPolicy.Count; i++)
         {
             if (pawn.drugs.ShouldTryToTakeScheduledNow(currentPolicy[i].drug))
             {
                 Thing drug;
                 Pawn  drugOwner;
                 if (CaravanInventoryUtility.TryGetThingOfDef(caravan, currentPolicy[i].drug, out drug, out drugOwner))
                 {
                     CaravanPawnsNeedsUtility.IngestDrug(pawn, drug, drugOwner, caravan);
                 }
             }
         }
     }
 }