예제 #1
0
파일: DeepCut.cs 프로젝트: unitycoder/zara
        public DeepCut()
        {
            var initialStageTreatment     = new ToolsOnlyInjuryTreatment(MedicalAppliancesGroup.AntisepticGroup, InventoryController.MedicalItems.Bandage);
            var progressingStageTreatment = new ToolsOnlyInjuryTreatment(MedicalAppliancesGroup.AntisepticGroup, InventoryController.MedicalItems.Bandage);
            var worryingStageTreatment    = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.SuctionPump, MedicalAppliancesGroup.AntisepticGroup, InventoryController.MedicalItems.Bandage);

            Name   = "Deep Cut";
            Stages = new[]
            {
                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.InitialStage)
                .NoDescription()
                .Cut()
                .WillLastForHours(3)
                .NoSelfHeal()
                .Drains
                .BloodPerSecond(0.002f)
                .WillNotAffectControls()
                .Treatment
                .WithTreatmentAction(initialStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Progressing)
                .NoDescription()
                .Cut()
                .WillLastForHours(3)
                .NoSelfHeal()
                .Drains
                .BloodPerSecond(0.002f)
                .WillNotAffectControls()
                .Treatment
                .WithTreatmentAction(progressingStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Worrying)
                .NoDescription()
                .Cut()
                .WillLastForever()
                .TriggersDisease <BloodPoisoning>(35)
                .Drains
                .BloodPerSecond(0.0024f)
                .WillNotAffectControls()
                .Treatment
                .WithTreatmentAction(worryingStageTreatment.OnApplianceTaken)

                .Build()
            };
        }
예제 #2
0
        public Fracture()
        {
            _progressingStageTreatment = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.BioactiveHydrogel, InventoryController.MedicalItems.Bandage, InventoryController.MedicalItems.Splint);
            _worryingStageTreatment    = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.BioactiveHydrogel, InventoryController.MedicalItems.Bandage, InventoryController.MedicalItems.Splint);
            _criticalStageTreatment    = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.BioactiveHydrogel, InventoryController.MedicalItems.DoripenemSyringe, InventoryController.MedicalItems.Bandage, InventoryController.MedicalItems.Splint);

            Name   = "Fracture";
            Stages = new[]
            {
                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Progressing)
                .NoDescription()
                .ClosedFracture()
                .WillLastForHours(1)
                .NoSelfHeal()
                .NoDrains()
                .WillNotBeAbleToRun()
                .NoSpeedImpact()
                .Treatment
                .WithTreatmentAction(_progressingStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Worrying)
                .NoDescription()
                .ClosedFracture()
                .WillLastForHours(1)
                .NoSelfHeal()
                .NoDrains()
                .WillNotBeAbleToRun()
                .NoSpeedImpact()
                .Treatment
                .WithTreatmentAction(_worryingStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Critical)
                .NoDescription()
                .ClosedFracture()
                .WillLastForever()
                .TriggersDisease <BloodPoisoning>(10)
                .NoDrains()
                .WillNotBeAbleToRun()
                .NoSpeedImpact()
                .Treatment
                .WithTreatmentAction(_criticalStageTreatment.OnApplianceTaken)
                .Build()
            };
        }
예제 #3
0
        public MediumCut()
        {
            _initialStageTreatment     = new ToolsOnlyInjuryTreatment(MedicalAppliancesGroup.AntisepticGroup, InventoryController.MedicalItems.Bandage);
            _progressingStageTreatment = new ToolsOnlyInjuryTreatment(MedicalAppliancesGroup.AntisepticGroup, InventoryController.MedicalItems.Bandage);
            _worryingStageTreatment    = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.SuctionPump, MedicalAppliancesGroup.AntisepticGroup, InventoryController.MedicalItems.Bandage);

            Name   = "Medium Cut";
            Stages = new[]
            {
                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.InitialStage)
                .NoDescription()
                .Cut()
                .WillLastForHours(4)
                .NoSelfHeal()
                .Drains
                .BloodPerSecond(0.0015f)
                .WillNotAffectControls()
                .Treatment
                .WithTreatmentAction(_initialStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Progressing)
                .NoDescription()
                .Cut()
                .WillLastForHours(4)
                .NoSelfHeal()
                .Drains
                .BloodPerSecond(0.0018f)
                .WillNotAffectControls()
                .Treatment
                .WithTreatmentAction(_progressingStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.InitialStage)
                .NoDescription()
                .Cut()
                .WillLastForHours(400)
                .NoSelfHeal()
                .Drains
                .BloodPerSecond(0.001f)
                .WillNotAffectControls()
                .Treatment
                .WithTreatmentAction(_worryingStageTreatment.OnApplianceTaken)
                .Build()
            };
        }
예제 #4
0
        public OpenFracture()
        {
            var worryingStageTreatment = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.BioactiveHydrogel, InventoryController.MedicalItems.DoripenemSyringe, InventoryController.MedicalItems.Bandage, InventoryController.MedicalItems.Splint);
            var criticalStageTreatment = new ToolsOnlyInjuryTreatment(InventoryController.MedicalItems.BioactiveHydrogel, InventoryController.MedicalItems.DoripenemSyringe, InventoryController.MedicalItems.Bandage, InventoryController.MedicalItems.Splint);

            Name   = "Open Fracture";
            Stages = new[]
            {
                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Worrying)
                .NoDescription()
                .OpenFracture()
                .WillLastForHours(1)
                .NoSelfHeal()
                .Drains
                .BloodPerSecond(0.001f)
                .WillAffectControls()
                .WillNotBeAbleToRun()
                .NoSpeedImpact()
                .Treatment
                .WithTreatmentAction(worryingStageTreatment.OnApplianceTaken)
                .Build(),

                InjuryStageBuilder.NewStage().WithLevelOfSeriousness(DiseaseLevels.Critical)
                .NoDescription()
                .OpenFracture()
                .WillLastForever()
                .TriggersDisease <BloodPoisoning>(35)
                .Drains
                .BloodPerSecond(0.001f)
                .WillAffectControls()
                .WillNotBeAbleToRun()
                .NoSpeedImpact()
                .Treatment
                .WithTreatmentAction(criticalStageTreatment.OnApplianceTaken)
                .Build()
            };
        }