Handcuff system (#1831)
* Implemented most serverside logic * All serverside cuff logic complete * SFX, Clientside HUD stuff, Other logic. * fffff * Cuffs 1.0 * missing loc string * Cuffs are stored in the balls now. * Basic integrationtest * Support stripping menu. * rrr * Fixes * properties * gun emoji * fixes * get rid of unused * reeee * Update Content.Shared/GameObjects/ContentNetIDs.cs Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
BIN
Resources/Audio/Items/Handcuffs/cuff_breakout_start.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/cuff_end.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/cuff_start.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/cuff_takeoff_end.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/cuff_takeoff_start.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/rope_breakout.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/rope_end.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/rope_start.ogg
Normal file
BIN
Resources/Audio/Items/Handcuffs/rope_takeoff.ogg
Normal file
@@ -90,6 +90,10 @@
|
||||
color: "#e8b59b"
|
||||
sprite: Mobs/Species/Human/parts.rsi
|
||||
state: r_foot
|
||||
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
|
||||
color: "#ffffff"
|
||||
sprite: Objects/Misc/handcuffs.rsi
|
||||
state: body-overlay-2
|
||||
- map: ["enum.Slots.IDCARD"]
|
||||
- map: ["enum.Slots.GLOVES"]
|
||||
- map: ["enum.Slots.SHOES"]
|
||||
@@ -144,6 +148,7 @@
|
||||
- type: BuckleVisualizer
|
||||
- type: CombatMode
|
||||
- type: Climbing
|
||||
- type: Cuffable
|
||||
- type: Teleportable
|
||||
- type: CharacterInfo
|
||||
- type: FootstepSound
|
||||
|
||||
@@ -1,9 +1,17 @@
|
||||
- type: entity
|
||||
name: handcuffs
|
||||
description: Just a prop for screenshots for now, sorry!
|
||||
description: Used to detain criminals and other assholes.
|
||||
id: Handcuffs
|
||||
parent: BaseItem
|
||||
components:
|
||||
- type: Handcuff
|
||||
cuffTime: 3.0
|
||||
uncuffTime: 3.0
|
||||
stunBonus: 2.0
|
||||
breakoutTime: 20.0
|
||||
cuffedRSI: Objects/Misc/handcuffs.rsi
|
||||
iconState: body-overlay
|
||||
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/handcuffs.rsi
|
||||
state: handcuff
|
||||
@@ -18,10 +26,29 @@
|
||||
|
||||
|
||||
- type: entity
|
||||
name: cable restraints
|
||||
name: makeshift handcuffs
|
||||
description: Homemade handcuffs crafted from spare cables.
|
||||
id: Cablecuffs
|
||||
parent: Handcuffs
|
||||
components:
|
||||
- type: Handcuff
|
||||
cuffTime: 3.5
|
||||
uncuffTime: 3.5
|
||||
stunBonus: 2.0
|
||||
breakoutTime: 15.0
|
||||
cuffedRSI: Objects/Misc/cablecuffs.rsi
|
||||
bodyIconState: body-overlay
|
||||
color: red
|
||||
breakOnRemove: true
|
||||
brokenIconState: cuff-broken
|
||||
brokenName: broken cables
|
||||
brokenDesc: These cables are broken in several places and don't seem very useful.
|
||||
startCuffSound: /Audio/Items/Handcuffs/rope_start.ogg
|
||||
endCuffSound: /Audio/Items/Handcuffs/rope_end.ogg
|
||||
startUncuffSound: /Audio/Items/Handcuffs/rope_start.ogg
|
||||
endUncuffSound: /Audio/Items/Handcuffs/rope_breakout.ogg
|
||||
startBreakoutSound: /Audio/Items/Handcuffs/rope_takeoff.ogg
|
||||
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/cablecuffs.rsi
|
||||
state: cuff
|
||||
@@ -30,7 +57,9 @@
|
||||
- type: Icon
|
||||
sprite: Objects/Misc/cablecuffs.rsi
|
||||
state: cuff
|
||||
color: red
|
||||
|
||||
- type: Clothing
|
||||
sprite: Objects/Misc/cablecuffs.rsi
|
||||
Slots: [belt]
|
||||
color: red
|
||||
Slots: [belt]
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 97 B |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
BIN
Resources/Textures/Objects/Misc/cablecuffs.rsi/cuff-broken.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 333 B After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 3.0 KiB |
@@ -13,6 +13,51 @@
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cuff-broken",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "body-overlay-2",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "body-overlay-4",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
|
||||
BIN
Resources/Textures/Objects/Misc/handcuffs.rsi/body-overlay-2.png
Normal file
|
After Width: | Height: | Size: 258 B |
BIN
Resources/Textures/Objects/Misc/handcuffs.rsi/body-overlay-4.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
@@ -1 +1,8 @@
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "handcuff", "directions": 1, "delays": [[1.0]]}, {"name": "inhand-left", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "inhand-right", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "equipped-BELT", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}]}
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "states": [
|
||||
{"name": "body-overlay-2", "directions": 4, "delays": [[1.0],[1.0],[1.0],[1.0]]},
|
||||
{"name": "body-overlay-4", "directions": 4, "delays": [[1.0],[1.0],[1.0],[1.0]]},
|
||||
{"name": "handcuff", "directions": 1, "delays": [[1.0]]},
|
||||
{"name": "inhand-left", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]},
|
||||
{"name": "inhand-right", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]},
|
||||
{"name": "equipped-BELT", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}
|
||||
]}
|
||||