@@ -1,7 +1,5 @@
|
||||
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;
|
||||
@@ -13,20 +11,20 @@ public sealed partial class GatherableSystem
|
||||
SubscribeLocalEvent<GatheringProjectileComponent, StartCollideEvent>(OnProjectileCollide);
|
||||
}
|
||||
|
||||
private void OnProjectileCollide(EntityUid uid, GatheringProjectileComponent component, ref StartCollideEvent args)
|
||||
private void OnProjectileCollide(Entity<GatheringProjectileComponent> gathering, ref StartCollideEvent args)
|
||||
{
|
||||
if (!args.OtherFixture.Hard ||
|
||||
args.OurFixtureId != SharedProjectileSystem.ProjectileFixture ||
|
||||
component.Amount <= 0 ||
|
||||
gathering.Comp.Amount <= 0 ||
|
||||
!TryComp<GatherableComponent>(args.OtherEntity, out var gatherable))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Gather(args.OtherEntity, uid, gatherable);
|
||||
component.Amount--;
|
||||
Gather(args.OtherEntity, gathering, gatherable);
|
||||
gathering.Comp.Amount--;
|
||||
|
||||
if (component.Amount <= 0)
|
||||
QueueDel(uid);
|
||||
if (gathering.Comp.Amount <= 0)
|
||||
QueueDel(gathering);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user