public abstract partial class SharedGunSystem
{
[Dependency] private readonly SharedDoAfterSystem _doAfter = default!;
+ [Dependency] private readonly SharedInteractionSystem _interaction = default!;
protected virtual void InitializeBallistic()
void SimulateInsertAmmo(EntityUid ammo, EntityUid ammoProvider, EntityCoordinates coordinates)
{
- var evInsert = new InteractUsingEvent(args.User, ammo, ammoProvider, coordinates);
- RaiseLocalEvent(ammoProvider, evInsert);
+ // We call SharedInteractionSystem to raise contact events. Checks are already done by this point.
+ _interaction.InteractUsing(args.User, ammo, ammoProvider, coordinates, checkCanInteract: false, checkCanUse: false);
}
List<(EntityUid? Entity, IShootable Shootable)> ammo = new();