- type: entity
  name: wirecutter
  parent: BaseItem
  id: Wirecutter
  description: This kills the wire.
  components:
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Goobstation/Items/handling/wirecutter_pickup.ogg
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/Items/wirecutter_drop.ogg
  # Goobstation edit end
  - type: EmitSoundOnLand
    sound:
      path: /Audio/Items/wirecutter_drop.ogg
  - type: Tag
    tags:
    - PlantSampleTaker
    - Wirecutter
  - type: Sprite
    sprite: Objects/Tools/wirecutters.rsi
    layers:
    - state: cutters
      map: [ "enum.DamageStateVisualLayers.Base" ]
    - state: cutters-cutty-thingy
  - type: MeleeWeapon
    wideAnimationRotation: -90
    damage:
      types:
        Piercing: 8
    attackRate: 2 #open and close that shit on their arm like hell! because you sure aren't doing any damage with this
    soundHit:
      path: "/Audio/Items/wirecutter.ogg"
  - type: Tool
    qualities:
    - Cutting
    useSound:
      path: /Audio/Items/wirecutter.ogg
  - type: RandomSprite
    available:
    - enum.DamageStateVisualLayers.Base:
        cutters: Rainbow
  - type: Item
    sprite: Objects/Tools/wirecutters.rsi
    storedRotation: -90
  - type: ToolTileCompatible
  - type: PhysicalComposition
    materialComposition:
      Steel: 100
  - type: StaticPrice
    price: 15 # Frontier 30<15
  - type: Retractor # Shitmed
    speed: 0.35
  - type: Hemostat # Shitmed
    speed: 0.6
  - type: SurgeryTool # Shitmed
    startSound:
      path: /Audio/Items/wirecutter.ogg
      params:
        variation: 0.125
    endSound:
      path: /Audio/Items/wirecutter.ogg
      params:
        variation: 0.125

- type: entity
  name: screwdriver
  parent: BaseItem
  id: Screwdriver
  description: Industrial grade torque in a small screwdriving package.
  components:
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Goobstation/Items/handling/screwdriver_pickup.ogg
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/Items/screwdriver_drop.ogg
  # Goobstation edit end
  - type: EmitSoundOnLand
    sound:
      path: /Audio/Items/screwdriver_drop.ogg
  - type: Tag
    tags:
    - Screwdriver
  - type: Sprite
    sprite: Objects/Tools/screwdriver.rsi
    layers:
    - state: screwdriver
      map: [ "enum.DamageStateVisualLayers.Base" ]
    - state: screwdriver-screwybits
  - type: Item
    sprite: Objects/Tools/screwdriver.rsi
    storedRotation: -90
  - type: MeleeWeapon
    wideAnimationRotation: -90
    attackRate: 1.2
    damage:
      types:
        Piercing: 10
    soundHit:
      path: "/Audio/Weapons/bladeslice.ogg"
  - type: Tool
    qualities:
    - Screwing
    useSound:
      collection: Screwdriver
  - type: RandomSprite
    available:
    - enum.DamageStateVisualLayers.Base:
        screwdriver: Rainbow
  - type: PhysicalComposition
    materialComposition:
      Steel: 100
  - type: StaticPrice
    price: 15 # Frontier 30<15
  - type: Retractor # Shitmed
    speed: 0.45
  - type: Tending # Shitmed
    speed: 0.65
  - type: SurgeryTool # Shitmed
    startSound:
      collection: Screwdriver
    endSound:
      path: /Audio/_Shitmed/Medical/Surgery/retractor2.ogg

- type: entity
  name: wrench
  parent: BaseItem
  id: Wrench
  description: 'A common tool for assembly and disassembly. Remember: lefty latchy, righty removey.'
  components:
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Goobstation/Items/handling/wrench_pickup.ogg
      params:
        volume: -2
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/Items/wrench_drop.ogg
      params:
        volume: -2
  # Goobstation edit end
  - type: EmitSoundOnLand
    sound:
      path: /Audio/Items/wrench_drop.ogg
  - type: Tag
    tags:
    - Wrench
  - type: Sprite
    sprite: _NF/Objects/Tools/wrench.rsi # Frontier: separate sprites (add _NF folder)
    state: icon
  - type: Item
    sprite: _NF/Objects/Tools/wrench.rsi # Frontier: separate sprites (add _NF folder)
    storedSprite:
      sprite: _NF/Objects/Tools/wrench.rsi # Frontier: separate sprites (add _NF folder)
      state: storage
  - type: MeleeWeapon
    wideAnimationRotation: 135
    attackRate: 1.5
    damage:
      types:
        Blunt: 12
    soundHit:
      collection: MetalThud
  - type: Tool
    qualities:
    - Anchoring
    useSound:
      path: /Audio/Items/ratchet.ogg
  - type: PhysicalComposition
    materialComposition:
      Steel: 100
  - type: StaticPrice
    price: 11 # Frontier 22<11
  - type: GuideHelp
    guides:
    - Construction

- type: entity
  name: multitool
  parent: BaseItem
  id: Multitool
  description: An advanced tool to copy, store, and send electrical pulses and signals through wires and machines.
  components:
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Goobstation/Items/handling/multitool_pickup.ogg
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/Items/multitool_drop.ogg
  # Goobstation edit end
  - type: EmitSoundOnLand
    sound:
      path: /Audio/Items/multitool_drop.ogg
  - type: Sprite
    sprite: _NF/Objects/Tools/multitool.rsi # Frontier: separate sprites (add _NF folder)
    layers:
    - state: icon
    - state: green-unlit
      shader: unshaded
  - type: Item
    size: Small
  - type: Clothing
    sprite: _NF/Objects/Tools/multitool.rsi # Frontier: separate sprites (add _NF folder)
    quickEquip: false
    slots:
    - Belt
  - type: Tool
    qualities:
    - Pulsing
  - type: NetworkConfigurator
  - type: ActivatableUI
    key: enum.NetworkConfiguratorUiKey.List
    inHandsOnly: true
  - type: UserInterface
    interfaces:
      enum.NetworkConfiguratorUiKey.List:
        type: NetworkConfiguratorBoundUserInterface
      enum.NetworkConfiguratorUiKey.Configure:
        type: NetworkConfiguratorBoundUserInterface
      enum.NetworkConfiguratorUiKey.Link:
        type: NetworkConfiguratorBoundUserInterface
  - type: Tag
    tags:
    - Multitool
    - DoorElectronicsConfigurator
  - type: PhysicalComposition
    materialComposition:
      Steel: 100
      Plastic: 100
  - type: StaticPrice
    price: 28 # Frontier 56<28
  - type: GuideHelp
    guides:
    - Networking
    - WirePanels
    - Airlocks
    - InspectingPower

- type: entity
  name: network configurator
  parent: BaseItem
  id: NetworkConfigurator
  description: A tool for linking devices together. Has two modes, a list mode for mass linking devices and a linking mode for advanced device linking.
  components:
  - type: EmitSoundOnLand
    sound:
      path: /Audio/Items/multitool_drop.ogg
  - type: Sprite
    sprite: Objects/Tools/network_configurator.rsi
    layers:
    - state: icon
    - state: mode-link
      map: ["enum.NetworkConfiguratorLayers.ModeLight"]
      shader: unshaded
  - type: Item
    size: Small
  - type: Clothing
    sprite: Objects/Tools/network_configurator.rsi
    quickEquip: false
    slots:
    - Belt
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.NetworkConfiguratorVisuals.Mode:
        enum.NetworkConfiguratorLayers.ModeLight:
          True: { state: mode-link }
          False: { state: mode-list }
  - type: NetworkConfigurator
  - type: ActivatableUI
    key: enum.NetworkConfiguratorUiKey.List
    inHandsOnly: true
  - type: Tag
    tags:
    - DoorElectronicsConfigurator
  - type: UserInterface
    interfaces:
      enum.NetworkConfiguratorUiKey.List:
        type: NetworkConfiguratorBoundUserInterface
      enum.NetworkConfiguratorUiKey.Configure:
        type: NetworkConfiguratorBoundUserInterface
      enum.NetworkConfiguratorUiKey.Link:
        type: NetworkConfiguratorBoundUserInterface
  - type: StaticPrice
    price: 28 # Frontier 56<28
  - type: GuideHelp
    guides:
    - Networking

#Power tools
#Later on these should switch probably switch damage when changing the tool behavior.
- type: entity
  name: power drill
  parent: BaseItem
  id: PowerDrill
  description: A simple powered hand drill.
  components:
  - type: Tag
    tags:
    - Powerdrill
  - type: Sprite
    sprite: Objects/Tools/drill.rsi
    state: drill_screw
  - type: Item
    sprite: Objects/Tools/drill.rsi
    size: Small
  - type: Tool
    qualities:
    - Screwing
    speedModifier: 1.5
    useSound: /Audio/Items/drill_use.ogg
  - type: MultipleTool
    statusShowBehavior: true
    entries:
    - behavior: Screwing
      sprite:
        sprite: Objects/Tools/drill.rsi
        state: drill_screw
      useSound:
        path: /Audio/Items/drill_use.ogg
      changeSound:
        path: /Audio/Items/change_drill.ogg
    - behavior: Anchoring
      sprite:
        sprite: Objects/Tools/drill.rsi
        state: drill_bolt
      useSound:
        path: /Audio/Items/drill_use.ogg
      changeSound:
        path: /Audio/Items/change_drill.ogg
  - type: PhysicalComposition
    materialComposition:
      Steel: 300
      Plastic: 100
  - type: StaticPrice
    price: 50 # Frontier 100<50
  - type: MeleeWeapon
    wideAnimationRotation: -90
    attackRate: 1.5
    damage:
      types:
        Piercing: 15
    soundHit:
      path: "/Audio/Items/drill_hit.ogg"

- type: entity
  id: RCD
  parent: BaseItem
  name: RCD
  description: The rapid construction device can be used to quickly place and remove various structures and fixtures. Requires compressed matter to function. Does not require swiping an ID to work.
  components:
  - type: RCD
    availablePrototypes:
    - WallSolid
    - FloorSteel
    - Plating
    - Catwalk
    - Grille
    - Window
    - WindowDirectional
    - WindowReinforcedDirectional
    - ReinforcedWindow
    - Airlock
    - AirlockGlass
    - Firelock
    - TubeLight
    - BulbLight
    - LVCable
    - MVCable
    - HVCable
    - CableTerminal
    - Deconstruct
  - type: LimitedCharges
    maxCharges: 30
    charges: 30
  - type: Sprite
    sprite: _NF/Objects/Tools/rcd.rsi # Frontier
    state: icon
  - type: Item
    size: Normal
  - type: Clothing
    sprite: _NF/Objects/Tools/rcd.rsi # Frontier
    quickEquip: false
    slots:
    - Belt
  - type: PhysicalComposition
    materialComposition:
      Steel: 600
      Plastic: 100
  - type: StaticPrice
    price: 55 # Frontier 110<55
    vendPrice: 5000 # Frontier
  - type: UserInterface
    interfaces:
      enum.RcdUiKey.Key:
        type: RCDMenuBoundUserInterface
  - type: ActivatableUI
    inHandsOnly: true
    key: enum.RcdUiKey.Key

- type: entity
  id: RCDEmpty
  parent: RCD
  suffix: Empty
  components:
  - type: LimitedCharges
    charges: 0

- type: entity
  id: RCDRecharging
  parent: RCD
  name: experimental RCD
  description: A bluespace-enhanced rapid construction device that passively generates its own compressed matter.
  suffix: AutoRecharge
  components:
  - type: LimitedCharges
    maxCharges: 20
    charges: 20
  - type: AutoRecharge
    rechargeDuration: 10

- type: entity
  id: RCDExperimental
  parent: RCD
  suffix: Admeme
  name: experimental RCD
  description: A bluespace-enhanced rapid construction device that passively generates its own compressed matter.
  components:
  - type: AutoRecharge
    rechargeDuration: 1

- type: entity
  name: compressed matter
  parent: BaseItem
  id: RCDAmmo
  description: A cartridge of raw matter compacted by bluespace technology. Used in rapid construction devices.
  components:
  - type: RCDAmmo
  - type: Sprite
    sprite: _NF/Objects/Tools/rcd.rsi # Frontier
    state: ammo
  - type: Item
    sprite: _NF/Objects/Tools/rcd.rsi # Frontier
    heldPrefix: ammo
  - type: PhysicalComposition
    materialComposition:
      Steel: 100
      Plastic: 100
  - type: StaticPrice
    price: 30 # Frontier 60<30
    vendPrice: 1000 # Frontier

- type: entity
  name: omnitool
  parent: BaseItem
  id: Omnitool
  description: A drone's best friend.
  components:
  - type: Sprite
    sprite: Objects/Tools/omnitool.rsi
    state: omnitool-screwing
  - type: Item
    sprite: Objects/Tools/omnitool.rsi
    size: Normal
  - type: Tag
    tags:
    - Multitool
  - type: Prying
    enabled: false
  - type: UseDelay # Goobstation - For insta prying
    delay: 1
  - type: Tool
    qualities:
    - Screwing
    speedModifier: 1.2 # Kept for future adjustments. Currently 1.2x for balance
    useSound: /Audio/Items/drill_use.ogg
  - type: ToolTileCompatible
  - type: MultipleTool
    statusShowBehavior: true
    entries:
    - behavior: Screwing
      sprite:
        sprite: Objects/Tools/omnitool.rsi
        state: omnitool-screwing
      useSound:
        path: /Audio/Items/drill_use.ogg
      changeSound:
        path: /Audio/Items/change_drill.ogg
    - behavior: Prying
      sprite:
        sprite: Objects/Tools/omnitool.rsi
        state: omnitool-prying
      useSound:
        path: /Audio/Items/jaws_pry.ogg
      changeSound:
        path: /Audio/Items/change_drill.ogg
    - behavior: Anchoring
      sprite:
        sprite: Objects/Tools/omnitool.rsi
        state: omnitool-wrenching
      useSound:
        path: /Audio/Items/ratchet.ogg
      changeSound:
        path: /Audio/Items/change_drill.ogg
    - behavior: Cutting
      sprite:
        sprite: Objects/Tools/omnitool.rsi
        state: omnitool-snipping
      useSound:
        path: /Audio/Items/jaws_cut.ogg
      changeSound:
        path: /Audio/Items/change_drill.ogg
    - behavior: Pulsing
      sprite:
        sprite: Objects/Tools/omnitool.rsi
        state: omnitool-pulsing
      changeSound:
        path: /Audio/Items/change_drill.ogg

#Other
- type: entity
  name: shovel
  parent: BaseItem
  id: Shovel
  description: A large tool for digging and moving dirt.
  components:
  - type: Sprite
    sprite: Objects/Tools/shovel.rsi
    state: icon
  - type: MeleeWeapon
    wideAnimationRotation: 45
    damage:
      types:
        Blunt: 24
    soundHit:
      collection: MetalThud
  - type: Item
    size: Normal
    sprite: Objects/Tools/shovel.rsi
  - type: PhysicalComposition
    materialComposition:
      Steel: 100
      Wood: 50
  - type: StaticPrice
    price: 12.5 # Frontier 25<12.5
  # Delta V: Adds tool quality for digging
  - type: Tool
    qualities:
    - Digging
    speedModifier: 0.5 # Frontier
    useSound:
      path: /Audio/Nyanotrasen/Items/shovel_dig.ogg
  # - type: EarthDigging # Frontier
  - type: Shovel
  - type: ToolTileCompatible # Frontier

- type: entity
  parent: BaseItem
  id: RollingPin
  name: rolling pin
  description: A tool used to shape and flatten dough.
  components:
  - type: Sprite
    sprite: Objects/Tools/rolling_pin.rsi
    state: icon
  - type: Item
    sprite: Objects/Tools/rolling_pin.rsi
    size: Small
  - type: Clothing
    sprite: Objects/Tools/rolling_pin.rsi
    quickEquip: false
    slots:
    - Belt
  - type: MeleeWeapon
    wideAnimationRotation: -135
    damage:
      types:
        Blunt: 10
    soundHit:
      collection: MetalThud
  - type: Tool
    qualities:
    - Rolling
  - type: PhysicalComposition
    materialComposition:
      Wood: 100
  - type: Tag
    tags:
    - RollingPin
  - type: Construction
    graph: WoodenRollingPin
    node: rollingpin
