diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw index 2b7898375cc748996444775ba45d740cbae7d5b7..a456dac92a11b97cd3da1b97ba31eb5fdd3027ed 100644 --- a/src/js/DefaultRules.tw +++ b/src/js/DefaultRules.tw @@ -53,6 +53,7 @@ window.DefaultRules = (function() { ProcessSmartPiercings(slave, rule); ProcessTattoos(slave, rule); ProcessPorn(slave, rule); + ProcessLabel(slave, rule); return r; } @@ -2183,6 +2184,13 @@ window.DefaultRules = (function() { } } } + + function ProcessLabel(slave, rule) { + if (rule.label !== "no default setting" && slave.customLabel !== rule.label) { + slave.customLabel = rule.label; + r += `<br>${slave.slaveName}'s label has been set to ${rule.label}`; + } + } return DefaultRules; })(); diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw index 8ade85b9a42c96bb14929133ff34289bb5f6b8f6..2116d3a4d48478d80ea42a5b3fbf5246abab99c2 100644 --- a/src/js/rulesAssistant.tw +++ b/src/js/rulesAssistant.tw @@ -289,6 +289,7 @@ window.emptyDefaultRule = function emptyDefaultRule() { pregSpeed: "no default setting", bellyImplantVol: -1, teeth: "no default setting", + label: "no default setting", } }; return rule; diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw index dd4a98aa105dc16bfd7224fd42bd2e9fc77bf06a..e42f161bc1d53ce764ca5babe06b2181558da7d1 100644 --- a/src/js/rulesAssistantOptions.tw +++ b/src/js/rulesAssistantOptions.tw @@ -890,6 +890,7 @@ window.rulesAssistantOptions = (function() { this.appendChild(new AutosurgerySection()); this.appendChild(new RegimenSection()); this.appendChild(new BehaviourSection()); + this.appendChild(new OtherSection()); } render() { @@ -960,6 +961,13 @@ window.rulesAssistantOptions = (function() { this.appendChild(new PornList()); } } + + class OtherSection extends Section { + constructor() { + super("Other Settings"); + this.appendChild(new LabelList()); + } + } class CosmeticSection extends Section { constructor() { @@ -3132,5 +3140,16 @@ window.rulesAssistantOptions = (function() { } } + class LabelList extends List { + constructor() { + const items = [ + ["no default setting"], + ]; + super("Custom label", items, true); + this.setValue(current_rule.set.label); + this.onchange = (value) => current_rule.set.label = value; + } + } + return rulesAssistantOptions; })(); diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 87c736cf6b95d1689b18f463c83c281344cb1d36..22778d4a1085b9fa3e0b28465bb8124d6ff3cc19 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -2946,6 +2946,6 @@ Done! else x.set.preg = false; })>> -<<run $defaultRules.filter(x => !([1, 0, "no default setting"].includes(x.set.haircuts))).forEach(x => { - x.set.haircuts = "no default setting"; -})>> +<<run $defaultRules.filter(x => x.set.haircuts === undefined).forEach(x => { x.set.haircuts = "no default setting"; })>> + +<<run $defaultRules.filter(x => x.set.label === undefined).forEach(x => { x.set.label = "no default setting"; }>>