[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly INetManager _netMan = default!;
+ [Dependency] private readonly SharedTransformSystem _transform = default!;
private void InitializeEquip()
{
}
}
- if (force)
- {
- slotContainer.ForceRemove(removedItem.Value);
- }
- else
- {
- if (!slotContainer.Remove(removedItem.Value))
- {
- //should never happen bc of the canremove lets just keep in just in case
- return false;
- }
- }
+ if (!slotContainer.Remove(removedItem.Value, force: force))
+ return false;
- Transform(removedItem.Value).Coordinates = Transform(target).Coordinates;
+ _transform.DropNextTo(removedItem.Value, target);
if (!silent && Resolve(removedItem.Value, ref clothing, false) && clothing.UnequipSound != null && _gameTiming.IsFirstTimePredicted)
{
SoundSystem.Play(clothing.UnequipSound.GetSound(), filter, target, clothing.UnequipSound.Params.WithVolume(-2f));
}
- inventory.Dirty();
-
+ Dirty(target, inventory);
_movementSpeed.RefreshMovementSpeedModifiers(target);
return true;