feat(D-01/B): 47 data-driven item definitions + cleanup test files

16 binds: ropes, armbinder, dogbinder, chain, ribbon, slime, vine_seed,
  web_bind, shibari, leather_straps, medical_straps, beam_cuffs,
  duct_tape, straitjacket, wrap, latex_sack

19 gags: cloth_gag, ropes_gag, cleave_gag, ribbon_gag, ball_gag,
  ball_gag_strap, tape_gag, wrap_gag, slime_gag, vine_gag, web_gag,
  panel_gag, beam_panel_gag, chain_panel_gag, latex_gag, tube_gag,
  bite_gag, sponge_gag, baguette_gag

2 blindfolds, 1 earplugs, 1 mittens
5 collars (classic, shock, shock_auto, gps, choke) with ownership component
3 combos (hood, medical_gag, ball_gag_3d)

All items config-driven via ResistanceComponent (id) and GaggingComponent
(material). Organic items have can_attach_padlock: false.

Removed 4 test files (test_component_gag, test_handcuffs, test_leg_cuffs).
This commit is contained in:
NotEvil
2026-04-14 17:52:19 +02:00
parent 679d7033f9
commit 258223bf68
98 changed files with 2706 additions and 71 deletions

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Armbinder",
"translation_key": "item.tiedup.armbinder",
"model": "tiedup:models/gltf/v2/binds/armbinder.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "armbinder"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Baguette Gag",
"translation_key": "item.tiedup.baguette_gag",
"model": "tiedup:models/gltf/v2/gags/baguette_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "baguette"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Ball Gag",
"translation_key": "item.tiedup.ball_gag",
"model": "tiedup:models/gltf/v2/gags/ball_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "ball"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "tiedup:bondage_item",
"display_name": "Ball Gag 3D",
"translation_key": "item.tiedup.ball_gag_3d",
"model": "tiedup:models/gltf/v2/combos/ball_gag_3d.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "ball"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Ball Gag Strap",
"translation_key": "item.tiedup.ball_gag_strap",
"model": "tiedup:models/gltf/v2/gags/ball_gag_strap.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "ball"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Beam Cuffs",
"translation_key": "item.tiedup.beam_cuffs",
"model": "tiedup:models/gltf/v2/binds/beam_cuffs.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "chain"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Beam Panel Gag",
"translation_key": "item.tiedup.beam_panel_gag",
"model": "tiedup:models/gltf/v2/gags/beam_panel_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "panel"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Bite Gag",
"translation_key": "item.tiedup.bite_gag",
"model": "tiedup:models/gltf/v2/gags/bite_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "bite"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,26 @@
{
"type": "tiedup:bondage_item",
"display_name": "Blindfold Mask",
"translation_key": "item.tiedup.blindfold_mask",
"model": "tiedup:models/gltf/v2/blindfolds/blindfold_mask.glb",
"regions": [
"EYES"
],
"pose_priority": 5,
"escape_difficulty": 30,
"lockable": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "blindfold"
},
"blinding": {},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Chains",
"translation_key": "item.tiedup.chain",
"model": "tiedup:models/gltf/v2/binds/chain.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "chain"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Chain Panel Gag",
"translation_key": "item.tiedup.chain_panel_gag",
"model": "tiedup:models/gltf/v2/gags/chain_panel_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "panel"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,25 @@
{
"type": "tiedup:bondage_item",
"regions": [
"NECK"
],
"pose_priority": 5,
"escape_difficulty": 80,
"lockable": true,
"animation_bones": {
"idle": [
"body"
]
},
"display_name": "Choke Collar",
"translation_key": "item.tiedup.choke_collar",
"model": "tiedup:models/gltf/v2/collars/choke_collar.glb",
"components": {
"ownership": {},
"lockable": {},
"resistance": {
"id": "collar"
},
"choking": {}
}
}

View File

@@ -0,0 +1,26 @@
{
"type": "tiedup:bondage_item",
"display_name": "Blindfold",
"translation_key": "item.tiedup.classic_blindfold",
"model": "tiedup:models/gltf/v2/blindfolds/classic_blindfold.glb",
"regions": [
"EYES"
],
"pose_priority": 5,
"escape_difficulty": 30,
"lockable": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "blindfold"
},
"blinding": {},
"adjustable": {}
}
}

View File

@@ -0,0 +1,24 @@
{
"type": "tiedup:bondage_item",
"regions": [
"NECK"
],
"pose_priority": 5,
"escape_difficulty": 80,
"lockable": true,
"animation_bones": {
"idle": [
"body"
]
},
"display_name": "Classic Collar",
"translation_key": "item.tiedup.classic_collar",
"model": "tiedup:models/gltf/v2/collars/classic_collar.glb",
"components": {
"ownership": {},
"lockable": {},
"resistance": {
"id": "collar"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"type": "tiedup:bondage_item",
"display_name": "Earplugs",
"translation_key": "item.tiedup.classic_earplugs",
"model": "tiedup:models/gltf/v2/earplugs/classic_earplugs.glb",
"regions": [
"EARS"
],
"pose_priority": 5,
"escape_difficulty": 20,
"lockable": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "blindfold"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Cleave Gag",
"translation_key": "item.tiedup.cleave_gag",
"model": "tiedup:models/gltf/v2/gags/cleave_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "cloth"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Cloth Gag",
"translation_key": "item.tiedup.cloth_gag",
"model": "tiedup:models/gltf/v2/gags/cloth_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "cloth"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,32 @@
{
"type": "tiedup:bondage_item",
"display_name": "Dogbinder",
"translation_key": "item.tiedup.dogbinder",
"model": "tiedup:models/gltf/v2/binds/dogbinder.glb",
"regions": [
"ARMS"
],
"pose_type": "DOG",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "armbinder"
}
},
"movement_style": "CRAWL"
}

View File

@@ -0,0 +1,30 @@
{
"type": "tiedup:bondage_item",
"display_name": "Duct Tape",
"translation_key": "item.tiedup.duct_tape",
"model": "tiedup:models/gltf/v2/binds/duct_tape.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": false,
"supports_color": true,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"resistance": {
"id": "tape"
}
}
}

View File

@@ -0,0 +1,27 @@
{
"type": "tiedup:bondage_item",
"regions": [
"NECK"
],
"pose_priority": 5,
"escape_difficulty": 80,
"lockable": true,
"animation_bones": {
"idle": [
"body"
]
},
"display_name": "GPS Collar",
"translation_key": "item.tiedup.gps_collar",
"model": "tiedup:models/gltf/v2/collars/gps_collar.glb",
"components": {
"ownership": {},
"lockable": {},
"resistance": {
"id": "collar"
},
"gps": {
"safe_zone_radius": 50
}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Hood",
"translation_key": "item.tiedup.hood",
"model": "tiedup:models/gltf/v2/combos/hood.glb",
"regions": [
"EYES"
],
"blocked_regions": [
"EYES",
"EARS"
],
"pose_priority": 10,
"escape_difficulty": 40,
"lockable": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "blindfold"
},
"blinding": {},
"gagging": {
"material": "stuffed"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Latex Gag",
"translation_key": "item.tiedup.latex_gag",
"model": "tiedup:models/gltf/v2/gags/latex_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "latex"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Latex Sack",
"translation_key": "item.tiedup.latex_sack",
"model": "tiedup:models/gltf/v2/binds/latex_sack.glb",
"regions": [
"ARMS"
],
"pose_type": "LATEX_SACK",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "latex_sack"
}
}
}

View File

@@ -0,0 +1,21 @@
{
"type": "tiedup:bondage_item",
"display_name": "Leather Mittens",
"translation_key": "item.tiedup.leather_mittens",
"model": "tiedup:models/gltf/v2/mittens/leather_mittens.glb",
"regions": [
"HANDS"
],
"pose_priority": 5,
"escape_difficulty": 20,
"lockable": true,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Leather Straps",
"translation_key": "item.tiedup.leather_straps",
"model": "tiedup:models/gltf/v2/binds/leather_straps.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "armbinder"
}
}
}

View File

@@ -0,0 +1,27 @@
{
"type": "tiedup:bondage_item",
"display_name": "Medical Gag",
"translation_key": "item.tiedup.medical_gag",
"model": "tiedup:models/gltf/v2/combos/medical_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "panel"
},
"blinding": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Medical Straps",
"translation_key": "item.tiedup.medical_straps",
"model": "tiedup:models/gltf/v2/binds/medical_straps.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "armbinder"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Panel Gag",
"translation_key": "item.tiedup.panel_gag",
"model": "tiedup:models/gltf/v2/gags/panel_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "panel"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Ribbon",
"translation_key": "item.tiedup.ribbon",
"model": "tiedup:models/gltf/v2/binds/ribbon.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "ribbon"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Ribbon Gag",
"translation_key": "item.tiedup.ribbon_gag",
"model": "tiedup:models/gltf/v2/gags/ribbon_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "cloth"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Ropes",
"translation_key": "item.tiedup.ropes",
"model": "tiedup:models/gltf/v2/binds/ropes.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "rope"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Rope Gag",
"translation_key": "item.tiedup.ropes_gag",
"model": "tiedup:models/gltf/v2/gags/ropes_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "cloth"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Shibari",
"translation_key": "item.tiedup.shibari",
"model": "tiedup:models/gltf/v2/binds/shibari.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": true,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "rope"
}
}
}

View File

@@ -0,0 +1,27 @@
{
"type": "tiedup:bondage_item",
"regions": [
"NECK"
],
"pose_priority": 5,
"escape_difficulty": 80,
"lockable": true,
"animation_bones": {
"idle": [
"body"
]
},
"display_name": "Shock Collar",
"translation_key": "item.tiedup.shock_collar",
"model": "tiedup:models/gltf/v2/collars/shock_collar.glb",
"components": {
"ownership": {},
"lockable": {},
"resistance": {
"id": "collar"
},
"shock": {
"damage": 2.0
}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "tiedup:bondage_item",
"regions": [
"NECK"
],
"pose_priority": 5,
"escape_difficulty": 80,
"lockable": true,
"animation_bones": {
"idle": [
"body"
]
},
"display_name": "Auto Shock Collar",
"translation_key": "item.tiedup.shock_collar_auto",
"model": "tiedup:models/gltf/v2/collars/shock_collar_auto.glb",
"components": {
"ownership": {},
"lockable": {},
"resistance": {
"id": "collar"
},
"shock": {
"damage": 2.0,
"auto_interval": 200
}
}
}

View File

@@ -0,0 +1,30 @@
{
"type": "tiedup:bondage_item",
"display_name": "Slime Bind",
"translation_key": "item.tiedup.slime",
"model": "tiedup:models/gltf/v2/binds/slime.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": false,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"resistance": {
"id": "slime"
}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "tiedup:bondage_item",
"display_name": "Slime Gag",
"translation_key": "item.tiedup.slime_gag",
"model": "tiedup:models/gltf/v2/gags/slime_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": false,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"resistance": {
"id": "gag"
},
"gagging": {
"material": "stuffed"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Sponge Gag",
"translation_key": "item.tiedup.sponge_gag",
"model": "tiedup:models/gltf/v2/gags/sponge_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "sponge"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Straitjacket",
"translation_key": "item.tiedup.straitjacket",
"model": "tiedup:models/gltf/v2/binds/straitjacket.glb",
"regions": [
"ARMS"
],
"pose_type": "STRAITJACKET",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "straitjacket"
}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "tiedup:bondage_item",
"display_name": "Tape Gag",
"translation_key": "item.tiedup.tape_gag",
"model": "tiedup:models/gltf/v2/gags/tape_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": false,
"supports_color": true,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"resistance": {
"id": "gag"
},
"gagging": {
"material": "tape"
},
"adjustable": {}
}
}

View File

@@ -1,15 +0,0 @@
{
"type": "tiedup:bondage_item",
"display_name": "Data-Driven Handcuffs",
"creator": "TiedUp! Team",
"model": "tiedup:models/gltf/v2/handcuffs/cuffs_prototype.glb",
"regions": ["ARMS"],
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"icon": "tiedup:item/beam_cuffs",
"animation_bones": {
"idle": ["rightArm", "leftArm"],
"struggle": ["rightArm", "leftArm"]
}
}

View File

@@ -1,18 +0,0 @@
{
"type": "tiedup:bondage_item",
"display_name": "Prototype Leg Cuffs",
"model": "tiedup:models/gltf/leg_cuffs_proto.glb",
"regions": ["LEGS"],
"pose_priority": 30,
"escape_difficulty": 5,
"lockable": true,
"movement_style": "shuffle",
"supports_color": true,
"tint_channels": {
"tintable_1": "#808080"
},
"animation_bones": {
"idle": ["rightLeg", "leftLeg"],
"struggle": ["rightLeg", "leftLeg"]
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Tube Gag",
"translation_key": "item.tiedup.tube_gag",
"model": "tiedup:models/gltf/v2/gags/tube_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "ring"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "tiedup:bondage_item",
"display_name": "Vine Gag",
"translation_key": "item.tiedup.vine_gag",
"model": "tiedup:models/gltf/v2/gags/vine_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": false,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"resistance": {
"id": "gag"
},
"gagging": {
"material": "stuffed"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,30 @@
{
"type": "tiedup:bondage_item",
"display_name": "Vine Bind",
"translation_key": "item.tiedup.vine_seed",
"model": "tiedup:models/gltf/v2/binds/vine_seed.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": false,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"resistance": {
"id": "vine"
}
}
}

View File

@@ -0,0 +1,30 @@
{
"type": "tiedup:bondage_item",
"display_name": "Web Bind",
"translation_key": "item.tiedup.web_bind",
"model": "tiedup:models/gltf/v2/binds/web_bind.glb",
"regions": [
"ARMS"
],
"pose_type": "STANDARD",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": false,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"resistance": {
"id": "web"
}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "tiedup:bondage_item",
"display_name": "Web Gag",
"translation_key": "item.tiedup.web_gag",
"model": "tiedup:models/gltf/v2/gags/web_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": false,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"resistance": {
"id": "gag"
},
"gagging": {
"material": "stuffed"
},
"adjustable": {}
}
}

View File

@@ -0,0 +1,31 @@
{
"type": "tiedup:bondage_item",
"display_name": "Wrap",
"translation_key": "item.tiedup.wrap",
"model": "tiedup:models/gltf/v2/binds/wrap.glb",
"regions": [
"ARMS"
],
"pose_type": "WRAP",
"pose_priority": 30,
"escape_difficulty": 100,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"rightArm",
"leftArm"
],
"struggle": [
"rightArm",
"leftArm"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "wrap"
}
}
}

View File

@@ -0,0 +1,29 @@
{
"type": "tiedup:bondage_item",
"display_name": "Wrap Gag",
"translation_key": "item.tiedup.wrap_gag",
"model": "tiedup:models/gltf/v2/gags/wrap_gag.glb",
"regions": [
"MOUTH"
],
"pose_priority": 10,
"escape_difficulty": 50,
"lockable": true,
"can_attach_padlock": true,
"supports_color": false,
"animation_bones": {
"idle": [
"head"
]
},
"components": {
"lockable": {},
"resistance": {
"id": "gag"
},
"gagging": {
"material": "stuffed"
},
"adjustable": {}
}
}