Exemplo n.º 1
0
        private float GetAverageMedicalPotency(List <Thing> ingredients, Bill bill)
        {
            ThingDef thingDef = (bill as Bill_Medical)?.consumedInitialMedicineDef;
            int      num      = 0;
            float    num2     = 0f;

            if (thingDef != null)
            {
                num++;
                num2 += thingDef.GetStatValueAbstract(StatDefOf.MedicalPotency);
            }
            for (int i = 0; i < ingredients.Count; i++)
            {
                Medicine medicine = ingredients[i] as Medicine;
                if (medicine != null)
                {
                    num  += medicine.stackCount;
                    num2 += medicine.GetStatValue(StatDefOf.MedicalPotency) * (float)medicine.stackCount;
                }
            }
            if (num == 0)
            {
                return(1f);
            }
            return(num2 / (float)num);
        }
Exemplo n.º 2
0
        private static float GetMedicalPotency(Medicine medicine)
        {
            return(1f);

            //TODO: remove when the bug is fixed

            if (medicine == null)
            {
                return(1f);
            }

            //herbal: 0.6
            //regular: 1.0
            //glitterworld: 2.2
            return(medicine.GetStatValue(StatDefOf.MedicalPotency, true));
        }
        public void Stabilize(Pawn medic, Medicine medicine)
        {
            if (stabilized)
            {
                Log.Error("CE tried to stabilize an injury that is already stabilized before");
                return;
            }
            if (medicine == null)
            {
                Log.Error("CE tried to stabilize without medicine");
                return;
            }
            float bleedReduction = 2f * medic.GetStatValue(StatDefOf.MedicalTendQuality) * medicine.GetStatValue(StatDefOf.MedicalPotency);

            bleedModifier = 1 - bleedReduction; // Especially high treatment quality extends time at 0% bleed by setting bleedModifier to a negative number
            stabilized    = true;
        }