diff --git a/BondageClub/Assets/Female3DCG/Female3DCG.js b/BondageClub/Assets/Female3DCG/Female3DCG.js index ee64abcd82..0e709238c3 100644 --- a/BondageClub/Assets/Female3DCG/Female3DCG.js +++ b/BondageClub/Assets/Female3DCG/Female3DCG.js @@ -2050,62 +2050,68 @@ var AssetFemale3DCG = [ "HairFront11b", "HairFront12", "HairFront12b", "HairFront13", "HairFront13b", "HairFront14", "HairFront14b", "HairFront15", "HairFront16", "HairFront17", "HairFront17b", "HairFront18", "HairFront19", "HairFront20", "HairFront21", - //HairFront22 - { Name: "HairFront22", - Layer: [ - { Name: "Base", Priority: 51 }, - { Name: "Fluff" }, - { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff" } - ], - Top: 6, Left: 134 }, - //HairFront22b - { Name: "HairFront22b", - Layer: [ - { Name: "Base",Priority: 51 }, - { Name: "Fluff" }, - { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff"} - ], - Top: 6, Left: 134 }, - //HairFront23 - { Name: "HairFront23", - Layer: [ - { Name: "Base",Priority: 51 }, - { Name: "Fluff" }, - { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff" } - ], - Top: 6, Left: 134 }, - //HairFront23b - { Name: "HairFront23b", - Layer: [ - { Name: "Base", Priority: 51 }, - { Name: "Fluff" }, - { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff" } - ], - Top: 6, Left: 134 }, + { + Name: "HairFront22", + Layer: [ + { Name: "Base", Priority: 51 }, + { Name: "Fluff" }, + { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff" } + ], + Top: 6, Left: 134 + }, + { + Name: "HairFront22b", + Layer: [ + { Name: "Base",Priority: 51 }, + { Name: "Fluff" }, + { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff"} + ], + Top: 6, Left: 134 + }, + { + Name: "HairFront23", + Layer: [ + { Name: "Base",Priority: 51 }, + { Name: "Fluff" }, + { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff" } + ], + Top: 6, Left: 134 + }, + { + Name: "HairFront23b", + Layer: [ + { Name: "Base", Priority: 51 }, + { Name: "Fluff" }, + { Name: "FrontFluff", Priority: 54, CopyLayerColor: "Fluff" } + ], + Top: 6, Left: 134 + }, { Name: "HairFront24" }, { Name: "HairFront25" }, { Name: "HairFront26" }, - { Name: "HairFront27", AllowPose: ["Suspension"], - Layer: [ - { Name: "Base" }, - { Name: "Bangs", Priority: 54, CopyLayerColor: "Base" }, - { Name: "BangsTip", Priority: 54}, - ], - Top: -200, Left: 0 }, - //HairFront28 - { Name: "HairFront28", - Layer: [ - { Name: "Base" }, - { Name: "Bangs" }, - { Name: "Tips", Priority: 54 }, - ], + { + Name: "HairFront27", AllowPose: ["Suspension"], + Layer: [ + { Name: "Base" }, + { Name: "Bangs", Priority: 54, CopyLayerColor: "Base" }, + { Name: "BangsTip", Priority: 54}, + ], + Top: -200, Left: 0 }, - //HairFront29 - { Name: "HairFront29", - Layer: [ - { Name: "Left", Priority: 53 }, - { Name: "Right" }, - ], + { + Name: "HairFront28", + Layer: [ + { Name: "Base" }, + { Name: "Bangs" }, + { Name: "Tips", Priority: 54 }, + ], + }, + { + Name: "HairFront29", + Layer: [ + { Name: "Left", Priority: 53 }, + { Name: "Right" }, + ], }, ], Color: ["#6a3628", "#202020", "#dcc787", "#6c2132", "#999999", "#dddddd", "#e781b1", "#81e7b1", "#81b1e7", "#eeee99", "#ee9999", "#ee99ee"] @@ -2178,13 +2184,16 @@ var AssetFemale3DCG = [ { Name: "HairBack50", AllowPose: ["Suspension", "Hogtied", "AllFours"] }, { Name: "HairBack51" }, { Name: "HairBack52" }, - { Name: "HairBack53", - Layer:[ - { Name: "Base" }, - { Name: "Tip" }, - ], - Top: -5, Left: 0 }, - { Name: "HairBack54", AllowPose: ["Suspension"], + { + Name: "HairBack53", + Layer:[ + { Name: "Base" }, + { Name: "Tip" }, + ], + Top: -5, Left: 0 + }, + { + Name: "HairBack54", AllowPose: ["Suspension"], Layer: [ { Name: "Left" }, { Name: "Right" }, @@ -2705,9 +2714,9 @@ var AssetFemale3DCG = [ }, { Name: "LoversVibrator", Value: 75, Time: 5, LoverOnly: true, DefaultColor: "#790c0c", Prerequisite: ["AccessVulva"], Effect: ["Egged", "FillVulva"], AllowEffect: ["Egged", "Vibrating", "Edged", "FillVulva"], ExpressionTrigger: [{ Name: "Low", Group: "Blush", Timer: 10 }], AllowRemoveExclusive: true, CharacterRestricted: true, DynamicScriptDraw: true}, { Name: "LoversVibratorRemote", Value: 75, Wear: false, LoverOnly: true, Prerequisite: ["RemotesAllowed"], Effect: ["Remote"] }, - { Name: "DoubleEndDildo", Value: 15, Time: 10, DefaultColor: ["#624662"], Effect: ["FillVulva"], Prerequisite: ["AccessVulva"], AllowPose: [], ExpressionTrigger: [{ Name: "Medium", Group: "Blush", Timer: 20 }], Attribute: ["PenetrateItem"], HasType: true, Extended: true }, + { Name: "DoubleEndDildo", Value: 15, Time: 10, DefaultColor: ["#624662"], Effect: ["FillVulva"], Prerequisite: ["AccessVulva"], AllowPose: [], ExpressionTrigger: [{ Name: "Medium", Group: "Blush", Timer: 20 }], Attribute: ["PenetrateItem"], HasType: true, Extended: true, }, { - Name: "Stitches", Category: ["Medical"], Priority: 13, BuyGroup: "Suture", Random: false, Value: -1, Difficulty: 8, Time: 5, RemoveTime: 5, Prerequisite: "AccessVulva", Effect: ["Chaste"], DefaultColor: ["#3f3c3a"], AllowPose: ["Spread"], Extended: true, AlwaysExtend: true, + Name: "Stitches", Category: ["Medical"], Priority: 13, BuyGroup: "Suture", Random: false, Value: -1, Difficulty: 8, Time: 5, RemoveTime: 5, Prerequisite: "AccessVulva", Effect: ["Chaste"], DefaultColor: ["#3f3c3a"], AllowPose: ["Spread"], Extended: true, AlwaysExtend: true, Layer: [ { Name: "Straight", HasType: false, AllowTypes: ["Straight"] }, { Name: "ZigZag", HasType: false, CopyLayerColor: "Straight", AllowTypes: ["ZigZag"] }, @@ -4905,7 +4914,7 @@ var AssetFemale3DCG = [ { Name: "Slime", Category: ["Fantasy"], BuyGroup: "Slime", DefaultColor: ["#57ab5e"], Random: false, Value: 200, Difficulty: 4, Time: 15, RemoveTime: 25, Left: 200, Top: 170, Effect: ["BlockMouth", "GagMedium"], }, - AssetSpankingToys + AssetSpankingToys ], Color: ["Default", "#202020", "#808080", "#bbbbbb", "#aa8080", "#80aa80", "#8080aa", "#aaaa80", "#80aaaa", "#aa80aa", "#cc3333", "#33cc33", "#3333cc", "#cccc33", "#33cccc", "#cc33cc"] }, @@ -5609,7 +5618,7 @@ var AssetFemale3DCG = [ ] }, //PonyGag { - Name: "Stitches", Category: ["Medical"], Priority: 10, BuyGroup: "Suture", Random: false, Value: 20, Difficulty: 8, Time: 5, RemoveTime: 5, Left: 235, Top: 180, DefaultColor: ["Default", "#3f3c3a"], Hide: ["Mouth"], Prerequisite: ["GagUnique"], Effect: ["GagHeavy"], Extended: true, AlwaysExtend: true, + Name: "Stitches", Category: ["Medical"], Priority: 10, BuyGroup: "Suture", Random: false, Value: 20, Difficulty: 8, Time: 5, RemoveTime: 5, Left: 235, Top: 180, DefaultColor: ["Default", "#3f3c3a"], Hide: ["Mouth"], Prerequisite: ["GagUnique"], Effect: ["GagHeavy"], Extended: true, AlwaysExtend: true, AllowExpression: ["Frown", "Sad", "Pained", "Angry", "HalfOpen", "Open", "Ahegao", "Moan", "TonguePinch", "LipBite", "Happy", "Devious", "Laughing", "Grin", "Smirk", "Pout"], Layer: [ { Name: "FakeMouth", HasType: false, InheritColor: "Mouth", AllowTypes: ["Straight", "ZigZag", "Skewed", "Cross"], MirrorExpression: "Mouth"}, @@ -5619,7 +5628,6 @@ var AssetFemale3DCG = [ { Name: "Cross", HasType: false, CopyLayerColor: "Straight", AllowTypes: ["Cross"], MirrorExpression: "Mouth" }, ], }, - { Name: "Slime", Category: ["Fantasy"], BuyGroup: "Slime", DefaultColor: ["#57ab5e"], Random: false, Value: 200, Difficulty: 4, Time: 15, RemoveTime: 25, Left: 200, Top: 170, Effect: ["BlockMouth", "GagMedium"], }, @@ -6073,7 +6081,7 @@ var AssetFemale3DCG = [ Block: ["ItemHead", "ItemNose", "ItemEars", "ItemMouth", "ItemMouth2", "ItemMouth3"], Hide: ["HairBack", "Hat", "HairAccessory1", "HairAccessory2", "HairAccessory3"], Alpha: [{ Group: ["HairFront", "ItemMouth", "ItemMouth2", "ItemMouth3", "Mask", "ItemNose", "ItemHead", "Glasses", "ItemEars"], - Masks: [[0, 0, 500, 65], [0, 220, 500, 780], [0, 0, 180, 1000], [320, 0, 180, 1000]] }], + Masks: [[0, 0, 500, 65], [0, 220, 500, 780], [0, 0, 180, 1000], [320, 0, 180, 1000]] }], Effect: ["BlindHeavy"], Layer: [ { Name: "GlassInside", HasType: false }, @@ -7363,7 +7371,7 @@ var ActivityFemale3DCG = [ Prerequisite: ["ZoneAccessible", "TargetMouthOpen", "VulvaEmpty", "Needs-PenetrateItem", "ZoneNaked"], Target: ["ItemButt", "ItemMouth", "ItemVulva"], }, -] +]; /** * Display order for activities. diff --git a/BondageClub/Assets/Female3DCG/Female3DCGExtended.js b/BondageClub/Assets/Female3DCG/Female3DCGExtended.js index 03c6c22445..4482429d44 100644 --- a/BondageClub/Assets/Female3DCG/Female3DCGExtended.js +++ b/BondageClub/Assets/Female3DCG/Female3DCGExtended.js @@ -1127,7 +1127,7 @@ var AssetFemale3DCGExtended = { Type: "Hogtie", Difficulty: 6, Effect: ["Block", "Prone", "Freeze", "NotSelfPickable"], - Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"], + Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"], AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"], SetPose: ["Hogtied"], SelfUnlock: false, @@ -2031,13 +2031,13 @@ var AssetFemale3DCGExtended = { { Name: "Hogtied", Prerequisite: ["NotMounted", "NotSuspended"], - Property: { - Type: "Hogtied", + Property: { + Type: "Hogtied", Difficulty: 5, - Effect: ["Block", "Freeze", "Prone", "NotSelfPickable"], - SetPose: ["Hogtied"], - Block: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots", "ItemDevices"], - AllowActivityOn: ["ItemHands", "ItemLegs", "ItemFeet", "ItemBoots"], + 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 }], @@ -3118,127 +3118,127 @@ var AssetFemale3DCGExtended = { 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: "Frame", Key: "f", + Options: [ + {}, // f0 - Normal + {}, // f1 - Stained + {}, // f2 - HalfBack + {}, // f3 - NoBack + ], }, { - Name: "TopRestraints", Key: "t", - Options: [ - {}, // t0 - No - { + 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"], + 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 - ], + }, + }, // 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 - ], + 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 + ], }, ], }, diff --git a/BondageClub/Scripts/Common.js b/BondageClub/Scripts/Common.js index 13427d74d2..29ff4c3454 100644 --- a/BondageClub/Scripts/Common.js +++ b/BondageClub/Scripts/Common.js @@ -899,8 +899,8 @@ function CommonNoop() { * Redirects the address to HTTPS for all production environments, returns the proper heroku server * @returns {String} - Returns the proper server to use in production or test */ -function CommonGetServer() { +function CommonGetServer() { if ((location.href.indexOf("bondageprojects") < 0) && (location.href.indexOf("bondage-europe") < 0)) return "https://bc-server-test.herokuapp.com/"; if (location.protocol !== 'https:') location.replace(`https:${location.href.substring(location.protocol.length)}`); return "https://bondage-club-server.herokuapp.com/"; -} \ No newline at end of file +} diff --git a/BondageClub/Scripts/Dialog.js b/BondageClub/Scripts/Dialog.js index 399f825dd4..34617570b2 100644 --- a/BondageClub/Scripts/Dialog.js +++ b/BondageClub/Scripts/Dialog.js @@ -34,14 +34,14 @@ var DialogActivityMode = false; var DialogActivity = []; /** @type {Record<"Enabled" | "Equipped" | "BothFavoriteUsable" | "TargetFavoriteUsable" | "PlayerFavoriteUsable" | "Usable" | "TargetFavoriteUnusable" | "PlayerFavoriteUnusable" | "Unusable" | "Blocked", DialogSortOrder>} */ var DialogSortOrder = { - Enabled: 1, - Equipped: 2, + Enabled: 1, + Equipped: 2, BothFavoriteUsable: 3, - TargetFavoriteUsable: 4, + TargetFavoriteUsable: 4, PlayerFavoriteUsable: 5, Usable: 6, - TargetFavoriteUnusable: 7, - PlayerFavoriteUnusable: 8, + TargetFavoriteUnusable: 7, + PlayerFavoriteUnusable: 8, Unusable: 9, Blocked: 10 }; @@ -1479,7 +1479,7 @@ function DialogMenuButtonClick() { DialogMenuButtonBuild(C); return; } - + // When the user selects the lock menu, we enter else if (Item && DialogMenuButton[I] == "Crafting") { DialogCraftingMenu = true; diff --git a/BondageClub/Scripts/Inventory.js b/BondageClub/Scripts/Inventory.js index 273d57e5af..d78f4c0f11 100644 --- a/BondageClub/Scripts/Inventory.js +++ b/BondageClub/Scripts/Inventory.js @@ -429,7 +429,7 @@ function InventoryCraft(Source, Target, GroupName, Craft, Refresh) { } // Applies a lock to the item - if ((Craft.Lock != null) && (Craft.Lock != "")) + if ((Craft.Lock != null) && (Craft.Lock != "")) InventoryLock(Target, Item, Craft.Lock, Source.MemberNumber, false); // Sets the crafter name and ID @@ -457,7 +457,7 @@ function InventoryCraft(Source, Target, GroupName, Craft, Refresh) { // Expressions cannot be changed if the settings doesn't allow it for the player if (!Target.IsPlayer() || (Player.OnlineSharedSettings == null) || Player.OnlineSharedSettings.ItemsAffectExpressions) { - // The painful property triggers an expression change + // The painful property triggers an expression change if (Craft.Property === "Painful") { CharacterSetFacialExpression(Target, "Blush", "ShortBreath", 10); CharacterSetFacialExpression(Target, "Eyes", "Angry", 10);