mirror of
https://gitgud.io/BondageProjects/Bondage-College.git
synced 2025-04-25 17:59:34 +00:00
6798 lines
159 KiB
JavaScript
6798 lines
159 KiB
JavaScript
//@ts-check
|
|
"use strict";
|
|
|
|
/**
|
|
* Female3DCGExtended.js
|
|
* ---------------------
|
|
* This file contains definitions and configuration for extended items. Items which are marked as Extended in
|
|
* `Female3DCG.js` and which have an extended item definition here will have their load/draw/click functions
|
|
* _automatically_ created when assets are loaded, saving the need for an individual extended item script.
|
|
*
|
|
* Currently, modular and typed items are supported, and this is likely to expand in the future.
|
|
*/
|
|
|
|
/**
|
|
* An enum encapsulating the available extended item archetypes
|
|
* MODULAR - Indicates that this item is modular, with several independently configurable modules
|
|
* @type {{MODULAR: "modular", TYPED: "typed", VIBRATING: "vibrating", VARIABLEHEIGHT: "variableheight"}}
|
|
* @see {@link ModularItemConfig}
|
|
* @see {@link TypedItemConfig}
|
|
*/
|
|
const ExtendedArchetype = {
|
|
MODULAR: "modular",
|
|
TYPED: "typed",
|
|
VIBRATING: "vibrating",
|
|
VARIABLEHEIGHT: "variableheight",
|
|
};
|
|
|
|
/**
|
|
* An object containing all extended item configurations.
|
|
* @type {ExtendedItemConfig}
|
|
* @const
|
|
*/
|
|
var AssetFemale3DCGExtended = {
|
|
Hat: {
|
|
Bandana: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Plain",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "Circles",
|
|
Property: { Type: "Circles", },
|
|
},
|
|
{
|
|
Name: "Flowers",
|
|
Property: { Type: "Flowers", },
|
|
},
|
|
{
|
|
Name: "Dots",
|
|
Property: { Type: "PolkaDots", },
|
|
},
|
|
{
|
|
Name: "Triangles",
|
|
Property: { Type: "Triangles", },
|
|
},
|
|
],
|
|
},
|
|
}, //Bandana
|
|
BallCapBack: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "StrapUnder",
|
|
Property: { Type: "StrapUnder" },
|
|
},
|
|
{
|
|
Name: "StrapOver",
|
|
Property: { Type: "StrapOver", },
|
|
},
|
|
],
|
|
},
|
|
}, //BallCapBack
|
|
BallCapFront: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Blank",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "BCLogo",
|
|
Property: {
|
|
Type: "BCLogo",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "BDSM",
|
|
Property: {
|
|
Type: "BDSM",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "BG",
|
|
Property: {
|
|
Type: "BG",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Chain",
|
|
Property: {
|
|
Type: "Chain",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Gag",
|
|
Property: {
|
|
Type: "Gag",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Knot",
|
|
Property: {
|
|
Type: "Knot",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Monogram",
|
|
Property: {
|
|
Type: "Monogram",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Rock",
|
|
Property: {
|
|
Type: "Rock",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Smile",
|
|
Property: {
|
|
Type: "Smile",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Sun",
|
|
Property: {
|
|
Type: "Sun",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Tick",
|
|
Property: {
|
|
Type: "Tick",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, //BallCapFront
|
|
},
|
|
Cloth: {
|
|
TShirt2: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Plain",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "BCLogo",
|
|
Property: {
|
|
Type: "BCLogo",
|
|
DefaultColor: "#FFF0CC",
|
|
},
|
|
},
|
|
{
|
|
Name: "BDSM",
|
|
Property: {
|
|
Type: "BDSM",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Gag",
|
|
Property: {
|
|
Type: "Gag",
|
|
DefaultColor: "Default",
|
|
},
|
|
},
|
|
{
|
|
Name: "Knot",
|
|
Property: {
|
|
Type: "Knot",
|
|
DefaultColor: "#CCC088",
|
|
},
|
|
},
|
|
{
|
|
Name: "Rock",
|
|
Property: {
|
|
Type: "Rock",
|
|
DefaultColor: "#B03030",
|
|
},
|
|
},
|
|
{
|
|
Name: "Smile",
|
|
Property: {
|
|
Type: "Smile",
|
|
DefaultColor: "#BB9911",
|
|
},
|
|
},
|
|
{
|
|
Name: "Tick",
|
|
Property: {
|
|
Type: "Tick",
|
|
DefaultColor: "#119977",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // TShirt2
|
|
ChineseDress2: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Red",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Purple",
|
|
Property: { Type: "Purple" },
|
|
},
|
|
{
|
|
Name: "Pink",
|
|
Property: { Type: "Pink" },
|
|
},
|
|
],
|
|
},
|
|
}, // ChineseDress2
|
|
LatexLacedSuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Laced",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "NonLaced",
|
|
Property: {
|
|
Type: "NonLaced",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // LatexLacedSuit
|
|
ReverseBunnySuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "Suit", AssetName: "Catsuit" },
|
|
}, // ReverseBunnySuit
|
|
Jacket: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Hooded",
|
|
Property: {
|
|
Type: "Hooded",
|
|
Hide: [
|
|
"HairFront", "HairBack",
|
|
"HairAccessory1", "HairAccessory2", "HairAccessory3",
|
|
"Hat",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
Name: "HoodedEarsOut",
|
|
Property: {
|
|
Type: "HoodedEarsOut",
|
|
HideItem: ["HairAccessory2UnicornHorn", "HairAccessory2DildocornHorn"],
|
|
Hide: [
|
|
"HairFront", "HairBack",
|
|
"HairAccessory1", "HairAccessory3",
|
|
"Hat",
|
|
],
|
|
},
|
|
}
|
|
]
|
|
}
|
|
}, // Jacket
|
|
}, // Cloth
|
|
ClothAccessory: {
|
|
LeatherStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemArms", AssetName: "LeatherArmbinder" },
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "WrapStrap",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "Strap",
|
|
Property: { Type: "Strap", },
|
|
},
|
|
],
|
|
},
|
|
}, // LeatherStraps
|
|
BunnyCollarCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Both",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Collar",
|
|
Property: {
|
|
Type: "Collar",
|
|
},
|
|
},
|
|
{
|
|
Name: "Cuffs",
|
|
Property: {
|
|
Type: "Cuffs",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // BunnyCollarCuffs
|
|
Bib: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Pattern", Key: "p",
|
|
Options: [{}, {}, {}, {}, {}, {}],
|
|
},
|
|
{
|
|
Name: "Txt", Key: "x",
|
|
Options: [{}, { HasSubscreen: true }],
|
|
},
|
|
]
|
|
}
|
|
}, // Bib
|
|
Scarf: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "ShowMouth",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "Bundled",
|
|
Property: { Type: "Bundled", },
|
|
},
|
|
{
|
|
Name: "HideMouth",
|
|
Property: { Type: "HideMouth", },
|
|
},
|
|
|
|
], DrawImages: false,
|
|
},
|
|
}, // Scarf
|
|
Glitter: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options:[
|
|
{
|
|
Name: "Freckles",
|
|
Property: {Type: null,}
|
|
},
|
|
{
|
|
Name: "MidFreckles",
|
|
Property: {Type: "MidFreckles",}
|
|
},
|
|
{
|
|
Name: "SplitFreckles",
|
|
Property: {Type: "SplitFreckles",}
|
|
},
|
|
{
|
|
Name: "FrecklesSmall",
|
|
Property: {Type: "FrecklesSmall",}
|
|
},
|
|
{
|
|
Name: "MidFrecklesSmall",
|
|
Property: {Type: "MidFrecklesSmall",}
|
|
},
|
|
{
|
|
Name: "SplitFrecklesSmall",
|
|
Property: {Type: "SplitFrecklesSmall",}
|
|
},
|
|
{
|
|
Name: "StarsBoth",
|
|
Property: {Type: "StarsBoth",}
|
|
},
|
|
{
|
|
Name: "StarsLeft",
|
|
Property: {Type: "StarsLeft",}
|
|
},
|
|
{
|
|
Name: "StarsRight",
|
|
Property: {Type: "StarsRight",}
|
|
},
|
|
{
|
|
Name: "DotsBoth",
|
|
Property: {Type: "DotsBoth",}
|
|
},
|
|
{
|
|
Name: "DotsLeft",
|
|
Property: {Type: "DotsLeft",}
|
|
},
|
|
{
|
|
Name: "DotsRight",
|
|
Property: {Type: "DotsRight",}
|
|
},
|
|
],
|
|
},
|
|
}, //Glitter
|
|
}, // ClothAccessory
|
|
ItemBreast: {
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "LightWrap",
|
|
Property: { Type: null, Difficulty: 0 },
|
|
},
|
|
{
|
|
Name: "LightWrapBow",
|
|
Property: { Type: "LightWrapBow", Difficulty: 1 },
|
|
},
|
|
{
|
|
Name: "Wrap",
|
|
Property: { Type: "Wrap", Difficulty: 2 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
TypePrefix: "RibbonsStyle",
|
|
ChatPrefix: "RibbonsSet",
|
|
NpcPrefix: "ItemBreastRibbons",
|
|
},
|
|
}
|
|
}, // Ribbons
|
|
FuturisticBra2: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Display", Key: "d",
|
|
Options: [
|
|
{}, // d0 - Display
|
|
{}, // d1 - No Display
|
|
],
|
|
},
|
|
{
|
|
Name: "Shiny", Key: "s",
|
|
Options: [
|
|
{}, // s0 - Shiny
|
|
{}, // s1 - No Shiny
|
|
],
|
|
},
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
}
|
|
}, // FuturisticBra2
|
|
}, // ItemBreast
|
|
ItemArms: {
|
|
Web: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Dictionary: [
|
|
({ newIndex, previousIndex }) => { return { Tag: "Action", Text: newIndex > previousIndex ? "tightens" : "loosens" };},
|
|
],
|
|
Options: [
|
|
{
|
|
Name: "Tangled",
|
|
Property: { Type: null, Difficulty: 0 },
|
|
},
|
|
{
|
|
Name: "Wrapped",
|
|
BondageLevel: 0,
|
|
SelfBondageLevel: 4,
|
|
Prerequisite: ["NoFeetSpreader"],
|
|
Property: {
|
|
Type: "Wrapped",
|
|
Difficulty: 2,
|
|
SetPose: ["LegsClosed", "BackElbowTouch"],
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Block: ["ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Cocooned",
|
|
BondageLevel: 1,
|
|
SelfBondageLevel: 5,
|
|
Prerequisite: ["NoFeetSpreader"],
|
|
Property: {
|
|
Type: "Cocooned",
|
|
Difficulty: 4,
|
|
SetPose: ["LegsClosed", "BackElbowTouch"],
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
},
|
|
Random: false,
|
|
},
|
|
{
|
|
Name: "Hogtied",
|
|
BondageLevel: 3,
|
|
SelfBondageLevel: 6,
|
|
Prerequisite: ["NotSuspended", "NoFeetSpreader"],
|
|
Property: {
|
|
Type: "Hogtied",
|
|
Difficulty: 4,
|
|
SetPose: ["Hogtied"],
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Hide: ["Cloth", "ClothLower", "ClothAccessory", "Necklace", "Shoes", "Socks"],
|
|
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast", "ItemDevices"],
|
|
},
|
|
Random: false,
|
|
},
|
|
{
|
|
Name: "Suspended",
|
|
BondageLevel: 4,
|
|
SelfBondageLevel: 8,
|
|
Prerequisite: ["NoFeetSpreader", "NotChained"],
|
|
Property: {
|
|
Type: "Suspended",
|
|
Difficulty: 6,
|
|
SetPose: ["LegsClosed", "BackElbowTouch", "Suspension"],
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
},
|
|
Random: false,
|
|
},
|
|
{
|
|
Name: "KneelingSuspended",
|
|
BondageLevel: 5,
|
|
SelfBondageLevel: 8,
|
|
Prerequisite: ["NoFeetSpreader", "NotChained"],
|
|
Property: {
|
|
Type: "KneelingSuspended",
|
|
Difficulty: 8,
|
|
SetPose: ["LegsClosed", "BackElbowTouch", "Suspension"],
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Hide: ["BodyLower", "Cloth", "ClothLower", "Shoes", "SuitLower", "Panties", "Socks", "Pussy", "ItemFeet", "ItemLegs", "ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemBoots", "ItemHands", "ItemNipples", "ItemNipplesPiercings", "ItemBreast"],
|
|
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast"],
|
|
},
|
|
Random: false,
|
|
},
|
|
{
|
|
Name: "SuspensionHogtied",
|
|
BondageLevel: 5,
|
|
SelfBondageLevel: 9,
|
|
Prerequisite: ["NotSuspended", "NoFeetSpreader", "NotChained"],
|
|
Property: {
|
|
Type: "SuspensionHogtied",
|
|
Difficulty: 11,
|
|
SetPose: ["Hogtied"],
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Hide: ["Cloth", "ClothLower", "ClothAccessory", "Necklace", "Shoes", "Socks"],
|
|
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast", "ItemDevices"],
|
|
OverrideHeight: { Height: 0, Priority: 51, HeightRatioProportion: 0 },
|
|
},
|
|
Random: false,
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "WebBondageSelect",
|
|
TypePrefix: "WebBondage",
|
|
ChatPrefix: "ArmsWebSet",
|
|
NpcPrefix: "ItemArmsWeb",
|
|
},
|
|
}
|
|
}, // Web
|
|
InflatableStraightLeotard: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["Block", "Prone"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Inflated",
|
|
Property: {
|
|
Type: "Inflated",
|
|
Effect: ["Block", "Prone"],
|
|
Difficulty: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "Bloated",
|
|
Property: {
|
|
Type: "Bloated",
|
|
Effect: ["Block", "Prone"],
|
|
Difficulty: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "Max",
|
|
Property: {
|
|
Type: "Max",
|
|
Effect: ["Block", "Prone", "Freeze"],
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectInflationLevel",
|
|
TypePrefix: "InflationAmount",
|
|
ChatPrefix: "InflationAmountSet",
|
|
NpcPrefix: "ItemArmsInflatableStraightLeotard",
|
|
},
|
|
}
|
|
}, // InflatableStraightLeotard
|
|
MetalCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "InFront",
|
|
Property: {
|
|
Type: "InFront",
|
|
SetPose: ["BaseUpper"],
|
|
}
|
|
},
|
|
{
|
|
Name: "BehindBack",
|
|
Property: {
|
|
Type: null,
|
|
SetPose: ["BackCuffs"],
|
|
}
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "MetalCuffsPose",
|
|
ChatPrefix: "MetalCuffsRestrain",
|
|
NpcPrefix: "ItemArmsMetalCuffs",
|
|
},
|
|
}
|
|
}, // MetalCuffs
|
|
Chains: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "WristTie",
|
|
Property: { Type: "WristTie", Effect: ["Block", "Prone"], SetPose: ["BackBoxTie"], Difficulty: 1 },
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "BoxTie",
|
|
Property: { Type: null, Effect: ["Block", "Prone"], SetPose: ["BackBoxTie"], Difficulty: 1 }
|
|
}, {
|
|
Name: "ChainCuffs",
|
|
Property: { Type: "ChainCuffs", Effect: ["Block", "Prone"], SetPose: ["BackCuffs"], Difficulty: 1, OverridePriority: 29 },
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "WristElbowTie",
|
|
BondageLevel: 2,
|
|
Property: { Type: "WristElbowTie", Effect: ["Block", "Prone", "NotSelfPickable"], SetPose: ["BackElbowTouch"], Difficulty: 2 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "WristElbowHarnessTie",
|
|
BondageLevel: 3,
|
|
Property: { Type: "WristElbowHarnessTie", Effect: ["Block", "Prone", "NotSelfPickable"], SetPose: ["BackElbowTouch"], Difficulty: 3 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "KneelingHogtie",
|
|
BondageLevel: 4,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: { Type: "KneelingHogtie", Effect: ["Block", "Freeze", "Prone", "NotSelfPickable"], Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"], AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"], SetPose: ["Kneel", "BackElbowTouch"], Difficulty: 3, AllowPose: ["Kneel", "KneelingSpread"], AllowActivePose: ["Kneel", "KneelingSpread"], WhitelistActivePose: ["Kneel", "KneelingSpread"] },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "Hogtied",
|
|
BondageLevel: 4,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: { Type: "Hogtied", Effect: ["Block", "Freeze", "Prone", "NotSelfPickable"], Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"], AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"], SetPose: ["Hogtied"], Difficulty: 3 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "AllFours",
|
|
BondageLevel: 6,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: { Type: "AllFours", Effect: ["ForceKneel", "NotSelfPickable"], Block: ["ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"], AllowActivityOn: ["ItemLegs", "ItemFeet", "ItemBoots"], SetPose: ["AllFours"], Difficulty: 3 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "SuspensionHogtied",
|
|
BondageLevel: 8,
|
|
Prerequisite: ["NotMounted", "NotChained", "NotSuspended"],
|
|
Property: {
|
|
Type: "SuspensionHogtied",
|
|
Effect: ["Block", "Freeze", "Prone", "NotSelfPickable", "Suspended"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Hogtied"],
|
|
Difficulty: 6,
|
|
OverrideHeight: { Height: -575, Priority: 51, HeightRatioProportion: 1 } },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
HasSubscreen: true,
|
|
Archetype: ExtendedArchetype.VARIABLEHEIGHT,
|
|
ArchetypeConfig: {
|
|
MaxHeight: 0,
|
|
MinHeight: -575,
|
|
Slider: {
|
|
Icon: "player",
|
|
Top: 125,
|
|
Height: 675,
|
|
},
|
|
Dialog: {
|
|
ChatPrefix: "SuspensionChange",
|
|
NpcPrefix: "ChainBondage",
|
|
},
|
|
},
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectChainBondage",
|
|
TypePrefix: "ChainBondage",
|
|
ChatPrefix: "ArmsChainSet",
|
|
NpcPrefix: "ChainBondage",
|
|
},
|
|
ChangeWhenLocked: false,
|
|
}
|
|
}, // Chains
|
|
HighSecurityStraitJacket: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Crotch", Key: "c",
|
|
Options: [
|
|
{}, // c0 - No crotch panel
|
|
{ // c1 - Crotch panel
|
|
Property: {
|
|
Difficulty: 1,
|
|
Block: ["ItemPelvis", "ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
|
Hide: ["ItemVulva", "ItemVulvaPiercings"],
|
|
HideItem: ["ItemButtAnalBeads2"],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Arms", Key: "a",
|
|
Options: [
|
|
{}, // a0 - Arms loose
|
|
{ Property: { Difficulty: 2 }, SelfBondageLevel: 8 }, // a1 - Arms in front
|
|
{ Property: { Difficulty: 3 }, SelfBondageLevel: 8 }, // a2 - Arms behind
|
|
],
|
|
},
|
|
{
|
|
Name: "Straps", Key: "s",
|
|
Options: [
|
|
{}, // s0 - No crotch straps
|
|
{ // s1 - One crotch strap
|
|
Property: {
|
|
Difficulty: 1,
|
|
Block: ["ItemPelvis", "ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
|
Hide: ["ItemVulvaPiercings"],
|
|
HideItem: ["ItemButtAnalBeads2"],
|
|
},
|
|
},
|
|
{ Property: { Difficulty: 2, Block: ["ItemPelvis"] } }, // s2 - Two crotch straps
|
|
{ // s3 - Three crotch straps
|
|
Property: {
|
|
Difficulty: 2,
|
|
Block: ["ItemPelvis", "ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
|
Hide: ["ItemVulvaPiercings"],
|
|
HideItem: ["ItemButtAnalBeads2"],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, // HighSecurityStraitJacket
|
|
LatexButterflyLeotard: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Unpolished",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Polished",
|
|
Property: { Type: "Polished" },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "ItemArmsLatexLeotardSelect",
|
|
TypePrefix: "ItemArmsLatexLeotard",
|
|
ChatPrefix: "ItemArmsLatexLeotardSet",
|
|
},
|
|
},
|
|
}, // LatexButterflyLeotard
|
|
LatexBoxtieLeotard: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "LatexButterflyLeotard" },
|
|
},
|
|
LatexSleevelessLeotard: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "LatexButterflyLeotard" },
|
|
},
|
|
CeilingShackles: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "HeadLevel",
|
|
Property: {
|
|
Type: null,
|
|
SetPose: ["Yoked"]
|
|
},
|
|
},
|
|
{
|
|
Name: "Overhead",
|
|
Property: {
|
|
Type: "Overhead",
|
|
SetPose: ["OverTheHead"]
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
ChatPrefix: ({ C }) => `ItemArmsCeilingShacklesSet${C.Pose.includes("Suspension") ? "Suspension" : ""}`
|
|
},
|
|
},
|
|
}, // CeilingShackles
|
|
BitchSuit: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Zip",
|
|
Key: "z",
|
|
Options: [
|
|
{ // z0 - Zipped up
|
|
Property: { Block: ["ItemBreast", "ItemNipples", "ItemNipplesPiercings", "ItemVulva", "ItemVulvaPiercings", "ItemButt"], Hide: ["ItemNipples"] },
|
|
},
|
|
{ // z1 - Unzipped
|
|
Property: { Block: [] },
|
|
},
|
|
],
|
|
AllowSelfSelect: false,
|
|
},
|
|
{
|
|
Name: "Pose",
|
|
Key: "p",
|
|
Options: [
|
|
{ // p0 - Kneeling
|
|
Property: { SetPose: ["BackElbowTouch", "Kneel", "LegsClosed"] },
|
|
},
|
|
{ // p1 - All fours
|
|
Property: { SetPose: ["AllFours"] },
|
|
},
|
|
],
|
|
},
|
|
],
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR, CommonChatTags.DEST_CHAR],
|
|
Dialog: {
|
|
ChatPrefix: ({ C }) => `ItemArmsBitchSuit${C.ID === 0 ? "Self" : ""}Set`,
|
|
},
|
|
},
|
|
}, // BitchSuit
|
|
BitchSuitExposed: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Kneel",
|
|
Property: {
|
|
Type: null,
|
|
SetPose: ["BackElbowTouch", "Kneel", "LegsClosed"],
|
|
},
|
|
},
|
|
{
|
|
Name: "AllFours",
|
|
Property: {
|
|
Type: "AllFours",
|
|
SetPose: ["AllFours"],
|
|
}
|
|
}
|
|
],
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Dialog: {
|
|
ChatPrefix: ({ C }) => `ItemArmsBitchSuitExposed${C.ID === 0 ? "Self" : ""}Set`,
|
|
}
|
|
},
|
|
}, // BitchSuitExposed
|
|
LeatherArmbinder: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: { Type: null, Difficulty: 0 },
|
|
},
|
|
{
|
|
Name: "Strap",
|
|
Property: { Type: "Strap", Difficulty: 3 },
|
|
},
|
|
{
|
|
Name: "WrapStrap",
|
|
Property: { Type: "WrapStrap", Difficulty: 3 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "ItemArmsLeatherArmbinderSelect",
|
|
TypePrefix: "ItemArmsLeatherArmbinder",
|
|
ChatPrefix: "ItemArmsLeatherArmbinderSet",
|
|
},
|
|
},
|
|
}, // LeatherArmbinder
|
|
WristShackles: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "InFront",
|
|
Property: {
|
|
Type: null
|
|
},
|
|
},
|
|
{
|
|
Name: "Behind",
|
|
Property: {
|
|
Type: "Behind",
|
|
SetPose: ["BackCuffs"],
|
|
Effect: ["Block", "Prone"],
|
|
Difficulty: 3
|
|
},
|
|
},
|
|
{
|
|
Name: "Overhead",
|
|
Property: {
|
|
Type: "Overhead",
|
|
SetPose: ["OverTheHead"],
|
|
Effect: ["Block", "Prone"],
|
|
Difficulty: 3
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
}
|
|
},
|
|
}, // WristShackles
|
|
FuturisticCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Effect: [],
|
|
SetPose: [],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "Wrist",
|
|
Property: {
|
|
Type: "Wrist",
|
|
Difficulty: 2,
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "Elbow",
|
|
Property: {
|
|
Type: "Elbow",
|
|
Difficulty: 4,
|
|
Effect: ["Block", "Prone", "NotSelfPickable"],
|
|
SetPose: ["BackElbowTouch"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
{
|
|
Name: "Both",
|
|
Property: {
|
|
Type: "Both",
|
|
Difficulty: 6,
|
|
Effect: ["Block", "Prone", "NotSelfPickable"],
|
|
SetPose: ["BackElbowTouch"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemArmsCuffs",
|
|
ChatPrefix: "FuturisticCuffsRestrain",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticCuffs
|
|
FuturisticArmbinder: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: { Type: null, Difficulty: 0 },
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: { Type: "Tight", Difficulty: 7 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectFuturisticArmbinderType",
|
|
TypePrefix: "FuturisticArmbinderType",
|
|
ChatPrefix: "FuturisticArmbinderSet",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticArmbinder
|
|
LeatherCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Effect: [],
|
|
SetPose: [],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "Wrist",
|
|
Property: {
|
|
Type: "Wrist",
|
|
Difficulty: 2,
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "Elbow",
|
|
Property: {
|
|
Type: "Elbow",
|
|
Difficulty: 4,
|
|
Effect: ["Block", "Prone", "NotSelfPickable"],
|
|
SetPose: ["BackElbowTouch"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
{
|
|
Name: "Both",
|
|
Property: {
|
|
Type: "Both",
|
|
Difficulty: 6,
|
|
Effect: ["Block", "Prone", "NotSelfPickable"],
|
|
SetPose: ["BackElbowTouch"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
{
|
|
Name: "Hogtie",
|
|
Prerequisite: ["CuffedFeet", "NotSuspended", "NotMounted", "NoFeetSpreader"],
|
|
Property: {
|
|
Type: "Hogtie",
|
|
Difficulty: 6,
|
|
Effect: ["Block", "Prone", "Freeze", "NotSelfPickable"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Hogtied"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemArmsCuffs",
|
|
},
|
|
},
|
|
}, // LeatherCuffs
|
|
OrnateCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "LeatherCuffs" },
|
|
}, // OrnateCuffs
|
|
SteelCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "LeatherCuffs" },
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: { Type: null }
|
|
},
|
|
{
|
|
Name: "Wrist",
|
|
Property: {
|
|
Type: "Wrist",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"]
|
|
}
|
|
}
|
|
],
|
|
},
|
|
}, // SteelCuffs
|
|
StraitJacket: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: "Normal",
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Snug",
|
|
Property: {
|
|
Type: "Snug",
|
|
Difficulty: 6,
|
|
},
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: {
|
|
Type: "Tight",
|
|
Difficulty: 9,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "ItemArmsStraitJacketSelect",
|
|
TypePrefix: "ItemArmsStraitJacket",
|
|
},
|
|
},
|
|
}, // StraitJacket
|
|
LeatherStraitJacket: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "StraitJacket" },
|
|
}, // LeatherStraitJacket
|
|
CollarCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: "Normal",
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Snug",
|
|
Property: {
|
|
Type: "Snug",
|
|
Difficulty: 6,
|
|
},
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: {
|
|
Type: "Tight",
|
|
Difficulty: 9,
|
|
},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
},
|
|
}, // CollarCuffs
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Arms",
|
|
Property: { Type: null, Difficulty: 1 },
|
|
},
|
|
{
|
|
Name: "Bottom",
|
|
SelfBondageLevel: 4,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Bottom",
|
|
SetPose: ["BackElbowTouch"],
|
|
Block: ["ItemVulva", "ItemButt", "ItemPelvis", "ItemVulvaPiercings"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
Difficulty: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "Top",
|
|
SelfBondageLevel: 6,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Top",
|
|
SetPose: ["BackElbowTouch"],
|
|
Block: ["ItemTorso", "ItemBreast", "ItemNipples", "ItemNipplesPiercings"],
|
|
Difficulty: 4,
|
|
},
|
|
},
|
|
{
|
|
Name: "Full",
|
|
SelfBondageLevel: 8,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Full",
|
|
SetPose: ["BackElbowTouch"],
|
|
Block: ["ItemVulva", "ItemButt", "ItemPelvis", "ItemTorso", "ItemBreast", "ItemNipples", "ItemVulvaPiercings", "ItemNipplesPiercings"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
Difficulty: 6,
|
|
}
|
|
},
|
|
{
|
|
Name: "Complete",
|
|
SelfBondageLevel: 10,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Complete",
|
|
SetPose: ["BackElbowTouch"],
|
|
Block: ["ItemVulva", "ItemButt", "ItemPelvis", "ItemTorso", "ItemBreast", "ItemNipples", "ItemVulvaPiercings", "ItemNipplesPiercings"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
Difficulty: 7,
|
|
}
|
|
},
|
|
{
|
|
Name: "ExposedComplete",
|
|
SelfBondageLevel: 10,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "ExposedComplete",
|
|
SetPose: ["BackElbowTouch"],
|
|
Block: ["ItemVulva", "ItemButt", "ItemPelvis", "ItemTorso", "ItemVulvaPiercings", "ItemBreast"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
Difficulty: 7,
|
|
}
|
|
},
|
|
{
|
|
Name: "PetTape",
|
|
SelfBondageLevel: 10,
|
|
Property: {
|
|
Type: "PetTape",
|
|
SetPose: ["BackElbowTouch"],
|
|
Block: ["ItemHands"],
|
|
HideItem: ["ClothAccessoryPoncho"],
|
|
Difficulty: 7,
|
|
}
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectTapeWrapping",
|
|
},
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR, CommonChatTags.DEST_CHAR],
|
|
}
|
|
}, // DuctTape
|
|
Zipties: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "ZipLight",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackElbowTouch"],
|
|
Difficulty: 1
|
|
}
|
|
}, {
|
|
Name: "ZipMedium",
|
|
Property: {
|
|
Type: "ZipMedium",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackElbowTouch"],
|
|
Difficulty: 2
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipFull",
|
|
Property: {
|
|
Type: "ZipFull",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackElbowTouch"],
|
|
Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipElbowWrist",
|
|
Property: {
|
|
Type: "ZipElbowWrist",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackElbowTouch"],
|
|
Difficulty: 1
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipWristLight",
|
|
Property: {
|
|
Type: "ZipWristLight",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"],
|
|
Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipWristMedium",
|
|
Property: {
|
|
Type: "ZipWristMedium",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"],
|
|
Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipWristFull",
|
|
Property: {
|
|
Type: "ZipWristFull",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"],
|
|
Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipWrist",
|
|
Property: {
|
|
Type: "ZipWrist",
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackBoxTie"],
|
|
Difficulty: 1
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "ZipKneelingHogtie",
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "ZipKneelingHogtie",
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Kneel", "BackElbowTouch"], Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "ZipHogtie",
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "ZipHogtied",
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Hogtied"], Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "ZipAllFours",
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "ZipAllFours", Effect: ["ForceKneel"],
|
|
Block: ["ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["AllFours"], Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
},
|
|
],
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Dialog: {
|
|
Load: "SelectZipTie",
|
|
}
|
|
},
|
|
}, // Zipties
|
|
ThinLeatherStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Wrist", Property: { Type: "Wrist", SetPose: ["BackBoxTie"] } },
|
|
{ Name: "Boxtie", Property: { Type: null, SetPose: ["BackBoxTie"], Difficulty: 4 } },
|
|
{ Name: "WristElbow", Property: { Type: "WristElbow", SetPose: ["BackElbowTouch"], Difficulty: 3 } },
|
|
{ Name: "WristElbowHarness", Property: { Type: "WristElbowHarness", SetPose: ["BackElbowTouch"], Difficulty: 5 } },
|
|
{
|
|
Name: "Hogtie",
|
|
Property: {
|
|
Type: "Hogtie", SetPose: ["Hogtied"], Effect: ["Block", "Freeze", "Prone"], Difficulty: 6
|
|
},
|
|
Random: false,
|
|
}
|
|
]
|
|
}
|
|
}, //ThinLeatherStraps
|
|
MermaidSuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Zipped",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Block: ["ItemBreast", "ItemNipples", "ItemNipplesPiercings", "ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
|
},
|
|
},
|
|
{
|
|
Name: "UnZip",
|
|
Property: {
|
|
Type: "UnZip",
|
|
Block: [],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // MermaidSuit
|
|
TightJacket: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "PulledStraps",
|
|
Property: {
|
|
Type: "PulledStraps",
|
|
Difficulty: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "LiningStraps",
|
|
Property: {
|
|
Type: "LiningStraps",
|
|
Difficulty: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "ExtraPadding",
|
|
Property: {
|
|
Type: "ExtraPadding",
|
|
Difficulty: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "PulledLining",
|
|
Property: {
|
|
Type: "PulledLining",
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "PulledPadding",
|
|
Property: {
|
|
Type: "PulledPadding",
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "PaddedLining",
|
|
Property: {
|
|
Type: "PaddedLining",
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "FullJacket",
|
|
Property: {
|
|
Type: "FullJacket",
|
|
Difficulty: 4,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "ItemArmsTightJacketSelect",
|
|
TypePrefix: "ItemArmsTightJacket",
|
|
ChatPrefix: "ItemArmsTightJacketSet",
|
|
},
|
|
},
|
|
}, // TightJacket
|
|
TightJacketCrotch: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "TightJacket" },
|
|
}, // TightJacketCrotch
|
|
WrappedBlanket: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "NormalWrapped",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "ShouldersWrapped",
|
|
Property: { Type: "ShouldersWrapped", },
|
|
},
|
|
{
|
|
Name: "FeetWrapped",
|
|
Property: { Type: "FeetWrapped", },
|
|
},
|
|
{
|
|
Name: "FullWrapped",
|
|
Property: { Type: "FullWrapped", },
|
|
},
|
|
],
|
|
},
|
|
}, // WrappedBlanket
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Cross",
|
|
Property: { Type: null, Difficulty: 1 },
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
SelfBondageLevel: 4,
|
|
Property: { Type: "Heavy", Difficulty: 2 }
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
},
|
|
},
|
|
}, // Ribbons
|
|
SturdyLeatherBelts: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
ChangeWhenLocked: false,
|
|
Dialog: {
|
|
Load: "SturdyLeatherBeltsSelectTightness",
|
|
TypePrefix: "SturdyLeatherBeltsPose",
|
|
ChatPrefix: "SturdyLeatherBeltsRestrain",
|
|
},
|
|
Options: [
|
|
{
|
|
Name: "One",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "Two",
|
|
Property: { Type: "Two", Difficulty: 2, },
|
|
},
|
|
{
|
|
Name: "Three",
|
|
Property: { Type: "Three", Difficulty: 4, },
|
|
},
|
|
],
|
|
}
|
|
}, // SturdyLeatherBelts
|
|
StraitLeotard: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.DEST_CHAR_NAME, CommonChatTags.ASSET_NAME],
|
|
Modules: [
|
|
{
|
|
Name: "Cloth", Key: "cl",
|
|
Options: [{ Property: { Hide: ["Cloth"] } }, {}],
|
|
},
|
|
{
|
|
Name: "Corset", Key: "co",
|
|
Options: [{ Property: { Hide: ["Corset", "ItemTorso"] } }, {}],
|
|
},
|
|
{
|
|
Name: "NipplesPiercings", Key: "np",
|
|
Options: [{ Property: { Hide: ["ItemNipplesPiercings", "ItemNipples", "ItemBreast"] } }, {}],
|
|
},
|
|
{
|
|
Name: "VulvaPiercings", Key: "vp",
|
|
Options: [{ Property: { Hide: ["ItemVulvaPiercings", "Panties", "ItemPelvis"] } }, {}],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, // StraitLeotard
|
|
FuturisticStraitjacket: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Cloth", Key: "cl",
|
|
Options: [{ Property: { Hide: ["Cloth"] } }, {}],
|
|
},
|
|
{
|
|
Name: "Corset", Key: "co",
|
|
Options: [{ Property: { Hide: ["Corset", "ItemTorso"] } }, {}],
|
|
},
|
|
{
|
|
Name: "NipplesPiercings", Key: "np",
|
|
Options: [{ Property: { Hide: ["ItemNipplesPiercings", "ItemNipples", "ItemBreast"] } }, {}],
|
|
},
|
|
{
|
|
Name: "VulvaPiercings", Key: "vp",
|
|
Options: [{ Property: { Hide: ["ItemVulvaPiercings", "Panties", "ItemPelvis"] } }, {}],
|
|
},
|
|
{
|
|
Name: "Arms", Key: "a",
|
|
Options: [
|
|
{}, // a0 - Arms front
|
|
{ // a1 - Arms behind
|
|
Property: {
|
|
Difficulty: 2,
|
|
}
|
|
},
|
|
],
|
|
},
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticStraitjacket
|
|
Tentacles: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "BehindBack",
|
|
Property: {
|
|
Type: null,
|
|
SetPose: ["BackElbowTouch"],
|
|
},
|
|
},
|
|
{
|
|
Name: "OverTheHead",
|
|
Property: {
|
|
Type: "OverTheHead",
|
|
SetPose: ["OverTheHead"],
|
|
HideItem: ["ClothAdmiralTop", "ClothFurCoat", "ClothStudentOutfit2", "ClothSweater1", "ClothTeacherOutfit1"],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // Tentacles
|
|
HempRope: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "WristTie",
|
|
Property: { Type: "WristTie", Effect: ["Block", "Prone"], SetPose: ["BackBoxTie"], Difficulty: 1 },
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "BoxTie",
|
|
Property: { Type: null, Effect: ["Block", "Prone"], SetPose: ["BackBoxTie"], Difficulty: 1 }
|
|
}, {
|
|
Name: "CrossedBoxtie",
|
|
Property: { Type: "CrossedBoxtie", Effect: ["Block", "Prone"], SetPose: ["BackBoxTie"], Difficulty: 1 },
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "RopeCuffs",
|
|
Property: { Type: "RopeCuffs", Effect: ["Block", "Prone"], SetPose: ["BackCuffs"], Difficulty: 1, OverridePriority: 29 },
|
|
Expression: [{ Group: "Blush", Name: "Low", Timer: 5 }]
|
|
}, {
|
|
Name: "WristElbowTie",
|
|
BondageLevel: 2,
|
|
Property: { Type: "WristElbowTie", Effect: ["Block", "Prone"], SetPose: ["BackElbowTouch"], Difficulty: 2 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "SimpleHogtie",
|
|
BondageLevel: 2,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: { Type: "SimpleHogtie", Effect: ["Block", "Prone"], SetPose: ["Hogtied"], Difficulty: 2 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "TightBoxtie",
|
|
BondageLevel: 3,
|
|
Property: { Type: "TightBoxtie", Effect: ["Block", "Prone"], SetPose: ["BackBoxTie"], Difficulty: 3 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "WristElbowHarnessTie",
|
|
BondageLevel: 3,
|
|
Property: { Type: "WristElbowHarnessTie", Effect: ["Block", "Prone"], SetPose: ["BackElbowTouch"], Difficulty: 3 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }]
|
|
}, {
|
|
Name: "KneelingHogtie",
|
|
BondageLevel: 4,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "KneelingHogtie",
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Kneel", "BackElbowTouch"],
|
|
Difficulty: 3,
|
|
AllowPose: ["Kneel", "KneelingSpread"],
|
|
AllowActivePose: ["Kneel", "KneelingSpread"],
|
|
WhitelistActivePose: ["Kneel", "KneelingSpread"],
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "Hogtied",
|
|
BondageLevel: 4,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "Hogtied",
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Hogtied"],
|
|
Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "AllFours",
|
|
BondageLevel: 6,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "AllFours",
|
|
Effect: ["ForceKneel"],
|
|
Block: ["ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["AllFours"],
|
|
Difficulty: 3
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "BedSpreadEagle",
|
|
BondageLevel: 1,
|
|
Prerequisite: ["OnBed"],
|
|
Property: { Type: "BedSpreadEagle", Effect: ["Block", "Freeze", "Prone"], Block: ["ItemDevices"], SetPose: ["Yoked"], Difficulty: 5 },
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
}, {
|
|
Name: "SuspensionKneelingHogtie",
|
|
BondageLevel: 6,
|
|
Prerequisite: ["NotMounted", "NotChained", "NotSuspended"],
|
|
Property: {
|
|
Type: "SuspensionKneelingHogtie",
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Kneel", "BackElbowTouch"],
|
|
AllowPose: ["Kneel", "KneelingSpread"],
|
|
AllowActivePose: ["Kneel", "KneelingSpread"],
|
|
WhitelistActivePose: ["Kneel", "KneelingSpread"],
|
|
Difficulty: 6,
|
|
OverrideHeight: { Height: -250, Priority: 51, HeightRatioProportion: 1 }
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
HasSubscreen: true,
|
|
Archetype: ExtendedArchetype.VARIABLEHEIGHT,
|
|
ArchetypeConfig: {
|
|
MaxHeight: 0,
|
|
MinHeight: -250,
|
|
Slider: {
|
|
Icon: "rope",
|
|
Top: 175,
|
|
Height: 400,
|
|
},
|
|
Dialog: {
|
|
ChatPrefix: "SuspensionChange",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
},
|
|
}, {
|
|
Name: "SuspensionHogtied",
|
|
BondageLevel: 8,
|
|
Prerequisite: ["NotMounted", "NotChained", "NotSuspended"],
|
|
Property: {
|
|
Type: "SuspensionHogtied",
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Hogtied"],
|
|
Difficulty: 6,
|
|
OverrideHeight: { Height: -575, Priority: 51, HeightRatioProportion: 1 }
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
HasSubscreen: true,
|
|
Archetype: ExtendedArchetype.VARIABLEHEIGHT,
|
|
ArchetypeConfig: {
|
|
MaxHeight: 0,
|
|
MinHeight: -575,
|
|
Slider: {
|
|
Icon: "rope",
|
|
Top: 125,
|
|
Height: 675,
|
|
},
|
|
Dialog: {
|
|
ChatPrefix: "SuspensionChange",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
},
|
|
}, {
|
|
Name: "SuspensionAllFours",
|
|
BondageLevel: 8,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "SuspensionAllFours",
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Block: ["ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["AllFours"],
|
|
Difficulty: 6,
|
|
OverrideHeight: { Height: -560, Priority: 51, HeightRatioProportion: 1 }
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
HasSubscreen: true,
|
|
Archetype: ExtendedArchetype.VARIABLEHEIGHT,
|
|
ArchetypeConfig: {
|
|
MaxHeight: 0,
|
|
MinHeight: -560,
|
|
Slider: {
|
|
Icon: "rope",
|
|
Top: 125,
|
|
Height: 675,
|
|
},
|
|
Dialog: {
|
|
ChatPrefix: "SuspensionChange",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
},
|
|
}, {
|
|
Name: "InvertedSuspensionHogtied",
|
|
BondageLevel: 8,
|
|
Prerequisite: ["NotMounted", "NotChained", "NotSuspended"],
|
|
Property: {
|
|
Type: "InvertedSuspensionHogtied",
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["Hogtied", "Suspension"],
|
|
Difficulty: 6,
|
|
OverrideHeight: { Height: -600, Priority: 51, HeightRatioProportion: 0 }
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
HasSubscreen: true,
|
|
Archetype: ExtendedArchetype.VARIABLEHEIGHT,
|
|
ArchetypeConfig: {
|
|
MaxHeight: -50,
|
|
MinHeight: -600,
|
|
Slider: {
|
|
Icon: "rope",
|
|
Top: 100,
|
|
Height: 700,
|
|
},
|
|
Dialog: {
|
|
ChatPrefix: "SuspensionChange",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
},
|
|
}, {
|
|
Name: "InvertedSuspensionAllFours",
|
|
BondageLevel: 8,
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "InvertedSuspensionAllFours",
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
Block: ["ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SetPose: ["AllFours", "Suspension"],
|
|
Difficulty: 6,
|
|
OverrideHeight: { Height: -560, Priority: 51, HeightRatioProportion: 0 }
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 10 }],
|
|
Random: false,
|
|
HasSubscreen: true,
|
|
Archetype: ExtendedArchetype.VARIABLEHEIGHT,
|
|
ArchetypeConfig: {
|
|
MaxHeight: 0,
|
|
MinHeight: -560,
|
|
Slider: {
|
|
Icon: "rope",
|
|
Top: 100,
|
|
Height: 700,
|
|
},
|
|
Dialog: {
|
|
ChatPrefix: "SuspensionChange",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRopeBondage",
|
|
TypePrefix: "RopeBondage",
|
|
ChatPrefix: "ArmsRopeSet",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
}
|
|
},
|
|
Slime: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Position", Key: "p",
|
|
Options: [
|
|
{}, // p0 - Arms behind back
|
|
{ Property: { Difficulty: 2, SetPose: ["Hogtied"] } }, // p1 - Hogtied
|
|
],
|
|
},
|
|
{
|
|
Name: "Type", Key: "t",
|
|
Options: [
|
|
{}, // t0 - Normal slime
|
|
{ Property: { Difficulty: 3 } }, // t1 - Slime girl
|
|
]
|
|
}
|
|
],
|
|
ChatTags: [CommonChatTags.DEST_CHAR, CommonChatTags.TARGET_CHAR],
|
|
}
|
|
},
|
|
WoodenCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "HandsFront",
|
|
Property: {
|
|
Type: "HandsFront",
|
|
Difficulty: 2,
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BaseUpper"],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "HandsBack",
|
|
Property: {
|
|
Type: "HandsBack",
|
|
Difficulty: 3,
|
|
Effect: ["Block", "Prone"],
|
|
SetPose: ["BackCuffs"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
{
|
|
Name: "HandsHead",
|
|
Property: {
|
|
Type: "HandsHead",
|
|
Difficulty: 4,
|
|
Effect: ["Block", "Prone", "NotSelfPickable"],
|
|
SetPose: ["Yoked"],
|
|
SelfUnlock: false,
|
|
},
|
|
},
|
|
{
|
|
Name: "Hogtied",
|
|
Prerequisite: ["NotMounted", "NotSuspended"],
|
|
Property: {
|
|
Type: "Hogtied",
|
|
Difficulty: 5,
|
|
Effect: ["Block", "Freeze", "Prone", "NotSelfPickable"],
|
|
SetPose: ["Hogtied"],
|
|
Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"],
|
|
AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"],
|
|
SelfUnlock: false,
|
|
},
|
|
Expression: [{ Group: "Blush", Name: "Medium", Timer: 5 }],
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemArmsWoodenCuffs",
|
|
},
|
|
},
|
|
}, // WoodenCuffs
|
|
}, // ItemArms
|
|
ItemNeck: {
|
|
ShinySteelCollar: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "NoRing", Property: { Type: null } },
|
|
{ Name: "Ring", Property: { Type: "Ring" } }
|
|
],
|
|
DrawImages: false
|
|
}
|
|
}, // ShinySteelCollar
|
|
TechnoCollar: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "CollarType", Key: "c",
|
|
Options: [
|
|
{}, // c0 Slender Collar
|
|
{
|
|
Property: {
|
|
Difficulty: 65,
|
|
},
|
|
}, //c1 Choker Collar
|
|
{
|
|
Property: {
|
|
Difficulty: 70,
|
|
},
|
|
}, //c2 Full Collar
|
|
{
|
|
Property: {
|
|
Difficulty: 75,
|
|
},
|
|
}, //c3 Posture Collar
|
|
{
|
|
Property: {
|
|
Difficulty: 80,
|
|
},
|
|
}, //c4 Strict Posture Collar
|
|
],
|
|
},
|
|
{
|
|
Name: "ShockModule", Key: "s",
|
|
Options: [
|
|
{}, // s0 No Shock Module
|
|
{ HasSubscreen: true }, // s1 Shock Module
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, //TechnoCollar
|
|
ComboHarness: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "BallGag", GroupName: "ItemMouth" },
|
|
}, // ComboHarness
|
|
BonedNeckCorset: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "NoRing", Property: { Type: null } },
|
|
{ Name: "Ring", Property: { Type: "Ring" } },
|
|
],
|
|
}
|
|
}, // BonedNeckCorset
|
|
}, // ItemNeck
|
|
ItemNeckAccessories: {
|
|
CustomCollarTag: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
ChatSetting: ModularItemChatSetting.PER_MODULE,
|
|
Modules: [
|
|
{
|
|
Name: "Tag", Key: "t",
|
|
Options: [{}, {}, {}, {}, {}, {}],
|
|
},
|
|
{
|
|
Name: "Txt", Key: "x",
|
|
Options: [{ HasSubscreen: true }],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
} // CustomCollarTag
|
|
}, // ItemNeckAccessories
|
|
ItemHood: {
|
|
OldGasMask: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Lenses", Key: "l",
|
|
Options: [
|
|
{},
|
|
{ Property: { Effect: ["BlindHeavy"] } },
|
|
],
|
|
},
|
|
{
|
|
Name: "Addons", Key: "a",
|
|
Options: [
|
|
{},
|
|
{ Property: { Effect: ["GagEasy"] } },
|
|
{ Property: { Effect: ["GagEasy"] } },
|
|
{ Property: { Effect: ["GagEasy"] } },
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
},
|
|
InflatedBallHood: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Empty",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
InflateLevel: 0,
|
|
Effect: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
Difficulty: 2,
|
|
InflateLevel: 1,
|
|
Effect: ["GagLight", "BlockMouth"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Inflated",
|
|
Property: {
|
|
Type: "Inflated",
|
|
Difficulty: 4,
|
|
InflateLevel: 2,
|
|
Effect: ["GagEasy", "BlockMouth"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Bloated",
|
|
Property: {
|
|
Type: "Bloated",
|
|
Difficulty: 6,
|
|
InflateLevel: 3,
|
|
Effect: ["GagMedium", "BlockMouth"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Maximum",
|
|
Property: {
|
|
Type: "Maximum",
|
|
Difficulty: 8,
|
|
InflateLevel: 4,
|
|
Effect: ["GagVeryHeavy", "BlockMouth"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectInflateLevel",
|
|
TypePrefix: "InflateLevel",
|
|
ChatPrefix: ({ newIndex, previousIndex }) => `InflatedHood${(newIndex > previousIndex) ? "pumps" : "deflates"}To`,
|
|
},
|
|
DrawImages: false,
|
|
}
|
|
}, // InflatedBallHood
|
|
KirugumiMask: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
ChatSetting: ModularItemChatSetting.PER_MODULE,
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Modules: [
|
|
{
|
|
Name: "Eyes", Key: "e",
|
|
Options: [{}, {}, {}, {}], // All options are merely cosmetic
|
|
},
|
|
{
|
|
Name: "Mouth", Key: "m",
|
|
Options: [{}, {}, {}, {}], // All options are merely cosmetic,
|
|
},
|
|
{
|
|
Name: "Blush", Key: "b",
|
|
Options: [{}, {}, {}, {}], // All options are merely cosmetic,
|
|
},
|
|
{
|
|
Name: "Brows", Key: "br",
|
|
Options: [{}, {}, {}, {}], // All options are merely cosmetic,
|
|
},
|
|
{
|
|
Name: "Opacity", Key: "op",
|
|
Options: [
|
|
{},
|
|
{
|
|
Property: {
|
|
Effect: ["BlindLight"],
|
|
},
|
|
},
|
|
{
|
|
Property: {
|
|
Effect: ["BlindHeavy", "Prone"],
|
|
},
|
|
}
|
|
], // Opacity
|
|
},
|
|
{
|
|
Name: "MaskStyle", Key: "ms",
|
|
Options: [
|
|
{
|
|
Property: {
|
|
Effect: ["BlockMouth"],
|
|
Hide: ["Glasses", "ItemMouth", "ItemMouth2", "ItemMouth3", "Mask", "ItemHead"],
|
|
HideItem: ["ItemHeadSnorkel"],
|
|
Block: ["ItemMouth", "ItemMouth2", "ItemMouth3", "ItemHead", "ItemNose", "ItemEars"]
|
|
}
|
|
},
|
|
{
|
|
Property: {
|
|
OverridePriority: 35,
|
|
Hide: ["Head"],
|
|
}
|
|
},
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, // KirugumiMask
|
|
GwenHood: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "HairOutAccOut",
|
|
Property: {
|
|
Type: null,
|
|
Hide: []
|
|
},
|
|
},
|
|
{
|
|
Name: "HairInAccOut",
|
|
Property: {
|
|
Type: "HairInAccOut",
|
|
Hide: ["HairBack"]
|
|
},
|
|
},
|
|
{
|
|
Name: "HairOutAccIn",
|
|
Property: {
|
|
Type: "HairOutAccIn",
|
|
Hide: ["HairAccessory1", "HairAccessory2", "HairAccessory3"]
|
|
},
|
|
},
|
|
{
|
|
Name: "HairInAccIn",
|
|
Property: {
|
|
Type: "HairInAccIn",
|
|
Hide: ["HairAccessory1", "HairAccessory2", "HairAccessory3", "HairBack"]
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "GwenHoodSelectStyle",
|
|
TypePrefix: "GwenHoodStyle",
|
|
ChatPrefix: "GwenHoodChangeStyle",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // GwenHood
|
|
OpenFaceHood: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "HideBackHair",
|
|
Property: { Type: "HideBackHair", Hide: ["HairBack"] },
|
|
},
|
|
{
|
|
Name: "ShowBackHair",
|
|
Property: { Type: null },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectOpenFaceHoodStyle",
|
|
TypePrefix: "OpenFaceHoodStyle",
|
|
},
|
|
DrawImages: false,
|
|
}
|
|
}, // OpenFaceHood
|
|
TechnoHelmet1: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Visor", Key: "v",
|
|
Options:[
|
|
{
|
|
Property: {
|
|
CustomBlindBackground: "",
|
|
Effect: [],
|
|
}
|
|
}, //v0 No Visor
|
|
{
|
|
Property: {
|
|
CustomBlindBackground: "",
|
|
Effect: [],
|
|
Tint: [{ Color: 0, Strength: 0.1 }],
|
|
}
|
|
}, // v1 Transparent Visor
|
|
{
|
|
Property: {
|
|
CustomBlindBackground: "",
|
|
Effect: ["BlindLight", "Prone"],
|
|
Tint: [{ Color: 0, Strength: 0.2 }],
|
|
},
|
|
}, // v2 Lightly Tinted Visor
|
|
{
|
|
Property: {
|
|
CustomBlindBackground: "",
|
|
Effect: ["BlindNormal", "Prone"],
|
|
Tint: [{ Color: 0, Strength: 0.5 }],
|
|
},
|
|
}, // v3 Heavily Tinted Visor
|
|
{
|
|
Property: {
|
|
CustomBlindBackground: "",
|
|
Effect: ["BlindHeavy", "Prone"],
|
|
Tint: [{ Color: 0, Strength: 1 }],
|
|
},
|
|
}, // v4 Opaque Visor
|
|
{
|
|
Property: {
|
|
CustomBlindBackground: "HypnoSpiral2",
|
|
Effect: ["BlindHeavy", "Prone"]
|
|
},
|
|
}, // v5 Hypnotic Visor
|
|
],
|
|
|
|
},
|
|
{
|
|
Name: "DeafeningModule", Key: "d",
|
|
Options: [
|
|
{}, //h0 Disabled
|
|
{
|
|
Property: {
|
|
Effect: ["DeafLight"]
|
|
},
|
|
}, //h1 Light
|
|
{
|
|
Property: {
|
|
Effect: ["DeafHeavy"],
|
|
},
|
|
}, //h2 Heavy
|
|
{
|
|
Property: {
|
|
Effect: ["DeafTotal"]
|
|
},
|
|
}, //h3 Noise-Cancelling
|
|
],
|
|
},
|
|
{
|
|
Name: "ChinStrap", Key: "c",
|
|
Options: [
|
|
{}, //c0 No Chin Strap
|
|
{
|
|
Property: {
|
|
Difficulty: 10
|
|
}
|
|
}, //h1 Chin Strap
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
}
|
|
}, // TechnoHelmet1
|
|
ZipperHood: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "ZippersOpen",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "ZippersClosed",
|
|
Property: { Type: "ZippersClosed", Effect: ["BlindHeavy"] },
|
|
},
|
|
{
|
|
Name: "ZippersClosedEyes",
|
|
Property: { Type: "ZippersClosedEyes", Effect: ["BlindHeavy"] },
|
|
},
|
|
{
|
|
Name: "ZippersClosedMouth",
|
|
Property: {Type: "ZippersClosedMouth"},
|
|
},
|
|
]
|
|
}
|
|
|
|
}, // ZipperHood
|
|
HeadboxSeethrough: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Seethrough",
|
|
Property: {
|
|
Type: null,
|
|
Tint: [{Color: 0, Strength: 1}],
|
|
},
|
|
},
|
|
{
|
|
Name: "Opaque",
|
|
Property: {
|
|
Type: "Opaque"
|
|
},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
},
|
|
}, // HeadboxSeethrough
|
|
KittyHood: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Modules: [
|
|
{
|
|
Name: "Blindfold", Key: "b",
|
|
Options: [
|
|
{}, // b0 - None
|
|
{
|
|
Property: {
|
|
Effect: ["BlindHeavy"],
|
|
}
|
|
}, // b1 - Blindfold
|
|
]
|
|
},
|
|
{
|
|
Name: "Gag", Key: "g",
|
|
Options: [
|
|
{}, // g0 - None
|
|
{
|
|
Property: {
|
|
Effect: ["GagLight"],
|
|
Block: ["ItemMouth", "ItemMouth2", "ItemMouth3"],
|
|
}
|
|
}, // g1 - Gag
|
|
]
|
|
},
|
|
{
|
|
Name: "Expression", Key: "e",
|
|
Options: [
|
|
{}, // e0 - Neutral
|
|
{}, // e1 - OwO
|
|
{}, // e2 - UwU
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}, // ItemHood
|
|
ItemDevices: {
|
|
FuturisticCrate: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Window", Key: "w",
|
|
Options: [
|
|
{}, // d0 - Open
|
|
{
|
|
Property: {
|
|
Difficulty: 20,
|
|
Effect: ["Prone", "Freeze", "Enclose"]
|
|
},
|
|
}, // d1 - Window
|
|
{
|
|
Property: {
|
|
Difficulty: 22,
|
|
Effect: ["BlindLight", "Prone", "Freeze", "Enclose"]
|
|
},
|
|
}, // d2 - Normal Window
|
|
{
|
|
Property: {
|
|
Difficulty: 22,
|
|
Effect: ["BlindNormal", "Prone", "Freeze", "Enclose"]
|
|
},
|
|
}, // d3 - Small window
|
|
{
|
|
Property: {
|
|
Difficulty: 52,
|
|
Effect: ["BlindHeavy", "GagLight", "Prone", "Freeze", "Enclose"]
|
|
},
|
|
}, // d4 - Closed
|
|
],
|
|
},
|
|
{
|
|
Name: "LegCuffs", Key: "l",
|
|
Options: [
|
|
{}, // l0 - No leg straps
|
|
{ // l1 - Kneel leg restraints
|
|
Prerequisite: ["LegsOpen", "CuffedLegsOrEmpty", "CuffedFeetOrEmpty", "NotSuspended", "NotHogtied", "NotHorse", "NotKneeling"],
|
|
Property: {
|
|
Difficulty: 18,
|
|
SetPose: ["Kneel"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
{ // l2 - Closed leg restraints
|
|
Prerequisite: ["LegsOpen", "CuffedLegsOrEmpty", "CuffedFeetOrEmpty", "NotSuspended", "NotHogtied", "NotHorse", "NotKneeling"],
|
|
Property: {
|
|
Difficulty: 22,
|
|
SetPose: ["LegsClosed"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"]
|
|
},
|
|
},
|
|
{ // l3 - Spread leg restraints
|
|
Prerequisite: ["LegsOpen", "CuffedLegsOrEmpty", "CuffedFeetOrEmpty", "NotSuspended", "NotHogtied", "NotHorse", "NotKneeling"],
|
|
Property: {
|
|
Difficulty: 22,
|
|
SetPose: ["Spread"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"]
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "ArmCuffs", Key: "a",
|
|
Options: [
|
|
{}, // s0 - No arm cuffs
|
|
{ // s1 - Elbow cuffs
|
|
Prerequisite: ["CuffedArmsOrEmpty"],
|
|
Property: {
|
|
Difficulty: 18,
|
|
SetPose: ["BackElbowTouch"],
|
|
AllowActivePose: ["Spread", "LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
{ // s2 - Box cuffs
|
|
Prerequisite: ["CuffedArmsOrEmpty"],
|
|
Property: {
|
|
Difficulty: 18,
|
|
SetPose: ["BackBoxTie"],
|
|
AllowActivePose: ["Spread", "LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
{ // s3 - Overhead restraints
|
|
Prerequisite: ["CuffedArmsOrEmpty"],
|
|
Property: {
|
|
Difficulty: 22,
|
|
SetPose: ["OverTheHead"],
|
|
AllowActivePose: ["Spread", "LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Device", Key: "d",
|
|
Options: [
|
|
{}, // d0 - No devvice
|
|
{ // s1 - Pleasure module
|
|
HasSubscreen: true,
|
|
Prerequisite: ["AccessVulva", "VulvaEmpty", "VulvaNotBlockedByBelt"],
|
|
Property: {
|
|
SetPose: ["BaseLower"],
|
|
AllowActivePose: ["Spread", "LegsClosed", "BaseLower"],
|
|
Effect: ["Egged", "Prone", "Freeze", "BlockKneel"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
}
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Structure", Key: "t",
|
|
Options: [
|
|
{}, // t0 - No harness
|
|
{}, // t1 - X
|
|
{}, // t2 - +
|
|
{}, // t3 - H
|
|
],
|
|
},
|
|
{
|
|
Name: "Harness", Key: "h",
|
|
Options: [
|
|
{}, // h0 - None
|
|
{ // h1 - Minimal
|
|
Property: {
|
|
Difficulty: 12,
|
|
Effect: ["Prone", "Freeze"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
{ // h2 - Comprehensive
|
|
Property: {
|
|
Difficulty: 18,
|
|
Effect: ["Prone", "Freeze"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
{ // h3 - Comprehensive (breast)
|
|
Property: {
|
|
Difficulty: 18,
|
|
Effect: ["Prone", "Freeze"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
{ // h4 - High Security
|
|
Property: {
|
|
Difficulty: 24,
|
|
Effect: ["Prone", "Freeze"],
|
|
OverrideHeight: { Height: 0, Priority: 60 },
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
}
|
|
},
|
|
}, // FuturisticCrate
|
|
|
|
BondageBench: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
AllowLock: false,
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
SetPose: ["LegsClosed"],
|
|
Effect: ["Mounted"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
SelfBondageLevel: 2,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Light",
|
|
Difficulty: 2,
|
|
SetPose: ["LegsClosed", "BaseUpper"],
|
|
Effect: ["Block", "Prone", "Freeze", "Mounted"],
|
|
Hide: ["HairBack", "Wings", "TailStraps", "ItemButt"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Normal",
|
|
SelfBondageLevel: 3,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Normal",
|
|
Difficulty: 3,
|
|
SetPose: ["LegsClosed", "BaseUpper"],
|
|
Effect: ["Block", "Prone", "Freeze", "Mounted"],
|
|
Hide: ["HairBack", "Wings", "TailStraps", "ItemButt"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
SelfBondageLevel: 6,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Heavy",
|
|
Difficulty: 6,
|
|
SetPose: ["LegsClosed", "BaseUpper"],
|
|
Effect: ["Block", "Prone", "Freeze", "Mounted"],
|
|
Hide: ["HairBack", "Wings", "TailStraps", "ItemButt"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Full",
|
|
SelfBondageLevel: 9,
|
|
Prerequisite: ["NoOuterClothes"],
|
|
Property: {
|
|
Type: "Full",
|
|
Difficulty: 9,
|
|
SetPose: ["LegsClosed", "BaseUpper"],
|
|
Effect: ["Block", "Prone", "Freeze", "Mounted"],
|
|
Hide: ["HairBack", "Wings", "TailStraps", "ItemButt"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "BondageBenchStrapsSelectTightness",
|
|
TypePrefix: "BondageBenchStrapsPose",
|
|
ChatPrefix: "BondageBenchStrapsRestrain",
|
|
},
|
|
},
|
|
}, // BondageBench
|
|
Cushion: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Hold",
|
|
Property: {
|
|
Type: null,
|
|
HideItem: ["ItemMiscTeddyBear"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Kneel",
|
|
Prerequisite: ["NotSuspended", "CanKneel"],
|
|
Property: {
|
|
Type: "Kneel",
|
|
OverrideHeight: { Height: -200, Priority: 21 },
|
|
OverridePriority: 1,
|
|
SetPose: ["Kneel"]
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectCushionStyle",
|
|
TypePrefix: "CushionType",
|
|
},
|
|
ChatSetting: TypedItemChatSetting.SILENT,
|
|
},
|
|
}, // Cushion
|
|
Crib: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Gate", Key: "g",
|
|
Options: [
|
|
{}, // g0 - Gate open
|
|
{ Property: { Difficulty: 15 } }, // g1 - Gate closed
|
|
],
|
|
},
|
|
{
|
|
Name: "Plushies", Key: "p",
|
|
Options: [
|
|
{}, // p0 - No plushies
|
|
{}, // p1 - Plushies
|
|
],
|
|
},
|
|
],
|
|
},
|
|
}, // Crib
|
|
PetBed: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "NoBlanket",
|
|
Property: {
|
|
Type: null
|
|
},
|
|
},
|
|
{
|
|
Name: "Blanket",
|
|
Property: {
|
|
Type: "Blanket",
|
|
SetPose: ["AllFours"],
|
|
Hide: ["ItemArms", "ItemButt", "TailStraps", "Wings"],
|
|
HideItem: ["ItemMiscTeddyBear"],
|
|
HideItemExclude: ["ItemArmsBitchSuit", "ItemArmsBitchSuitExposed"],
|
|
Block: [
|
|
"ItemArms", "ItemBreast", "ItemButt", "ItemFeet", "ItemBoots",
|
|
"ItemLegs", "ItemMisc", "ItemNipples", "ItemNipplesPiercings",
|
|
"ItemPelvis", "ItemTorso", "ItemVulva", "ItemVulvaPiercings"
|
|
]
|
|
},
|
|
Random: false,
|
|
},
|
|
],
|
|
},
|
|
}, // PetBed
|
|
Vacbed: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: { Type: null }
|
|
},
|
|
{
|
|
Name: "Nohair",
|
|
Property: {
|
|
Type: "Nohair",
|
|
Hide: ["HairFront", "HairAccessory1", "HairAccessory2", "HairAccessory3", "Hat"],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // Vacbed
|
|
Familiar: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Bat",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Cat",
|
|
Property: { Type: "Cat" },
|
|
},
|
|
{
|
|
Name: "Skeleton",
|
|
Property: { Type: "Skeleton" },
|
|
},
|
|
{
|
|
Name: "Parrot",
|
|
Property: { Type: "Parrot" },
|
|
},
|
|
],
|
|
},
|
|
}, // Familiar
|
|
LittleMonster: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Black",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Red",
|
|
Property: { Type: "Red" },
|
|
},
|
|
{
|
|
Name: "Green",
|
|
Property: { Type: "Green" },
|
|
},
|
|
{
|
|
Name: "Blue",
|
|
Property: { Type: "Blue" },
|
|
},
|
|
],
|
|
},
|
|
}, // LitteMonster
|
|
InflatableBodyBag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Inflated",
|
|
Property: {
|
|
Type: "Inflated",
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Bloated",
|
|
Property: {
|
|
Type: "Bloated",
|
|
Difficulty: 6,
|
|
},
|
|
},
|
|
{
|
|
Name: "Max",
|
|
Property: {
|
|
Type: "Max",
|
|
Difficulty: 9,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // InflatableBodyBag
|
|
FurBlanketWrap: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR_NAME],
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: {
|
|
Type: "Tight",
|
|
Difficulty: 5,
|
|
},
|
|
},
|
|
{
|
|
Name: "Belts",
|
|
AllowLock: true,
|
|
Property: {
|
|
Type: "Belts",
|
|
Difficulty: 8,
|
|
},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, // FurBlanketWrap
|
|
Pole: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Untied",
|
|
Property: {
|
|
Type: null,
|
|
}
|
|
},
|
|
{
|
|
Name: "Tied",
|
|
SelfBondageLevel: 2,
|
|
Property: {
|
|
Type: "Tied",
|
|
Difficulty: 8,
|
|
SetPose: ["BackBoxTie"],
|
|
Effect: ["Block", "Freeze", "Prone"],
|
|
}
|
|
},
|
|
],
|
|
},
|
|
}, // Pole
|
|
CryoCapsule: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Effect: ["Freeze"],
|
|
SelfUnlock: true
|
|
}
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed",
|
|
Difficulty: 50,
|
|
Effect: ["Freeze", "GagMedium", "Prone", "Enclose", "BlindLight"],
|
|
SelfUnlock: false
|
|
}
|
|
}
|
|
],
|
|
ChangeWhenLocked: false,
|
|
Dialog: {
|
|
Load: "SelectCryoCapsuleType",
|
|
TypePrefix: "CryoCapsuleType",
|
|
ChatPrefix: "CryoCapsuleSet",
|
|
},
|
|
},
|
|
}, // CryoCapsule
|
|
Coffin: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "CryoCapsule" },
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Effect: ["Freeze"],
|
|
SelfUnlock: true
|
|
}
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed",
|
|
Difficulty: 50,
|
|
Effect: ["Freeze", "GagMedium", "Prone", "Enclose", "BlindLight"],
|
|
SelfUnlock: false
|
|
}
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectCoffinType",
|
|
TypePrefix: "CoffinType",
|
|
ChatPrefix: "CoffinSet",
|
|
},
|
|
},
|
|
}, // Coffin
|
|
Net: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR_NAME],
|
|
Options: [
|
|
{
|
|
Name: "Kneel",
|
|
Property: {
|
|
Type: "Kneel",
|
|
Difficulty: 3,
|
|
Effect: ["Freeze", "Prone", "ForceKneel"],
|
|
SetPose: ["Kneel"],
|
|
},
|
|
},
|
|
{
|
|
Name: "AllFours",
|
|
Property: {
|
|
Type: "AllFours",
|
|
Difficulty: 6,
|
|
Effect: ["Freeze", "Prone"],
|
|
SetPose: ["AllFours"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Suspended",
|
|
Property: {
|
|
Type: "Suspended",
|
|
Difficulty: 7,
|
|
Effect: ["Block", "Freeze", "Prone", "Suspended"],
|
|
SetPose: ["Hogtied"],
|
|
Block: ["ItemArms","ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast"],
|
|
Hide: ["ItemArms","ItemVulva", "ItemVulvaPiercings", "ItemButt", "ItemPelvis", "ItemTorso", "ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemNipples", "ItemNipplesPiercings", "ItemBreast"],
|
|
HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"],
|
|
OverrideHeight: { Height: 25, Priority: 51, HeightRatioProportion: 0 },
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemDevicesNet",
|
|
},
|
|
},
|
|
}, // Net
|
|
WoodenRack: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config:{
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.DEST_CHAR_NAME, CommonChatTags.TARGET_CHAR_NAME],
|
|
Modules:[
|
|
{
|
|
Name: "Frame", Key: "f",
|
|
Options: [
|
|
{}, // f0 - Normal
|
|
{}, // f1 - Stained
|
|
{}, // f2 - HalfBack
|
|
{}, // f3 - NoBack
|
|
],
|
|
},
|
|
{
|
|
Name: "TopRestraints", Key: "t",
|
|
Options: [
|
|
{}, // t0 - No
|
|
{
|
|
Prerequisite: ["CuffedArmsOrEmpty"],
|
|
Property: {
|
|
Difficulty: 6,
|
|
SetPose: ["Yoked"],
|
|
AllowActivePose: ["LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
},
|
|
}, // t1 - Rope
|
|
{
|
|
Prerequisite: ["CuffedArmsOrEmpty"],
|
|
Property: {
|
|
Difficulty: 6,
|
|
SetPose: ["OverTheHead"],
|
|
AllowActivePose: ["LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
|
|
},
|
|
}, // t2 - RopeTight
|
|
{
|
|
AllowLock: true,
|
|
Prerequisite: ["CuffedArms"],
|
|
Property: {
|
|
Difficulty: 10,
|
|
SetPose: ["Yoked"],
|
|
AllowActivePose: ["LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
},
|
|
}, // t3 - Chains
|
|
{
|
|
AllowLock: true,
|
|
Prerequisite: ["CuffedArms"],
|
|
Property: {
|
|
Difficulty: 10,
|
|
SetPose: ["OverTheHead"],
|
|
AllowActivePose: ["LegsClosed", "BaseLower"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "Block", "BlockKneel", "Mounted"],
|
|
},
|
|
}, // t4 - ChainsTight
|
|
{
|
|
AllowLock: true,
|
|
Property: {
|
|
Difficulty: 12,
|
|
SetPose: ["Yoked"],
|
|
Block: ["ItemArms"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
},
|
|
}, // t5 - Stocks
|
|
],
|
|
},
|
|
{
|
|
Name: "BotRestraints", Key: "b",
|
|
Options: [
|
|
{}, // b0 - No
|
|
{
|
|
Property: {
|
|
Difficulty: 6,
|
|
SetPose: ["Spread"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"]
|
|
},
|
|
}, // b1 - Rope
|
|
{
|
|
Property: {
|
|
Difficulty: 6,
|
|
SetPose: ["LegsClosed"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"]
|
|
},
|
|
}, // b2 - RopeTight
|
|
{
|
|
AllowLock: true,
|
|
Prerequisite: ["CuffedLegs"],
|
|
Property: {
|
|
Difficulty: 10,
|
|
SetPose: ["Spread"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"]
|
|
},
|
|
}, // b3 - Chains
|
|
{
|
|
AllowLock: true,
|
|
Prerequisite: ["CuffedLegs"],
|
|
Property: {
|
|
Difficulty: 10,
|
|
SetPose: ["LegsClosed"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes"]
|
|
},
|
|
}, // b4 - ChainsTogether
|
|
{
|
|
AllowLock: true,
|
|
Property: {
|
|
Difficulty: 12,
|
|
SetPose: ["BaseLower"],
|
|
Block: ["ItemFeet", "ItemLegs"],
|
|
Effect: ["Prone", "Freeze", "BlockKneel", "Mounted"],
|
|
Hide: ["ItemBoots", "Shoes", "ItemFeet", "ItemLegs"],
|
|
},
|
|
}, // b5 - Stocks
|
|
],
|
|
},
|
|
],
|
|
},
|
|
}, //WoodenRack
|
|
|
|
}, // ItemDevices
|
|
ItemBoots: {
|
|
ToeTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Toes",
|
|
Property: { Type: null, Difficulty: 0 },
|
|
},
|
|
{
|
|
Name: "Full",
|
|
Property: { Type: "Full", Difficulty: 2 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectTapeWrapping",
|
|
TypePrefix: "ToeTapePose",
|
|
ChatPrefix: "ToeTapeSet",
|
|
NpcPrefix: "",
|
|
},
|
|
},
|
|
}, // ToeTape
|
|
FuturisticHeels: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Shoes",
|
|
Property: { Type: null, HeightModifier: 6 },
|
|
},
|
|
{
|
|
Name: "Heel",
|
|
Property: { Type: "Heel", HeightModifier: 16 },
|
|
},
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticHeels
|
|
FuturisticHeels2: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Shiny", Property: { Type: null } },
|
|
{ Name: "Matte", Property: { Type: "Matte" } },
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticHeels2
|
|
MonoHeel: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.ASSET_NAME],
|
|
Options: [
|
|
{
|
|
Name: "Full",
|
|
Property: { Type: null, Difficulty: 1 },
|
|
},
|
|
{
|
|
Name: "Half",
|
|
Property: { Type: "Half", Difficulty: 0 },
|
|
},
|
|
],
|
|
},
|
|
}, // MonoHeel
|
|
}, // ItemBoots
|
|
ItemVulva: {
|
|
ClitSuctionCup: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null,
|
|
SuctionLevel: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
SuctionLevel: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "Medium",
|
|
Property: {
|
|
Type: "Medium",
|
|
SuctionLevel: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
Property: {
|
|
Type: "Heavy",
|
|
SuctionLevel: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Maximum",
|
|
Property: {
|
|
Type: "Maximum",
|
|
SuctionLevel: 4,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectSuctionLevel",
|
|
TypePrefix: "SuctionLevel",
|
|
ChatPrefix: ({ newIndex, previousIndex }) => `ClitSuc${(newIndex > previousIndex) ? "tightens" : "loosens"}To`,
|
|
NpcPrefix: "ItemVulvaClitSuctionCupNPCReaction"
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // ClitSuctionCup
|
|
DoubleEndDildo: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.DEST_CHAR_NAME, CommonChatTags.ASSET_NAME],
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Large",
|
|
Property: {
|
|
Type: "Large",
|
|
},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
},
|
|
}, // DoubleEndDildo
|
|
VibratingDildo: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // VibratingDildo
|
|
ClitoralStimulator: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // ClitoralStimulator
|
|
VibratingEgg: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // VibratingEgg
|
|
VibratingLatexPanties: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // VibratingLatexPanties
|
|
WandBelt: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // WandBelt
|
|
FullLatexSuitWand: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // FullLatexSuitWand
|
|
HempRopeBelt: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // HempRopeBelt
|
|
WiredEgg: {
|
|
Archetype: ExtendedArchetype.VIBRATING,
|
|
}, // WiredEgg
|
|
Stitches: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options:[
|
|
{
|
|
Name: "Straight",
|
|
Property: {Type: "Straight",}
|
|
},
|
|
{
|
|
Name: "ZigZag",
|
|
Property: {Type: "ZigZag",}
|
|
},
|
|
{
|
|
Name: "Skewed",
|
|
Property: {Type: "Skewed",}
|
|
},
|
|
{
|
|
Name: "Cross",
|
|
Property: {Type: "Cross",}
|
|
},
|
|
],
|
|
},
|
|
}, //StitchedPussy
|
|
}, // ItemVulva
|
|
ItemVulvaPiercings: {
|
|
ClitRing: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Base",
|
|
Property: {
|
|
Type: "",
|
|
Effect: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "Leash",
|
|
Prerequisite: ["NotSuspended"],
|
|
Property: {
|
|
Type: "Leash",
|
|
Effect: ["Leash"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectAttachmentState",
|
|
TypePrefix: "ClitRingPose",
|
|
ChatPrefix: "ClitRingRestrain",
|
|
},
|
|
},
|
|
}, // ClitRing
|
|
}, // ItemVulvaPiercings
|
|
ItemButt: {
|
|
AnalHook: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Base",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Intensity: 0,
|
|
Effect: ["IsPlugged"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Chain",
|
|
Property: {
|
|
Type: "Chain",
|
|
Difficulty: 8,
|
|
Intensity: 1,
|
|
Effect: ["IsPlugged", "Freeze", "Egged"]
|
|
},
|
|
Random: false,
|
|
},
|
|
{
|
|
Name: "Hair",
|
|
Property: {
|
|
Type: "Hair",
|
|
Difficulty: 4,
|
|
Intensity: 1,
|
|
Effect: ["IsPlugged", "Egged"]
|
|
}
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectAttachmentState",
|
|
TypePrefix: "AnalHookPose",
|
|
ChatPrefix: "AnalHookRestrain",
|
|
NpcPrefix: "InventoryItemButtAnalHookNPCReaction",
|
|
},
|
|
},
|
|
}, // AnalHook
|
|
ButtPlugLock: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Base",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "ChainShort",
|
|
Prerequisite: ["NotSuspended", "CanKneel", "NotMounted"],
|
|
Property: {
|
|
Type: "ChainShort",
|
|
Effect: ["Freeze", "ForceKneel", "IsChained"],
|
|
SetPose: ["Kneel"],
|
|
},
|
|
Random: false,
|
|
},
|
|
{
|
|
Name: "ChainLong",
|
|
Prerequisite: ["NotSuspended"],
|
|
Property: {
|
|
Type: "ChainLong",
|
|
Effect: ["Tethered", "IsChained"],
|
|
},
|
|
Random: false,
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectAttachmentState",
|
|
TypePrefix: "ButtPlugLockPose",
|
|
ChatPrefix: "ButtPlugLockRestrain",
|
|
NpcPrefix: "ButtPlugLockSet",
|
|
},
|
|
},
|
|
}, // ButtPlugLock
|
|
ButtPump: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Empty",
|
|
Property: {
|
|
Type: null,
|
|
InflateLevel: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
InflateLevel: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "Inflated",
|
|
Property: {
|
|
Type: "Inflated",
|
|
InflateLevel: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "Bloated",
|
|
Property: {
|
|
Type: "Bloated",
|
|
InflateLevel: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Maximum",
|
|
Property: {
|
|
Type: "Maximum",
|
|
InflateLevel: 4,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectInflateLevel",
|
|
TypePrefix: "InflateLevel",
|
|
ChatPrefix: ({ newIndex, previousIndex }) => `BPumps${(newIndex > previousIndex) ? "pumps" : "deflates"}To`,
|
|
NpcPrefix: "InventoryItemButtButtPumpNPCReaction",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // ButtPump
|
|
}, // ItemButt
|
|
ItemNipplesPiercings: {
|
|
RoundPiercing: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Base",
|
|
BondageLevel: 0,
|
|
Prerequisite: ["AccessBreast", "AccessBreastSuitZip"],
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Chain",
|
|
BondageLevel: 0,
|
|
Prerequisite: ["AccessBreast", "AccessBreastSuitZip", "Collared"],
|
|
Property: {
|
|
Type: "Chain",
|
|
Difficulty: 0,
|
|
Block: ["ItemNeck"],
|
|
AllowActivityOn: ["ItemNeck"]
|
|
},
|
|
},
|
|
{
|
|
Name: "Weighted",
|
|
BondageLevel: 0,
|
|
Prerequisite: ["AccessBreast", "AccessBreastSuitZip"],
|
|
Property: {
|
|
Type: "Weighted",
|
|
Difficulty: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "WeightedChain",
|
|
BondageLevel: 0,
|
|
Prerequisite: ["AccessBreast", "AccessBreastSuitZip", "Collared"],
|
|
Property: {
|
|
Type: "WeightedChain",
|
|
Difficulty: 0,
|
|
Block: ["ItemNeck"],
|
|
AllowActivityOn: ["ItemNeck"]
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectPiercingState",
|
|
TypePrefix: "RoundPiercingPose",
|
|
ChatPrefix: "RoundPiercingRestrain",
|
|
NpcPrefix: "RoundPiercingNPCReaction",
|
|
},
|
|
},
|
|
}, // RoundPiercing
|
|
}, // ItemNipplesPiercings
|
|
ItemNipples: {
|
|
LactationPump: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Off",
|
|
Property: {
|
|
Type: null,
|
|
SuctionLevel: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "LowSuction",
|
|
Property: {
|
|
Type: "LowSuction",
|
|
SuctionLevel: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "MediumSuction",
|
|
Property: {
|
|
Type: "MediumSuction",
|
|
SuctionLevel: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "HighSuction",
|
|
Property: {
|
|
Type: "HighSuction",
|
|
SuctionLevel: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "MaximumSuction",
|
|
Property: {
|
|
Type: "MaximumSuction",
|
|
SuctionLevel: 4,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "LactationPumpSelectSetting",
|
|
TypePrefix: "LactationPump",
|
|
ChatPrefix: ({ newIndex, previousIndex }) => `LactationPumpPower${(newIndex > previousIndex) ? "tightens" : "loosens"}To`,
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // LactationPump
|
|
NippleSuctionCups: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null,
|
|
SuctionLevel: 0,
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
SuctionLevel: 1,
|
|
},
|
|
},
|
|
{
|
|
Name: "Medium",
|
|
Property: {
|
|
Type: "Medium",
|
|
SuctionLevel: 2,
|
|
},
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
Property: {
|
|
Type: "Heavy",
|
|
SuctionLevel: 3,
|
|
},
|
|
},
|
|
{
|
|
Name: "Maximum",
|
|
Property: {
|
|
Type: "Maximum",
|
|
SuctionLevel: 4,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectSuctionLevel",
|
|
TypePrefix: "SuctionLevel",
|
|
ChatPrefix: ({ newIndex, previousIndex }) => `NipSuc${(newIndex > previousIndex) ? "tightens" : "loosens"}To`,
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // NippleSuctionCups
|
|
PlateClamps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null
|
|
},
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: {
|
|
Type: "Tight"
|
|
},
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "ItemNipplesPlateClampsSelectTightness",
|
|
TypePrefix: "ItemNipplesPlateClampsTightnessLevel",
|
|
ChatPrefix: "ItemNipplesPlateClamps",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // PlateClamps
|
|
}, // ItemNipples
|
|
Corset: {
|
|
LatexCorset1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Garter",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "NoGarter",
|
|
Property: { Type: "Garterless" },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "LatexCorset1Select",
|
|
TypePrefix: "LatexCorset1",
|
|
ChatPrefix: "LatexCorset1Set",
|
|
},
|
|
},
|
|
}, // LatexCorset1
|
|
}, // Corset
|
|
ItemTorso: {
|
|
HeavyLatexCorset: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Straps",
|
|
Property: { Type: "Straps" },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectHeavyLatexCorsetType",
|
|
TypePrefix: "HeavyLatexCorsetType",
|
|
ChatPrefix: "HeavyLatexCorsetSet",
|
|
NpcPrefix: "HeavyLatexCorset",
|
|
},
|
|
}
|
|
}, // HeavyLatexCorset
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
Property: { Type: null, Difficulty: 1 }
|
|
}, {
|
|
Name: "Harness1",
|
|
BondageLevel: 2,
|
|
Property: { Type: "Harness1" , Difficulty: 3 , Effect: ["CrotchRope"]}
|
|
}, {
|
|
Name: "Harness2",
|
|
BondageLevel: 3,
|
|
Property: { Type: "Harness2" , Difficulty: 4, Effect: ["CrotchRope"] }
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
TypePrefix: "RibbonsTorso",
|
|
ChatPrefix: "TorsoRibbonsSet",
|
|
NpcPrefix: "ItemTorsoRibbons",
|
|
},
|
|
}
|
|
}, // Ribbons
|
|
HighSecurityHarness: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "LowSec",
|
|
Property: { Type: null }
|
|
}, {
|
|
Name: "MedSec",
|
|
Property: { Type: "h2" , Difficulty: 5 , Effect: ["CrotchRope"]}
|
|
}, {
|
|
Name: "MedSecBreast",
|
|
Property: { Type: "h3" , Difficulty: 5 }
|
|
}, {
|
|
Name: "MaxSec",
|
|
Property: { Type: "h4" , Difficulty: 10, Effect: ["CrotchRope"] }
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "HighSecurityHarnessType",
|
|
TypePrefix: "HighSecurityHarnessType",
|
|
ChatPrefix: "HighSecurityHarnessSet",
|
|
},
|
|
}
|
|
}, // HighSecurityHarness
|
|
LatexCorset1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "Corset", AssetName: "LatexCorset1" },
|
|
}, //LatexCorset1
|
|
SilkStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Crotch", Property: { Type: null } },
|
|
{ Name: "Waist", Property: { Type: "Waist" } },
|
|
{ Name: "Harness", Property: { Type: "Harness" } },
|
|
{ Name: "Star", Property: { Type: "Star" } },
|
|
{ Name: "Diamond", Property: { Type: "Diamond" } },
|
|
]
|
|
},
|
|
}, // SilkStraps
|
|
ThinLeatherStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Crotch", Property: { Type: null } },
|
|
{ Name: "Waist", Property: { Type: "Waist" } },
|
|
{ Name: "Harness", Property: { Type: "Harness" } },
|
|
]
|
|
},
|
|
}, // ThinLeatherStraps
|
|
NylonRopeHarness: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "HempRopeHarness" }
|
|
}, // NylonRopeHarness
|
|
HempRopeHarness: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Crotch",
|
|
Property: { Type: null, Difficulty: 1, Effect: ["CrotchRope"] }
|
|
}, {
|
|
Name: "Waist",
|
|
Property: { Type: "Waist", Difficulty: 1 }
|
|
}, {
|
|
Name: "Harness",
|
|
BondageLevel: 2,
|
|
Property: { Type: "Harness", Difficulty: 1, Effect: ["CrotchRope"] }
|
|
}, {
|
|
Name: "Star",
|
|
BondageLevel: 3,
|
|
Property: { Type: "Star", Difficulty: 2 }
|
|
}, {
|
|
Name: "Diamond",
|
|
BondageLevel: 4,
|
|
Property: { Type: "Diamond", Difficulty: 3, Effect: ["CrotchRope"] }
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRopeBondage",
|
|
TypePrefix: "RopeBondage",
|
|
ChatPrefix: "RopeHarnessSet",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
},
|
|
}, // HempRopeHarness
|
|
}, // ItemTorso
|
|
Shoes: {
|
|
FuturisticHeels2: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Shiny", Property: { Type: null } },
|
|
{ Name: "Matte", Property: { Type: "Matte" } },
|
|
]
|
|
},
|
|
}, // FuturisticHeels2
|
|
}, // Shoes
|
|
HairAccessory1: {
|
|
ElfEars: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "InFront",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Behind",
|
|
Property: { Type: "Behind", OverridePriority: 51 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "HairAccessory1ElfEarsSelect",
|
|
TypePrefix: "HairAccessory1ElfEars",
|
|
},
|
|
}
|
|
} // ElfEars
|
|
}, // HairAccessory1
|
|
HairAccessory2: {
|
|
ElfEars: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "HairAccessory1", AssetName: "ElfEars" },
|
|
},
|
|
}, // HairAccessory2
|
|
ItemMouth: {
|
|
ClothGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Small",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagVeryLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Cleave",
|
|
Property: {
|
|
Type: "Cleave",
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "OTM",
|
|
Property: {
|
|
Type: "OTM",
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "OTN",
|
|
Property: {
|
|
Type: "OTN",
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "ClothGagType",
|
|
ChatPrefix: "ClothGagSet",
|
|
},
|
|
},
|
|
}, // ClothGag
|
|
ScarfGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Loose",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagVeryLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "OTN",
|
|
Property: {
|
|
Type: "OTN",
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "ScarfGagType",
|
|
ChatPrefix: "ScarfGagSet",
|
|
},
|
|
}
|
|
}, // ScarfGag
|
|
WiffleGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagNormal"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: {
|
|
Type: "Tight",
|
|
Effect: ["BlockMouth", "GagNormal"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "BallGagMouthType",
|
|
ChatPrefix: "BallGagMouthSet",
|
|
},
|
|
},
|
|
}, // WiffleGag
|
|
BallGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagMedium"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Shiny",
|
|
Property: {
|
|
Type: "Shiny",
|
|
Effect: ["BlockMouth", "GagMedium"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Tight",
|
|
Property: {
|
|
Type: "Tight",
|
|
Effect: ["BlockMouth", "GagMedium"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "BallGagMouthType",
|
|
ChatPrefix: "BallGagMouthSet",
|
|
},
|
|
},
|
|
}, // BallGag
|
|
HarnessBallGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "BallGag" },
|
|
},
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Small",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagVeryLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Crossed",
|
|
Property: {
|
|
Type: "Crossed",
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Full",
|
|
Property: {
|
|
Type: "Full",
|
|
Effect: ["BlockMouth", "GagEasy"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Double",
|
|
Property: {
|
|
Type: "Double",
|
|
Effect: ["BlockMouth", "GagNormal"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Cover",
|
|
Property: {
|
|
Type: "Cover",
|
|
Effect: ["BlockMouth", "GagMedium"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "DuctTapeMouthType",
|
|
ChatPrefix: "DuctTapeMouthSet",
|
|
},
|
|
},
|
|
}, // DuctTape
|
|
CupholderGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "NoCup",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagEasy"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Tip",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagEasy"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Cup",
|
|
Property: {
|
|
Type: "Cup",
|
|
Effect: ["BlockMouth", "GagEasy"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "CupholderGagOptions",
|
|
TypePrefix: "CupholderGagOptions",
|
|
ChatPrefix: "CupholderGagSet",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // CupholderGag
|
|
PumpGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Empty",
|
|
Property: {
|
|
Type: null,
|
|
InflateLevel: 0,
|
|
Difficulty: 0,
|
|
Effect: ["BlockMouth"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
InflateLevel: 1,
|
|
Difficulty: 2,
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Inflated",
|
|
Property: {
|
|
Type: "Inflated",
|
|
InflateLevel: 2,
|
|
Difficulty: 4,
|
|
Effect: ["BlockMouth", "GagEasy"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Bloated",
|
|
Property: {
|
|
Type: "Bloated",
|
|
InflateLevel: 3,
|
|
Difficulty: 6,
|
|
Effect: ["BlockMouth", "GagMedium"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Maximum",
|
|
Property: {
|
|
Type: "Maximum",
|
|
InflateLevel: 4,
|
|
Difficulty: 8,
|
|
Effect: ["BlockMouth", "GagVeryHeavy"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectInflateLevel",
|
|
TypePrefix: "InflateLevel",
|
|
ChatPrefix: ({ previousIndex, newIndex }) =>
|
|
`PumpGag${newIndex > previousIndex ? "pumps" : "deflates"}To`,
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // PumpGag
|
|
PlugGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Plug",
|
|
Property: {
|
|
Type: "Plug",
|
|
Effect: ["BlockMouth", "GagTotal"],
|
|
OverrideAssetEffect: true,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "PlugGagMouthType",
|
|
ChatPrefix: "PlugGagMouthSet",
|
|
},
|
|
},
|
|
}, // PlugGag
|
|
DildoPlugGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Plug",
|
|
Property: {
|
|
Type: "Plug",
|
|
Effect: ["BlockMouth", "GagTotal2"],
|
|
OverrideAssetEffect: true,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "PlugGagMouthType",
|
|
ChatPrefix: "DildoPlugGagMouthSet",
|
|
},
|
|
},
|
|
}, // DildoPlugGag
|
|
MilkBottle: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Rest",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Raised",
|
|
Property: { Type: "Raised" },
|
|
},
|
|
{
|
|
Name: "Chug",
|
|
Property: { Type: "Chug" },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectMilkBottleState",
|
|
TypePrefix: "MilkBottle",
|
|
ChatPrefix: "MilkBottleSet",
|
|
},
|
|
},
|
|
}, // MilkBottle
|
|
FunnelGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Funnel",
|
|
Property: {
|
|
Type: "Funnel",
|
|
Effect: ["BlockMouth", "GagMedium", "ProtrudingMouth"],
|
|
OverrideAssetEffect: true,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "FunnelGagMouthType",
|
|
ChatPrefix: "FunnelGagMouthSet",
|
|
},
|
|
},
|
|
}, // FunnelGag
|
|
HarnessPonyBits: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Attached",
|
|
Property: {
|
|
Type: null
|
|
},
|
|
},
|
|
{
|
|
Name: "Detached",
|
|
Property: {
|
|
Type: "Detached",
|
|
Effect: ["OpenMouth"],
|
|
OverrideAssetEffect: true
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "ItemMouthHarnessPonyBitsSelect",
|
|
TypePrefix: "ItemMouthHarnessPonyBits",
|
|
ChatPrefix: "ItemMouthHarnessPonyBitsSet",
|
|
NpcPrefix: "ItemMouthHarnessPonyBits",
|
|
}
|
|
},
|
|
}, // PonyBit
|
|
DentalGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed",
|
|
Effect: ["BlockMouth", "GagMedium"],
|
|
OverrideAssetEffect: true
|
|
},
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, // DentalGag
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlockMouth", "GagVeryLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Bow",
|
|
Property: {
|
|
Type: "Bow",
|
|
Effect: ["BlockMouth", "GagLight"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
TypePrefix: "RibbonType",
|
|
ChatPrefix: "RibbonsGagSet",
|
|
},
|
|
},
|
|
}, // Ribbons
|
|
FuturisticMuzzle: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Nose", Key: "n",
|
|
Options: [
|
|
{}, // n0 - No nose
|
|
{ // n1 - OTN
|
|
Property: {
|
|
Difficulty: 1,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Harness", Key: "h",
|
|
Options: [
|
|
{}, // h0 - No straps
|
|
{ // h1 - Harness straps
|
|
Property: {
|
|
Difficulty: 1,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Symbol", Key: "s",
|
|
Options: [
|
|
{}, // s0 - Nothing
|
|
{}, // s1 - Lock symbol
|
|
{}, // s2 - Mute symbol
|
|
{}, // s3 - X symbol
|
|
],
|
|
},
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
}
|
|
},
|
|
}, // FuturisticMuzzle
|
|
OTNPlugGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Plug",
|
|
Property: {
|
|
Type: "Plug",
|
|
Effect: ["BlockMouth", "GagTotal"],
|
|
OverrideAssetEffect: true,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectGagType",
|
|
TypePrefix: "PlugGagMouthType",
|
|
ChatPrefix: "PlugGagMouthSet",
|
|
},
|
|
},
|
|
}, // OTNPlugGag
|
|
PonyGag: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR, CommonChatTags.DEST_CHAR],
|
|
Modules:[
|
|
{
|
|
Name: "Gag", Key: "g",
|
|
Options:[
|
|
{ Property: { Effect: ["BlockMouth", "GagLight"] },}, //g0 - Regular BitGag
|
|
{ Property: {},}, //g1 - No Gag
|
|
{ Property: { Effect: ["BlockMouth", "GagMedium"] },}, //g2 - Thick BitGag
|
|
{ Property: { Effect: ["BlockMouth", "GagHeavy"] },}, //g3 - Tongue Depresor
|
|
{ Property: { Effect: ["BlockMouth", "GagVeryHeavy"], Hide: ["Mouth"] },}, //g4 - DildoGag
|
|
],
|
|
},
|
|
{
|
|
Name: "Panel", Key: "p",
|
|
Options:[
|
|
{}, //None
|
|
{}, //p1 - Panel
|
|
{}, //p2 - PanelShield
|
|
{}, //p3 - PanelHex
|
|
{}, //p4 - PanelSun
|
|
{}, //p5 - PanelMoon
|
|
{}, //p6 - PanelHeart
|
|
{}, //p7 - PanelHorse
|
|
{}, //p8 - PanelTriskel
|
|
{}, //p9 - PanelPentacle
|
|
],
|
|
},
|
|
{
|
|
Name: "Reins", Key: "r",
|
|
Options:[
|
|
{}, //r0 - None
|
|
{ Property: { Effect: ["Leash"] },}, //r1 - Reins
|
|
{ Property: { Effect: ["Leash"] },}, //r2 - Rope
|
|
{ Property: { Effect: ["Tethered", "IsChained"], Block: ["ItemAddon", "ItemDevices"] }}, //r3 - Pole
|
|
],
|
|
},
|
|
{
|
|
Name: "Top", Key: "t",
|
|
Options:[
|
|
{}, //t0 - None
|
|
{}, //t1 - Plume
|
|
{Property: { Hide: ["HairFront"]},}, //t2 - Mane Left
|
|
{Property: { Hide: ["HairFront"]},}, //t3 - Mane Right
|
|
{Property: { Hide: ["HairFront"]},}, //t4 - Mohawk
|
|
],
|
|
},
|
|
{
|
|
Name: "Extra", Key: "e",
|
|
Options:[
|
|
{}, //e0 - None
|
|
{ Property: {Difficulty: 7}}, //e1 - ExtraStraps
|
|
{}, //e2 - Flags
|
|
],
|
|
},
|
|
{
|
|
Name: "Horn", Key: "h",
|
|
Options:[
|
|
{}, //h0 - None
|
|
{ Property: { Attribute: ["PenetrateItem"]},}, //h1 - Horn
|
|
{ Property: { Attribute: ["PenetrateItem"]},}, //h2 - Dildocorn
|
|
],
|
|
},
|
|
{
|
|
Name: "Blinders", Key: "b",
|
|
Options:[
|
|
{}, //b0 - None
|
|
{}, //b1 - Blinders
|
|
],
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
Dialog: {
|
|
Select: "ItemMouthPonyGagSelect",
|
|
ModulePrefix:"ItemMouthPonyGagModule",
|
|
OptionPrefix: "ItemMouthPonyGagOption",
|
|
ChatPrefix: "ItemMouthPonyGagSet",
|
|
},
|
|
},
|
|
}, // PonyGag
|
|
LatexSheathGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Thin",
|
|
Property: { Type: null, Effect: ["OpenMouth",], },
|
|
},
|
|
{
|
|
Name: "Thick",
|
|
Property: { Type: "Thick", Effect: ["OpenMouth", "GagVeryLight"],},
|
|
},
|
|
{
|
|
Name: "VeryThick",
|
|
Property: { Type: "VeryThick", Effect: ["OpenMouth", "GagMedium"],},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
},
|
|
}, //LatexSheathGag
|
|
}, // ItemMouth
|
|
ItemMouth2: {
|
|
ClothGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "ClothGag" },
|
|
},
|
|
ScarfGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "ScarfGag" },
|
|
},
|
|
WiffleGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "WiffleGag" },
|
|
},
|
|
BallGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "BallGag" },
|
|
},
|
|
HarnessBallGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "BallGag" },
|
|
},
|
|
HarnessPonyBits: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "HarnessPonyBits" },
|
|
},
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "DuctTape" },
|
|
},
|
|
CupholderGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "CupholderGag" },
|
|
},
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "Ribbons" },
|
|
},
|
|
FuturisticMuzzle: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "FuturisticMuzzle" },
|
|
},
|
|
PonyGag: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "PonyGag" },
|
|
},
|
|
}, // ItemMouth2
|
|
ItemMouth3: {
|
|
ClothGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "ClothGag" },
|
|
},
|
|
ScarfGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "ScarfGag" },
|
|
},
|
|
WiffleGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "WiffleGag" },
|
|
},
|
|
BallGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "BallGag" },
|
|
},
|
|
HarnessBallGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "BallGag" },
|
|
},
|
|
HarnessPonyBits: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "HarnessPonyBits" },
|
|
},
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "DuctTape" },
|
|
},
|
|
CupholderGag: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "CupholderGag" },
|
|
},
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "Ribbons" },
|
|
},
|
|
FuturisticMuzzle: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "FuturisticMuzzle" },
|
|
},
|
|
PonyGag: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
CopyConfig: { GroupName: "ItemMouth", AssetName: "PonyGag" },
|
|
},
|
|
Stitches: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options:[
|
|
{
|
|
Name: "Straight",
|
|
Property: {Type: "Straight",}
|
|
},
|
|
{
|
|
Name: "ZigZag",
|
|
Property: {Type: "ZigZag",}
|
|
},
|
|
{
|
|
Name: "Skewed",
|
|
Property: {Type: "Skewed",}
|
|
},
|
|
{
|
|
Name: "Cross",
|
|
Property: {Type: "Cross",}
|
|
},
|
|
],
|
|
},
|
|
}, //StitchGag
|
|
}, // ItemMouth3
|
|
Mask: {
|
|
BunnyMask1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Ears",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Earless",
|
|
Property: { Type: "Earless", OverridePriority: 51 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBunnyMaskStyle",
|
|
TypePrefix: "BunnyMaskType",
|
|
},
|
|
}
|
|
}, // BunnyMask1
|
|
OpenFaceHood: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "HideBackHair",
|
|
Property: { Type: "HideBackHair", Hide: ["HairBack"] },
|
|
},
|
|
{
|
|
Name: "ShowBackHair",
|
|
Property: { Type: null },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectOpenFaceHoodStyle",
|
|
TypePrefix: "OpenFaceHoodStyle",
|
|
},
|
|
DrawImages: false,
|
|
}
|
|
}, // OpenFaceHood
|
|
PetNose: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{ Name: "Nose", Key: "n",
|
|
Options: [
|
|
{}, // n0 - Nose
|
|
{}, // n1 - No Nose
|
|
]
|
|
},
|
|
{ Name: "Cheeks", Key: "c",
|
|
Options: [
|
|
{}, // c0 - No Cheeks
|
|
{}, // c1 - Small Cheeks
|
|
{}, // c2 - Big Cheeks
|
|
]
|
|
},
|
|
{ Name: "Whiskers", Key: "w",
|
|
Options: [
|
|
{}, // w0 - No Whiskers
|
|
{}, // w1 - Short Whiskers
|
|
{}, // w2 - Long Whiskers
|
|
]
|
|
},
|
|
{ Name: "Mouth", Key: "m",
|
|
Options: [
|
|
{}, // m0 - Show Mouth
|
|
{ Property: { Hide: ["Mouth"] } }, // m1 - Hide Mouth
|
|
]
|
|
},
|
|
],
|
|
},
|
|
}, //PetNose
|
|
Glitter: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options:[
|
|
{
|
|
Name: "Freckles",
|
|
Property: {Type: null,}
|
|
},
|
|
{
|
|
Name: "MidFreckles",
|
|
Property: {Type: "MidFreckles",}
|
|
},
|
|
{
|
|
Name: "SplitFreckles",
|
|
Property: {Type: "SplitFreckles",}
|
|
},
|
|
{
|
|
Name: "FrecklesSmall",
|
|
Property: {Type: "FrecklesSmall",}
|
|
},
|
|
{
|
|
Name: "MidFrecklesSmall",
|
|
Property: {Type: "MidFrecklesSmall",}
|
|
},
|
|
{
|
|
Name: "SplitFrecklesSmall",
|
|
Property: {Type: "SplitFrecklesSmall",}
|
|
},
|
|
{
|
|
Name: "StarsBoth",
|
|
Property: {Type: "StarsBoth",}
|
|
},
|
|
{
|
|
Name: "StarsLeft",
|
|
Property: {Type: "StarsLeft",}
|
|
},
|
|
{
|
|
Name: "StarsRight",
|
|
Property: {Type: "StarsRight",}
|
|
},
|
|
{
|
|
Name: "DotsBoth",
|
|
Property: {Type: "DotsBoth",}
|
|
},
|
|
{
|
|
Name: "DotsLeft",
|
|
Property: {Type: "DotsLeft",}
|
|
},
|
|
{
|
|
Name: "DotsRight",
|
|
Property: {Type: "DotsRight",}
|
|
},
|
|
],
|
|
},
|
|
}, //Glitter
|
|
HeadHarness: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options:[
|
|
{
|
|
Name: "Simple",
|
|
Property: {Type: null,}
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
Property: {Type: "Heavy",}
|
|
|
|
},
|
|
],
|
|
},
|
|
}, //HeadHarness
|
|
}, // Mask
|
|
ItemLegs: {
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Legs",
|
|
Property: { Type: null, Difficulty: 0 }
|
|
}, {
|
|
Name: "HalfLegs",
|
|
Prerequisite: ["NoClothLower"],
|
|
Property: { Type: "HalfLegs", Hide: ["ClothLower", "Garters"], Difficulty: 2 }
|
|
}, {
|
|
Name: "MostLegs",
|
|
Prerequisite: ["NoClothLower"],
|
|
Property: { Type: "MostLegs", Hide: ["ClothLower", "Garters"], Difficulty: 4, HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"], }
|
|
}, {
|
|
Name: "CompleteLegs",
|
|
Prerequisite: ["NoClothLower"],
|
|
Property: { Type: "CompleteLegs", Hide: ["ClothLower", "Garters"], Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"], Difficulty: 6, HideItem: ["PantiesPoofyDiaper", "PantiesBulkyDiaper", "ItemPelvisPoofyDiaper", "ItemPelvisBulkyDiaper"], }
|
|
}, {
|
|
Name: "PetLegs",
|
|
Prerequisite: ["NoClothLower", "NotSuspended", "CanKneel"],
|
|
Property: { Type: "PetLegs", Hide: ["ClothLower", "Garters"], SetPose: ["Kneel"], Block: ["ItemFeet"], Effect: ["ForceKneel"], Difficulty: 6 },
|
|
Random: false,
|
|
}, {
|
|
Name: "CutOut",
|
|
Prerequisite: ["NoClothLower", "Garters"],
|
|
Property: { Type: "CutOut", Hide: ["ClothLower"], Difficulty: 6 }
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectTapeWrapping",
|
|
TypePrefix: "DuctTapePose",
|
|
ChatPrefix: "DuctTapeRestrain",
|
|
NpcPrefix: "DuctTapePose",
|
|
},
|
|
},
|
|
}, // DuctTape
|
|
HempRope: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
Property: { Type: null, SetPose: ["LegsClosed"], Difficulty: 1 },
|
|
Prerequisite: ["CanCloseLegs"],
|
|
}, {
|
|
Name: "FullBinding",
|
|
BondageLevel: 2,
|
|
Property: { Type: "FullBinding", SetPose: ["LegsClosed"], Difficulty: 2 },
|
|
Prerequisite: ["CanCloseLegs"],
|
|
}, {
|
|
Name: "Link",
|
|
BondageLevel: 2,
|
|
Property: { Type: "Link", SetPose: ["LegsClosed"], Difficulty: 2 },
|
|
Prerequisite: ["CanCloseLegs"],
|
|
}, {
|
|
Name: "Frogtie",
|
|
BondageLevel: 3,
|
|
Property: { Type: "Frogtie", SetPose: ["Kneel"], AllowActivePose: ["Kneel", "KneelingSpread"], Block: ["ItemFeet"], Effect: ["ForceKneel"], Difficulty: 3 },
|
|
Prerequisite: ["NotSuspended", "CanKneel"],
|
|
Random: false,
|
|
}, {
|
|
Name: "Crossed",
|
|
BondageLevel: 4,
|
|
Property: { Type: "Crossed", SetPose: ["LegsClosed"], Difficulty: 4 },
|
|
Prerequisite: ["CanCloseLegs"],
|
|
}, {
|
|
Name: "Mermaid",
|
|
BondageLevel: 4,
|
|
Property: { Type: "Mermaid", SetPose: ["LegsClosed"], Difficulty: 4 },
|
|
Prerequisite: ["CanCloseLegs"],
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRopeBondage",
|
|
TypePrefix: "RopeBondage",
|
|
ChatPrefix: "LegRopeSet",
|
|
NpcPrefix: "RopeBondage",
|
|
},
|
|
}
|
|
}, // HempRope
|
|
Chains: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
BondageLevel: 0,
|
|
Property: { Type: null, Difficulty: 0 }
|
|
}, {
|
|
Name: "Strict",
|
|
BondageLevel: 2,
|
|
Property: { Type: "Strict", Difficulty: 2 }
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectChainBondage",
|
|
TypePrefix: "ChainBondage",
|
|
ChatPrefix: "LegChainSet",
|
|
NpcPrefix: "ChainBondage",
|
|
},
|
|
ChangeWhenLocked: false,
|
|
}
|
|
}, // Chains
|
|
SturdyLeatherBelts: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemArms", AssetName: "SturdyLeatherBelts" },
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "One",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "Two",
|
|
Property: { Type: "Two", Difficulty: 2, },
|
|
},
|
|
],
|
|
}
|
|
}, // SturdyLeatherBelts
|
|
FuturisticLegCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed",
|
|
SetPose: ["LegsClosed"],
|
|
Effect: ["Prone", "KneelFreeze", "Slow"],
|
|
FreezeActivePose: ["BodyLower"],
|
|
Difficulty: 6,
|
|
},
|
|
Prerequisite: ["CanCloseLegs"],
|
|
},
|
|
{
|
|
Name: "Chained",
|
|
Property: {
|
|
Type: "Chained", Effect: ["Slow"],
|
|
},
|
|
Prerequisite: ["NotHorse"],
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemLegsLeatherLegCuffs",
|
|
ChatPrefix: "FuturisticLegCuffsRestrain",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
}
|
|
}, // FuturisticLegCuffs
|
|
LeatherLegCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed",
|
|
SetPose: ["LegsClosed"],
|
|
Effect: ["Prone", "KneelFreeze", "Slow"],
|
|
AllowActivePose: ["Kneel", "LegsClosed"],
|
|
Difficulty: 6,
|
|
},
|
|
Prerequisite: ["CanCloseLegs"],
|
|
},
|
|
{
|
|
Name: "Chained",
|
|
Property: {
|
|
Type: "Chained", Effect: ["Slow"],
|
|
},
|
|
Prerequisite: ["NotHorse"],
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
}
|
|
}
|
|
}, // LeatherLegCuffs
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Messystyle",
|
|
Property: { Type: null, Difficulty: 3 },
|
|
},
|
|
{
|
|
Name: "MessyWrap",
|
|
Property: { Type: "MessyWrap", Difficulty: 4 },
|
|
},
|
|
{
|
|
Name: "Cross",
|
|
Property: { Type: "Cross", Difficulty: 5 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
}
|
|
}
|
|
}, // Ribbons
|
|
OrnateLegCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "LeatherLegCuffs" },
|
|
}, // OrnateLegCuffs
|
|
Zipties: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "ZipLegLight",
|
|
Property: { Type: null, SetPose: ["LegsClosed"], Difficulty: 1 }
|
|
}, {
|
|
Name: "ZipLegMedium",
|
|
Property: { Type: "ZipLegMedium", SetPose: ["LegsClosed"], Difficulty: 2 }
|
|
}, {
|
|
Name: "ZipLegFull",
|
|
Property: { Type: "ZipLegFull", SetPose: ["LegsClosed"], Difficulty: 2 }
|
|
}, {
|
|
Name: "ZipFrogtie",
|
|
Property: { Type: "ZipFrogtie", SetPose: ["Kneel"], Block: ["ItemFeet"], Effect: ["ForceKneel"], Difficulty: 3 },
|
|
Prerequisite: ["NotSuspended", "CanKneel"],
|
|
Random: false,
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectZipTie",
|
|
TypePrefix: "ZipBondage",
|
|
NpcPrefix: "Zip",
|
|
}
|
|
}
|
|
}, // Zipties
|
|
}, // ItemLegs
|
|
ItemFeet: {
|
|
SpreaderMetal: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Narrow",
|
|
Property: {
|
|
Type: null, Effect: ["Prone", "Freeze"], SetPose: ["LegsOpen"],
|
|
}
|
|
},
|
|
{
|
|
Name: "Wide",
|
|
Property: {
|
|
Type: "Wide", Effect: ["Prone", "Freeze"], SetPose: ["Spread"],
|
|
}
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectSpreaderType",
|
|
TypePrefix: "SpreaderMetalPose",
|
|
},
|
|
ChatSetting: TypedItemChatSetting.SILENT,
|
|
}
|
|
}, // SpreaderMetal
|
|
Chains: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
BondageLevel: 0,
|
|
Property: { Type: null, Difficulty: 0, SetPose: ["LegsClosed"] },
|
|
},
|
|
{
|
|
Name: "Strict",
|
|
BondageLevel: 2,
|
|
Property: { Type: "Strict", Difficulty: 2, SetPose: ["LegsClosed"] },
|
|
},
|
|
{
|
|
Name: "Suspension",
|
|
BondageLevel: 6,
|
|
Prerequisite: ["NotKneeling", "NotMounted", "NotChained", "NotHogtied"],
|
|
Property: {
|
|
Type: "Suspension",
|
|
Difficulty: 4,
|
|
SetPose: ["Suspension", "LegsClosed"],
|
|
AllowActivePose: [],
|
|
},
|
|
Random: false,
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectChainBondage",
|
|
TypePrefix: "ChainBondage",
|
|
ChatPrefix: "LegChainSet",
|
|
NpcPrefix: "ChainBondage",
|
|
},
|
|
ChangeWhenLocked: false,
|
|
}
|
|
}, // Chains
|
|
FuturisticAnkleCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.ASSET_NAME],
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: {
|
|
Type: null, SetPose: [], Difficulty: 0, Effect: [], FreezeActivePose: [],
|
|
}
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed", Effect: ["Prone", "Freeze"], SetPose: ["LegsClosed"], Difficulty: 6, FreezeActivePose: ["BodyLower"],
|
|
}
|
|
},
|
|
{
|
|
Name: "Chained",
|
|
Property: {
|
|
Type: "Chained", Effect: ["Slow"],
|
|
}
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemFeetSteelAnkleCuffs",
|
|
ChatPrefix: "FuturisticAnkleCuffsRestrain",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
}
|
|
}, // FuturisticAnkleCuffs
|
|
SteelAnkleCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.ASSET_NAME],
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: {
|
|
Type: null, SetPose: [], Difficulty: 0, Effect: [], FreezeActivePose: [],
|
|
}
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed", Effect: ["Prone", "Freeze"], SetPose: ["LegsClosed"], Difficulty: 6, FreezeActivePose: ["BodyLower"],
|
|
}
|
|
},
|
|
{
|
|
Name: "Chained",
|
|
Property: {
|
|
Type: "Chained", Effect: ["Slow"],
|
|
}
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemFeetSteelAnkleCuffs",
|
|
ChatPrefix: "ItemFeetSteelAnkleCuffsSet",
|
|
}
|
|
}
|
|
}, // SteelAnkleCuffs
|
|
SturdyLeatherBelts: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "ItemArms", AssetName: "SturdyLeatherBelts" },
|
|
}, // SturdyLeatherBelts
|
|
LeatherAnkleCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "SteelAnkleCuffs" },
|
|
}, // LeatherAnkleCuffs
|
|
OrnateAnkleCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "SteelAnkleCuffs" },
|
|
}, // OrnateAnkleCuffs
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Feet",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Hide: [],
|
|
SetPose: ["LegsClosed"],
|
|
},
|
|
},
|
|
{
|
|
Name: "HalfFeet",
|
|
Property: {
|
|
Type: "HalfFeet",
|
|
Difficulty: 2,
|
|
Hide: ["ClothLower", "Shoes"],
|
|
SetPose: ["LegsClosed"],
|
|
},
|
|
},
|
|
{
|
|
Name: "MostFeet",
|
|
Property: {
|
|
Type: "MostFeet",
|
|
Difficulty: 4,
|
|
Hide: ["ClothLower", "Shoes"],
|
|
SetPose: ["LegsClosed"],
|
|
},
|
|
},
|
|
{
|
|
Name: "CompleteFeet",
|
|
Property: {
|
|
Type: "CompleteFeet",
|
|
Difficulty: 6,
|
|
Hide: ["ClothLower", "Shoes"],
|
|
SetPose: ["LegsClosed"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectTapeWrapping",
|
|
ChatPrefix: "DuctTapeRestrain",
|
|
NpcPrefix: "DuctTapeRestrain",
|
|
TypePrefix: "DuctTapePose",
|
|
}
|
|
},
|
|
}, // DuctTape
|
|
Zipties: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "ZipFeetLight",
|
|
Property: { Type: null, SetPose: ["LegsClosed"], Difficulty: 1 },
|
|
}, {
|
|
Name: "ZipFeetMedium",
|
|
Property: { Type: "ZipFeetMedium", SetPose: ["LegsClosed"], Difficulty: 2 }
|
|
}, {
|
|
Name: "ZipFeetFull",
|
|
Property: { Type: "ZipFeetFull", SetPose: ["LegsClosed"], Difficulty: 2 }
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectZipTie",
|
|
ChatPrefix: "ZipFeetSet",
|
|
NpcPrefix: "ZipFeetSet",
|
|
TypePrefix: "ZipBondage",
|
|
},
|
|
},
|
|
}, // Zipties
|
|
Tentacles: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Closed",
|
|
Property: {Type: null, SetPose: ["LegsClosed"]},
|
|
},
|
|
{
|
|
Name: "Spread",
|
|
Prerequisite: ["NoItemLegs", "LegsOpen"],
|
|
Property: {
|
|
Type: "Spread",
|
|
OverridePriority: 25,
|
|
SetPose: ["Spread"],
|
|
Effect: ["Freeze", "Prone", "BlockKneel"],
|
|
Block: ["ItemLegs", "ItemBoots", "ItemDevices"],
|
|
OverrideHeight: {Height: 0, Priority: 60},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, // Tentacles
|
|
WoodenCuffs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "LegsOpen",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 2,
|
|
Effect: ["Freeze", "Prone"],
|
|
SetPose: ["LegsOpen"],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "Spread",
|
|
Property: {
|
|
Type: "Spread2",
|
|
Difficulty: 3,
|
|
Effect: ["Freeze", "Prone"],
|
|
SetPose: ["Spread"],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
{
|
|
Name: "LegsClosed",
|
|
Property: {
|
|
Type: "Spread3",
|
|
Difficulty: 3,
|
|
Effect: ["Freeze", "Prone"],
|
|
SetPose: ["LegsClosed"],
|
|
SelfUnlock: true,
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBondagePosition",
|
|
TypePrefix: "ItemFeetWoodenCuffs",
|
|
},
|
|
},
|
|
}, // WoodenCuffs
|
|
}, // ItemFeet
|
|
ItemMisc: {
|
|
ServingTray: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Empty", Property: { Type: null } },
|
|
{ Name: "Drinks", Property: { Type: "Drinks" } },
|
|
{ Name: "Cake", Property: { Type: "Cake" } },
|
|
{ Name: "Cookies", Property: { Type: "Cookies" } },
|
|
{ Name: "Toys", Property: { Type: "Toys" } },
|
|
],
|
|
},
|
|
}, // WoodenMaidTray
|
|
TeddyBear: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Bear",
|
|
Property: { Type: null },
|
|
},
|
|
{
|
|
Name: "Fox",
|
|
Property: { Type: "Fox" },
|
|
},
|
|
{
|
|
Name: "Pup",
|
|
Property: { Type: "Pup" },
|
|
},
|
|
{
|
|
Name: "Pony",
|
|
Property: { Type: "Pony" },
|
|
},
|
|
{
|
|
Name: "Kitty",
|
|
Property: { Type: "Kitty" },
|
|
},
|
|
{
|
|
Name: "Bunny",
|
|
Property: { Type: "Bunny" },
|
|
},
|
|
],
|
|
},
|
|
}, // TeddyBear
|
|
}, // ItemMisc
|
|
ItemPelvis: {
|
|
SilkStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Crotch", Property: { Type: null } },
|
|
{ Name: "OverPanties", Property: { Type: "OverPanties", OverridePriority: 21 } },
|
|
{ Name: "SwissSeat", Property: { Type: "SwissSeat" } },
|
|
{ Name: "KikkouHip", Property: { Type: "KikkouHip" } },
|
|
]
|
|
},
|
|
}, // SilkStraps
|
|
FuturisticChastityBelt: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Model", Key: "m",
|
|
Options: [
|
|
{},
|
|
{},
|
|
{},
|
|
{},
|
|
],
|
|
},
|
|
{
|
|
Name: "Front", Key: "f",
|
|
Options: [
|
|
{
|
|
Property: {
|
|
},
|
|
},
|
|
{
|
|
Property: {
|
|
Block: ["ItemVulva", "ItemVulvaPiercings"],
|
|
Effect: ["Chaste"],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Back", Key: "b",
|
|
Options: [
|
|
{
|
|
Property: {
|
|
},
|
|
},
|
|
{
|
|
Property: {
|
|
Block: ["ItemButt"],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Tamper", Key: "t",
|
|
Options: [
|
|
{},
|
|
{},
|
|
{},
|
|
],
|
|
},
|
|
{
|
|
Name: "Orgasm", Key: "o",
|
|
Options: [
|
|
{},
|
|
{},
|
|
],
|
|
},
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
}
|
|
},
|
|
}, // FuturisticChastityBelt
|
|
MetalChastityBelt: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "OpenBack",
|
|
Property: {
|
|
Type: null,
|
|
Block: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "ClosedBack",
|
|
Property: {
|
|
Type: "ClosedBack",
|
|
Block: ["ItemButt"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectBackShield",
|
|
TypePrefix: "Chastity",
|
|
NpcPrefix: "Chastity",
|
|
ChatPrefix: "ChastityBeltBackShield",
|
|
},
|
|
ChangeWhenLocked: false,
|
|
},
|
|
}, // MetalChastityBelt
|
|
OrnateChastityBelt: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "MetalChastityBelt" },
|
|
}, // OrnateChastityBelt
|
|
StuddedChastityBelt: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "MetalChastityBelt" },
|
|
}, // StuddedChastityBelt
|
|
PolishedChastityBelt: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "MetalChastityBelt" },
|
|
}, // PolishedChastityBelt
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "BowWrap",
|
|
Property: { Type: null, Difficulty: 3, OverridePriority: 21 },
|
|
},
|
|
{
|
|
Name: "CrotchWrapping",
|
|
Property: { Type: "CrotchWrapping", Difficulty: 4 },
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
TypePrefix: "RibbonsBelt",
|
|
NpcPrefix: "ItemPelvisRibbons",
|
|
ChatPrefix: "PelvisRibbonsSet",
|
|
}
|
|
},
|
|
}, // Ribbons
|
|
HempRope: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Crotch",
|
|
Property: { Type: null, Difficulty: 1, Effect: ["CrotchRope"] }
|
|
}, {
|
|
Name: "OverPanties",
|
|
Property: { Type: "OverPanties", Difficulty: 1, OverridePriority: 21, Effect: ["CrotchRope"] }
|
|
}, {
|
|
Name: "SwissSeat",
|
|
BondageLevel: 4,
|
|
Property: { Type: "SwissSeat", Difficulty: 4 }
|
|
}, {
|
|
Name: "KikkouHip",
|
|
BondageLevel: 5,
|
|
Property: { Type: "KikkouHip", Difficulty: 5 }
|
|
}
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRopeBondage",
|
|
TypePrefix: "RopeBondage",
|
|
NpcPrefix: "RopeBondage",
|
|
ChatPrefix: "PelvisRopeSet",
|
|
}
|
|
},
|
|
}, // HempRope
|
|
PoofyDiaper: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.DEST_CHAR_NAME],
|
|
Options: [
|
|
{
|
|
Name: "RegularPadding",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "ExtraPadding",
|
|
Property: { Type: "Poofy", HideItem: ["ClothLowerSkirt3", "ClothLowerTennisSkirt1"] },
|
|
},
|
|
],
|
|
},
|
|
}, // PoofyDiaper
|
|
}, // ItemPelvis
|
|
ItemEars: {
|
|
FuturisticEarphones: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.ASSET_NAME],
|
|
Options: [
|
|
{
|
|
Name: "Off",
|
|
Property: {
|
|
Type: null,
|
|
Effect: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
Effect: ["DeafLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
Property: {
|
|
Type: "Heavy",
|
|
Effect: ["DeafHeavy"],
|
|
},
|
|
},
|
|
{
|
|
Name: "NoiseCancelling",
|
|
Property: {
|
|
Type: "NoiseCancelling",
|
|
Effect: ["DeafTotal"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "HeadphoneEarPlugsSelectLoudness",
|
|
TypePrefix: "HeadphoneEarPlugsPose",
|
|
ChatPrefix: "HeadphoneEarPlugsRestrain",
|
|
NpcPrefix: "ItemEarsHeadphonePlugs",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticEarphones
|
|
HeadphoneEarPlugs: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR, CommonChatTags.ASSET_NAME],
|
|
Options: [
|
|
{
|
|
Name: "Off",
|
|
Property: {
|
|
Type: null,
|
|
Effect: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "Light",
|
|
Property: {
|
|
Type: "Light",
|
|
Effect: ["DeafLight"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Heavy",
|
|
Property: {
|
|
Type: "Heavy",
|
|
Effect: ["DeafHeavy"],
|
|
},
|
|
},
|
|
{
|
|
Name: "NoiseCancelling",
|
|
Property: {
|
|
Type: "NoiseCancelling",
|
|
Effect: ["DeafTotal"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "HeadphoneEarPlugsSelectLoudness",
|
|
TypePrefix: "HeadphoneEarPlugsPose",
|
|
ChatPrefix: "HeadphoneEarPlugsRestrain",
|
|
NpcPrefix: "ItemEarsHeadphonePlugs",
|
|
}
|
|
},
|
|
}, // HeadphoneEarPlugs
|
|
Headphones: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "HeadphoneEarPlugs" },
|
|
}, // Headphones
|
|
BluetoothEarbuds: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "HeadphoneEarPlugs" },
|
|
}, // BluetoothEarbuds
|
|
}, // ItemEars
|
|
Bra: {
|
|
SilkStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Strip", Property: { Type: null } },
|
|
{ Name: "Wrap", Property: { Type: "Wrap" } },
|
|
{ Name: "Bra1", Property: { Type: "Bra1" } },
|
|
{ Name: "Bra2", Property: { Type: "Bra2" } },
|
|
{ Name: "Swimsuit", Property: { Type: "Swimsuit" } },
|
|
]
|
|
}
|
|
}, // SilkStraps
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Bow",
|
|
Property: {
|
|
Type: "Bow",
|
|
},
|
|
},
|
|
{
|
|
Name: "Wrap",
|
|
Property: {
|
|
Type: "Wrap",
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
TypePrefix: "RibbonBraType",
|
|
Load: "SelectRibbonStyle",
|
|
}
|
|
}
|
|
}, // Ribbons
|
|
SexyBikini1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Closed",
|
|
Property: {
|
|
Type: "Closed"
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
TypePrefix: "BikiniType",
|
|
Load: "SelectBikiniType",
|
|
}
|
|
}
|
|
}, // SexyBikini1
|
|
CuteBikini1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "SexyBikini1" },
|
|
}, // CuteBikini1
|
|
Swimsuit1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Shiny",
|
|
Property: { Type: null},
|
|
},
|
|
{
|
|
Name: "Dull",
|
|
Property: { Type: "Dull"},
|
|
},
|
|
],
|
|
},
|
|
}, // ChineseDress2
|
|
}, // Bra
|
|
Panties: {
|
|
SilkStraps: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{ Name: "Strips", Property: { Type: null } },
|
|
{ Name: "Wrap", Property: { Type: "Wrap" } },
|
|
{ Name: "Thong", Property: { Type: "Thong" } },
|
|
{ Name: "Panties1", Property: { Type: "Panties1" } },
|
|
]
|
|
},
|
|
}, // SilkStraps
|
|
Diapers4: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "None",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "StrawBerry",
|
|
Property: { Type: "StrawBerry", },
|
|
},
|
|
{
|
|
Name: "Flower",
|
|
Property: { Type: "Flower", },
|
|
},
|
|
{
|
|
Name: "Butterflies",
|
|
Property: { Type: "Butterfly", },
|
|
},
|
|
{
|
|
Name: "Spots",
|
|
Property: { Type: "Spots", },
|
|
},
|
|
],
|
|
},
|
|
}, // Diapers4
|
|
PoofyDiaper: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.DEST_CHAR_NAME],
|
|
Options: [
|
|
{
|
|
Name: "RegularPadding",
|
|
Property: { Type: null, },
|
|
},
|
|
{
|
|
Name: "ExtraPadding",
|
|
Property: { Type: "Poofy", HideItem: ["ClothLowerSkirt3", "ClothLowerTennisSkirt1"], },
|
|
},
|
|
],
|
|
},
|
|
}, // PoofyDiaper
|
|
}, // Panties
|
|
Glasses: {
|
|
EyePatch1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Left",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Right",
|
|
Property: {
|
|
Type: "Right",
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectEyePatchType",
|
|
TypePrefix: "EyePatchType",
|
|
}
|
|
},
|
|
}, // EyePatch1
|
|
CatGlasses: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Front",
|
|
Property: {
|
|
Type: null,
|
|
OverridePriority: 53
|
|
},
|
|
},
|
|
{
|
|
Name: "Back",
|
|
Property: {
|
|
Type: "Back",
|
|
OverridePriority: 27
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "CatGlassesSelectStyle",
|
|
TypePrefix: "CatGlassesStyle",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // CatGlasses
|
|
GradientSunglasses: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "GradUp",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "GradDipped",
|
|
Property: {
|
|
Type: "GradDipped",
|
|
},
|
|
},
|
|
{
|
|
Name: "FlatUp",
|
|
Property: {
|
|
Type: "FlatUp",
|
|
},
|
|
},
|
|
{
|
|
Name: "FlatDipped",
|
|
Property: {
|
|
Type: "FlatDipped",
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "GradientSunglassesSelectType",
|
|
TypePrefix: "GradientSunglassesType",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // GradientSunglasses
|
|
}, // Glasses
|
|
Bracelet: {
|
|
Band1: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Left",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Both",
|
|
Property: {
|
|
Type: "Both",
|
|
},
|
|
},
|
|
{
|
|
Name: "Right",
|
|
Property: {
|
|
Type: "Right",
|
|
},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
},
|
|
}, // Band1
|
|
SpikeBands: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Both",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Right",
|
|
Property: {
|
|
Type: "Right",
|
|
},
|
|
},
|
|
{
|
|
Name: "Left",
|
|
Property: {
|
|
Type: "Left",
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "BraceletSpikeBandsSelect",
|
|
TypePrefix: "BraceletSpikeBands",
|
|
}
|
|
},
|
|
}, // SpikeBands
|
|
}, //Bracelet
|
|
Garters: {
|
|
GarterBelt: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Both",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Right",
|
|
Property: {
|
|
Type: "Right",
|
|
},
|
|
},
|
|
{
|
|
Name: "Left",
|
|
Property: {
|
|
Type: "Left",
|
|
},
|
|
},
|
|
],
|
|
DrawImages: false,
|
|
},
|
|
}, // GarterBelt
|
|
}, // Garters
|
|
Necklace: {
|
|
NecklaceKey: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Normal",
|
|
Property: {
|
|
Type: null,
|
|
OverridePriority: 31
|
|
},
|
|
},
|
|
{
|
|
Name: "Tucked",
|
|
Property: {
|
|
Type: "Tucked",
|
|
OverridePriority: 29
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectPriorityType",
|
|
TypePrefix: "ClothPriorityType",
|
|
}
|
|
},
|
|
}, // NecklaceKey
|
|
NecklaceLock: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { AssetName: "NecklaceKey" },
|
|
}, // NecklaceLock
|
|
NecklaceRope: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Short",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Long",
|
|
Property: {
|
|
Type: "Long",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, //NecklaceRope
|
|
ChokerTattoo: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Loops",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Flowers",
|
|
Property: {
|
|
Type: "Flowers",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}, //ChokerTattoo
|
|
|
|
}, // Necklace
|
|
Suit: {
|
|
Catsuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "NoGloves",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Solid",
|
|
Property: {
|
|
Type: "Gloves",
|
|
Hide: ["Hands"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Seethrough",
|
|
Property: {
|
|
Type: "AltGloves",
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectSuitGloves",
|
|
TypePrefix: "SuitGloveType",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // Catsuit
|
|
SeamlessCatsuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "Suit", AssetName: "Catsuit" },
|
|
}, // SeamlessCatsuit
|
|
PilotSuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "Suit", AssetName: "Catsuit" },
|
|
}, // PilotSuit
|
|
SeethroughSuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "NoGloves",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "Seethrough",
|
|
Property: {
|
|
Type: "Gloves",
|
|
},
|
|
},
|
|
{
|
|
Name: "Solid",
|
|
Property: {
|
|
Type: "AltGloves",
|
|
Hide: ["Hands"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectSuitGloves",
|
|
TypePrefix: "SuitGloveType",
|
|
},
|
|
DrawImages: false,
|
|
},
|
|
}, // SeethroughSuit
|
|
SeethroughSuitZip: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "Suit", AssetName: "SeethroughSuit" },
|
|
}, // SeethroughSuitZip
|
|
ReverseBunnySuit: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
CopyConfig: { GroupName: "Suit", AssetName: "Catsuit" },
|
|
}, // ReverseBunnySuit
|
|
}, // Suit
|
|
ItemHead: {
|
|
DuctTape: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Double",
|
|
Property: {
|
|
Type: null,
|
|
Block: ["ItemNose"],
|
|
Effect: ["BlindNormal", "Prone"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Wrap",
|
|
Property: {
|
|
Type: "Wrap",
|
|
Block: ["ItemNose"],
|
|
Effect: ["BlindNormal", "Prone"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Mummy",
|
|
Property: {
|
|
Type: "Mummy",
|
|
Hide: ["HairFront", "HairBack"],
|
|
Block: ["ItemMouth", "ItemMouth2", "ItemMouth3", "ItemEars", "ItemHood", "ItemNose"],
|
|
Effect: ["GagNormal", "BlindNormal", "Prone", "BlockMouth"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Open",
|
|
Property: {
|
|
Type: "Open",
|
|
Hide: ["HairFront", "HairBack"],
|
|
Block: ["ItemMouth", "ItemMouth2", "ItemMouth3", "ItemEars", "ItemHood"],
|
|
Effect: ["GagNormal", "BlockMouth"],
|
|
},
|
|
}
|
|
]
|
|
}
|
|
}, // DuctTape
|
|
Ribbons: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Basic",
|
|
Property: {
|
|
Type: null,
|
|
Effect: ["BlindLight", "Prone"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Wrap",
|
|
Property: {
|
|
Type: "Wrap",
|
|
Effect: ["BlindNormal", "Prone"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectRibbonType",
|
|
},
|
|
},
|
|
}, // Ribbons
|
|
WebBlindfold: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Blindfold",
|
|
Property: {
|
|
Type: null,
|
|
Difficulty: 0,
|
|
Block: ["ItemNose"],
|
|
},
|
|
},
|
|
{
|
|
Name: "Cocoon",
|
|
Property: {
|
|
Type: "Cocoon",
|
|
Difficulty: 30,
|
|
Hide: ["HairFront", "HairBack", "Glasses", "Hat", "ItemMouth", "ItemMouth2", "ItemMouth3"],
|
|
Block: ["ItemMouth", "ItemMouth2", "ItemMouth3", "ItemEars", "ItemHood", "ItemNose"],
|
|
Effect: ["BlindHeavy", "Prone", "GagNormal", "BlockMouth"],
|
|
},
|
|
},
|
|
],
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Dialog: {
|
|
Load: "WebBondageSelect",
|
|
},
|
|
},
|
|
}, // WebBlindfold
|
|
FuturisticMask: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Transparent",
|
|
Property: {
|
|
Type: null,
|
|
SelfUnlock: true,
|
|
Effect: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "LightTint",
|
|
Property: {
|
|
Type: "LightTint",
|
|
Effect: ["BlindLight", "Prone"],
|
|
Tint: [{Color: 0, Strength: 0.2}],
|
|
},
|
|
},
|
|
{
|
|
Name: "HeavyTint",
|
|
Property: {
|
|
Type: "HeavyTint",
|
|
Effect: ["BlindNormal", "Prone"],
|
|
Tint: [{Color: 0, Strength: 0.5}],
|
|
},
|
|
},
|
|
{
|
|
Name: "Blind",
|
|
Property: {
|
|
Type: "Blind",
|
|
Effect: ["BlindHeavy", "Prone"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectVisorType",
|
|
TypePrefix: "ItemHeadInteractiveVisorType",
|
|
ChatPrefix: "ItemHeadInteractiveVisorSet",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticMask
|
|
InteractiveVisor: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Transparent",
|
|
Property: {
|
|
Type: null,
|
|
SelfUnlock: true,
|
|
Effect: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "LightTint",
|
|
Property: {
|
|
Type: "LightTint",
|
|
Effect: ["BlindLight", "Prone"],
|
|
Tint: [{ Color: 0, Strength: 0.2 }]
|
|
},
|
|
},
|
|
{
|
|
Name: "HeavyTint",
|
|
Property: {
|
|
Type: "HeavyTint",
|
|
Effect: ["BlindNormal", "Prone"],
|
|
Tint: [{ Color: 0, Strength: 0.5 }]
|
|
},
|
|
},
|
|
{
|
|
Name: "Blind",
|
|
Property: {
|
|
Type: "Blind",
|
|
Effect: ["BlindHeavy", "Prone"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectVisorType",
|
|
TypePrefix: "ItemHeadInteractiveVisorType",
|
|
ChatPrefix: "ItemHeadInteractiveVisorSet",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // InteractiveVisor
|
|
InteractiveVRHeadset: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
Modules: [
|
|
{
|
|
Name: "Background", Key: "b",
|
|
Options: [
|
|
//CustomBlindBackground: {"None" : "SynthWave", "FreeVR" : "SynthWave", "Gaming" : "Dungeon", "Off" : "", "AR" : ""},
|
|
{ // b0 - Passthrough
|
|
Property: {
|
|
CustomBlindBackground: "",
|
|
}
|
|
},
|
|
{ // b1 - SynthWave
|
|
Property: {
|
|
CustomBlindBackground: "SynthWave",
|
|
Effect: [],
|
|
}
|
|
},
|
|
{ // b2 - Dungeon
|
|
Property: {
|
|
CustomBlindBackground: "Dungeon",
|
|
Effect: [],
|
|
}
|
|
},
|
|
{ // b3 - SciFiCell
|
|
Property: {
|
|
CustomBlindBackground: "SciFiCell",
|
|
Effect: [],
|
|
}
|
|
},
|
|
{ // b4 - AncientRuins
|
|
Property: {
|
|
CustomBlindBackground: "AncientRuins",
|
|
Effect: [],
|
|
}
|
|
},
|
|
{ // b5 - HypnoticSpiral
|
|
Property: {
|
|
CustomBlindBackground: "HypnoticSpiral",
|
|
Effect: [],
|
|
}
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Function", Key: "f",
|
|
Options: [
|
|
{ // f0 - Passthrough
|
|
Property: {
|
|
Effect: [],
|
|
}
|
|
},
|
|
{ // f1 - Off
|
|
Property: {
|
|
Effect: ["BlindHeavy", "Prone"],
|
|
}
|
|
},
|
|
{ // f2 - VR Avatar
|
|
Property: {
|
|
Effect: ["BlindHeavy", "Prone", "VRAvatars"],
|
|
}
|
|
},
|
|
{ // f3 - VR Avatar (hide restraints)
|
|
Property: {
|
|
Effect: ["BlindHeavy", "VRAvatars", "HideRestraints"],
|
|
}
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name: "Game", Key: "g",
|
|
Options: [
|
|
{ // g0 - None
|
|
Property: {
|
|
Effect: [],
|
|
}
|
|
},
|
|
{ // f1 - Kinky Dungeon
|
|
Property: {
|
|
Effect: ["KinkyDungeonParty"],
|
|
}
|
|
},
|
|
],
|
|
},
|
|
],
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
}
|
|
},
|
|
}, // InteractiveVRHeadset
|
|
MedicalPatch: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config:{
|
|
ChatSetting: ModularItemChatSetting.PER_MODULE,
|
|
Modules:[
|
|
{
|
|
Name: "Eye", Key: "e",
|
|
Options:[
|
|
{
|
|
Property:{
|
|
Type:null,
|
|
Effect:["BlindNormal","Prone"]
|
|
},
|
|
},
|
|
{
|
|
Property:{
|
|
Type: "Right",
|
|
Effect:[]
|
|
},
|
|
},
|
|
{
|
|
Property:{
|
|
Type: "Left",
|
|
Effect:[]
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
Name:"RightSticker", Key: "r",
|
|
Options: [{},{},{},{},{}], //Just blank and cosmetic options
|
|
},
|
|
{
|
|
Name:"LeftSticker", Key: "l",
|
|
Options: [{},{},{},{},{}], //Just blank and cosmetic options
|
|
},
|
|
],
|
|
}
|
|
}, //MedicalPatch
|
|
DroneMask: {
|
|
Archetype: ExtendedArchetype.MODULAR,
|
|
Config: {
|
|
ChatSetting: ModularItemChatSetting.PER_MODULE,
|
|
Modules:[
|
|
{
|
|
Name: "Mouth", Key: "m",
|
|
Options:[
|
|
{ // m0 - None
|
|
Property: { Effect: ["BlockMouth"] }
|
|
},
|
|
{ // m1 - Onahole
|
|
Property: { Effect: ["GagMedium","OpenMouth"] }
|
|
},
|
|
{ // m2 - Fleshlight
|
|
Property: { Effect: ["GagMedium","OpenMouth"] }
|
|
},
|
|
{ // m3 - Smile
|
|
Property: { Effect: ["BlockMouth"] }
|
|
},
|
|
{ // m4 - Holes
|
|
Property: { Effect: ["BlockMouth"] }
|
|
},
|
|
{ // m5 - Sculpted
|
|
Property: { Effect: ["BlockMouth"] }
|
|
},
|
|
]
|
|
},
|
|
{
|
|
Name: "Eyes", Key: "e",
|
|
Options:[
|
|
{ // e0 - None
|
|
Property: { Effect: ["BlindLight"] }
|
|
},
|
|
{ // e1 - Regular
|
|
Property: { Effect: [] }
|
|
},
|
|
{ // e2 - Spiral
|
|
Property: { Effect: [] }
|
|
},
|
|
{ // e3 - Smile
|
|
Property: { Effect: [] }
|
|
},
|
|
{ // e4 - Holes
|
|
Property: { Effect: ["BlindLight"] }
|
|
},
|
|
{ // e5 - Sculpted
|
|
Property: { Effect: [] }
|
|
},
|
|
{ // e6 - Concave
|
|
Property: {Effect: ["BlindLight"] }
|
|
}
|
|
|
|
]
|
|
},
|
|
{
|
|
Name: "Pattern", Key: "p",
|
|
Options:[{},{},{},{},{},{HasSubscreen: true},] // Blank, Barcode, Scarab, Hex, Lines, Text
|
|
},
|
|
{
|
|
Name: "Glow", Key: "g",
|
|
Options: [{},{},] // Glow Off, Glow On
|
|
},
|
|
{
|
|
Name: "Sight", Key: "s",
|
|
Options: [
|
|
{ // s0 - Opaque
|
|
Property: { Effect: ["BlindHeavy", "Prone"] }
|
|
},
|
|
{ // s1 - One Way
|
|
Property: { Effect: [""] }
|
|
},
|
|
]
|
|
},
|
|
{
|
|
Name: "Helmet", Key: "h",
|
|
Options: [
|
|
{}, // h0 - Mask
|
|
{
|
|
Property: {
|
|
Hide: ["HairFront", "HairBack",], //"HairAccessory1", "HairAccessory2"],
|
|
HideItem: [
|
|
"HatBonnet1", "HatBonnet2", "HatBunnySuccubus2", "HatCrown1", "HatCrown2", "HatCrown4", "HatCrown5", "HatBand1",
|
|
"HatBand2", "HatPirateBandana1", "HatVeil1","HatVeil2", // Hat items
|
|
"MaskFuturisticVisor", "MaskShinobiMask", // Mask items
|
|
"HairAccessory3Ribbons4", // HairAccessory items
|
|
"HairAccessory1Antennae", "HairAccessory1BunnyEars1", "HairAccessory1BunnyEars2", "HairAccessory1CowHorns", "HairAccessory1ElfEars",
|
|
"HairAccessory1Ears1", "HairAccessory1Ears2", "HairAccessory1FoxEars1", "HairAccessory1FoxEars2", "HairAccessory1FoxEars3",
|
|
"HairAccessory1KittenEars1", "HairAccessory1KittenEars2", "HairAccessory1MouseEars1", "HairAccessory1MouseEars2",
|
|
"HairAccessory1PuppyEars1", "HairAccessory1Ribbons2", "HairAccessory1WolfEars1", "HairAccessory1WolfEars2",
|
|
"HairAccessory1Ribbons4", // Ear items (HA1)
|
|
"HairAccessory2Antennae", "HairAccessory2BunnyEars1", "HairAccessory2BunnyEars2", "HairAccessory2CowHorns", "HairAccessory2ElfEars",
|
|
"HairAccessory2Ears1", "HairAccessory2Ears2", "HairAccessory2FoxEars1", "HairAccessory2FoxEars2", "HairAccessory2FoxEars3",
|
|
"HairAccessory2KittenEars1", "HairAccessory2KittenEars2", "HairAccessory2MouseEars1", "HairAccessory2MouseEars2",
|
|
"HairAccessory2PuppyEars1", "HairAccessory2Ribbons2", "HairAccessory2WolfEars1", "HairAccessory2WolfEars2", // Ear items (HA2)
|
|
], // These items are hidden because they have clear mismatch issues with the hood.
|
|
},
|
|
}, // h1 - Helmet (hood)
|
|
{ // h2 - Helmet ( hood but nothing shows)
|
|
Property: {
|
|
Hide: ["HairFront", "HairBack", "Hat", "HairAccessory1", "HairAccessory2", "HairAccessory3"],
|
|
HideItem: ["MaskFuturisticVisor", "MaskShinobiMask",],
|
|
},
|
|
},
|
|
]
|
|
},
|
|
],
|
|
ChangeWhenLocked: false,
|
|
}
|
|
}, // DroneMask
|
|
}, // ItemHead
|
|
ItemHands: {
|
|
FuturisticMittens: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
Options: [
|
|
{
|
|
Name: "Mittens",
|
|
Property: { Type: null, Difficulty: 8, Effect: ["Block", "Prone"], SelfUnlock: false},
|
|
},
|
|
{
|
|
Name: "Gloves",
|
|
Property: { Type: "Gloves", Difficulty: 0, Effect: [], SelfUnlock: true},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectFuturisticMittensType",
|
|
TypePrefix: "FuturisticMittensType",
|
|
ChatPrefix: "FuturisticMittensSet",
|
|
},
|
|
ScriptHooks: {
|
|
Load: FuturisticAccessLoad,
|
|
Click: FuturisticAccessClick,
|
|
Draw: FuturisticAccessDraw,
|
|
Exit: FuturisticAccessExit,
|
|
Validate: FuturisticAccessValidate,
|
|
}
|
|
},
|
|
}, // FuturisticMittens
|
|
}, // ItemHands
|
|
ItemAddon: {
|
|
CeilingChain: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Lowered",
|
|
Property: { Type: null, Difficulty: 6, Effect: []}
|
|
}, {
|
|
Name: "Suspended",
|
|
Property: {
|
|
Type: "Suspended", Difficulty: 7,
|
|
OverrideHeight: { Height: 30, Priority: 51, HeightRatioProportion: 0 },
|
|
Effect: ["Lifted"],
|
|
AllowActivePose: ["BodyLower", "LegsClosed", "Kneel", "KneelingSpread"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectCeilingChainState",
|
|
TypePrefix: "CeilingChainBondage",
|
|
ChatPrefix: "CeilingChainSet",
|
|
NpcPrefix: "CeilingChain",
|
|
},
|
|
ChangeWhenLocked: false,
|
|
}
|
|
}, // CeilingChain
|
|
CeilingRope: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.TARGET_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Lowered",
|
|
Property: { Type: null, Difficulty: 6}
|
|
}, {
|
|
Name: "Suspended",
|
|
Property: {
|
|
Type: "Suspended", Difficulty: 7,
|
|
OverrideHeight: { Height: 30, Priority: 51, HeightRatioProportion: 0 },
|
|
Effect: ["Lifted"],
|
|
AllowActivePose: ["BodyLower", "LegsClosed", "Kneel", "KneelingSpread"],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectCeilingRopeState",
|
|
TypePrefix: "CeilingRopeBondage",
|
|
ChatPrefix: "CeilingRopeSet",
|
|
NpcPrefix: "CeilingRope",
|
|
},
|
|
}
|
|
}, // CeilingRope
|
|
}, // ItemAddon
|
|
ItemNose: {
|
|
NoseRing: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
ChatTags: [CommonChatTags.SOURCE_CHAR, CommonChatTags.DEST_CHAR],
|
|
Options: [
|
|
{
|
|
Name: "Base",
|
|
Property: {
|
|
Type: null,
|
|
Effect: [],
|
|
SetPose: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "ChainShort",
|
|
Prerequisite: ["NotSuspended", "CanKneel", "NotMounted"],
|
|
Property: {
|
|
Type: "ChainShort",
|
|
Effect: ["Freeze", "ForceKneel", "IsChained"],
|
|
SetPose: ["Kneel"],
|
|
},
|
|
},
|
|
{
|
|
Name: "ChainLong",
|
|
Prerequisite: ["NotSuspended"],
|
|
Property: {
|
|
Type: "ChainLong",
|
|
Effect: ["Tethered", "IsChained"],
|
|
SetPose: [],
|
|
},
|
|
},
|
|
{
|
|
Name: "Leash",
|
|
Prerequisite: ["NotSuspended"],
|
|
Property: {
|
|
Type: "Leash",
|
|
Effect: ["Leash"],
|
|
SetPose: [],
|
|
},
|
|
},
|
|
],
|
|
Dialog: {
|
|
Load: "SelectAttachmentState",
|
|
TypePrefix: "NoseRingPose",
|
|
ChatPrefix: "NoseRingRestrain",
|
|
NpcPrefix: "InventoryItemNoseNoseRingNPCReaction",
|
|
},
|
|
}
|
|
}, // NoseRing
|
|
}, // ItemNose
|
|
Wings: {
|
|
SteampunkWings: {
|
|
Archetype: ExtendedArchetype.TYPED,
|
|
Config: {
|
|
DrawImages: false,
|
|
Options: [
|
|
{
|
|
Name: "Off",
|
|
Property: {
|
|
Type: null,
|
|
},
|
|
},
|
|
{
|
|
Name: "On",
|
|
Property: {
|
|
Type: "On",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}, // SteampunkWings
|
|
}, // Wings
|
|
};
|