From c3fb85dd0bd8c92fbb985b8933009fc27315ca9c Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Wed, 12 May 2021 12:56:17 +0200 Subject: [PATCH] Convert "being in charge" ency category to DOM --- css/gui/encyclopedia.css | 11 + src/gui/Encyclopedia/encyclopedia.tw | 133 -------- .../Encyclopedia/encyclopediaBeingInCharge.js | 298 ++++++++++++++++++ .../Encyclopedia/encyclopediaRelatedLinks.tw | 12 - 4 files changed, 309 insertions(+), 145 deletions(-) create mode 100644 src/gui/Encyclopedia/encyclopediaBeingInCharge.js diff --git a/css/gui/encyclopedia.css b/css/gui/encyclopedia.css index 9cd84398b51..6ca860782e9 100644 --- a/css/gui/encyclopedia.css +++ b/css/gui/encyclopedia.css @@ -1,3 +1,14 @@ .encyclopedia.topic { font-weight: bold; } + +/* mark text that is a link/button somewhere else */ +/* Click <span class="encyclopedia interaction">X</span> to do Y */ +.encyclopedia.interaction { + background: #203e6c; + border-radius: 5px; + border: hidden; + padding: 2px 4px; + white-space: nowrap; + font-size: smaller; +} diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index 4d7097ad6b1..edffac124be 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -54,109 +54,6 @@ $encyclopedia /********** BEING IN CHARGE **********/ -<<case "Being in Charge">> - //Future room for lore text// - - <br><br> - Choose a more particular entry below: - <br> - -<<case "Arcologies and Reputation">> - Arcologies are the urban buildings of the future: almost completely self-contained, almost completely self sufficient. In the anarcho-liberal 'paradise' of the Free Cities, as owner of your own arcology you are like a modern-day feudal suzerain, lord and master. - - <br><br>Your arcology is a flared structure, needle thin at the top where you live in your penthouse, and broad at the base. The base below ground contains storage and machinery. The lowest aboveground levels are commercial; above them are the residential areas. The entire structure is jacketed in dense gardens and solar arrays, cleverly structured to create naturally lit corridors and beautiful park-like balconies. - - <br><br>— Owner's Report - - <br><br>//You may wish to improve your arcology, but should be able to ignore its development, if you wish.// - - <br><br>//Your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ is, of course, already quite impressive. The @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ tracked in the sidebar is specifically your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ as a slaveowner. It can be raised through decadent actions that display your munificence and opulence. Some random events can increase it, but the most reliable way to improve your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ is to send sexually skilled slaves out into the arcology to offer free sexual services. This assignment is very similar to prostitution, but produces @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ rather than @@.yellowgreen;<<= App.Encyclopedia.Dialog.linkSC("money", "Money")>>@@.// - - <br><br>//As your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ develops, you may have the opportunity to guide the future of your arcology's society. Successfully doing so will increase your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ in turn, which will duly enable you to further shape society. Managing societal development well will have a recursive effect on your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>,@@ and can drive it to great heights.// - - <br><br>//The benefits of high @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ are numerous. Many business and enslavement opportunities will open to you once you are reputable. Some of the most advanced technology is only available to those with impeccable @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputations", "Arcologies and Reputation")>>@@ as slaveowners, and many of the finer slave markets will only consider reputable buyers. You may eventually become so renowned that merely branding a slave with your mark will increase her value on the open market.// - - <br><br>//However, your @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ will not look after itself. At a certain point, you will become so reputable that continual effort will be necessary to maintain your renown. The old world question "What have you done for me lately?" is asked with twice the force in the Free Cities! You will quickly find that this natural decay of @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ can overwhelm your efforts to improve it by the end of the week. A concerted strategy will be necessary to overcome this.// - - -<<case "Random Events">> - At the end of every turn, a random event may occur. Almost all random events are tied to necessary preconditions. For example, events concerning @@.mediumorchid;<<= App.Encyclopedia.Dialog.linkSC("rebellious", "From Rebellious to Devoted")>>@@ slaves will stop happening if all the player's slaves become obedient. - - <br><br>Usually, a situation will be presented and the player may choose one of two or three resolutions. Please note that the player may also to choose none of these by using the "continue" button in the sidebar; in effect, this usually means the player's character has simply declined to involve himself. - - <br><br>Almost all choices will result in small effects. The most common are changes to a slave's attitude towards the player's character, but there are others. - - <br><br>Finally, there are events that can result in the player being offered the chance to acquire new slaves, some of which can be unique or valuable. Generally, these events offer this livestock at an extremely discounted price. These events will appear more often the higher the player's @@.green;<<= App.Encyclopedia.Dialog.linkSC("reputation", "Arcologies and Reputation")>>@@ becomes. - - -<<case "Costs Summary">> - Aphrodisiacs are @@.yellowgreen;<<= App.Encyclopedia.Dialog.linkSC("cheap", "Money")>>@@ and cost @@.yellowgreen;<<print cashFormat($drugsCost)>>@@ weekly; curatives are expensive and cost @@.yellowgreen;<<print cashFormat(($drugsCost*3))>>@@ weekly; while all other drug regimes cost @@.yellowgreen;<<print cashFormat(($drugsCost*2))>>.@@ Standard hormone regimens cost @@.yellowgreen;<<print Math.trunc($drugsCost*1*0.5)>>@@ while intensive hormone treatment costs @@.yellowgreen;<<print Math.trunc($drugsCost*2*0.5)>>.@@ Contraceptives cost @@.yellowgreen;<<print Math.trunc($drugsCost*0.5)>>.@@ - - <br><br> - Slaves on spare living standards are fed a bland diet and obliged to sleep on bedrolls. Keeping a slave under restrictive rules costs @@.yellowgreen;<<print cashFormat($rulesCost)>>@@ weekly. - - <br><br> - Slaves enjoying luxurious living standards on the other hand are fed a tasty diet and permitted to sleep in comfortable beds, and are generally pampered. The increased luxury of permissive rules costs @@.yellowgreen;<<print cashFormat(($rulesCost*3))>>@@ weekly. - - <br><br> - Some arcology upgrades may have associated upkeep costs as well. - - -<<case "Rules Assistant">> - ''The Rules Assistant'' is a system to apply multiple rule sets to multiple slaves at once. You can apply rules to slaves based on slave ''@@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@'', ''@@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>@@'', ''sex drive'', ''health'', ''<<= App.Encyclopedia.Dialog.linkSC("weight", "Weight")>>'', ''<<= App.Encyclopedia.Dialog.linkSC("muscles", "Musculature")>>'', ''lactation'', ''pregnancy'', ''number of fetuses'', ''abdominal implants'' and ''age''. - - <br><br>__Rule settings:__ - Rules can be used to control certain aspects of slaves everyday lives, for example to automatically give slaves a certain clothing option, collar, footwear or allow slaves to choose their own outfit. They can be used to give unhealthy slaves curatives to improve their health or to put slaves on a diet so that their <<= App.Encyclopedia.Dialog.linkSC("weight", "Weight")>> can be closer to the ideal weight. Rules set to 'No default setting' will not apply that particular condition to slaves. - Rules can also be renamed to be more indicative of their intended purpose. - - <br><br>__Rule activation:__ - In order to apply a rule to slaves, the activation will need to be set. Choose an activation type (@@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>,@@ @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>,@@ sex drive, <<= App.Encyclopedia.Dialog.linkSC("health", "Health")>>, <<= App.Encyclopedia.Dialog.linkSC("weight", "Weight")>>, <<= App.Encyclopedia.Dialog.linkSC("muscles", "Musculature")>>, lactation, pregnancy, fetuses, implant size, or age) and then choose the level at which to apply. For example to apply a rule to obedient slaves, choose '@@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@' for the activation and 4 or more for the lower limit by selecting '>='. - - <br><br>__Selecting or excluding slaves from a rule:__ - Slaves can be selected for a rule by selecting slaves from the list so that a rule can apply only to them. Slaves can similarly be excluded from a rule. - - <br><br>__Applying a rule to specific assignments:__ - You can apply a rule only to slaves on individual assignments by selecting them under 'Apply to assignments'. For example a rule can give aphrodisiacs to slaves on whoring assignments. ''This is mutually exclusive to automatically giving an assignment to slaves''. - - <br><br>__Automatically giving an assignment:__ - A rule can be set to automatically set a slave to an assignment when activated. For example a @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devoted", "From Rebellious to Devoted")>>@@ slave can be set to automatically be put on the whoring assignment. ''This is mutually exclusive to applying a rule to assignments''. - - <br><br>__Applying a rule to facilities:__ - You can apply a rule to slaves in any or all facilities as long as that facility has been constructed. The rule will only apply to slaves within the selected facilities. ''This is mutually exclusive to automatically putting slaves into a facility''. - - <br><br>__Automatically assigning slaves to a facility:__ - A rule can be set to automatically put a slave into a facility when activated. For example disobedient slaves can be set to automatically be confined in the arcade if it has been constructed. ''This is mutually exclusive to applying a rule to facilities''. - - <br><br>__Saving a rule:__ - If you are finished setting up a rule ''make sure to save it'' by clicking 'Save rule' at the bottom before clicking another link otherwise your settings will be lost. - - <br><br>__Applying a rule:__ - Clicking on 'Apply rules' will automatically save the current rule and apply all rules to slaves at once. - - <br><br>__Adding or removing a rule:__ - The game starts with 3 basic default rule settings but more can be added and/or removed as needed. To add a new rule, click 'Add a new rule' at the bottom, removing a rule is the same by clicking 'Remove rule'. - - -<<case "The Corporation">> - Once you are fairly reputable and have a large sum of cash in the bank, you will receive a brief end of turn event that unlocks the ability to found a corporation dedicated to slaving. Once this happens, you can incorporate from the 'Manage Corporation' link on the sidebar, and once you've done that, you can manage your corporation every week from the same place. - - <br><br>__Shares__ - Buying shares from the corporation or issuing new shares will create new shares in the corporation. If you buy them yourself, cash will be transferred from you to the corporation in return for the shares; if you direct the corporation to issue new public shares, @@.yellowgreen;<<= App.Encyclopedia.Dialog.linkSC("money", "Money")>>@@ will come into the corporation from the market. If you direct the corporation to buy back shares from the public, cash will be transferred from the corporation to reduce the number of public shares, which will increase your ownership percentage. You are not permitted to give up majority ownership of the corporation. Selling your shares or buying publicly held shares are both transactions between you and your shares and shareholders and their shares. All transactions impact the stock price. - - <br><br>__Divisions__ - The corporation consists of divisions. Starting up your corporation requires you to choose a single division as starting point and you will be able to expand into linked divisions once you have grown sufficiently in size. There are 3 general categories of divisions; acquisition, modification and exploitation. The first consists of legal and extralegal enslavement and they feed fresh slaves into either your corporation or the market at large. Investing in one of these is a good starting point when slave prices are high. Do note that each slave acquired and sold reduces the demand for slaves on the market. This means little at first, but when large enough will impact the market significantly.<br> - The second category consists of slave breaking, physical slave modifications and slave training. These divisions either take improvable slaves from your acquisition divisions or the slave market and improve them. Slaves can go from breaking to physical modifications to training and become highly valuable slaves by the end of it. If the slave market is balanced or you are looking for a safe initial investment these divisions are a good choice. Their market impact is neutral, buying slaves reduces supply but selling them back onto the market reduces demand by the same amount.<br> - The final category consists of an arcade, menial services, dairy and escort division. These divisions require a particular quality of slave and then put them to work in their respective fields. As these divisions operate they will have to write off some of their slaves and replace them with fresh ones, you can provide these slaves through your acquisition or modification divisions or the market. Whenever prices are low these divisions operate at a higher margin, making them a great first division when slave prices are low. Do note that each slave bought from the market reduces the supply of slaves. As these divisions grow and write off more and more slaves each week, replenishing them from the market will begin to impact the market significantly. - - <br><br>__Management__ - Your first division will automatically buy and/or sell slaves in order to do business and make money. It is up to the player to decide when to expand the division's capacity, but investing aggressively early will pay off in the long run. Once your corporation has gotten a little time to grow its value (the sum of slave value, division value, cash on hand and dividends reserved) the end of week report will prompt you that a new division can be added. This requires a significant cash investment so you may have to save up a little. Adding divisions comes with efficiency benefits, but also adds overhead costs. Adding a second division will hardly slow you down, but as you grow these costs grow ever larger; depending on the number of divisions, but also the size of them.<br> - Any new division will have at least one direct link to your current divisions, meaning it can either use slaves from a division or provide them to another division. New divisions are not automatically set to buy and/or sell slaves from the market. It is expected the player either manually moves slaves between divisions or sets up automatic links between them using several rules.<br> - You have the ability to reduce the size of your divisions or dissolve them entirely. While this only recoups 80% of the investment it may sometimes be prudent to do so, i.e. in case market conditions have become unfavorable for the division and/or overhead costs are becoming oppressively high. Also note that divisions become less efficient the larger they get (even without considering overhead), eventually growing it further will hurt your profit, not improve it. You will want to cut your losses early or otherwise suffer the consequences.<br> - In order to personally benefit monetarily from your corporation you will have to decide how much of its profit will be set aside to be paid out as dividends. Setting low or no dividends allows for rapid development, while siphoning a lot of profits away from the corporation will slow it down significantly. Please note that the corporation does not pay out every week but only every quarter (13 weeks). - - <br><br>__Slave Sales__ - Once a corporation is created, it will get its own establishment in the slave market. As the corporation's value increase, it can be given direction about what kind of slaves it should train and how it should train them, which will affect the slaves seen in the corporate catalog. As with divisions; the higher your corporation's value, the more specializations you are allowed to choose. Your corporation's divisions determine which specialization options are available. Each division has a unique specialization associated with it while many others are slightly more general and linked to either acquisition or modification. All kinds of restrictions may apply depending on Future Society choices and the size of your divisions. Several specializations can be enhanced beyond the first choice, but again you may need to satisfy certain conditions first.<br> - If the corporation's slaves have qualities that make them especially appealing to an arcology's citizens, the corporation will enjoy increased profits, and the <<= App.Encyclopedia.Dialog.linkSC("future society", "Future Societies")>> creating the demand will progress more rapidly due to the supply of appealing slaves. All arcologies present in the Free City will interact with the corporation this way, making shares in a corporation which supplies girls that appeal to the whole city extremely lucrative. <<case "Demand for Sex">> The Free Cities naturally facilitate a healthy sex industry which provides lucrative business opportunities. But you are not the only one who can provide sexual services and you may find yourself in competition for the large, but ultimately limited, amount of sexual desires within the arcology. Clever manipulations can influence both the demand as well as the supply to improve the attractiveness of your arcology and fill your coffers. @@ -167,36 +64,6 @@ BEING IN CHARGE <br><br>Slaves assigned as whores can be used to satisfy any of the different classes of citizens, if they are desirable and skilled enough, that is. Slaves assigned to serve the public are suitable for the sexual relief of the lower half of your citizenry and the arcade generally only serves the very bottom of your arcology. -<<case "Sexual Energy">> - <<setPlayerPronouns>> - Though you're (naturally) a virile, oversexed oligarch, even your reserves of sexual energy are not infinite. They're impressive, but not infinite. Since one turn represents one week, the game does not allow the player direct control over every sexual interaction between the player character and _hisP slaves. Put another way, the game assumes there's an impressive amount of off-screen sex going on between the <<= properMaster()>> and _hisP chattel. - - <br><br>The player character's sexual energy can have gameplay effects. Though of course all slaves are at the <<= properMaster()>>'s sexual beck and call, some assignments and training methods involve close sexual attention by the player character. If a large number of slaves are subject to this, the player character's attention will be somewhat diluted, and the effects on each slave will be reduced. Slaves assigned to be __fucktoys__ and serve in the __master suite__ count towards a hidden estimation of the player character's sexual foci. With two or fewer such slaves, the player character's sexual attention on these slaves will be intense and have intense effects. With five or more, the player character may have some difficulty in using every slave every day, diluting the mental effects of being the <<= properMaster()>>'s personal sex toy. - - <br><br>It is possible to raise these limits by focusing on sexual decadence for the week. By paying less attention to business and not using sexual training on specific slaves, the player character will have more energy to spare and can offer intense sexual attention to three slaves or give sexual attention to up to seven slaves without dilution. - - <br><br>There exist several other ways to raise the player's sexual energy as well. - -<<case "PC Skills">> - <br><br>''Trading'' signifies how efficient you are at making exchanges. Provides more passive income the higher it is. - Can be increased through acquiring slaves. - - <br>''Warfare'' is an indication your combat prowess. Cuts cost of housing mercs in half. - Can be increased through use in relevant situations. - - <br>''Hacking'' is an indication of your effectiveness at manipulating computer systems. Higher levels make technological upgrades @@.yellowgreen;<<= App.Encyclopedia.Dialog.linkSC("cheaper", "Money")>>@@ or free, provides a boost situations where fame is measured digitally. - Can be increased through choosing to 'Sell your intrusion services to the highest bidder' once the option becomes available after having 'some' skill and purchasing technological upgrades. - - <br>''Slaving'' improves your effectiveness as a slave driver. At max level it allows you to more easily spot <<= App.Encyclopedia.Dialog.linkSC("gingering", "Gingering")>>. - Can be increased through acquiring performing the duties of a slave driver. - - <br>''Engineering'' is a sign of how effective you are building and maintenance. Mastering the skill reduces the cost of @@.yellowgreen;arcology upgrades and expansions.@@ - Can be increased through purchasing arcology upgrades or expanding facility capacity. If the <<= App.Encyclopedia.Dialog.linkSC("Security Expansion", "Security Expansion")>> mod is enabled, the skill is also increased by repairing your arcology. - - <br>''Medicine'' shows how effective you are treating wounds. Max level reduces a slave's health and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>@@ loss during surgery. - - In addition to the above methods of increasing a skill (if any), all of them can be learnt by retaining a trainer<<if $SF.Toggle && $SF.Active >= 1>> or by talking to/learning from The Colonel<</if>>. - /********** SLAVES **********/ diff --git a/src/gui/Encyclopedia/encyclopediaBeingInCharge.js b/src/gui/Encyclopedia/encyclopediaBeingInCharge.js new file mode 100644 index 00000000000..a177a987ca2 --- /dev/null +++ b/src/gui/Encyclopedia/encyclopediaBeingInCharge.js @@ -0,0 +1,298 @@ +App.Encyclopedia.addArticle("Being in Charge", function() { + const f = new DocumentFragment(); + App.UI.DOM.appendNewElement("p", f, "Future room for lore text", "scene-intro"); + App.UI.DOM.appendNewElement("p", f, "Choose a more particular entry below:"); + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("Arcologies and Reputation", function() { + const f = new DocumentFragment(); + let r; + + App.UI.DOM.appendNewElement("p", f, "Arcologies are the urban buildings of the future: almost completely self-contained, almost completely self sufficient. In the anarcho-liberal 'paradise' of the Free Cities, as owner of your own arcology you are like a modern-day feudal suzerain, lord and master."); + + App.UI.DOM.appendNewElement("p", f, "Your arcology is a flared structure, needle thin at the top where you live in your penthouse, and broad at the base. The base below ground contains storage and machinery. The lowest aboveground levels are commercial; above them are the residential areas. The entire structure is jacketed in dense gardens and solar arrays, cleverly structured to create naturally lit corridors and beautiful park-like balconies."); + + App.UI.DOM.appendNewElement("p", f, "— Owner's Report"); + + const p = document.createElement("p"); + p.classList.add("scene-intro"); + + App.UI.DOM.appendNewElement("p", p, "You may wish to improve your arcology, but should be able to ignore its development, if you wish."); + + r = []; + r.push("Your <span class='reputation inc'>reputation</span> is, of course, already quite impressive. The <span class='reputation inc'>reputation</span> tracked in the sidebar is specifically your <span class='reputation inc'>reputation</span> as a slaveowner. It can be raised through decadent actions that display your munificence and opulence. Some random events can increase it, but the most reliable way to improve your <span class='reputation inc'>reputation</span> is to send sexually skilled slaves out into the arcology to offer free sexual services. This assignment is very similar to prostitution, but produces <span class='reputation inc'>reputation</span> rather than"); + r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("money", "Money"), "."), "cash")); + App.Events.addParagraph(p, r); + + r = []; + r.push("As your <span class='reputation inc'>reputation</span> develops, you may have the opportunity to guide the future of your arcology's society. Successfully doing so will increase your <span class='reputation inc'>reputation</span> in turn, which will duly enable you to further shape society. Managing societal development well will have a recursive effect on your <span class='reputation inc'>reputation,</span> and can drive it to great heights."); + App.Events.addParagraph(p, r); + + r = []; + r.push("The benefits of high <span class='reputation inc'>reputation</span> are numerous. Many business and enslavement opportunities will open to you once you are reputable. Some of the most advanced technology is only available to those with impeccable <span class='reputation inc'>reputations</span> as slaveowners, and many of the finer slave markets will only consider reputable buyers. You may eventually become so renowned that merely branding a slave with your mark will increase her value on the open market."); + App.Events.addParagraph(p, r); + + r = []; + r.push("However, your <span class='reputation inc'>reputation</span> will not look after itself. At a certain point, you will become so reputable that continual effort will be necessary to maintain your renown. The old world question <span class='clear-formatting'>\"What have you done for me lately?\"</span> is asked with twice the force in the Free Cities! You will quickly find that this natural decay of <span class='reputation inc'>reputation</span> can overwhelm your efforts to improve it by the end of the week. A concerted strategy will be necessary to overcome this."); + App.Events.addParagraph(p, r); + f.append(p); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("Random Events", function() { + const f = new DocumentFragment(); + let r; + + r = []; + r.push("At the end of every turn, a random event may occur. Almost all random events are tied to necessary preconditions. For example, events concerning"); + r.push(App.Encyclopedia.Dialog.linkDOM("rebellious", "From Rebellious to Devoted", "devotion resistant")); + r.push("slaves will stop happening if all the player's slaves become obedient."); + App.Events.addParagraph(f, r); + + r = []; + r.push("Usually, a situation will be presented and the player may choose one of two or three resolutions. Please note that the player may also to choose none of these by using the <span class='encyclopedia interaction'>Continue</span> button in the sidebar; in effect, this usually means the player's character has simply declined to involve himself."); + App.Events.addParagraph(f, r); + + r = []; + r.push("Almost all choices will result in small effects. The most common are changes to a slave's attitude towards the player's character, but there are others."); + App.Events.addParagraph(f, r); + + r = []; + r.push("Finally, there are events that can result in the player being offered the chance to acquire new slaves, some of which can be unique or valuable. Generally, these events offer this livestock at an extremely discounted price. These events will appear more often the higher the player's"); + r.push(App.Encyclopedia.Dialog.linkDOM("reputation", "Arcologies and Reputation", "reputation inc")); + r.push("becomes."); + App.Events.addParagraph(f, r); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("Costs Summary", function() { + const f = new DocumentFragment(); + let r; + + const basicDrugCost = 100; + const basicRulesCost = 100; + + r = []; + r.push("Aphrodisiacs are"); + r.push(App.Encyclopedia.Dialog.linkDOM("cheap", "Money", "cash")); + r.push(`and cost <span class='cash'>${cashFormat(basicDrugCost)}</span> weekly; curatives are expensive and cost <span class='cash'>${cashFormat((basicDrugCost * 3))}</span> weekly; while all other drug regimes cost <span class='cash'>${cashFormat((basicDrugCost * 2))}.</span> Standard hormone regimens cost <span class='cash'>${Math.trunc(basicDrugCost * 0.5)}</span> while intensive hormone treatment costs <span class='cash'>${Math.trunc(basicDrugCost * 2 * 0.5)}.</span> Contraceptives cost <span class='cash'>${Math.trunc(basicDrugCost * 0.5)}.</span>`); + App.Events.addParagraph(f, r); + + r = []; + r.push(`Slaves on spare living standards are fed a bland diet and obliged to sleep on bedrolls. Keeping a slave under restrictive rules costs <span class='cash'>${cashFormat(basicRulesCost)}</span> weekly.`); + App.Events.addParagraph(f, r); + + r = []; + r.push(`Slaves enjoying luxurious living standards on the other hand are fed a tasty diet and permitted to sleep in comfortable beds, and are generally pampered. The increased luxury of permissive rules costs <span class='cash'>${cashFormat((basicRulesCost * 3))}</span> weekly.`); + App.Events.addParagraph(f, r); + + App.UI.DOM.appendNewElement("p", f, "Costs given are only the base costs, they can be affected by a variety of modifiers, for example economy settings, player background and arcology upgrades. Some upgrades may have associated upkeep costs as well."); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("Rules Assistant", function() { + const f = new DocumentFragment(); + let r; + + r = []; + r.push(App.Encyclopedia.topic("The Rules Assistant")); + r.push("is a system to apply multiple rule sets to multiple slaves at once. You can apply rules to slaves based on slave"); + r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted"), ","), ["devotion", "accept"])); + r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"])); + r.push("sex drive, health,"); + r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("weight", "Weight"), ",")); + r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("muscles", "Musculature"), ",")); + r.push("lactation, pregnancy, number of fetuses, abdominal implants and age."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Rule settings")); + r.push("Rules can be used to control certain aspects of slaves everyday lives, for example to automatically give slaves a certain clothing option, collar, footwear or allow slaves to choose their own outfit. They can be used to give unhealthy slaves curatives to improve their health or to put slaves on a diet so that their"); + r.push(App.Encyclopedia.Dialog.linkDOM("weight", "Weight")); + r.push("can be closer to the ideal weight. Rules set to <span class='encyclopedia interaction'>No default setting</span> will not apply that particular condition to slaves. Rules can also be renamed to be more indicative of their intended purpose."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Rule activation")); + r.push("In order to apply a rule to slaves, the activation will need to be set. Choose an activation type"); + r.push(App.UI.DOM.combineNodes("(", + App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted"), ","), ["devotion", "accept"]))); + r.push(App.UI.DOM.makeElement("span", App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("trust", "Trust"), ","), ["trust", "careful"])); + r.push("sex drive,"); + r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("health", "Health"), ",")); + r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("weight", "Weight"), ",")); + r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("muscles", "Musculature"), ",")); + r.push("lactation, pregnancy, fetuses, implant size, or age) and then choose the level at which to apply. For example to apply a rule to obedient slaves, choose"); + r.push(App.Encyclopedia.Dialog.linkDOM("devotion", "From Rebellious to Devoted", "devotion accept")); + r.push("for the activation and 4 or more for the lower limit by selecting <span class='encyclopedia interaction'>>=</span>."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Selecting or excluding slaves from a rule")); + r.push("Slaves can be selected for a rule by selecting slaves from the list so that a rule can apply only to them. Slaves can similarly be excluded from a rule."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Applying a rule to specific assignments")); + r.push("You can apply a rule only to slaves on individual assignments by selecting them under <span class='encyclopedia interaction'>Apply to assignments</span>. For example a rule can give aphrodisiacs to slaves on whoring assignments. <span class='note'>This is mutually exclusive to automatically giving an assignment to slaves.</span>"); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Automatically giving an assignment")); + r.push("A rule can be set to automatically set a slave to an assignment when activated. For example a"); + r.push(App.Encyclopedia.Dialog.linkDOM("devoted", "From Rebellious to Devoted", "devotion accept")); + r.push("slave can be set to automatically be put on the whoring assignment. <span class='note'>This is mutually exclusive to applying a rule to assignments.</span>"); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Applying a rule to facilities")); + r.push("You can apply a rule to slaves in any or all facilities as long as that facility has been constructed. The rule will only apply to slaves within the selected facilities. <span class='note'>This is mutually exclusive to automatically putting slaves into a facility.</span>"); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Automatically assigning slaves to a facility")); + r.push("A rule can be set to automatically put a slave into a facility when activated. For example disobedient slaves can be set to automatically be confined in the arcade if it has been constructed. <span class='note'>This is mutually exclusive to applying a rule to facilities.</span>"); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Saving a rule")); + r.push("If you are finished setting up a rule <em>make sure to save it</em> by clicking <span class='encyclopedia interaction'>Save rule</span> at the bottom before clicking another link otherwise your settings will be lost."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Applying a rule")); + r.push("Clicking on <span class='encyclopedia interaction'>Apply rules</span> will automatically save the current rule and apply all rules to slaves at once."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Adding or removing a rule")); + r.push("The game starts with 3 basic default rule settings but more can be added and/or removed as needed. To add a new rule, click <span class='encyclopedia interaction'>Add a new rule</span> at the bottom, removing a rule is the same by clicking <span class='encyclopedia interaction'>Remove rule</span>."); + App.Events.addParagraph(f, r); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("The Corporation", function() { + const f = new DocumentFragment(); + let r; + + r = []; + r.push("Once you are fairly reputable and have a large sum of cash in the bank, you will receive a brief end of turn event that unlocks the ability to found a corporation dedicated to slaving. Once this happens, you can incorporate from the <span class='encyclopedia interaction'>Manage Corporation</span> link on the sidebar, and once you've done that, you can manage your corporation every week from the same place."); + App.Events.addParagraph(f, r); + + App.UI.DOM.appendNewElement("h3", f, "Shares"); + r = []; + r.push("Buying shares from the corporation or issuing new shares will create new shares in the corporation. If you buy them yourself, cash will be transferred from you to the corporation in return for the shares; if you direct the corporation to issue new public shares,"); + r.push(App.Encyclopedia.Dialog.linkDOM("money", "Money", "cash")); + r.push("will come into the corporation from the market. If you direct the corporation to buy back shares from the public, cash will be transferred from the corporation to reduce the number of public shares, which will increase your ownership percentage. You are not permitted to give up majority ownership of the corporation. Selling your shares or buying publicly held shares are both transactions between you and your shares and shareholders and their shares. All transactions impact the stock price."); + App.Events.addParagraph(f, r); + + App.UI.DOM.appendNewElement("h3", f, "Divisions"); + App.UI.DOM.appendNewElement("p", f, "The corporation consists of divisions. Starting up your corporation requires you to choose a single division as starting point and you will be able to expand into linked divisions once you have grown sufficiently in size. There are 3 general categories of divisions; acquisition, modification and exploitation. The first consists of legal and extralegal enslavement and they feed fresh slaves into either your corporation or the market at large. Investing in one of these is a good starting point when slave prices are high. Do note that each slave acquired and sold reduces the demand for slaves on the market. This means little at first, but when large enough will impact the market significantly."); + App.UI.DOM.appendNewElement("p", f, "The second category consists of slave breaking, physical slave modifications and slave training. These divisions either take improvable slaves from your acquisition divisions or the slave market and improve them. Slaves can go from breaking to physical modifications to training and become highly valuable slaves by the end of it. If the slave market is balanced or you are looking for a safe initial investment these divisions are a good choice. Their market impact is neutral, buying slaves reduces supply but selling them back onto the market reduces demand by the same amount."); + App.UI.DOM.appendNewElement("p", f, "The final category consists of an arcade, menial services, dairy and escort division. These divisions require a particular quality of slave and then put them to work in their respective fields. As these divisions operate they will have to write off some of their slaves and replace them with fresh ones, you can provide these slaves through your acquisition or modification divisions or the market. Whenever prices are low these divisions operate at a higher margin, making them a great first division when slave prices are low. Do note that each slave bought from the market reduces the supply of slaves. As these divisions grow and write off more and more slaves each week, replenishing them from the market will begin to impact the market significantly."); + + App.UI.DOM.appendNewElement("h3", f, "Management"); + App.UI.DOM.appendNewElement("p", f, "Your first division will automatically buy and/or sell slaves in order to do business and make money. It is up to the player to decide when to expand the division's capacity, but investing aggressively early will pay off in the long run. Once your corporation has gotten a little time to grow its value (the sum of slave value, division value, cash on hand and dividends reserved) the end of week report will prompt you that a new division can be added. This requires a significant cash investment so you may have to save up a little. Adding divisions comes with efficiency benefits, but also adds overhead costs. Adding a second division will hardly slow you down, but as you grow these costs grow ever larger; depending on the number of divisions, but also the size of them."); + App.UI.DOM.appendNewElement("p", f, "Any new division will have at least one direct link to your current divisions, meaning it can either use slaves from a division or provide them to another division. New divisions are not automatically set to buy and/or sell slaves from the market. It is expected the player either manually moves slaves between divisions or sets up automatic links between them using several rules."); + App.UI.DOM.appendNewElement("p", f, "You have the ability to reduce the size of your divisions or dissolve them entirely. While this only recoups 80% of the investment it may sometimes be prudent to do so, i.e. in case market conditions have become unfavorable for the division and/or overhead costs are becoming oppressively high. Also note that divisions become less efficient the larger they get (even without considering overhead), eventually growing it further will hurt your profit, not improve it. You will want to cut your losses early or otherwise suffer the consequences."); + App.UI.DOM.appendNewElement("p", f, "In order to personally benefit monetarily from your corporation you will have to decide how much of its profit will be set aside to be paid out as dividends. Setting low or no dividends allows for rapid development, while siphoning a lot of profits away from the corporation will slow it down significantly. Please note that the corporation does not pay out every week but only every quarter (13 weeks)."); + + App.UI.DOM.appendNewElement("h3", f, "Slave Sales"); + App.UI.DOM.appendNewElement("p", f, "Once a corporation is created, it will get its own establishment in the slave market. As the corporation's value increase, it can be given direction about what kind of slaves it should train and how it should train them, which will affect the slaves seen in the corporate catalog. As with divisions; the higher your corporation's value, the more specializations you are allowed to choose. Your corporation's divisions determine which specialization options are available. Each division has a unique specialization associated with it while many others are slightly more general and linked to either acquisition or modification. All kinds of restrictions may apply depending on Future Society choices and the size of your divisions. Several specializations can be enhanced beyond the first choice, but again you may need to satisfy certain conditions first."); + r = []; + r.push("If the corporation's slaves have qualities that make them especially appealing to an arcology's citizens, the corporation will enjoy increased profits, and the"); + r.push(App.Encyclopedia.Dialog.linkDOM("future society", "Future Societies")); + r.push("creating the demand will progress more rapidly due to the supply of appealing slaves. All arcologies present in the Free City will interact with the corporation this way, making shares in a corporation which supplies girls that appeal to the whole city extremely lucrative."); + App.Events.addParagraph(f, r); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("Sexual Energy", function() { + const f = new DocumentFragment(); + let r; + + const {his} = getPronouns(V.PC); + + App.UI.DOM.appendNewElement("p", f, `Though you're (naturally) a virile, oversexed oligarch, even your reserves of sexual energy are not infinite. They're impressive, but not infinite. Since one turn represents one week, the game does not allow the player direct control over every sexual interaction between the player character and ${his} slaves. Put another way, the game assumes there's an impressive amount of off-screen sex going on between the ${properMaster()} and ${his} chattel.`); + + r = []; + r.push(`The player character's sexual energy can have gameplay effects. Though of course all slaves are at the ${properMaster()}'s sexual beck and call, some assignments and training methods involve close sexual attention by the player character. If a large number of slaves are subject to this, the player character's attention will be somewhat diluted, and the effects on each slave will be reduced. Slaves assigned to be <em>fucktoys</em> and serve in the <em>master suite</em> count towards a hidden estimation of the player character's sexual foci. With two or fewer such slaves, the player character's sexual attention on these slaves will be intense and have intense effects. With five or more, the player character may have some difficulty in using every slave every day, diluting the mental effects of being the ${properMaster()}'s personal sex toy.`); + App.Events.addParagraph(f, r); + + App.UI.DOM.appendNewElement("p", f, `It is possible to raise these limits by focusing on sexual decadence for the week. By paying less attention to business and not using sexual training on specific slaves, the player character will have more energy to spare and can offer intense sexual attention to three slaves or give sexual attention to up to seven slaves without dilution.`); + + App.UI.DOM.appendNewElement("p", f, `There exist several other ways to raise the player's sexual energy as well.`); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addArticle("PC Skills", function() { + const f = new DocumentFragment(); + let r; + + r = []; + r.push(App.Encyclopedia.topic("Trading")); + r.push("signifies how efficient you are at making exchanges. Provides more passive income the higher it is. Can be increased through acquiring slaves."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Warfare")); + r.push("is an indication your combat prowess. Cuts cost of housing mercs in half. Can be increased through use in relevant situations."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Hacking")); + r.push("is an indication of your effectiveness at manipulating computer systems. Higher levels make technological upgrades"); + r.push(App.Encyclopedia.Dialog.linkDOM("cheaper", "Money", "cash")); + r.push("or free, provides a boost situations where fame is measured digitally. Can be increased through choosing to <span class='encyclopedia interaction'>Sell your intrusion services to the highest bidder</span> once the option becomes available after having <em>some</em> skill and purchasing technological upgrades."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Slaving")); + r.push("improves your effectiveness as a slave driver. At max level it allows you to more easily spot"); + r.push(App.UI.DOM.combineNodes(App.Encyclopedia.Dialog.linkDOM("gingering", "Gingering"), ".")); + r.push("Can be increased through acquiring performing the duties of a slave driver."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Engineering")); + r.push("is a sign of how effective you are building and maintenance. Mastering the skill reduces the cost of <span class='cash'>arcology upgrades and expansions.</span> Can be increased through purchasing arcology upgrades or expanding facility capacity. If the"); + r.push(App.Encyclopedia.Dialog.linkDOM("Security Expansion", "Security Expansion")); + r.push("mod is enabled, the skill is also increased by repairing your arcology."); + App.Events.addParagraph(f, r); + + r = []; + r.push(App.Encyclopedia.topic("Medicine")); + r.push("shows how effective you are treating wounds. Max level reduces a slave's health and"); + r.push(App.Encyclopedia.Dialog.linkDOM("trust", "Trust", "trust careful")); + r.push("loss during surgery."); + App.Events.addParagraph(f, r); + + r = []; + r.push("In addition to the above methods of increasing a skill (if any), all of them can be learnt by retaining a trainer"); + if (V.SF.Toggle && V.SF.Active >= 1) { + r.push("or by talking to/learning from The Colonel"); + } + r.push(r.pop() + "."); + App.Events.addParagraph(f, r); + + return f; +}, "beingInCharge"); + +App.Encyclopedia.addCategory("beingInCharge", function() { + const links = []; + links.push(App.Encyclopedia.Dialog.linkDOM("Arcologies and Reputation", "Arcologies and Reputation")); + links.push(App.Encyclopedia.Dialog.linkDOM("Random Events", "Random Events")); + links.push(App.Encyclopedia.Dialog.linkDOM("Costs Summary", "Costs Summary")); + links.push(App.Encyclopedia.Dialog.linkDOM("Rules Assistant", "Rules Assistant")); + links.push(App.Encyclopedia.Dialog.linkDOM("The Corporation", "The Corporation")); + links.push(App.Encyclopedia.Dialog.linkDOM("Sexual Energy", "Sexual Energy")); + links.push(App.Encyclopedia.Dialog.linkDOM("PC Skills", "PC Skills")); + return App.UI.DOM.generateLinksStrip(links); +}); diff --git a/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw b/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw index dbf0e17244e..6a04d89ac53 100644 --- a/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw +++ b/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw @@ -13,18 +13,6 @@ <<switch $encyclopedia>> -/********** -BEING IN CHARGE -**********/ -<<case "Arcologies and Reputation" "Being in Charge" "Costs Summary" "PC Skills" "Random Events" "Rules Assistant" "Sexual Energy" "The Corporation">> - <<= App.Encyclopedia.Dialog.linkSC("Arcologies and Reputation", "Arcologies and Reputation")>> - | <<= App.Encyclopedia.Dialog.linkSC("Random Events", "Random Events")>> - | <<= App.Encyclopedia.Dialog.linkSC("Costs Summary", "Costs Summary")>> - | <<= App.Encyclopedia.Dialog.linkSC("Rules Assistant", "Rules Assistant")>> - | <<= App.Encyclopedia.Dialog.linkSC("The Corporation", "The Corporation")>> - | <<= App.Encyclopedia.Dialog.linkSC("Sexual Energy", "Sexual Energy")>> - | <<= App.Encyclopedia.Dialog.linkSC("PC Skills", "PC Skills")>> - /********** SLAVES **********/ -- GitLab