From e9ba66ee72df3f800c340e8ab53d314e8a2966e3 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Thu, 3 Jun 2021 18:58:38 +0200 Subject: [PATCH] show settings for all smart accessories in slave card --- devTools/types/FC/data.d.ts | 7 ++- js/003-data/slaveSummaryData.js | 90 ++++++++++++++++++--------------- src/js/slaveSummaryHelpers.js | 32 ++++++++---- src/js/slaveSummaryWidgets.js | 4 +- 4 files changed, 79 insertions(+), 54 deletions(-) diff --git a/devTools/types/FC/data.d.ts b/devTools/types/FC/data.d.ts index eee7fbaa16b..8d955b0f96f 100644 --- a/devTools/types/FC/data.d.ts +++ b/devTools/types/FC/data.d.ts @@ -64,7 +64,7 @@ declare namespace FC { } namespace SlaveSummary { - interface SmartPiercing { + interface SmartVibrator { setting: { off: string, submissive: string, @@ -85,6 +85,11 @@ declare namespace FC { women: string, "anti-men": string, "anti-women": string, + }, + system: { + "piercing": string, + "bullet": string, + "vibe": string } } } diff --git a/js/003-data/slaveSummaryData.js b/js/003-data/slaveSummaryData.js index c0933de54d9..ea484cc1712 100644 --- a/js/003-data/slaveSummaryData.js +++ b/js/003-data/slaveSummaryData.js @@ -561,27 +561,32 @@ App.Data.SlaveSummary = { 3: {desc: "Bad accent.", style: "red"}, 4: {desc: "No language skills.", style: "red"}, }, - smartPiercing: { + smartVibrator: { setting: { - "off": "SP off.", - "submissive": "SP: submissive.", - "lesbian": "SP: lesbian.", - "oral": "SP: oral.", - "humiliation": "SP: humiliation.", - "anal": "SP: anal.", - "boobs": "SP: breasts.", - "sadist": "SP: sadism.", - "masochist": "SP: masochism.", - "dom": "SP: dominance.", - "pregnancy": "SP: pregnancy.", - "vanilla": "SP: vanilla.", - "all": "SP: all.", - "none": "SP: none.", - "monitoring": "SP: monitoring.", - "men": "SP: men.", - "women": "SP: women.", - "anti-men": "SP: anti men.", - "anti-women": "SP: anti women.", + "off": " off.", + "submissive": " submissive.", + "lesbian": " lesbian.", + "oral": " oral.", + "humiliation": " humiliation.", + "anal": " anal.", + "boobs": " breasts.", + "sadist": " sadism.", + "masochist": " masochism.", + "dom": " dominance.", + "pregnancy": " pregnancy.", + "vanilla": " vanilla.", + "all": " all.", + "none": " none.", + "monitoring": " monitoring.", + "men": " men.", + "women": " women.", + "anti-men": " anti men.", + "anti-women": " anti women.", + }, + system: { + "piercing": "SP", + "bullet": "SB", + "vibe": "SV" } }, skills: { @@ -1328,27 +1333,32 @@ App.Data.SlaveSummary = { "fair": "Fair", "pale": "Pale" }, - smartPiercing: { + smartVibrator: { setting: { - "off": "SP-", - "submissive": "SP:sub", - "lesbian": "SP:les", - "oral": "SP:oral", - "humiliation": "SP:humil", - "anal": "SP:anal", - "boobs": "SP:boobs", - "sadist": "SP:sade", - "masochist": "SP:pain", - "dom": "SP:dom", - "pregnancy": "SP:pregnancy", - "vanilla": "SP:vanilla", - "all": "SP:all", - "none": "SP:none", - "monitoring": "SP:monitoring", - "men": "SP:men", - "women": "SP:women", - "anti-men": "SP:anti-men", - "anti-women": "SP:anti-women", + "off": "-", + "submissive": "sub", + "lesbian": "les", + "oral": "oral", + "humiliation": "humil", + "anal": "anal", + "boobs": "boobs", + "sadist": "sade", + "masochist": "pain", + "dom": "dom", + "pregnancy": "pregnancy", + "vanilla": "vanilla", + "all": "all", + "none": "none", + "monitoring": "monitoring", + "men": "men", + "women": "women", + "anti-men": "anti-men", + "anti-women": "anti-women", + }, + system: { + "piercing": "SP", + "bullet": "SB", + "vibe": "SV" } }, skills: { diff --git a/src/js/slaveSummaryHelpers.js b/src/js/slaveSummaryHelpers.js index 6d40b9534dc..3b4c2d9e8ab 100644 --- a/src/js/slaveSummaryHelpers.js +++ b/src/js/slaveSummaryHelpers.js @@ -465,37 +465,47 @@ App.UI.SlaveSummaryImpl = function() { /** * @param {App.Entity.SlaveState} slave - * @param {FC.Data.SlaveSummary.SmartPiercing} spData + * @param {FC.Data.SlaveSummary.SmartVibrator} spData * @returns {string} */ function smartFetishStr(slave, spData) { + /** @type {string} */ + let value; + if (slave.clitPiercing === 3) { + value = spData.system.piercing; + } else if (slave.dickAccessory === "smart bullet vibrator") { + value = spData.system.bullet; + } else { + value = spData.system.vibe; + } + value += ":"; if (slave.fetishKnown === 1) { if (slave.clitSetting === "off") { - return spData.setting.off; + return value + spData.setting.off; } else if ((slave.energy <= 95) && (slave.clitSetting === "all")) { - return spData.setting.all; + return value + spData.setting.all; } else if ((slave.energy > 5) && (slave.clitSetting === "none")) { - return spData.setting.none; + return value + spData.setting.none; } else if (((slave.fetish !== "none") && (slave.clitSetting === "vanilla"))) { - return spData.setting.vanilla; + return value + spData.setting.vanilla; } else if (slave.fetishStrength <= 95 || slave.fetish !== slave.clitSetting) { - const s = spData.setting[slave.clitSetting]; + const s = value + spData.setting[slave.clitSetting]; if (s) { return s; } } if (!["anti-men", "anti-women", "men", "women"].includes(slave.clitSetting)) { - return spData.setting.monitoring; + return value + spData.setting.monitoring; } } else { - return spData.setting[slave.clitSetting]; + return value + spData.setting[slave.clitSetting]; } return null; } /** * @param {App.Entity.SlaveState} slave - * @param {FC.Data.SlaveSummary.SmartPiercing} spData + * @param {FC.Data.SlaveSummary.SmartVibrator} spData * @returns {string} */ function smartAttractionStr(slave, spData) { @@ -1300,7 +1310,7 @@ App.UI.SlaveSummaryImpl = function() { * @returns {void} */ function short_smart_piercing(slave, c) { - const s = smartFetishStr(slave, data.short.smartPiercing) || smartAttractionStr(slave, data.short.smartPiercing); + const s = smartFetishStr(slave, data.short.smartVibrator) || smartAttractionStr(slave, data.short.smartVibrator); if (s) { makeSpan(c, s); } @@ -1389,7 +1399,7 @@ App.UI.SlaveSummaryImpl = function() { * @returns {void} */ function long_smart_piercing(slave, c) { - const s = smartFetishStr(slave, data.long.smartPiercing) || smartAttractionStr(slave, data.long.smartPiercing); + const s = smartFetishStr(slave, data.long.smartVibrator) || smartAttractionStr(slave, data.long.smartVibrator); if (s) { makeSpan(c, s); } diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index 99398330f52..26ba008a702 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -298,7 +298,7 @@ App.UI.SlaveSummaryRenderers = function() { b.attraction(slave, c); } } - if (slave.clitPiercing === 3) { + if (slave.clitPiercing === 3 || dildoVibeLevel(slave) > 1 || slave.dickAccessory === "smart bullet vibrator") { b.smart_piercing(slave, c); } b.behavior_flaw(slave, c); @@ -692,7 +692,7 @@ App.UI.SlaveSummaryRenderers = function() { b.attraction(slave, c); } } - if (slave.clitPiercing === 3) { + if (slave.clitPiercing === 3 || dildoVibeLevel(slave) > 1 || slave.dickAccessory === "smart bullet vibrator") { b.smart_piercing(slave, c); } b.behavior_flaw(slave, c); -- GitLab