From 517ea2f68a79fc1b4beff92720414cc379d428f5 Mon Sep 17 00:00:00 2001 From: buster scruggs <prettyleetemail@protonmail.com> Date: Mon, 20 Feb 2023 15:50:28 -0500 Subject: [PATCH] Adjust FS policies, edicts, and economic effects Reword and correct several spelling/syntax errors Refactor how firearm edict and right to bear arms policy interact Adjust effect of FS law 1 to be more interesting Generally nerf FS economic effects --- js/003-data/policiesData.js | 28 ++++++++++++++++++---------- src/Mods/SecExp/js/edicts.js | 2 +- src/endWeek/economics/arcmgmt.js | 25 ++++++++++++++++--------- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js index 31b7df79c8f..ab5cc3e15c8 100644 --- a/js/003-data/policiesData.js +++ b/js/003-data/policiesData.js @@ -2040,30 +2040,38 @@ App.Data.Policies.Selection = { { title: "Antebellum Cultural Induction SMR", titleClass: "lime", - text: "in order to be sold in the arcology, slaves must be instructed in the cultural tenets of your syncretic society and understand their place in the new hierarchy.", - activatedText: "in order to be sold in the arcology, slaves are instructed in the cultural tenets of your syncretic society and must prove that they understand their place in the new hierarchy.", - get requirements() { return (V.arcologies[0].FSNeoImperialist >= 40); }, + text: "in order to be sold in the arcology, slaves must be instructed in the cultural tenets of Antebellum society.", + activatedText: "in order to be sold in the arcology, slaves must be instructed in the cultural tenets of Antebellum society.", + get requirements() { return (V.arcologies[0].FSAntebellumRevivalist >= 40); }, note: `Will help advance Antebellum Revivalism` } ], "arcologies[0].FSAntebellumRevivalistLaw1": [ { - title: "Affirm the Rights of Slave Owners", + title: "Affirm the Rights of Slaveowners", titleClass: "lime", - text: "while slaveowners are already de facto among the most prominent members of society, the token gesture of legally enshrining the rights of slave owners will help advance Antebellum Revivalism.", - activatedText: "slaveowners are grateful to you and have either moved to adopt Antebellum Revivalist trends directly or have at least become more receptive.", + text: "while slaveowners are already de facto the most prominent members of society within your arcology, the token gesture of legally enshrining the rights of slaveowners will help secure their loyalty and attract new wealthy citizens.", + activatedText: "slaveowners are grateful to you and the arcology steadily attracts new wealthy citizens.", get requirements() { return (V.arcologies[0].FSAntebellumRevivalist >= 60); }, - note: `Will help advance Antebellum Revivalism and cost no reputation` + note: `Will increase the rate at which slaveowners immigrate to your arcology, attracting middle class citizens and above.` } ], "arcologies[0].FSAntebellumRevivalistLaw2": [ { title: "Guarantee the Right to Bear Arms", titleClass: "lime", - text: "it is an expected right under the ideals established by Antebellum Revivalism that eligible citizens ought to be able to possess weaponry and form militias to defend themselves.", - activatedText: "citizens proudly carry arms in defense of themselves and the arcology against foreign threats and the slave class", + text: `it is an expected right under the ideals established by Antebellum Revivalism that eligible citizens ought to be able to possess weaponry and form militias to defend themselves and their property. + ${V.secExpEnabled && V.SecExp.edicts.weaponsLaw === 0 ? + ` By your edict, citizens are currently forbidden from possessing firearms. Enacting this law will automatically set the range of weapons allowed within the arcology to non-automatic, non-high caliber, free of the usual cost of authority.` : `` + }`, + activatedText: "citizens proudly carry arms in defense of themselves and the arcology against foreign threats and the slave class.", get requirements() { return (V.arcologies[0].FSAntebellumRevivalist >= 90); }, - note: `Improve your arcology's combat power and exacerbate any potential rebellions` + onImplementation: function() { + if (V.secExpEnabled && V.SecExp.edicts.weaponsLaw === 0) { + V.SecExp.edicts.weaponsLaw = 1; + } + }, + note: `Improve your arcology's defensive combat power while also exacerbating any future rebellions` } ], }, diff --git a/src/Mods/SecExp/js/edicts.js b/src/Mods/SecExp/js/edicts.js index b8d8ebaf483..2aeba5e1301 100644 --- a/src/Mods/SecExp/js/edicts.js +++ b/src/Mods/SecExp/js/edicts.js @@ -311,7 +311,7 @@ App.Mods.SecExp.edicts = function() { }, { conditional: V.SecExp.edicts.weaponsLaw === 1 && V.arcologies[0].FSAntebellumRevivalistLaw2 === 1, - note: "You have legally guaranteed your citizens the right to bear arms. Repeal the law first to enact this edict." + note: "You have legally guaranteed your citizens the right to bear arms. You must first revoke that right to enact this edict." }, { text: "set the range of weapons allowed within the arcology to non-automatic, non-high caliber.", diff --git a/src/endWeek/economics/arcmgmt.js b/src/endWeek/economics/arcmgmt.js index af9a652a9e4..b91ad546909 100644 --- a/src/endWeek/economics/arcmgmt.js +++ b/src/endWeek/economics/arcmgmt.js @@ -976,17 +976,17 @@ App.EndWeek.arcManagement = function() { } if (V.arcologies[0].FSAntebellumRevivalist !== "unset") { FSScore += Math.min(V.arcologies[0].FSAntebellumRevivalist, 100); - slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.05; - slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.030; - welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.015; - lowerClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * -30; + slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.075; + slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.050; + welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.05; + lowerClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * -15; lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * -0.004; - middleClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 30; - middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.006; + middleClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 20; + middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.005; upperClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 2.7; - upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.008; - topClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.5; - topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.010; + upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.001; + topClass += Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.025; + topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAntebellumRevivalist, 100) / 20) * 0.001; r.push(`Antebellum Revivalism prioritizes the wealthy while also encouraging a strong yeoman, or middle, class, but offers little assistance to the poor.`); } if (V.arcologies[0].FSEgyptianRevivalist !== "unset") { @@ -1386,6 +1386,13 @@ App.EndWeek.arcManagement = function() { upperClass += -13.5; upperClassP *= 0.995; } + + if (V.arcologies[0].FSAntebellumRevivalistLaw1 === 1) { + middleClassP *= 1.50; + upperClassP *= 1.25; + topClassP *= 1.10; + } + if (r.length > 0) { App.UI.DOM.appendNewElement("h3", el, "Policies"); } -- GitLab