diff --git a/devTools/types/FC/RA.d.ts b/devTools/types/FC/RA.d.ts index f837d13e7695c0e361e6ee77d2c34465ad937fc3..82fbd9698ddb8a620dd6cede460224695acaea36 100644 --- a/devTools/types/FC/RA.d.ts +++ b/devTools/types/FC/RA.d.ts @@ -192,6 +192,7 @@ declare namespace FC { hornColor: string; labelTagsClear: boolean; choosesOwnClothes: 0|1; + pronoun: number; } interface Rule { diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js index 844cffd05323129abeb3c69c62e7f6538174aa60..88ce09565e0d97fe4674c86beac1b8305b0eb435 100644 --- a/src/js/DefaultRules.js +++ b/src/js/DefaultRules.js @@ -98,6 +98,7 @@ globalThis.DefaultRules = (function() { ProcessPornFeedEnabled(slave, rule); ProcessPorn(slave, rule); ProcessLabel(slave, rule); + ProcessOther(slave, rule); return r; } @@ -3102,6 +3103,12 @@ globalThis.DefaultRules = (function() { } } + function ProcessOther(slave, rule) { + if (!isNaN(rule.pronoun) && slave.pronoun !== rule.pronoun) { + slave.pronoun = rule.pronoun; + } + } + return DefaultRules; })(); diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js index e5b20fa7fd31536a6fd3414edbb738fb1bcbf4e0..826982329b3340ddb665ddd08e6ede3ea2ef486c 100644 --- a/src/js/rulesAssistant.js +++ b/src/js/rulesAssistant.js @@ -334,6 +334,7 @@ App.RA.newRule = function() { skinColor: null, inflationType: null, labelTagsClear: null, + pronoun: null, }; } diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index ae53c51905a5e281abf087bba63e4cd41bb48f28..b284aff08003ef7d0218da472b438004a86e131d 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1801,6 +1801,7 @@ App.RA.options = (function() { this.appendChild(new ClearLabelSwitch()); this.appendChild(new LabelList()); this.appendChild(new LabelRemoveList()); + this.appendChild(new PronounList()); } } @@ -1812,6 +1813,18 @@ App.RA.options = (function() { } } + class PronounList extends ListSelector { + constructor() { + const pairs = []; + for (const pronoun in App.Data.Pronouns.Kind) { + pairs.push([pronoun, App.Data.Pronouns.Kind[pronoun]]); + } + super("Pronoun to use", pairs); + this.setValue(current_rule.set.pronoun); + this.onchange = (value) => current_rule.set.pronoun = value; + } + } + class CosmeticTab extends Tab { constructor(tabButtons) { super("cosmetic", "Cosmetic", tabButtons);