Exemple #1
0
        public FoodPoisoning()
        {
            // Describe treatment for each stage
            _initialStageTreatment     = new ConsumableTimedTreatment(DiseaseLevels.InitialStage, MedicalConsumablesGroup.LoperamideGroup);
            _progressingStageTreatment = new ConsumableTimedTreatment(DiseaseLevels.Progressing, MedicalConsumablesGroup.LoperamideGroup, 90, 2);
            _worryingStageTreatment    = new ConsumableTimedTreatmentNode(DiseaseLevels.Worrying,
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.LoperamideGroup, 90, 3),
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AntibioticGroup, 60, 3)
                                                                          );
            _criticalingStageTreatment = new ConsumableTimedTreatmentNode(DiseaseLevels.Critical,
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.LoperamideGroup, 90, 4),
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AntibioticGroup, 60, 4)
                                                                          );

            Name   = "FoodPoisoning";
            Stages = new List <DiseaseStage>(new[]
            {
                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.InitialStage)
                .SelfHealChance(5)
                .Vitals
                .WithTargetBodyTemperature(36.9f)
                .WillReachTargetsInHours(1)
                .AndLastForHours(3)
                .NoAdditionalEffects()
                .NoDisorders()
                .NoDrains()
                .Treatment
                .WithConsumable(_initialStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Progressing)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(37.2f)
                .WillReachTargetsInHours(1)
                .AndLastForHours(1).AndMinutes(35)
                .NoAdditionalEffects()
                .NoDisorders()
                .Drain
                .FatigueIncreasePerSecond(0.00005f)
                .Treatment
                .WithConsumable(_progressingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Worrying)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(37.9f)
                .WillReachTargetsInHours(2)
                .AndLastForHours(2).AndMinutes(30)
                .AdditionalEffects
                .Disorders
                .WithFoodDisgust()
                .NotDeadly()
                .Drain
                .WaterPerSecond(0.0025f)
                .FatigueIncreasePerSecond(0.0001f)
                .Treatment
                .WithConsumable(_worryingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Critical)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(38.6f)
                .WillReachTargetsInHours(2)
                .AndLastUntilEnd()
                .NoAdditionalEffects()
                .Disorders
                .WithFoodDisgust()
                .NotDeadly()
                .Drain
                .WaterPerSecond(0.01f)
                .FoodPerSecond(0.005f)
                .FatigueIncreasePerSecond(0.00035f)
                .Treatment
                .WithConsumable(_criticalingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build()
            });
        }
Exemple #2
0
        public Angina()
        {
            // Describe treatment for each stage
            _initialStageTreatment     = new ConsumableTimedTreatment(DiseaseLevels.InitialStage, MedicalConsumablesGroup.AcetaminophenGroup, 90, 2);
            _progressingStageTreatment = new ConsumableTimedTreatment(DiseaseLevels.Progressing, MedicalConsumablesGroup.AcetaminophenGroup, 60, 3);
            _worryingStageTreatment    = new ConsumableTimedTreatmentNode(DiseaseLevels.Worrying,
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AcetaminophenGroup, 60, 3),
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AntibioticGroup, 60, 3)
                                                                          );
            _criticalingStageTreatment = new ConsumableTimedTreatmentNode(DiseaseLevels.Critical,
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AcetaminophenGroup, 60, 4),
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AntibioticGroup, 60, 4)
                                                                          );

            Name   = "Angina";
            Stages = new List <DiseaseStage> (new []
            {
                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.InitialStage)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(38.0f)
                .WillReachTargetsInHours(2)
                .AndLastForHours(3)
                .AdditionalEffects
                .WithLowChanceOfCough()
                .NoDisorders()
                .Drain
                .FatigueIncreasePerSecond(0.0015f)
                .Treatment
                .WithConsumable(_initialStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Progressing)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(38.9f)
                .WillReachTargetsInHours(2)
                .AndLastForHours(4).AndMinutes(40)
                .AdditionalEffects
                .WithMediumChanceOfCough()
                .NoDisorders()
                .Drain
                .FatigueIncreasePerSecond(0.025f)
                .Treatment
                .WithConsumable(_progressingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Worrying)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(39.1f)
                .WithTargetBloodPressure(182, 120)
                .WithTargetHeartRate(92)
                .WillReachTargetsInHours(1)
                .AndLastForHours(4).AndMinutes(30)
                .AdditionalEffects
                .WithHighChanceOfCough()
                .WithLowChanceOfDizziness()
                .Disorders
                .WithFoodDisgust()
                .NotDeadly()
                .Drain
                .FoodPerSecond(0.007f)
                .WaterPerSecond(0.005f)
                .FatigueIncreasePerSecond(0.0035f)
                .Treatment
                .WithConsumable(_worryingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Critical)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(41.1f)
                .WithTargetBloodPressure(203, 180)
                .WithTargetHeartRate(130)
                .WillReachTargetsInHours(2)
                .AndLastUntilEnd()
                .AdditionalEffects
                .WithHighChanceOfCough()
                .WithHighChanceOfDizziness()
                .WithMediumChanceOfBlackouts()
                .Disorders
                .WithFoodDisgust()
                .WithSleepDisorder()
                .WillNotBeAbleToRun()
                .NotDeadly()
                .Drain
                .FoodPerSecond(0.05f)
                .WaterPerSecond(0.015f)
                .FatigueIncreasePerSecond(0.0042f)
                .Treatment
                .WithConsumable(_criticalingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build()
            });
        }
Exemple #3
0
        public Flu()
        {
            // Describe treatment for each stage
            _initialStageTreatment     = new ConsumableTimedTreatment(DiseaseLevels.InitialStage, MedicalConsumablesGroup.OseltamivirGroup);
            _progressingStageTreatment = new ConsumableTimedTreatment(DiseaseLevels.Progressing, MedicalConsumablesGroup.OseltamivirGroup, 60, 3);
            _worryingStageTreatment    = new ConsumableTimedTreatmentNode(DiseaseLevels.Worrying,
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.OseltamivirGroup, 90, 3),
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AntibioticGroup, 90, 3)
                                                                          );
            _criticalingStageTreatment = new ConsumableTimedTreatmentNode(DiseaseLevels.Critical,
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.OseltamivirGroup, 90, 4),
                                                                          new ConsumableTimedTreatment(MedicalConsumablesGroup.AntibioticGroup, 90, 4)
                                                                          );

            Name   = "Flu";
            Stages = new List <DiseaseStage>(new[]
            {
                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.InitialStage)
                .SelfHealChance(20)
                .Vitals
                .WithTargetBodyTemperature(37.1f)
                .WillReachTargetsInHours(1)
                .AndLastForHours(3)
                .AdditionalEffects
                .WithLowChanceOfSneeze()
                .NoDisorders()
                .NoDrains()
                .Treatment
                .WithConsumable(_initialStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Progressing)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(37.9f)
                .WillReachTargetsInHours(2)
                .AndLastForHours(2).AndMinutes(35)
                .AdditionalEffects
                .WithMediumChanceOfSneeze()
                .WithLowChanceOfCough()
                .NoDisorders()
                .Drain
                .FatigueIncreasePerSecond(0.0001f)
                .Treatment
                .WithConsumable(_progressingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Worrying)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(38.7f)
                .WillReachTargetsInHours(2)
                .AndLastForHours(4).AndMinutes(30)
                .AdditionalEffects
                .WithHighChanceOfSneeze()
                .WithMediumChanceOfCough()
                .WithLowChanceOfDizziness()
                .NoDisorders()
                .Drain
                .WaterPerSecond(0.005f)
                .FatigueIncreasePerSecond(0.0002f)
                .Treatment
                .WithConsumable(_worryingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build(),

                StageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Critical)
                .NoSelfHeal()
                .Vitals
                .WithTargetBodyTemperature(41.2f)
                .WillReachTargetsInHours(2)
                .AndLastUntilEnd()
                .AdditionalEffects
                .WithHighChanceOfCough()
                .WithMediumChanceOfDizziness()
                .WithLowChanceOfBlackouts()
                .Disorders
                .WillNotBeAbleToRun()
                .NotDeadly()
                .Drain
                .WaterPerSecond(0.01f)
                .FoodPerSecond(0.005f)
                .FatigueIncreasePerSecond(0.00035f)
                .Treatment
                .WithConsumable(_criticalingStageTreatment.OnItemConsumed)
                .AndWithoutSpecialItems()
                .Build()
            });
        }