From 57639943a001df6d023c76335c5be36b7630e7f8 Mon Sep 17 00:00:00 2001 From: EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com> Date: Thu, 26 May 2022 21:18:57 -0400 Subject: [PATCH] OnTriggerCollide Bug fix (#8467) * ez gg dubskis * meteor * Update meteors.yml --- .../Explosion/Components/TriggerOnCollideComponent.cs | 2 ++ Content.Server/Explosion/EntitySystems/TriggerSystem.cs | 3 ++- .../Entities/Objects/Weapons/Guns/Projectiles/meteors.yml | 2 ++ .../Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) 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: