MultiHandedItemSystem.cs 784 B

123456789101112131415161718192021222324
  1. using Content.Server.Hands.Systems;
  2. using Content.Server.Inventory;
  3. using Content.Shared.Hands;
  4. using Content.Shared.Item;
  5. namespace Content.Server.Item;
  6. public sealed class MultiHandedItemSystem : SharedMultiHandedItemSystem
  7. {
  8. [Dependency] private readonly VirtualItemSystem _virtualItem = default!;
  9. protected override void OnEquipped(EntityUid uid, MultiHandedItemComponent component, GotEquippedHandEvent args)
  10. {
  11. for (var i = 0; i < component.HandsNeeded - 1; i++)
  12. {
  13. _virtualItem.TrySpawnVirtualItemInHand(uid, args.User);
  14. }
  15. }
  16. protected override void OnUnequipped(EntityUid uid, MultiHandedItemComponent component, GotUnequippedHandEvent args)
  17. {
  18. _virtualItem.DeleteInHandsMatching(args.User, uid);
  19. }
  20. }