diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js index 49ca6bc9339e1fa0dcea2123a65bf77b27576176..fa81259cd06d5bc5038446ac9cb02c86e32edf40 100644 --- a/src/npc/startingGirls/startingGirls.js +++ b/src/npc/startingGirls/startingGirls.js @@ -213,3 +213,71 @@ App.StartingGirls.uncommittedFamilyTree = function(slave) { let tSlaves = V.slaves.concat([slave]); // returns a new array renderFamilyTree(tSlaves, slave.ID); }; + +App.StartingGirls.career = function(slave) { + let el = new DocumentFragment(); + let text; + let pullDown; + + if (V.AgePenalty === 1) { + if (slave.actualAge < 16) { + text = "Very young careers: "; + pullDown = render(setup.veryYoungCareers); + } else if (slave.actualAge <= 24) { + text = "Young careers: "; + pullDown = render(setup.youngCareers); + } else if (slave.intelligenceImplant >= 15) { + text = "Educated careers: "; + pullDown = render(setup.educatedCareers); + } else { + text = "Uneducated careers: "; + pullDown = render(setup.uneducatedCareers); + } + } else { + if (slave.actualAge < 16) { + text = "Very young careers: "; + pullDown = render(setup.veryYoungCareers); + } else if (slave.intelligenceImplant >= 15) { + text = "Educated careers: "; + pullDown = render(setup.educatedCareers); + } else if (slave.actualAge <= 24) { + text = "Young careers: "; + pullDown = render(setup.youngCareers); + } else { + text = "Uneducated careers: "; + pullDown = render(setup.uneducatedCareers); + } + } + function render(options) { + let select = document.createElement("SELECT"); + select.classList.add("rajs-list"); + + for(let i = 0; i < options.length; i++) { + let opt = options[i]; + let el = document.createElement("option"); + el.textContent = capFirstChar(opt); + el.value = opt; + if (slave.career === opt) { + el.selected = true; + } + select.appendChild(el); + } + select.onchange = () => { + slave.career = select.options[select.selectedIndex].value; + jQuery("#careerTextbox").empty().append( + App.UI.DOM.makeTextBox( + slave.career, + v => { + slave.career = v; + }, + false, + ) + ); + }; + + return select; + } + el.append(text); + el.append(pullDown); + return el; +}; diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw index 0223876a610a6bd247c5c2f1e8eae1d8786470a7..694be50ea3bfcdd5a71a01d510d02d5fa876b318 100644 --- a/src/npc/startingGirls/startingGirls.tw +++ b/src/npc/startingGirls/startingGirls.tw @@ -1061,7 +1061,9 @@ | ''Slave name:'' <<textbox "$activeSlave.slaveName" $activeSlave.slaveName "Starting Girls">> <br>''Birth surname:'' <<textbox "$activeSlave.birthSurname" $activeSlave.birthSurname "Starting Girls">> | ''Slave surname:'' <<textbox "$activeSlave.slaveSurname" $activeSlave.slaveSurname "Starting Girls">> - <br>''Career:'' <<textbox "$activeSlave.career" $activeSlave.career "Starting Girls">> + <br>''Career:'' <span id="careerTextbox"><<textbox "$activeSlave.career" $activeSlave.career "Starting Girls">></span> + <span id="careers"></span> + <script>jQuery('#careers').empty().append(App.StartingGirls.career(V.activeSlave));</script> <br>''Hair color:'' <<textbox "$activeSlave.origHColor" $activeSlave.origHColor "Starting Girls">> //This will also set eyebrow, pubic, and underarm hair color.// <br>''Hair Style:'' <<textbox "$activeSlave.hStyle" $activeSlave.hStyle "Starting Girls">> <br>''Hair Length:'' <<textbox "$activeSlave.hLength" $activeSlave.hLength "Starting Girls">>