// Token: 0x06000071 RID: 113 RVA: 0x000046F8 File Offset: 0x000028F8
        public static Toil FinalizeTend(Pawn patient)
        {
            Toil toil = new Toil();

            toil.initAction = delegate()
            {
                Pawn     actor    = toil.actor;
                Medicine medicine = (Medicine)actor.jobs.curJob.targetB.Thing;
                float    num      = (!patient.RaceProps.Animal) ? 500f : 175f;
                TendUtility.DoTend(actor, patient, medicine);
                bool flag = medicine != null && medicine.Destroyed;
                if (flag)
                {
                    actor.CurJob.SetTarget(TargetIndex.B, LocalTargetInfo.Invalid);
                }
            };
            toil.defaultCompleteMode = ToilCompleteMode.Instant;
            return(toil);
        }
        public static Toil FinalizeTend(Pawn patient)
        {
            Toil toil = new Toil();

            toil.initAction = delegate
            {
                Pawn     actor    = toil.actor;
                Medicine medicine = (Medicine)actor.jobs.curJob.targetB.Thing;
                float    num      = (float)((!patient.RaceProps.Animal) ? 500.0 : 175.0);
                float    num2     = (float)((medicine != null) ? medicine.def.MedicineTendXpGainFactor : 0.5);
                actor.skills.Learn(SkillDefOf.Medicine, num * num2, false);
                TendUtility.DoTend(actor, patient, medicine);
                if (medicine != null && medicine.Destroyed)
                {
                    actor.CurJob.SetTarget(TargetIndex.B, LocalTargetInfo.Invalid);
                }
            };
            toil.defaultCompleteMode = ToilCompleteMode.Instant;
            return(toil);
        }
Example #3
0
        public static Toil FinalizeTend(Pawn patient)
        {
            Toil toil = new Toil();

            toil.initAction = delegate
            {
                Pawn     actor    = toil.actor;
                Medicine medicine = (Medicine)actor.CurJob.targetB.Thing;
                float    num      = patient.RaceProps.Animal ? 175f : 500f;
                float    num2     = medicine?.def.MedicineTendXpGainFactor ?? 0.5f;
                actor.skills.Learn(SkillDefOf.Medicine, num * num2);
                TendUtility.DoTend(actor, patient, medicine);
                if (medicine != null && medicine.Destroyed)
                {
                    actor.CurJob.SetTarget(TargetIndex.B, LocalTargetInfo.Invalid);
                }
                if (toil.actor.CurJob.endAfterTendedOnce)
                {
                    actor.jobs.EndCurrentJob(JobCondition.Succeeded);
                }
            };
            toil.defaultCompleteMode = ToilCompleteMode.Instant;
            return(toil);
        }