diff --git a/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs b/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs index 0f793a0e2c..bb5b3b6020 100644 --- a/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs +++ b/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs @@ -3,5 +3,7 @@ namespace Content.Server.Explosion.Components [RegisterComponent] public sealed class TriggerOnCollideComponent : Component { + [DataField("fixtureID", required: true)] + public string FixtureID = String.Empty; } } diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.cs index 7fe01ba526..dafc127ac7 100644 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.cs +++ b/Content.Server/Explosion/EntitySystems/TriggerSystem.cs @@ -72,7 +72,8 @@ namespace Content.Server.Explosion.EntitySystems private void OnTriggerCollide(EntityUid uid, TriggerOnCollideComponent component, StartCollideEvent args) { - Trigger(component.Owner); + if(args.OurFixture.ID == component.FixtureID) + Trigger(component.Owner); } diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml index b139781482..a611750c84 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml @@ -14,6 +14,7 @@ - type: ExplodeOnTrigger - type: DeleteOnTrigger - type: TriggerOnCollide + fixtureID: projectile - type: Projectile damage: {} deleteOnCollide: false @@ -32,6 +33,7 @@ radius: 0.8 mass: 200 hard: true + id: projectile # Didn't use MapGrid for now as the bounds are stuffed. layer: - LargeMobLayer diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 60bea83152..c648580522 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -39,6 +39,7 @@ noSpawn: true components: - type: TriggerOnCollide + fixtureID: projectile - type: Projectile damage: types: