Merge branch 'cumshots' into 'master'
New Splatters asset by Raven See merge request BondageProjects/Bondage-College!5450
|
@ -300,6 +300,79 @@ BodyMarkingsFacePaintsSelect6,Apply
|
|||
BodyMarkingsFacePaintsSelect7,Apply
|
||||
BodyMarkingsFacePaintsSelect8,Apply
|
||||
BodyMarkingsFacePaintsSelect9,Apply
|
||||
BodyMarkingsSplattersModuleForehead1,Forehead 1
|
||||
BodyMarkingsSplattersModuleForehead2,Forehead 2
|
||||
BodyMarkingsSplattersModuleForehead3,Forehead 3
|
||||
BodyMarkingsSplattersModuleFace1,Face 1
|
||||
BodyMarkingsSplattersModuleFace2,Face 2
|
||||
BodyMarkingsSplattersModuleFace3,Face 3
|
||||
BodyMarkingsSplattersModuleChest1,Chest 1
|
||||
BodyMarkingsSplattersModuleChest2,Chest 2
|
||||
BodyMarkingsSplattersModuleChest3,Chest 3
|
||||
BodyMarkingsSplattersModuleChest4,Chest 4
|
||||
BodyMarkingsSplattersModuleTummy1,Tummy 1
|
||||
BodyMarkingsSplattersModuleTummy2,Tummy 2
|
||||
BodyMarkingsSplattersModuleTummy3,Tummy 3
|
||||
BodyMarkingsSplattersModuleTummy4,Tummy 4
|
||||
BodyMarkingsSplattersModuleInternal1,Internal Mouth
|
||||
BodyMarkingsSplattersModuleInternal2,Internal Front
|
||||
BodyMarkingsSplattersModuleInternal3,Internal Back
|
||||
BodyMarkingsSplattersModuleNippleDrip,Nipple Drip
|
||||
BodyMarkingsSplattersOptiona0,No
|
||||
BodyMarkingsSplattersOptiona1,Yes
|
||||
BodyMarkingsSplattersOptionb0,No
|
||||
BodyMarkingsSplattersOptionb1,Yes
|
||||
BodyMarkingsSplattersOptionc0,No
|
||||
BodyMarkingsSplattersOptionc1,Yes
|
||||
BodyMarkingsSplattersOptiond0,No
|
||||
BodyMarkingsSplattersOptiond1,Yes
|
||||
BodyMarkingsSplattersOptione0,No
|
||||
BodyMarkingsSplattersOptione1,Yes
|
||||
BodyMarkingsSplattersOptionf0,No
|
||||
BodyMarkingsSplattersOptionf1,Yes
|
||||
BodyMarkingsSplattersOptiong0,No
|
||||
BodyMarkingsSplattersOptiong1,Yes
|
||||
BodyMarkingsSplattersOptionh0,No
|
||||
BodyMarkingsSplattersOptionh1,Yes
|
||||
BodyMarkingsSplattersOptioni0,No
|
||||
BodyMarkingsSplattersOptioni1,Yes
|
||||
BodyMarkingsSplattersOptionj0,No
|
||||
BodyMarkingsSplattersOptionj1,Yes
|
||||
BodyMarkingsSplattersOptionk0,No
|
||||
BodyMarkingsSplattersOptionk1,Yes
|
||||
BodyMarkingsSplattersOptionl0,No
|
||||
BodyMarkingsSplattersOptionl1,Yes
|
||||
BodyMarkingsSplattersOptionm0,No
|
||||
BodyMarkingsSplattersOptionm1,Yes
|
||||
BodyMarkingsSplattersOptionn0,No
|
||||
BodyMarkingsSplattersOptionn1,Yes
|
||||
BodyMarkingsSplattersOptiono0,No
|
||||
BodyMarkingsSplattersOptiono1,Yes
|
||||
BodyMarkingsSplattersOptionp0,No
|
||||
BodyMarkingsSplattersOptionp1,Yes
|
||||
BodyMarkingsSplattersOptionq0,No
|
||||
BodyMarkingsSplattersOptionq1,Yes
|
||||
BodyMarkingsSplattersOptionr0,No
|
||||
BodyMarkingsSplattersOptionr1,Yes
|
||||
BodyMarkingsSplattersSelectBase,Select Mark
|
||||
BodyMarkingsSplattersSelectForehead1,Apply
|
||||
BodyMarkingsSplattersSelectForehead2,Apply
|
||||
BodyMarkingsSplattersSelectForehead3,Apply
|
||||
BodyMarkingsSplattersSelectFace1,Apply
|
||||
BodyMarkingsSplattersSelectFace2,Apply
|
||||
BodyMarkingsSplattersSelectFace3,Apply
|
||||
BodyMarkingsSplattersSelectChest1,Apply
|
||||
BodyMarkingsSplattersSelectChest2,Apply
|
||||
BodyMarkingsSplattersSelectChest3,Apply
|
||||
BodyMarkingsSplattersSelectChest4,Apply
|
||||
BodyMarkingsSplattersSelectTummy1,Apply
|
||||
BodyMarkingsSplattersSelectTummy2,Apply
|
||||
BodyMarkingsSplattersSelectTummy3,Apply
|
||||
BodyMarkingsSplattersSelectTummy4,Apply
|
||||
BodyMarkingsSplattersSelectInternal1,Apply
|
||||
BodyMarkingsSplattersSelectInternal2,Apply
|
||||
BodyMarkingsSplattersSelectInternal3,Apply
|
||||
BodyMarkingsSplattersSelectNippleDrip,Apply
|
||||
BodyUpperFlatMediumDefault,Default
|
||||
BodyUpperFlatMediumSelect,Select body overlay.
|
||||
BodyUpperFlatSmallDefault,Default
|
||||
|
@ -6377,7 +6450,7 @@ ItemHoodCreepyIronMaskSelectMode,Mask menu:
|
|||
ItemHoodCreepyIronMaskOptionm0,Just mask
|
||||
ItemHoodCreepyIronMaskOptionm1,Full hood
|
||||
ItemHoodCreepyIronMaskModuleBlindfold,Blindfold
|
||||
ItemHoodCreepyIronMaskSelectMode,Metal blindfold option:
|
||||
ItemHoodCreepyIronMaskSelectBlindfold,Metal blindfold option:
|
||||
ItemHoodCreepyIronMaskOptionb0,None
|
||||
ItemHoodCreepyIronMaskOptionb1,Perforated
|
||||
ItemHoodCreepyIronMaskOptionb2,Full
|
||||
|
@ -6386,7 +6459,7 @@ ItemHoodCreepyIronMaskSelectSpike,Collar spikes option:
|
|||
ItemHoodCreepyIronMaskOptions0,None
|
||||
ItemHoodCreepyIronMaskOptions1,Equip spikes
|
||||
ItemHoodCreepyIronMaskModuleNose,Nose guard
|
||||
ItemHoodCreepyIronMaskSelectMode,Nose guard option:
|
||||
ItemHoodCreepyIronMaskSelectNose,Nose guard option:
|
||||
ItemHoodCreepyIronMaskOptionn0,None
|
||||
ItemHoodCreepyIronMaskOptionn1,Add nose guard
|
||||
ItemHoodCreepyIronMaskSetm0,SourceCharacter puts the Creepy Iron Mask on DestinationCharacterName head.
|
||||
|
@ -6415,4 +6488,4 @@ ItemMouth3HorrorMuzzleSetNone,SourceCharacter puts on DestinationCharacter mouth
|
|||
ItemMouth3HorrorMuzzleSetRivets,SourceCharacter puts on DestinationCharacter mouth a Horror Muzzle with rivets.
|
||||
GlassesRoundSunglassesSelect,Select a style:
|
||||
GlassesRoundSunglassesNormal,Behind hair
|
||||
GlassesRoundSunglassesOver,Over hair
|
||||
GlassesRoundSunglassesOver,Over hair
|
||||
|
|
Can't render this file because it contains an unexpected character in line 6406 and column 135.
|
After ![]() (image error) Size: 22 KiB |
After ![]() (image error) Size: 26 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 18 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 12 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 18 KiB |
After ![]() (image error) Size: 22 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 19 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 13 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 19 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 13 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 19 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 10 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 19 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 13 KiB |
After ![]() (image error) Size: 24 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 24 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 22 KiB |
After ![]() (image error) Size: 25 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 23 KiB |
After ![]() (image error) Size: 26 KiB |
After ![]() (image error) Size: 17 KiB |
After ![]() (image error) Size: 18 KiB |
After ![]() (image error) Size: 24 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 14 KiB |
After ![]() (image error) Size: 12 KiB |
After ![]() (image error) Size: 15 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Preview/Splatters.png
Normal file
After ![]() (image error) Size: 58 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Chest1.png
Normal file
After ![]() (image error) Size: 15 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Chest2.png
Normal file
After ![]() (image error) Size: 25 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Chest3.png
Normal file
After ![]() (image error) Size: 17 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Chest4.png
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Face1.png
Normal file
After ![]() (image error) Size: 12 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Face2.png
Normal file
After ![]() (image error) Size: 18 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Face3.png
Normal file
After ![]() (image error) Size: 16 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 16 KiB |
After ![]() (image error) Size: 18 KiB |
After ![]() (image error) Size: 21 KiB |
After ![]() (image error) Size: 11 KiB |
After ![]() (image error) Size: 9.9 KiB |
After ![]() (image error) Size: 8.6 KiB |
After ![]() (image error) Size: 15 KiB |
After ![]() (image error) Size: 14 KiB |
After ![]() (image error) Size: 13 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Tummy1.png
Normal file
After ![]() (image error) Size: 12 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Tummy2.png
Normal file
After ![]() (image error) Size: 19 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Tummy3.png
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
BondageClub/Assets/Female3DCG/BodyMarkings/Splatters_Tummy4.png
Normal file
After ![]() (image error) Size: 22 KiB |
After ![]() (image error) Size: 16 KiB |
|
@ -24,6 +24,7 @@ BodyMarkings,WombTattoos,Womb Tattoos
|
|||
BodyMarkings,BodyWritings,Body Writings
|
||||
BodyMarkings,FaceScars,Face Scars
|
||||
BodyMarkings,FacePaints,Face paints
|
||||
BodyMarkings,Splatters,Splatters
|
||||
BodyUpper,,Upper Body
|
||||
BodyUpper,FlatMedium,Bulky Flat Chest
|
||||
BodyUpper,FlatSmall,Flat Chest
|
||||
|
|
|
|
@ -5484,7 +5484,7 @@ var AssetFemale3DCG = [
|
|||
Name: "Waspie1",
|
||||
InventoryID: 206,
|
||||
Fetish: ["Leather"],
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
Value: 60,
|
||||
PoseMapping: {
|
||||
...AssetPoseMapping.ClothLower,
|
||||
|
@ -5508,7 +5508,7 @@ var AssetFemale3DCG = [
|
|||
Name: "Waspie2",
|
||||
InventoryID: 207,
|
||||
Fetish: ["Leather"],
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
Value: 80,
|
||||
PoseMapping: {
|
||||
...AssetPoseMapping.ClothLower,
|
||||
|
@ -5534,7 +5534,7 @@ var AssetFemale3DCG = [
|
|||
...AssetPoseMapping.ClothLower,
|
||||
KneelingSpread: PoseType.HIDE,
|
||||
},
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
HideItem: [
|
||||
"ItemDevicesStrapOnSmooth",
|
||||
"ItemDevicesStrapOnStuds",
|
||||
|
@ -5552,7 +5552,7 @@ var AssetFemale3DCG = [
|
|||
Fetish: ["Latex"],
|
||||
Priority: 21,
|
||||
Value: 60,
|
||||
Hide: ["ItemVulvaPiercings", "Garters", "Pussy",],
|
||||
Hide: ["ItemVulvaPiercings", "Garters", "Pussy"],
|
||||
HideItem: [
|
||||
"ItemButtAnalBeads2",
|
||||
"SocksSocksFur",
|
||||
|
@ -5583,7 +5583,7 @@ var AssetFemale3DCG = [
|
|||
Alpha: [
|
||||
{ Group: ["Panties", "ItemPelvis"], Masks: [[0, 0, 500, 540]] },
|
||||
],
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
HideItem: ["ItemDevicesStrapOnSmooth", "ItemDevicesStrapOnStuds"],
|
||||
Expose: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
Attribute: ["Skirt"],
|
||||
|
@ -5596,7 +5596,7 @@ var AssetFemale3DCG = [
|
|||
Alpha: [
|
||||
{ Group: ["Panties", "ItemPelvis"], Masks: [[0, 0, 500, 580]] },
|
||||
],
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
HideItem: ["ItemDevicesStrapOnSmooth", "ItemDevicesStrapOnStuds"],
|
||||
Expose: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
Attribute: ["Skirt"],
|
||||
|
@ -5654,7 +5654,7 @@ var AssetFemale3DCG = [
|
|||
Alpha: [
|
||||
{ Group: ["Panties", "ItemPelvis"], Masks: [[0, 0, 500, 580]] },
|
||||
],
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
HideItem: ["ItemDevicesStrapOnSmooth", "ItemDevicesStrapOnStuds"],
|
||||
Expose: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
Attribute: ["Skirt"],
|
||||
|
@ -6367,7 +6367,7 @@ var AssetFemale3DCG = [
|
|||
InventoryID: 239,
|
||||
Fetish: ["Leather"],
|
||||
Value: 32,
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
HideItem: ["ItemDevicesStrapOnSmooth", "ItemDevicesStrapOnStuds"],
|
||||
Attribute: ["Skirt"],
|
||||
},
|
||||
|
@ -6408,7 +6408,7 @@ var AssetFemale3DCG = [
|
|||
[PoseType.DEFAULT]: 0,
|
||||
KneelingSpread: 90,
|
||||
},
|
||||
Hide: ["ItemVulvaPiercings", "Panties", "Pussy",],
|
||||
Hide: ["ItemVulvaPiercings", "Panties", "Pussy"],
|
||||
HideItem: [
|
||||
"ItemButtAnalBeads2",
|
||||
"SocksSocksFur",
|
||||
|
@ -6442,7 +6442,7 @@ var AssetFemale3DCG = [
|
|||
LegsClosed: PoseType.DEFAULT,
|
||||
Spread: PoseType.DEFAULT,
|
||||
},
|
||||
Hide: ["Pussy",],
|
||||
Hide: ["Pussy"],
|
||||
HideItem: ["ItemDevicesStrapOnSmooth", "ItemDevicesStrapOnStuds"],
|
||||
CreateLayerTypes: ["typed"],
|
||||
Attribute: ["Skirt"],
|
||||
|
@ -8875,7 +8875,7 @@ var AssetFemale3DCG = [
|
|||
ParentItem: "ItemPelvisFemPelvisHarness",
|
||||
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
Audio: "Buckle",
|
||||
DefaultColor: ["#454545","#909090"],
|
||||
DefaultColor: ["#454545", "#909090"],
|
||||
Layer: [
|
||||
{
|
||||
Name: "Main",
|
||||
|
@ -10519,7 +10519,7 @@ var AssetFemale3DCG = [
|
|||
ParentItem: "ItemPelvisFemPelvisHarness",
|
||||
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
Audio: "Buckle",
|
||||
DefaultColor: ["#454545","#909090"],
|
||||
DefaultColor: ["#454545", "#909090"],
|
||||
Layer: [
|
||||
{
|
||||
Name: "Main",
|
||||
|
@ -17203,6 +17203,15 @@ var AssetFemale3DCG = [
|
|||
BuyGroup: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "Splatters",
|
||||
DynamicGroupName: "BodyMarkings",
|
||||
CopyConfig: {
|
||||
GroupName: "BodyMarkings",
|
||||
AssetName: "Splatters",
|
||||
BuyGroup: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "AnimalNoses",
|
||||
InventoryID: 1169,
|
||||
|
@ -18096,6 +18105,186 @@ var AssetFemale3DCG = [
|
|||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
Name: "Splatters",
|
||||
Priority: 60,
|
||||
Value: 0,
|
||||
Top: 0,
|
||||
Left: 0,
|
||||
DefaultColor: "#888888",
|
||||
BuyGroup: "Splatters",
|
||||
InheritPoseMappingFields: true,
|
||||
PoseMapping: {
|
||||
...AssetPoseMapping.Cloth,
|
||||
BackBoxTie: PoseType.DEFAULT,
|
||||
BackCuffs: PoseType.DEFAULT,
|
||||
BackElbowTouch: PoseType.DEFAULT,
|
||||
OverTheHead: PoseType.DEFAULT,
|
||||
TapedHands: PoseType.DEFAULT,
|
||||
Yoked: PoseType.DEFAULT,
|
||||
AllFours: PoseType.DEFAULT,
|
||||
Hogtied: PoseType.DEFAULT,
|
||||
},
|
||||
Opacity: 0.7,
|
||||
MinOpacity: 0,
|
||||
Extended: true,
|
||||
Layer: [
|
||||
{
|
||||
Name: "Forehead1",
|
||||
Top: 5,
|
||||
AllowTypes: { a: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Forehead2",
|
||||
AllowTypes: { b: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Forehead3",
|
||||
AllowTypes: { c: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Face1",
|
||||
AllowTypes: { d: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Face2",
|
||||
AllowTypes: { e: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Face3",
|
||||
AllowTypes: { f: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Chest1",
|
||||
ParentGroup: {
|
||||
[PoseType.DEFAULT]: PoseType.DEFAULT,
|
||||
AllFours: "BodyUpper",
|
||||
Hogtied: "BodyUpper",
|
||||
},
|
||||
PoseMapping: {
|
||||
AllFours: "AllFours",
|
||||
Hogtied: "Hogtied",
|
||||
OverTheHead: "OverTheHead",
|
||||
},
|
||||
AllowTypes: { g: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Chest2",
|
||||
ParentGroup: {
|
||||
[PoseType.DEFAULT]: PoseType.DEFAULT,
|
||||
AllFours: "BodyUpper",
|
||||
Hogtied: "BodyUpper",
|
||||
},
|
||||
PoseMapping: {
|
||||
AllFours: "AllFours",
|
||||
Hogtied: "Hogtied",
|
||||
OverTheHead: "OverTheHead",
|
||||
},
|
||||
AllowTypes: { h: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Chest3",
|
||||
ParentGroup: {
|
||||
[PoseType.DEFAULT]: PoseType.DEFAULT,
|
||||
AllFours: "BodyUpper",
|
||||
Hogtied: "BodyUpper",
|
||||
},
|
||||
PoseMapping: {
|
||||
AllFours: "AllFours",
|
||||
Hogtied: "Hogtied",
|
||||
OverTheHead: "OverTheHead",
|
||||
},
|
||||
AllowTypes: { i: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Chest4",
|
||||
ParentGroup: {
|
||||
[PoseType.DEFAULT]: PoseType.DEFAULT,
|
||||
AllFours: "BodyUpper",
|
||||
Hogtied: "BodyUpper",
|
||||
},
|
||||
PoseMapping: {
|
||||
AllFours: "AllFours",
|
||||
Hogtied: "Hogtied",
|
||||
OverTheHead: "OverTheHead",
|
||||
},
|
||||
AllowTypes: { j: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Tummy1",
|
||||
PoseMapping: {
|
||||
AllFours: PoseType.HIDE,
|
||||
Hogtied: PoseType.HIDE,
|
||||
},
|
||||
Priority: 10,
|
||||
AllowTypes: { k: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Tummy2",
|
||||
PoseMapping: {
|
||||
AllFours: PoseType.HIDE,
|
||||
Hogtied: PoseType.HIDE,
|
||||
},
|
||||
Priority: 10,
|
||||
AllowTypes: { l: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Tummy3",
|
||||
PoseMapping: {
|
||||
AllFours: PoseType.HIDE,
|
||||
Hogtied: PoseType.HIDE,
|
||||
},
|
||||
Priority: 10,
|
||||
AllowTypes: { m: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Tummy4",
|
||||
PoseMapping: {
|
||||
AllFours: PoseType.HIDE,
|
||||
Hogtied: PoseType.HIDE,
|
||||
},
|
||||
Priority: 10,
|
||||
AllowTypes: { n: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Internal1",
|
||||
Priority: 30,
|
||||
AllowTypes: { o: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Internal2",
|
||||
PoseMapping: {
|
||||
AllFours: PoseType.HIDE,
|
||||
Hogtied: PoseType.HIDE,
|
||||
},
|
||||
Priority: 30,
|
||||
AllowTypes: { p: 1 },
|
||||
},
|
||||
{
|
||||
Name: "Internal3",
|
||||
PoseMapping: {
|
||||
AllFours: PoseType.HIDE,
|
||||
Hogtied: PoseType.HIDE,
|
||||
},
|
||||
Priority: 9,
|
||||
AllowTypes: { q: 1 },
|
||||
},
|
||||
{
|
||||
Name: "NippleDrip",
|
||||
Priority: 30,
|
||||
ParentGroup: {
|
||||
[PoseType.DEFAULT]: "BodyUpper",
|
||||
AllFours: "BodyUpper",
|
||||
OverTheHead: "BodyUpper",
|
||||
},
|
||||
PoseMapping: {
|
||||
OverTheHead: "OverTheHead",
|
||||
AllFours: "AllFours",
|
||||
},
|
||||
AllowTypes: { r: 1 },
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
Name: "FacePaints",
|
||||
Value: 10,
|
||||
|
@ -18225,6 +18414,15 @@ var AssetFemale3DCG = [
|
|||
BuyGroup: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "Splatters",
|
||||
DynamicGroupName: "BodyMarkings",
|
||||
CopyConfig: {
|
||||
GroupName: "BodyMarkings",
|
||||
AssetName: "Splatters",
|
||||
BuyGroup: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "AnimalNoses",
|
||||
DynamicGroupName: "Mask",
|
||||
|
@ -26641,7 +26839,7 @@ var AssetFemale3DCG = [
|
|||
AllowTighten: true,
|
||||
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
Audio: "Buckle",
|
||||
DefaultColor: ["#454545","#909090","Default"],
|
||||
DefaultColor: ["#454545", "#909090", "Default"],
|
||||
Layer: [
|
||||
{
|
||||
Name: "Main",
|
||||
|
@ -27531,7 +27729,7 @@ var AssetFemale3DCG = [
|
|||
DrawLocks: false,
|
||||
AllowTighten: true,
|
||||
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
DefaultColor: ["#454545","#909090","Default"],
|
||||
DefaultColor: ["#454545", "#909090", "Default"],
|
||||
Audio: "Buckle",
|
||||
Layer: [
|
||||
{
|
||||
|
@ -28595,7 +28793,7 @@ var AssetFemale3DCG = [
|
|||
DrawLocks: false,
|
||||
AllowTighten: true,
|
||||
Block: ["ItemVulva", "ItemVulvaPiercings", "ItemButt"],
|
||||
DefaultColor: ["#454545","#909090","Default"],
|
||||
DefaultColor: ["#454545", "#909090", "Default"],
|
||||
Audio: "Buckle",
|
||||
Layer: [
|
||||
{
|
||||
|
@ -46764,7 +46962,7 @@ var AssetFemale3DCG = [
|
|||
RemoveTime: 10,
|
||||
AllowTighten: true,
|
||||
Attribute: ["NoseRing"],
|
||||
DefaultColor: ["#9B9685","#909090","#D62F2F"],
|
||||
DefaultColor: ["#9B9685", "#909090", "#D62F2F"],
|
||||
ExpressionTrigger: [
|
||||
{ Name: "Soft", Group: "Eyebrows", Timer: 15 },
|
||||
{ Name: "Surprised", Group: "Eyes", Timer: 15 },
|
||||
|
@ -50431,17 +50629,8 @@ var AssetFemale3DCG = [
|
|||
AllowLock: true,
|
||||
DrawLocks: false,
|
||||
Extended: true,
|
||||
DefaultColor: [
|
||||
"#808D90",
|
||||
"#819F9F",
|
||||
"#8E8D89",
|
||||
"#808D90",
|
||||
"#877C66",
|
||||
],
|
||||
Hide: [
|
||||
"Glasses",
|
||||
"Jewelry",
|
||||
],
|
||||
DefaultColor: ["#808D90", "#819F9F", "#8E8D89", "#808D90", "#877C66"],
|
||||
Hide: ["Glasses", "Jewelry"],
|
||||
Block: [
|
||||
"ItemMouth",
|
||||
"ItemMouth2",
|
||||
|
@ -50488,7 +50677,7 @@ var AssetFemale3DCG = [
|
|||
Name: "Blindfold",
|
||||
Priority: 51,
|
||||
CreateLayerTypes: ["b"],
|
||||
AllowTypes: { b: [ 1, 2 ] },
|
||||
AllowTypes: { b: [1, 2] },
|
||||
AllowColorize: true,
|
||||
},
|
||||
{
|
||||
|
@ -50509,7 +50698,7 @@ var AssetFemale3DCG = [
|
|||
Priority: 51,
|
||||
LockLayer: true,
|
||||
CreateLayerTypes: ["b"],
|
||||
AllowTypes: { b: [ 1, 2 ] },
|
||||
AllowTypes: { b: [1, 2] },
|
||||
CopyLayerColor: "Lock",
|
||||
},
|
||||
],
|
||||
|
@ -54566,9 +54755,11 @@ var AssetFemale3DCG = [
|
|||
Effect: [E.Freeze, E.MapImmobile],
|
||||
RemoveAtLogin: true,
|
||||
FixedPosition: true,
|
||||
Layer: [{ Name: "Throne", Top: -300, Left: 0 },
|
||||
Layer: [
|
||||
{ Name: "Throne", Top: -300, Left: 0 },
|
||||
{ Name: "Seat", Top: -300, Left: 0 },
|
||||
{ Name: "Deco", Top: -300, Left: 0 },]
|
||||
{ Name: "Deco", Top: -300, Left: 0 },
|
||||
],
|
||||
},
|
||||
{
|
||||
Name: "ExclusiveWaitress",
|
||||
|
|
|
@ -1091,6 +1091,110 @@ var AssetFemale3DCGExtended = {
|
|||
},
|
||||
],
|
||||
},
|
||||
Splatters: {
|
||||
Archetype: ExtendedArchetype.MODULAR,
|
||||
ChatSetting: ModularItemChatSetting.PER_MODULE,
|
||||
DrawImages: false,
|
||||
Modules: [
|
||||
{
|
||||
Name: "Forehead1",
|
||||
Key: "a",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Forehead2",
|
||||
Key: "b",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Forehead3",
|
||||
Key: "c",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Face1",
|
||||
Key: "d",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Face2",
|
||||
Key: "e",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Face3",
|
||||
Key: "f",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Chest1",
|
||||
Key: "g",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
|
||||
{
|
||||
Name: "Chest2",
|
||||
Key: "h",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Chest3",
|
||||
Key: "i",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Chest4",
|
||||
Key: "j",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Tummy1",
|
||||
Key: "k",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Tummy2",
|
||||
Key: "l",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Tummy3",
|
||||
Key: "m",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Tummy4",
|
||||
Key: "n",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Internal1",
|
||||
Key: "o",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Internal2",
|
||||
Key: "p",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "Internal3",
|
||||
Key: "q",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
{
|
||||
Name: "NippleDrip",
|
||||
Key: "r",
|
||||
Options: [{}, {}], // n,y
|
||||
},
|
||||
],
|
||||
DialogPrefix: {
|
||||
Header: "BodyMarkingsSplattersSelect",
|
||||
Module: "BodyMarkingsSplattersModule",
|
||||
Option: "BodyMarkingsSplattersOption",
|
||||
Chat: "BodyMarkingsSplattersSet",
|
||||
},
|
||||
},
|
||||
FacePaints: {
|
||||
Archetype: ExtendedArchetype.MODULAR,
|
||||
ChatSetting: ModularItemChatSetting.PER_MODULE,
|
||||
|
@ -1211,6 +1315,10 @@ var AssetFemale3DCGExtended = {
|
|||
DrawImages: false,
|
||||
CopyConfig: { GroupName: "BodyMarkings", AssetName: "FaceScars" },
|
||||
}, // FaceScars
|
||||
Splatters: {
|
||||
Archetype: ExtendedArchetype.MODULAR,
|
||||
CopyConfig: { GroupName: "BodyMarkings", AssetName: "Splatters" },
|
||||
}, // Splatters
|
||||
AnimalNoses: {
|
||||
Archetype: ExtendedArchetype.TYPED,
|
||||
DrawImages: false,
|
||||
|
@ -8945,11 +9053,7 @@ var AssetFemale3DCGExtended = {
|
|||
// Hood
|
||||
Property: {
|
||||
Effect: [E.BlockMouth],
|
||||
Hide: [
|
||||
"HairFront",
|
||||
"HairBack",
|
||||
"HairAccessory1",
|
||||
],
|
||||
Hide: ["HairFront", "HairBack", "HairAccessory1"],
|
||||
},
|
||||
},
|
||||
],
|
||||
|
@ -9002,7 +9106,7 @@ var AssetFemale3DCGExtended = {
|
|||
// NoseGuard
|
||||
Property: {
|
||||
Effect: [],
|
||||
Block:["ItemNose"],
|
||||
Block: ["ItemNose"],
|
||||
Hide: ["ItemNose"],
|
||||
},
|
||||
},
|
||||
|
@ -14978,6 +15082,10 @@ var AssetFemale3DCGExtended = {
|
|||
},
|
||||
],
|
||||
}, // Eldritch Mask
|
||||
Splatters: {
|
||||
Archetype: ExtendedArchetype.MODULAR,
|
||||
CopyConfig: { GroupName: "BodyMarkings", AssetName: "Splatters" },
|
||||
}, // Splatters
|
||||
}, // Mask
|
||||
ItemLegs: {
|
||||
DuctTape: {
|
||||
|
|
|
@ -2,6 +2,24 @@ BodyUpperLarge,Body
|
|||
BodyUpperNormal,Body
|
||||
BodyUpperSmall,Body
|
||||
BodyUpperXLarge,Body
|
||||
BodyMarkingsSplattersForehead1,Forehead 1
|
||||
BodyMarkingsSplattersForehead2,Forehead 2
|
||||
BodyMarkingsSplattersForehead3,Forehead 3
|
||||
BodyMarkingsSplattersFace1,Face 1
|
||||
BodyMarkingsSplattersFace2,Face 2
|
||||
BodyMarkingsSplattersFace3,Face 3
|
||||
BodyMarkingsSplattersChest1,Chest 1
|
||||
BodyMarkingsSplattersChest2,Chest 2
|
||||
BodyMarkingsSplattersChest3,Chest 3
|
||||
BodyMarkingsSplattersChest4,Chest 4
|
||||
BodyMarkingsSplattersTummy1,Tummy 1
|
||||
BodyMarkingsSplattersTummy2,Tummy 2
|
||||
BodyMarkingsSplattersTummy3,Tummy 3
|
||||
BodyMarkingsSplattersTummy4,Tummy 4
|
||||
BodyMarkingsSplattersInternal1,Internal Mouth
|
||||
BodyMarkingsSplattersInternal2,Internal Front
|
||||
BodyMarkingsSplattersInternal3,Internal Back
|
||||
BodyMarkingsSplattersNippleDrip,Nipple Drip
|
||||
BraceletLaceBandsBands,Bands
|
||||
BraceletLaceBandsLace,Lace
|
||||
BraceletSpikeBandsBands,Bands
|
||||
|
@ -2126,6 +2144,7 @@ ItemPelvisBulkyDiaperTape,Tape
|
|||
ItemPelvisBulkyDiaperWaistBand,Waist Band
|
||||
ItemPelvisFemPelvisHarnessMain,Main
|
||||
ItemPelvisFemPelvisHarnessMetal,Metal
|
||||
ItemPelvisFemPelvisHarnessLock,Lock
|
||||
ItemPelvisForbiddenChastityBeltBelt,Belt
|
||||
ItemPelvisForbiddenChastityBeltDetail,Detail
|
||||
ItemPelvisForbiddenChastityBeltMetal,Metal
|
||||
|
|
|
|
@ -209,8 +209,8 @@ function LoginResize(load) {
|
|||
ElementPosition("InputPassword", 1000, 410, 500);
|
||||
ElementPosition("InputName", 1000, 260, 500);
|
||||
|
||||
ElementPosition("LanguageDropdown", 1145, 530, 255, 60);
|
||||
const langSelect = document.getElementById("LanguageDropdown");
|
||||
ElementPosition(langSelect, 1145, 530, 255, 60);
|
||||
langSelect?.style.setProperty("font-family", `"Twemoji Country Flags", ${langSelect.style.fontFamily}`);
|
||||
}
|
||||
|
||||
|
|
Before ![]() (image error) Size: 56 KiB After ![]() (image error) Size: 56 KiB ![]() ![]() |
Before ![]() (image error) Size: 58 KiB After ![]() (image error) Size: 58 KiB ![]() ![]() |
|
@ -173,6 +173,11 @@ function AssetAdd(Group, AssetDef, ExtendedConfig) {
|
|||
const allowLock = typeof AssetDef.AllowLock === "boolean" ? AssetDef.AllowLock : false;
|
||||
const difficulty = AssetDef.Difficulty ?? 0;
|
||||
|
||||
const editOpacity = (typeof AssetDef.EditOpacity === "boolean") ? AssetDef.EditOpacity : (typeof Group.EditOpacity === "boolean") ? Group.EditOpacity : false;
|
||||
let minOpacity = editOpacity ? AssetParseOpacity(typeof AssetDef.MinOpacity === "number" ? AssetDef.MinOpacity : Group.MinOpacity) : 1;
|
||||
let maxOpacity = editOpacity ? AssetParseOpacity(typeof AssetDef.MaxOpacity === "number" ? AssetDef.MaxOpacity : Group.MaxOpacity) : 1;
|
||||
const opacity = editOpacity ? AssetParseOpacity(AssetDef.Opacity, minOpacity, maxOpacity) : 1;
|
||||
|
||||
/** @type {Mutable<Asset>} */
|
||||
var A = {
|
||||
Name: AssetDef.Name,
|
||||
|
@ -240,10 +245,10 @@ function AssetAdd(Group, AssetDef, ExtendedConfig) {
|
|||
AllowHide: AssetDef.AllowHide,
|
||||
AllowHideItem: AssetDef.AllowHideItem,
|
||||
DefaultColor: [],
|
||||
Opacity: AssetParseOpacity(AssetDef.Opacity),
|
||||
EditOpacity: (typeof AssetDef.EditOpacity === "boolean") ? AssetDef.EditOpacity : (typeof Group.EditOpacity === "boolean") ? Group.EditOpacity : false,
|
||||
MinOpacity: (typeof AssetDef.MinOpacity === "number") ? AssetParseOpacity(AssetDef.MinOpacity) : (typeof Group.MinOpacity === "number") ? Group.MinOpacity : 1,
|
||||
MaxOpacity: (typeof AssetDef.MaxOpacity === "number") ? AssetParseOpacity(AssetDef.MaxOpacity) : (typeof Group.MaxOpacity === "number") ? Group.MaxOpacity : 1,
|
||||
EditOpacity: editOpacity,
|
||||
Opacity: opacity,
|
||||
MinOpacity: minOpacity,
|
||||
MaxOpacity: maxOpacity,
|
||||
Audio: AssetDef.Audio,
|
||||
Category: AssetDef.Category,
|
||||
Fetish: AssetDef.Fetish,
|
||||
|
@ -295,10 +300,6 @@ function AssetAdd(Group, AssetDef, ExtendedConfig) {
|
|||
Object.assign(A, AssetParsePosePrerequisite(A));
|
||||
}
|
||||
|
||||
// Ensure opacity value is valid
|
||||
if (A.MinOpacity > A.Opacity) A.MinOpacity = A.Opacity;
|
||||
if (A.MaxOpacity < A.Opacity) A.MaxOpacity = A.Opacity;
|
||||
|
||||
const layers = AssetDef.Layer ? [...AssetDef.Layer] : [{}];
|
||||
if (A.DrawLocks) {
|
||||
layers.push({ Name: "Lock", LockLayer: true, AllowColorize: false, ParentGroup: {} });
|
||||
|
@ -630,9 +631,10 @@ function AssetFindExtendedConfig(ExtendedConfig, GroupName, AssetName) {
|
|||
* @return {AssetLayer} - A Layer object representing the drawable properties of the given layer
|
||||
*/
|
||||
function AssetMapLayer(Layer, A, I) {
|
||||
const minOpacity = AssetParseOpacity(typeof Layer.MinOpacity === "number" ? Layer.MinOpacity : A.MinOpacity, 0, 1);
|
||||
const maxOpacity = AssetParseOpacity(typeof Layer.MaxOpacity === "number" ? Layer.MaxOpacity : A.MaxOpacity, 0, 1);
|
||||
const opacity = typeof Layer.Opacity === "number" ? AssetParseOpacity(Layer.Opacity, minOpacity, maxOpacity) : 1;
|
||||
const editOpacity = A.EditOpacity;
|
||||
const minOpacity = editOpacity ? AssetParseOpacity(Layer.MinOpacity ?? A.MinOpacity, 0, 1) : 1;
|
||||
const maxOpacity = editOpacity ? AssetParseOpacity(Layer.MaxOpacity ?? A.MaxOpacity, 0, 1) : 1;
|
||||
const opacity = AssetParseOpacity(Layer.Opacity ?? A.Opacity, minOpacity, maxOpacity);
|
||||
|
||||
/** @type {AssetLayer} */
|
||||
const L = {
|
||||
|
@ -760,7 +762,7 @@ function AssetParseParentGroup(parentGroup, superParentGroup) {
|
|||
* @returns {number}
|
||||
*/
|
||||
function AssetParseOpacity(opacity, min=0, max=1) {
|
||||
if (typeof opacity === "number" && !isNaN(opacity)) {
|
||||
if (CommonIsNumeric(opacity)) {
|
||||
return CommonClamp(opacity, min, max);
|
||||
}
|
||||
return max;
|
||||
|
|