diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 968eb4a055354d555d965c9910e88fb2d5b6b20f..01af1fb107897e68c9398de101bdf832c526494b 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -2699,6 +2699,7 @@ window.emptyDefaultRule = function emptyDefaultRule() { bellyImplantVol: -1, teeth: "no default setting", label: "no default setting", + removeLabel: "no default setting", skinColor: "no default setting", } }; @@ -13388,9 +13389,14 @@ 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}`; + if (rule.label !== "no default setting" && !slave.customLabel.includes("["+rule.label+"]")) { + slave.customLabel = slave.customLabel + "[" + rule.label + "]"; + r += `<br>${slave.slaveName} has been tagged as ${rule.label}`; + } + + if (rule.removeLabel !== "no default setting" && slave.customLabel.includes("["+rule.removeLabel+"]")) { + slave.customLabel = slave.customLabel.replace("["+rule.removeLabel+"]", ""); + r += `<br>${slave.slaveName}'s tag [${rule.removeLabel}] is removed.`; } } @@ -14365,6 +14371,7 @@ window.rulesAssistantOptions = (function() { constructor() { super("Other Settings"); this.appendChild(new LabelList()); + this.appendChild(new LabelRemoveList()); } } @@ -16552,6 +16559,17 @@ window.rulesAssistantOptions = (function() { } } + class LabelRemoveList extends List { + constructor() { + const items = [ + ["no default setting"], + ]; + super("Remove custom label", items, true); + this.setValue(current_rule.set.removeLabel); + this.onchange = (value) => current_rule.set.removeLabel = value; + } + } + class SkinColourList extends List { constructor() { const items = [