diff --git a/css/general/formatting.css b/css/general/formatting.css index 0d8c5e989fb7e03990bf3830f5389f931dfd25fc..3eb42a3216dc9d86441127e98cad0a91a6eb2696 100644 --- a/css/general/formatting.css +++ b/css/general/formatting.css @@ -1,17 +1,9 @@ /* Styles that mainly affect how text looks, but not where it is */ -/* setting at the beginning of a scene / subscene */ -.scene-intro { - font-style: italic; -} - -/* adds detail to an option: Do something. <span class="detail">Sentence that explains the effect/conditions */ -.detail { - font-style: italic; -} - -/* additional information not related to a specific option */ -.note { +.scene-intro, /* setting at the beginning of a scene / subscene */ +.detail, /* adds detail to an option: Do something. <span class="detail">Sentence that explains the effect/conditions */ +.note, /* additional information not related to a specific option */ +.italics { font-style: italic; } diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index 5597c5ed227b69e64c1a75492a98c3d12913207a..250ffca0775c6408efa8028a9d70df8d4e89eaa6 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -1147,6 +1147,7 @@ FUTURE SOCIETIES <br> Provides demand for lactating slaves from <<= App.Encyclopedia.Dialog.linkSC("the corporation", "The Corporation")>>. <br> Provides demand for young slaves from the corporation. <br> Is mutually exclusive with <<= App.Encyclopedia.Dialog.linkSC("Eugenics", "Eugenics Focus")>>. + <br><br><i>Repopulationism is a difficult Future Society and not recommended for beginners. Try to keep as many slaves as possible visibly pregnant; if they're pregnant but not showing yet, Pregnancy Biometrics Collars can help.</i> <<case "Eugenics Focus">> ''Eugenics'' is a future society model. It: @@ -1158,6 +1159,7 @@ FUTURE SOCIETIES <br> Provides demand for smart slaves from the corporation. <br> Is mutually exclusive with <<= App.Encyclopedia.Dialog.linkSC("Repopulation Focus", "Repopulationism")>>. <br>It is made up of four to five social classes: Slaves, low class citizens, chosen slaves, elite citizens, and the Societal Elite: a group of individuals with vast connections and wealth attracted by the promises of a society built around them. Low class citizens are encouraged to face testing and join the ranks of the elite, though the cost of failing the test is sterilization; a detail that is not revealed until after the test is complete. + <br><br><i>Eugenics is a difficult Future Society and not recommended for beginners. For a more complete guide to playing with a Eugenics arcology, see the <<= App.Encyclopedia.Dialog.linkSC("Guide to Eugenics", "Guide to Eugenics")>></i>. <<case "Slave Professionalism">> ''Slave Professionalism'' is a future society model. It: diff --git a/src/gui/Encyclopedia/encyclopediaGuide.js b/src/gui/Encyclopedia/encyclopediaGuide.js index 709fa33450b06f95dd3edf6a60b4e54590aaec48..7001d1f77d20b0621e161882f0cb588ef6a06da2 100644 --- a/src/gui/Encyclopedia/encyclopediaGuide.js +++ b/src/gui/Encyclopedia/encyclopediaGuide.js @@ -551,6 +551,53 @@ App.Encyclopedia.addArticle("Design Your Master", function() { } }, "guide"); +App.Encyclopedia.addArticle("Guide to Eugenics", function() { + const outer = document.createElement("div"); + const r = new SpacedTextAccumulator(outer); + + r.push("Unlike most other Future Societies, Eugenics substantially changes the tone and mechanics of the game. It's advisable to get comfortable with Free Cities and Future Societies in general before trying Eugenics. This guide will help you understand some of the mechanical differences involved in playing with Eugenics active."); + r.toParagraph(); + + r.push("The Societal Elite"); + r.toNode("h3"); + + r.push("The premise of the Eugenics Future Society is that the Societal Elite are a superior class of people. Although the name 'Eugenics' suggests genetic superiority, the real focus of the Eugenics movement is around maintaining a power gradient, not genetics, just like most real-world eugenics movements."); + r.toParagraph(); + + r.push("By granting their influence to the Societal Elite, you can join them, but the cost is the control of your arcology. Unlike other FSes, when you accept Eugenics, you are subordinating your absolute control over your own arcology to the Societal Elite. In exchange, they grant you significant boons through their connections, including discounts to arcology upgrades and medical procedures, debt protection, and early access to advanced technology such as cloning and organ implants."); + r.toParagraph(); + + r.push("In", App.Encyclopedia.Dialog.linkDOM("Neo-imperialist arcologies,", "Neo-Imperialism"), "the Societal Elite also serve as your <strong>Barons</strong>; they function in a mostly-identical manner from a mechanical perspective."); + r.toParagraph(); + + r.push("First Phase: Building a Eugenics Society"); + r.toNode("h3"); + + r.push("When you first adopt Eugenics, you should do everything possible to encourage rapid adoption of the FS and satisfy the Societal Elite. This phase is similar to the adoption phase in other Future Societies, but the penalties for failure are much more severe: you will lose a huge amount of reputation, many wealthy citizens will leave your arcology, your prosperity will drop, and the FS will be placed on a timer during which it cannot be adopted again. Details of what the Societal Elite expect from you can be found in the", App.Encyclopedia.Dialog.linkDOM("Eugenics", "Eugenics Focus"), "section of the Encyclopedia. Keeping your slaves in chastity belts and/or fully sterilizing them (especially male slaves) is the most important factor. Under no circumstances should you permit a slave under your control to become pregnant in this phase, and existing slave pregnancies should be aborted before adopting Eugenics."); + r.toParagraph(); + + r.push("Second Phase: Satisfying the Societal Elite"); + r.toNode("h3"); + + r.push("Once Eugenics is fully adopted, you'll probably want to keep the Societal Elite happy for a little while. Adopting the Eugenics Slave Market Regulations will help with this. At this point, you can also begin breeding slaves if you have enough reputation. Enact the \"Elite Breeder Eligibility\" policy and play through the mini-event. After that, the requirements for getting slaves approved as a breeder are found in Personal Affairs in the \"Elite Breeder Qualifications\" section; this will be customized for your arcology based on your other Future Societies. Select a slave you think will pass, and choose \"Breeder Eligibility Exam\" in their Physical Regimen. If they pass, they'll get a breeding mark and the Elite will be happy instead of angry when you get them pregnant. Do not let the public get your breeding slaves pregnant; only you and the Societal Elite should father their babies. Also note that marked breeding slaves have additional restrictions placed on them (certain types of damaging surgery, hormone treatments, participation in combat, and large sex toys are prohibited, among other things)."); + r.toParagraph(); + + r.push("If you are playing a PC with female sex organs, the Societal Elite will ask you to carry a child for them. If they're otherwise happy with you, you'll be able to turn them down and still get slaves approved as breeders. Agreeing to carry an Elite child is also a good way to keep them happy."); + r.toParagraph(); + + r.push("Third Phase: The Takeover Attempt"); + r.toNode("h3"); + + r.push("You can continue working with the Societal Elite as long as you want, but at some point you will probably want full control of your arcology back. Fortunately, once Eugenics is fully entrenched in your arcology, your Societal Elites cannot leave...they can only try to rebel. If you irritate the Societal Elite sufficiently, they will attempt to violently depose you. Make sure you have a loyal and capable", App.Encyclopedia.Dialog.linkDOM("bodyguard", "Bodyguard"), "before angering them. Having mercenaries quartered in your arcology"); + if (V.SF.Toggle) { + r.push("or the Special Forces active"); + } + r.push("will also let you obtain more positive outcomes when it comes down to the wire. After you've eliminated the troublesome Elite, you will once again have total control of your arcology, and the various slave restrictions will be lifted."); + r.toParagraph(); + + return outer; +}, "guide"); + App.Encyclopedia.addCategory("guide", function() { const r = []; r.push(App.Encyclopedia.Dialog.linkDOM("First Game Guide", "First Game Guide")); @@ -559,5 +606,6 @@ App.Encyclopedia.addCategory("guide", function() { r.push(App.Encyclopedia.Dialog.linkDOM("The Arcology Interface", "The Arcology Interface")); r.push(App.Encyclopedia.Dialog.linkDOM("Tips and Tricks", "Tips and Tricks")); r.push(App.Encyclopedia.Dialog.linkDOM("Design Your Master", "Design Your Master")); + r.push(App.Encyclopedia.Dialog.linkDOM("Guide to Eugenics", "Guide to Eugenics")); return App.UI.DOM.generateLinksStrip(r); }); diff --git a/src/interaction/policies/breederProposal.js b/src/interaction/policies/breederProposal.js index 33a9c020ba0276fcec88d5cb9fb536bef180e0d7..3e6e491f0d3b014df93f72ff9f8c803ba0dc0550 100644 --- a/src/interaction/policies/breederProposal.js +++ b/src/interaction/policies/breederProposal.js @@ -55,8 +55,8 @@ App.UI.breederProposal = function() { }; const declineAndLeverage = function() { - App.UI.DOM.appendNewElement("div", node, ); V.propOutcome = 1; + unlock(); return `"Yes, you have done much to further our cause. We respect the 'balls' on you, despite your lack of them. Very well, we shall set the standards for what shall qualify as breeding stock and our standards will be delivered to you shortly."`; }; diff --git a/src/interaction/useSlave/useSlave.js b/src/interaction/useSlave/useSlave.js index 04b1324b201e37fd83cbaa2b9d0bdfe5e2b063f2..8cb4cceae51adfe1aa397a0d102fb82bc85a24e8 100644 --- a/src/interaction/useSlave/useSlave.js +++ b/src/interaction/useSlave/useSlave.js @@ -133,7 +133,7 @@ App.UI.SlaveInteract.useSlave = function(slave) { available.forEach((e) => links.push(App.UI.DOM.link(e.link, () => { div.innerHTML = e.desc; - div.append(App.UI.DOM.makeElement("div", e.reaction, ['indent'])); + div.append(App.UI.DOM.makeElement("div", e.reaction, ['indent', 'italics'])); log.push({action: e.link});