diff --git a/Content.Shared/Body/Part/BodyPartComponent.cs b/Content.Shared/Body/Part/BodyPartComponent.cs index 3660fc2eef9..46ce34103d2 100644 --- a/Content.Shared/Body/Part/BodyPartComponent.cs +++ b/Content.Shared/Body/Part/BodyPartComponent.cs @@ -120,7 +120,7 @@ public sealed partial class BodyPartComponent : Component, ISurgeryToolComponent /// to make possible severing it. /// [DataField, AutoNetworkedField] - public float SeverIntegrity = 90; + public float SeverIntegrity = 80; // Corvax-Next-Surgery flavor damage /// /// On what TargetIntegrity we should re-enable the part. @@ -131,11 +131,11 @@ public sealed partial class BodyPartComponent : Component, ISurgeryToolComponent [DataField, AutoNetworkedField] public Dictionary IntegrityThresholds = new() { - { TargetIntegrity.CriticallyWounded, 90 }, - { TargetIntegrity.HeavilyWounded, 75 }, - { TargetIntegrity.ModeratelyWounded, 60 }, - { TargetIntegrity.SomewhatWounded, 40}, - { TargetIntegrity.LightlyWounded, 20 }, + { TargetIntegrity.CriticallyWounded, 70 }, // Corvax-Next-Surgery flavor damage + { TargetIntegrity.HeavilyWounded, 60 }, // Corvax-Next-Surgery flavor damage + { TargetIntegrity.ModeratelyWounded, 45 }, // Corvax-Next-Surgery flavor damage + { TargetIntegrity.SomewhatWounded, 30}, // Corvax-Next-Surgery flavor damage + { TargetIntegrity.LightlyWounded, 15 }, // Corvax-Next-Surgery flavor damage { TargetIntegrity.Healthy, 10 }, }; // end-_CorvaxNext: surgery diff --git a/Content.Shared/Body/Systems/SharedBodySystem.Body.cs b/Content.Shared/Body/Systems/SharedBodySystem.Body.cs index b94a436d780..2a23f0c667b 100644 --- a/Content.Shared/Body/Systems/SharedBodySystem.Body.cs +++ b/Content.Shared/Body/Systems/SharedBodySystem.Body.cs @@ -397,20 +397,16 @@ public virtual HashSet GibPart( RemovePartChildren((partId, part), bodyEnt); - _gibbingSystem.TryGibEntityWithRef(partId, - partId, - GibType.Gib, - GibContentsOption.Drop, - ref gibs, - playAudio: true, - launchGibs: true, - launchDirection: splatDirection, - launchImpulse: GibletLaunchImpulse * splatModifier, - launchImpulseVariance: GibletLaunchImpulseVariance, - launchCone: splatCone); + // We have to iterate though every organ to drop it when part is being destroyed + foreach (var organ in GetPartOrgans(partId, part)) + { + _gibbingSystem.TryGibEntityWithRef(bodyEnt, organ.Id, GibType.Drop, GibContentsOption.Skip, + ref gibs, playAudio: false, launchImpulse: GibletLaunchImpulse * splatModifier, + launchImpulseVariance: GibletLaunchImpulseVariance, launchCone: splatCone); + } } -// Corvax-Next-Surgery + // Corvax-Next-Surgery _gibbingSystem.TryGibEntityWithRef(partId, partId, GibType.Gib, GibContentsOption.Drop, ref gibs, playAudio: true, launchGibs: true, launchDirection: splatDirection, launchImpulse: GibletLaunchImpulse * splatModifier, launchImpulseVariance: GibletLaunchImpulseVariance, launchCone: splatCone); diff --git a/Resources/Prototypes/Body/Parts/base.yml b/Resources/Prototypes/Body/Parts/base.yml index 8c1577924d6..f2b9e5b76be 100644 --- a/Resources/Prototypes/Body/Parts/base.yml +++ b/Resources/Prototypes/Body/Parts/base.yml @@ -30,19 +30,19 @@ - trigger: !type:DamageTypeTrigger damageType: Blunt - damage: 150 # was 75 . TODO gettin dissapear if lower than dettach health + damage: 75 behaviors: - !type:GibPartBehavior { } - trigger: !type:DamageTypeTrigger damageType: Slash - damage: 200 # was 100 . TODO gettin dissapear if lower than dettach health + damage: 100 behaviors: - !type:GibPartBehavior { } - trigger: !type:DamageTypeTrigger damageType: Heat - damage: 400 # was 200 . TODO gettin dissapear if lower than dettach health + damage: 200 behaviors: - !type:SpawnEntitiesBehavior spawnInContainer: true