using Content.Shared.Throwing;
using Content.Shared.Whitelist;
using Robust.Shared.Audio.Systems;
+using Robust.Shared.Physics;
using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Events;
using Robust.Shared.Physics.Systems;
[Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly EntityWhitelistSystem _entityWhitelist = default!;
+ [Dependency] private readonly SharedPhysicsSystem _physics = default!;
[Dependency] private readonly StandingStateSystem _standingState = default!;
[Dependency] private readonly StatusEffectsSystem _statusEffect = default!;
private void OnStunOnContactStartup(Entity<StunOnContactComponent> ent, ref ComponentStartup args)
{
- if (TryComp<PhysicsComponent>(ent, out var body))
- _broadphase.RegenerateContacts((ent, body));
+ if (!TryComp<PhysicsComponent>(ent, out var body) ||
+ !TryComp<FixturesComponent>(ent, out var manager))
+ return;
+
+ _physics.SetBodyType(ent, BodyType.Dynamic, manager: manager, body: body);
+ _physics.SetCanCollide(ent, true, manager: manager, body: body);
+ _broadphase.RegenerateContacts((ent, body));
}
private void OnStunOnContactCollide(Entity<StunOnContactComponent> ent, ref StartCollideEvent args)