diff --git a/Resources/Audio/Items/Handcuffs/license.txt b/Resources/Audio/Items/Handcuffs/license.txt new file mode 100644 index 0000000000..92b4438027 --- /dev/null +++ b/Resources/Audio/Items/Handcuffs/license.txt @@ -0,0 +1 @@ +ziptie_end.ogg taken from "cable tie.wav" by THE_bizniss of Freesound.org at https://freesound.org/people/THE_bizniss/sounds/39318/ under CC BY 3.0. \ No newline at end of file diff --git a/Resources/Audio/Items/Handcuffs/ziptie_end.ogg b/Resources/Audio/Items/Handcuffs/ziptie_end.ogg new file mode 100644 index 0000000000..2c2e15c528 Binary files /dev/null and b/Resources/Audio/Items/Handcuffs/ziptie_end.ogg differ diff --git a/Resources/Audio/Items/Handcuffs/ziptie_start.ogg b/Resources/Audio/Items/Handcuffs/ziptie_start.ogg new file mode 100644 index 0000000000..885c6931f9 Binary files /dev/null and b/Resources/Audio/Items/Handcuffs/ziptie_start.ogg differ diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml index e20b4a7a50..1c27bbdf90 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml @@ -69,3 +69,15 @@ cost: 1500 category: Security group: market + +- type: cargoProduct + name: "restraints crate" + id: SecurityRestraints + description: "Contains two boxes each of handcuffs and zipties. Requires Security access to open." + icon: + sprite: Objects/Misc/handcuffs.rsi + state: handcuff + product: CrateRestraints + cost: 1500 + category: Security + group: market diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/security.yml b/Resources/Prototypes/Catalog/Fills/Boxes/security.yml index 46cf3c49a8..51bcd4f3b9 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/security.yml @@ -54,3 +54,22 @@ - type: Item - type: Storage capacity: 20 + +- type: entity + name: ziptie box + parent: BoxBase + id: BoxZiptie + description: A box full of zipties. + components: + - type: StorageFill + contents: + - id: Zipties + amount: 10 + - type: Sprite + layers: + - state: box_security + - state: ziptie + + - type: Item + - type: Storage + capacity: 20 diff --git a/Resources/Prototypes/Catalog/Fills/Crates/security.yml b/Resources/Prototypes/Catalog/Fills/Crates/security.yml index e848467a31..2e4974674a 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/security.yml @@ -81,4 +81,17 @@ # - SecGasmask # - SpacelawBook +- type: entity + id: CrateRestraints + name: restraints crate + parent: CrateSecgear + components: + - type: StorageFill + contents: + - id: BoxHandcuff + amount: 2 + - id: BoxZiptie + amount: 2 + + # Cosmetic Crates diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml index c95187105c..73ce44a8ac 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml @@ -12,4 +12,5 @@ FlashlightLantern: 4 #seclite ClothingEyesGlassesSunglasses: 2 ClothingBeltSecurityWebbing: 5 + Zipties: 12 #box evidence diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index ba437d983f..efa1a6d50b 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -57,3 +57,36 @@ sprite: Objects/Misc/cablecuffs.rsi state: cuff color: red + +- type: entity + name: zipties + description: Tough single-use plastic zipties, ideal for restraining rowdy prisoners. + id: Zipties + parent: Handcuffs + components: + - type: Item + size: 2 + - type: Handcuff + cuffTime: 3.5 + uncuffTime: 3.5 + stunBonus: 2.0 + breakoutTime: 17.5 #halfway between improvised cablecuffs and metal ones + cuffedRSI: Objects/Misc/cablecuffs.rsi #cablecuffs will look fine + bodyIconState: body-overlay + breakOnRemove: true + brokenIconState: cuff-broken + brokenName: broken zipties + brokenDesc: These zipties look like they tried to manage the wrong cables. + startCuffSound: + path: /Audio/Items/Handcuffs/ziptie_start.ogg + endCuffSound: + path: /Audio/Items/Handcuffs/ziptie_end.ogg + startUncuffSound: + path: /Audio/Items/Handcuffs/rope_start.ogg + endUncuffSound: + path: /Audio/Items/Handcuffs/rope_breakout.ogg + startBreakoutSound: + path: /Audio/Items/Handcuffs/rope_takeoff.ogg + - type: Sprite + sprite: Objects/Misc/zipties.rsi + state: cuff diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index a9b3337978..92810ff79e 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -270,6 +270,7 @@ - SecurityHelmet - SecuritySupplies - SecurityNonLethal + - SecurityRestraints - HydroponicsTools - HydroponicsSeeds - HydroponicsSeedsExotic diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/body-overlay-2.png b/Resources/Textures/Objects/Misc/zipties.rsi/body-overlay-2.png new file mode 100644 index 0000000000..8c3c8a53fd Binary files /dev/null and b/Resources/Textures/Objects/Misc/zipties.rsi/body-overlay-2.png differ diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/body-overlay-4.png b/Resources/Textures/Objects/Misc/zipties.rsi/body-overlay-4.png new file mode 100644 index 0000000000..ff0d583777 Binary files /dev/null and b/Resources/Textures/Objects/Misc/zipties.rsi/body-overlay-4.png differ diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/cuff-broken.png b/Resources/Textures/Objects/Misc/zipties.rsi/cuff-broken.png new file mode 100644 index 0000000000..fe3255673c Binary files /dev/null and b/Resources/Textures/Objects/Misc/zipties.rsi/cuff-broken.png differ diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/cuff.png b/Resources/Textures/Objects/Misc/zipties.rsi/cuff.png new file mode 100644 index 0000000000..7625d552af Binary files /dev/null and b/Resources/Textures/Objects/Misc/zipties.rsi/cuff.png differ diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/inhand-left.png b/Resources/Textures/Objects/Misc/zipties.rsi/inhand-left.png new file mode 100644 index 0000000000..d311c0d128 Binary files /dev/null and b/Resources/Textures/Objects/Misc/zipties.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/inhand-right.png b/Resources/Textures/Objects/Misc/zipties.rsi/inhand-right.png new file mode 100644 index 0000000000..f02cd96249 Binary files /dev/null and b/Resources/Textures/Objects/Misc/zipties.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Misc/zipties.rsi/meta.json b/Resources/Textures/Objects/Misc/zipties.rsi/meta.json new file mode 100644 index 0000000000..e2df79963f --- /dev/null +++ b/Resources/Textures/Objects/Misc/zipties.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "cuff" + }, + { + "name": "cuff-broken" + }, + { + "name": "body-overlay-2", + "directions": 4 + }, + { + "name": "body-overlay-4", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/meta.json b/Resources/Textures/Objects/Storage/boxes.rsi/meta.json index 7a4a0f9842..779637b116 100644 --- a/Resources/Textures/Objects/Storage/boxes.rsi/meta.json +++ b/Resources/Textures/Objects/Storage/boxes.rsi/meta.json @@ -112,6 +112,9 @@ { "name": "hug-inhand-right", "directions": 4 + }, + { + "name": "ziptie" } ] } diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/ziptie.png b/Resources/Textures/Objects/Storage/boxes.rsi/ziptie.png new file mode 100644 index 0000000000..48676bdc82 Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/ziptie.png differ diff --git a/Resources/Textures/Objects/Storage/boxicons.rsi/meta.json b/Resources/Textures/Objects/Storage/boxicons.rsi/meta.json index 98f91434b0..8345f46658 100644 --- a/Resources/Textures/Objects/Storage/boxicons.rsi/meta.json +++ b/Resources/Textures/Objects/Storage/boxicons.rsi/meta.json @@ -75,6 +75,9 @@ }, { "name": "syringe" + }, + { + "name": "ziptie" } ] } diff --git a/Resources/Textures/Objects/Storage/boxicons.rsi/ziptie.png b/Resources/Textures/Objects/Storage/boxicons.rsi/ziptie.png new file mode 100644 index 0000000000..4c708769e8 Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxicons.rsi/ziptie.png differ