Allow PKA to gather (#16250)
This commit is contained in:
28
Content.Server/Gatherable/GatherableSystem.Projectile.cs
Normal file
28
Content.Server/Gatherable/GatherableSystem.Projectile.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using Content.Server.Gatherable.Components;
|
||||
using Content.Server.Projectiles;
|
||||
using Content.Shared.Projectiles;
|
||||
using Content.Shared.Weapons.Ranged.Systems;
|
||||
using Robust.Shared.Physics.Events;
|
||||
|
||||
namespace Content.Server.Gatherable;
|
||||
|
||||
public sealed partial class GatherableSystem
|
||||
{
|
||||
private void InitializeProjectile()
|
||||
{
|
||||
SubscribeLocalEvent<GatheringProjectileComponent, StartCollideEvent>(OnProjectileCollide);
|
||||
}
|
||||
|
||||
private void OnProjectileCollide(EntityUid uid, GatheringProjectileComponent component, ref StartCollideEvent args)
|
||||
{
|
||||
if (!args.OtherFixture.Hard ||
|
||||
args.OurFixture.ID != SharedProjectileSystem.ProjectileFixture ||
|
||||
!TryComp<GatherableComponent>(args.OtherEntity, out var gatherable))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Gather(args.OtherEntity, uid, gatherable);
|
||||
QueueDel(uid);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user