diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw index f932d4598124bce316a3e593690444bddf3f6658..2f79ad354c2ed8d87cc1df71b154b042865437ac 100644 --- a/src/js/DefaultRules.tw +++ b/src/js/DefaultRules.tw @@ -23,6 +23,7 @@ window.DefaultRules = (function() { ProcessAnalAccessories(slave, rule); ProcessShoes(slave, rule); ProcessBellyAccessories(slave, rule); + ProcessLegAccessory(slave, rule); } ProcessBellyImplant(slave, rule); if (isFertile(slave)) @@ -671,6 +672,13 @@ window.DefaultRules = (function() { } } + function ProcessLegAccessory(slave, rule) { + if (rule.legAccessory !== undefined && rule.legAccessory !== "no default setting" && slave.amp !== 1 && slave.legAccessory !== rule.legAccessory) { + slave.legAccessory = rule.legAccessory; + r += `<br>${slave.slaveName}'s leg accessory was set to ${rule.legAccessory}.`; + } + } + function ProcessAnalAccessories(slave, rule) { // apply buttplugs to slave if ((slave.vaginalAccessory !== "anal chastity") && (slave.vaginalAccessory !== "combined chastity") && (slave.dickAccessory !== "anal chastity") && (slave.dickAccessory !== "combined chastity")) { diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw index b0682e7bf23b78a38e23589e55bd12f7750e6135..5bec42122915a06e9464c943a17b0721b3ebfed4 100644 --- a/src/js/rulesAssistant.tw +++ b/src/js/rulesAssistant.tw @@ -222,6 +222,7 @@ window.emptyDefaultRule = function emptyDefaultRule() { clothes: "no default setting", collar: "no default setting", shoes: "no default setting", + legAccessory: "no default setting", virginAccessory: "no default setting", aVirginAccessory: "no default setting", vaginalAccessory: "no default setting", diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw index 942c29a9281383fda36daedd28c5222ee13520f2..a2a355f5a20770f9dfa4f99db8e86dd2b36283df 100644 --- a/src/js/rulesAssistantOptions.tw +++ b/src/js/rulesAssistantOptions.tw @@ -537,6 +537,7 @@ window.rulesAssistantOptions = (function() { ["Fetish", "fetish"], ["Accent", "accent"], ["Waist", "waist"], + ["Amputation", "amp"], ]; this.fnlist = new List("Activation function", items); this.fnlist.setValue(current_rule.condition.function === "between" ? current_rule.condition.data.attribute : current_rule.condition.function); @@ -586,6 +587,7 @@ window.rulesAssistantOptions = (function() { belongsP(attribute) { return [ "fetish", + "amp", ].includes(attribute); } @@ -634,7 +636,7 @@ window.rulesAssistantOptions = (function() { class CustomEditor extends Element { constructor(data) { - if (data.length === 0) data = "(function(slave) { return slave.slaveName === 'Fancy Name'; })"; + if (data.length === 0) data = "(slave) => slave.slaveName === 'Fancy Name'"; super(data); } @@ -745,6 +747,7 @@ window.rulesAssistantOptions = (function() { info(attribute) { return "Insert a valid JSON array. Known values: " + { "fetish": "buttslut, cumslut, masochist, sadist, dom, submissive, boobs, pregnancy, none (AKA vanilla)", + "amp": "Amputated: 1, Not amputated: 0", }[attribute]; } @@ -896,6 +899,7 @@ window.rulesAssistantOptions = (function() { this.appendChild(new CollarList()); this.appendChild(new ShoeList()); this.appendChild(new CorsetList()); + this.appendChild(new LeggingsList()); this.appendChild(new VagAccVirginsList()); this.appendChild(new VagAccAVirginsList()); this.appendChild(new VagAccOtherList()); @@ -1178,6 +1182,20 @@ window.rulesAssistantOptions = (function() { } } + class LeggingsList extends List { + constructor() { + const items = [ + "no default settings", + "none", + "short stockings", + "long stockings", + ]; + super("Leg accessory", items); + this.setValue(current_rule.set.legAccessory); + this.onchange = (value) => current_rule.set.legAccessory = value; + } + } + class VagAccVirginsList extends List { constructor() { const accs = [];