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() }); }
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() }); }
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() }); }