diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js index 6cabe488c8441eef941b3ef72e468e66dfe50a78..494b7edb30f6ce77128f8f23c0dafed7197b6642 100644 --- a/src/events/intro/introSummary.js +++ b/src/events/intro/introSummary.js @@ -269,20 +269,23 @@ App.Intro.summary = function() { V.sortSlavesOrder = "descending"; V.sortSlavesMain = 0; V.rulesAssistantMain = 1; - V.UI.slaveSummary.abbreviation = { - devotion: 1, - rules: 1, - clothes: 2, - health: 1, - diet: 1, - drugs: 1, - race: 1, - nationality: 1, - genitalia: 1, - physicals: 1, - skills: 1, - mental: 2 - }; + Object.assign( + V.UI.slaveSummary.abbreviation, + { + devotion: 1, + rules: 1, + clothes: 2, + health: 1, + diet: 1, + drugs: 1, + race: 1, + nationality: 1, + genitalia: 1, + physicals: 1, + skills: 1, + mental: 2 + } + ); V.PC.skill.trading = 100; V.PC.skill.warfare = 100; V.PC.skill.slaving = 100; diff --git a/src/gui/options/summaryOptions.js b/src/gui/options/summaryOptions.js new file mode 100644 index 0000000000000000000000000000000000000000..969394b0fa1f8620a1a6837a230899588624dd20 --- /dev/null +++ b/src/gui/options/summaryOptions.js @@ -0,0 +1,105 @@ +App.UI.summaryOptions = function() { + const el = new DocumentFragment(); + let options; + + App.UI.DOM.appendNewElement("h1", el, "Summary Options"); + + App.UI.DOM.appendNewElement("p", el, `These options will affect the short slave summaries that appear on the main menu and the facility management screens.`, "scene-intro"); + + App.UI.DOM.appendNewElement("h2", el, "Main menu features"); + + options = new App.UI.OptionsGroup(); + + options.addOption("Rules Assistant visibility", "rulesAssistantMain") + .addValue("Shown", 1).on().addValue("Hidden", 0).off(); + + options.addOption("Facilities in the sidebar are", "abbreviateSidebar") + .addValueList([["Summarized", 2], ["Abbreviated", 1]]); + + options.addOption("Sorting main menu options are", "sortSlavesMain") + .addValue("Shown", 1).on().addValue("Hidden", 0).off(); + + if (V.sortSlavesMain > 0) { + options.addOption("Sorting direction", "sortSlavesOrder") + .addValueList([["Ascending", "ascending"], ["Descending", "descending"]]); + + options.addOption("Slaves are sorted by", "sortSlavesBy") + .addValueList([ + ["Devotion", "devotion"], + ["Name", "name"], + ["Date purchased", "seniority"], + ["Age", "actualAge"], + ["How old they look", "visualAge"], + ["Age of their body", "physicalAge"], + ["Assignment", "assignment"], + ["Weekly Income", "weeklyIncome"] + ]); + } + + el.append(options.render()); + + App.UI.DOM.appendNewElement("h2", el, "Individual panels"); + App.UI.DOM.appendNewElement("div", el, "Sample summary:"); + el.append(App.UI.SlaveList.render([V.slaves.random().ID], new Array(), App.UI.SlaveList.SlaveInteract.stdInteract)); + + options = (new App.UI.OptionsGroup()).enableDoubleColumn(); + + options.addOption("Panel style is", "slavePanelStyle") + .addValueList([ + ["None", 0], + ["Line Separator", 1], + ["Card", 2] + ]); + + App.UI.SlaveSummary.addOptions(options); + + options.addOption("Granular slave stat numbers are", "summaryStats") + .addValue("Shown", 1).on().addValue("Hidden", 0).off(); + + options.addOption("Main menu assignment shortcuts are", "displayAssignments") + .addValue("Shown", 1).on().addValue("Hidden", 0).off(); + + if (V.showMissingSlaves) { + options.addOption("Missing slave parents are", "showMissingSlavesSD") + .addValue("Shown", true).on().addValue("Hidden", false).off(); + } + + options.addOption("FC Dev's preferred options") + .customButton( + "Apply", + () => { + V.seeDesk = 0; + V.seeFCNN = 0; + V.sortSlavesBy = "devotion"; + V.sortSlavesOrder = "descending"; + V.sortSlavesMain = 0; + V.rulesAssistantMain = 1; + Object.assign( + V.UI.slaveSummary.abbreviation, + { + devotion: 1, + mental: 1, + rules: 1, + health: 1, + diet: 1, + drugs: 1, + hormoneBalance: 1, + race: 1, + genitalia: 1, + physicals: 1, + skills: 1, + nationality: 1, + rulesets: 1, + clothes: 0, + origins: 0 + } + ); + V.abbreviateSidebar = 1; + }, + "Summary Options" + ); + + el.append(options.render()); + + return el; +}; diff --git a/src/gui/options/summaryOptions.tw b/src/gui/options/summaryOptions.tw index 6b73edd5b495bceb5d7eb8e488d3e4125666ecf0..a5fcb72e82afd398b58281ee7dc2ec44b94d0462 100644 --- a/src/gui/options/summaryOptions.tw +++ b/src/gui/options/summaryOptions.tw @@ -11,60 +11,4 @@ <<set $nextLink = $storedLink>> <<set $passageSwitchHandler = App.EventHandlers.optionsChanged>> -<h1>Summary Options</h1> - -<p class="scene-intro"> - These options will affect the short slave summaries that appear on the main menu and the facility management screens. -</p> - -<h2>Main menu features</h2> - -<<set _options = new App.UI.OptionsGroup()>> - -<<run _options.addOption("Rules Assistant visibility", "rulesAssistantMain") -.addValue("Shown", 1).on().addValue("Hidden", 0).off()>> - -<<run _options.addOption("Facilities in the sidebar are", "abbreviateSidebar") -.addValueList([["Summarized", 2], ["Abbreviated", 1]])>> - -<<run _options.addOption("Sorting main menu options are", "sortSlavesMain") -.addValue("Shown", 1).on().addValue("Hidden", 0).off()>> - -<<if $sortSlavesMain > 0>> - <<run _options.addOption("Sorting direction", "sortSlavesOrder") - .addValueList([["Ascending", "ascending"], ["Descending", "descending"]])>> - - <<run _options.addOption("Slaves are sorted by", "sortSlavesBy") - .addValueList([["Devotion", "devotion"], ["Name", "name"], ["Date purchased", "seniority"], ["Age", "actualAge"], - ["How old they look", "visualAge"], ["Age of their body", "physicalAge"], ["Assignment", "assignment"], ["Weekly Income", "weeklyIncome"]])>> -<</if>> - -<<includeDOM _options.render()>> - -<h2>Individual panels</h2> -Sample summary: -<<includeDOM App.UI.SlaveList.render([$slaves.random().ID], new Array(), App.UI.SlaveList.SlaveInteract.stdInteract)>> - -<<set _options = (new App.UI.OptionsGroup()).enableDoubleColumn()>> - -<<run _options.addOption("Panel style is", "slavePanelStyle") -.addValueList([["None", 0], ["Line Separator", 1], ["Card", 2]])>> - -<<run App.UI.SlaveSummary.addOptions(_options)>> - -<<run _options.addOption("Granular slave stat numbers are", "summaryStats") -.addValue("Shown", 1).on().addValue("Hidden", 0).off()>> - -<<run _options.addOption("Main menu assignment shortcuts are", "displayAssignments") -.addValue("Shown", 1).on().addValue("Hidden", 0).off()>> - -<<if $showMissingSlaves>> - <<run _options.addOption("Missing slave parents are", "showMissingSlavesSD") - .addValue("Shown", true).on().addValue("Hidden", false).off()>> -<</if>> - -<<includeDOM _options.render()>> - -<p style="font-style:italic"> - [[FC Dev's preferred options|Summary Options ][$seeDesk = 0, $seeFCNN = 0, $sortSlavesBy = "devotion",$sortSlavesOrder = "descending",$sortSlavesMain = 0,$rulesAssistantMain = 1, $UI.slaveSummary.abbreviation = {devotion: 1, mental: 1, rules: 1, clothes: 2, health: 1, diet: 1, drugs: 1, hormoneBalance: 1, race: 1, genitalia: 1, physicals: 1, skills: 1, nationality: 1, rulesets: 1, clothes: 0, origins: 0} ,$abbreviateSidebar = 1]] -</p> +<<includeDOM App.UI.summaryOptions()>> \ No newline at end of file