diff --git a/src/js/futureSocietyJS.js b/src/js/futureSocietyJS.js index 1acce03ff5659e9377fb997d13b63348d8de1c2c..d0f12b4330a61b4ab894c712a0fc33057445d4bf 100644 --- a/src/js/futureSocietyJS.js +++ b/src/js/futureSocietyJS.js @@ -1,6 +1,6 @@ globalThis.FutureSocieties = (function() { "use strict"; - const FSString2Property = { // blame Hedonism and Eugenics for this + const FSString2Property = { // blame Hedonism and Eugenics for this - TODO: probably can be cleaned up, maybe eliminated Supremacist: "FSSupremacist", Subjugationist: "FSSubjugationist", GenderRadicalist: "FSGenderRadicalist", @@ -18,6 +18,7 @@ globalThis.FutureSocieties = (function() { Hedonistic: "FSHedonisticDecadence", Hedonism: "FSHedonisticDecadence", ChattelReligionist: "FSChattelReligionist", + Multiculturalist: "FSNull", RomanRevivalist: "FSRomanRevivalist", EgyptianRevivalist: "FSEgyptianRevivalist", EdoRevivalist: "FSEdoRevivalist", @@ -35,9 +36,66 @@ globalThis.FutureSocieties = (function() { const SocietyList = [...new Set(Object.keys(FSString2Property).map(key => FSString2Property[key]))]; // This returns an array containing the unique values of FSString2Property. E.g. "FSSupremacist" and "FSSubjugationist" const NPCSocietyList = [ "FSCummunism", "FSIncestFetishist" ]; // NPC arcologies may use these FSes, but the PC can't + const FSMutexGroups = [ + [ "FSSupremacist" ], + [ "FSSubjugationist" ], + [ "FSGenderRadicalist", "FSGenderFundamentalist" ], + [ "FSDegradationist", "FSPaternalist" ], + [ "FSBodyPurist", "FSTransformationFetishist" ], + [ "FSYouthPreferentialist", "FSMaturityPreferentialist" ], + [ "FSSlimnessEnthusiast", "FSAssetExpansionist" ], + [ "FSPastoralist", "FSCummunism" ], + [ "FSPhysicalIdealist", "FSHedonisticDecadence" ], + [ "FSChattelReligionist", "FSNull" ], + [ "FSIncestFetishist" ], + [ "FSRomanRevivalist", "FSEgyptianRevivalist", "FSEdoRevivalist", "FSArabianRevivalist", "FSChineseRevivalist", "FSAztecRevivalist" ], + [ "FSRepopulationFocus", "FSRestart" ], + [ "FSIntellectualDependency", "FSSlaveProfessionalism" ], + [ "FSPetiteAdmiration", "FSStatuesqueGlorification"] + ]; + + const DisplayName = { + FSSupremacist: {noun: "Racial Supremacy", adj: "Supremacist"}, + FSSubjugationist: {noun: "Racial Subjugationism", adj: "Subjugationist"}, + FSGenderRadicalist: {noun: "Gender Radicalism", adj: "Gender Radicalist"}, + FSGenderFundamentalist: {noun: "Gender Fundamentalism", adj: "Gender Fundamentalist"}, + FSDegradationist: {noun: "Degradationism", adj: "Degradationist"}, + FSPaternalist: {noun: "Paternalism", adj: "Paternalist"}, + FSBodyPurist: {noun: "Body Purism", adj: "Body Purist"}, + FSTransformationFetishist: {noun: "Transformation Fetishism", adj: "Transformation Fetishist"}, + FSYouthPreferentialist: {noun: "Youth Preferentialism", adj: "Youth Preferentialist"}, + FSMaturityPreferentialist: {noun: "Maturity Preferentialism", adj: "Maturity Preferentialist"}, + FSSlimnessEnthusiast: {noun: "Slimness Enthusiasm", adj: "Slimness Enthusiast"}, + FSAssetExpansionist: {noun: "Asset Expansionism", adj: "Asset Expansionist"}, + FSPastoralist: {noun: "Pastoralism", adj: "Pastoralist"}, + FSCummunism: {noun: "Cummunism", adj: "Cummunist"}, + FSPhysicalIdealist: {noun: "Physical Idealism", adj: "Physical Idealist"}, + FSHedonisticDecadence: {noun: "Decadent Hedonism", adj: "Decadent Hedonist"}, + FSChattelReligionist: {noun: "Chattel Religionism", adj: "Chattel Religionist"}, + FSNull: {noun: "Multiculturalism", adj: "Multiculturalist"}, + FSIncestFetishist: {noun: "Incest Fetishism", adj: "Incest Fetishist"}, + FSRomanRevivalist: {noun: "Roman Revivalism", adj: "Roman Revivalist"}, + FSEgyptianRevivalist: {noun: "Egyptian Revivalism", adj: "Egyptian Revivalist"}, + FSEdoRevivalist: {noun: "Edo Revivalism", adj: "Edo Revivalist"}, + FSArabianRevivalist: {noun: "Arabian Revivalism", adj: "Arabian Revivalist"}, + FSChineseRevivalist: {noun: "Chinese Revivalism", adj: "Chinese Revivalist"}, + FSAztecRevivalist: {noun: "Aztec Revivalism", adj: "Aztec Revivalist"}, + FSRepopulationFocus: {noun: "Repopulation Focus", adj: "Repopulationist"}, + FSRestart: {noun: "Eugenics", adj: "Eugenics"}, + FSIntellectualDependency: {noun: "Intellectual Dependency", adj: "Intellectual Dependency"}, + FSSlaveProfessionalism: {noun: "Slave Professionalism", adj: "Slave Professional"}, + FSPetiteAdmiration: {noun: "Petite Admiration", adj: "Petite Admiration"}, + FSStatuesqueGlorification: {noun: "Statuesque Glorification", adj: "Statuesque Glorification"} + }; + return { activeCount: activeCount, applyBroadProgress: applyBroadProgress, + influenceSources: influenceSources, + diplomaticFSes: diplomaticFSes, + displayName: displayName, + displayAdj: displayAdj, + decay: decayFSes, overflowToInfluence: overflowToInfluence, remove: removeFS, DecorationCleanup: DecorationCleanup, @@ -46,39 +104,178 @@ globalThis.FutureSocieties = (function() { HighestDecoration: FSHighestDecoration }; - // helper function, not callable externally + /** get the list of FSes active for a particular arcology + * helper function, not callable externally + * @param {number} arcologyID + * @returns {Array<string>} + */ function activeFSes(arcologyID) { let isSet = (fs) => V.arcologies[arcologyID][fs] !== "unset"; const npcFSes = arcologyID !== 0 ? NPCSocietyList.filter(isSet) : []; return SocietyList.filter(isSet).concat(npcFSes); } - // call as FutureSocieties.activeCount(arcologyID) + /** call as FutureSocieties.activeCount(arcologyID) + * @param {number} arcologyID + * @returns {number} + */ function activeCount(arcologyID) { return activeFSes(arcologyID).length; } - // call as FutureSocieties.applyBroadProgress(arcologyID, progress) + /** call as FutureSocieties.applyBroadProgress(arcologyID, progress) + * @param {number} arcologyID + * @param {number} progress + */ function applyBroadProgress(arcologyID, progress) { for (const fs of activeFSes(arcologyID)) { - V.arcologies[arcologyID][fs] += progress; + if (fs !== "FSNull") { // does not progress this way + V.arcologies[arcologyID][fs] += progress; + } } } - // call as FutureSocieties.overflowToInfluence(arcologyID) - // converts excess progress into influence bonus + /** converts excess progress into influence bonus + * call as FutureSocieties.overflowToInfluence(arcologyID) + * @param {number} arcologyID + */ function overflowToInfluence(arcologyID) { const arcology = V.arcologies[arcologyID]; for (const fs of activeFSes(arcologyID)) { - if (arcology[fs] > V.FSLockinLevel) { - arcology.influenceBonus += arcology[fs] - V.FSLockinLevel; - arcology[fs] = V.FSLockinLevel; + if (fs !== "FSNull") { // no conventional progress + if (arcology[fs] > V.FSLockinLevel) { + arcology.influenceBonus += arcology[fs] - V.FSLockinLevel; + arcology[fs] = V.FSLockinLevel; + } + } + } + } + + /** returns an array of FSes which the arcology has developed enough to influence others + * call as FutureSocieties.influenceSources(arcologyID) + * @param {number} arcologyID + */ + function influenceSources(arcologyID) { + let fses = []; + const arcology = V.arcologies[arcologyID]; + for (const fs of activeFSes(arcologyID)) { + if (fs !== "FSNull") { // no influence from Multiculturalism? + if (arcology[fs] > 60) { + fses.push(fs); + } + } + } + return fses; + } + + /** determines whether two named FSes are naturally conflicting or not + * @param {string} left FS + * @param {string} right FS + * @returns {boolean} + */ + function conflictingFSes(left, right) { + if (left !== right) { // identical FSes are not opposed + for (const group of FSMutexGroups) { + if (group.includesAll(left, right)) { + return true; // but any other FS in the mutex group is + } + } + } + return false; + } + + /** returns the set of shared FSes between two arcologies, and the set of conflicts between pairs of FSes between the arcologies + * relatively expensive, try not to call frequently + * call as FutureSocieties.diplomaticFSes(arc1ID, arc2ID) + * @param {number} arc1ID + * @param {number} arc2ID + * @returns {{shared: string[], conflicting: string[][]}} + */ + function diplomaticFSes(arc1ID, arc2ID) { + let shared = [], conflicting = []; + const arc1FSes = activeFSes(arc1ID); + const arc2FSes = activeFSes(arc2ID); + // find ordinary shared and conflicting FSes + for (const fs1 of arc1FSes) { + for (const fs2 of arc2FSes) { + if (fs1 === fs2) { + shared.push(fs1); + } else if (conflictingFSes(fs1, fs2)) { + conflicting.push([fs1, fs2]); + } + } + } + // special cases: racial FSes might be conflicting even when shared + const arc1 = V.arcologies[arc1ID]; + const arc2 = V.arcologies[arc2ID]; + if (shared.contains("FSSupremacist")) { + // a different race is supreme + if (arc1.FSSupremacistRace !== arc2.FSSupremacistRace) { + shared.delete("FSSupremacist"); + conflicting.push(["FSSupremacist", "FSSupremacist"]); + } + // subjugating the supreme race + if (arc2FSes.contains("FSSubjugationist") && arc2.FSSubjugationistRace === arc1.FSSupremacistRace) { + shared.delete("FSSupremacist"); + conflicting.push(["FSSupremacist", "FSSubjugationist"]); + } + } + if (shared.contains("FSSubjugationist")) { + // subjugating a different race + if (arc1.FSSubjugationistRace !== arc2.FSSubjugationistRace) { + shared.delete("FSSubjugationist"); + conflicting.push(["FSSubjugationist", "FSSubjugationist"]); + } + // believe the subjugated race is supreme + if (arc2FSes.contains("FSSupremacist") && arc2.FSSupremacistRace === arc1.FSSubjugationistRace) { + shared.delete("FSSubjugationist"); + conflicting.push(["FSSubjugationist", "FSSupremacist"]); + } + } + return {shared, conflicting}; + } + + /** returns the future society display name (typically an "ism") for the given property + * @param {string} FSProp + * @returns {string} + */ + function displayName(FSProp) { + return DisplayName[FSProp].noun; + } + + /** returns the future society adjective (typically an "ist") for the given property + * @param {string} FSProp + * @returns {string} + */ + function displayAdj(FSProp) { + return DisplayName[FSProp].adj; + } + + /** decays all the FSes adopted by a particular arcology (for example, because of government instability) + * call as FutureSocieties.decay(arcologyID) + * @param {number} arcologyID + * @returns {Array<string>} FSes which purged completely + */ + function decayFSes(arcologyID) { + const fses = activeFSes(arcologyID); + const arc = V.arcologies[arcologyID]; + let purged = []; + for (const fs of fses) { + if (fs !== "FSNull") { // exempt for some reason? + if (arc[fs] < jsRandom(10, 150)) { + purged.push(fs); + } else { + arc[fs] -= 10; + } } } + return purged; } - // call as FutureSocieties.remove(FS) - // FS must be a string (e.g. "FSPaternalist" or "FSDegradationist"). + /** Remove an FS and all associated attributes from an arcology + * call as FutureSocieties.remove(FS) + * @param {string} FS (e.g. "FSPaternalist" or "FSDegradationist") + */ function removeFS(FS) { const arcology = V.arcologies[0]; const FSDecoration = `${FS}Decoration`; diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js index aa24346754e6ac5c90090e9f7cb56a263ddc9b92..8d025903825d3d9d7f6a741d0f5b6a743464d02b 100644 --- a/src/js/generateMarketSlave.js +++ b/src/js/generateMarketSlave.js @@ -470,7 +470,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 } else { market = 1; } - opinion = arcologyOpinion(V.arcologies[0], V.arcologies[market]); + opinion = ArcologyDiplomacy.opinion(0, market); opinion = Math.trunc(opinion/20); opinion = Math.clamp(opinion, -10, 10); diff --git a/src/neighbor/arcologyDiplomacy.js b/src/neighbor/arcologyDiplomacy.js new file mode 100644 index 0000000000000000000000000000000000000000..9283acf2496456789cd073622f8130437668d837 --- /dev/null +++ b/src/neighbor/arcologyDiplomacy.js @@ -0,0 +1,171 @@ +globalThis.ArcologyDiplomacy = (function() { + return { + opinion: opinion, + selectInfluenceTarget: selectInfluenceTarget + }; + + /** get one arcology's opinion of another + * @param {number} activeID index + * @param {number} targetID index + * @returns {number} opinion + */ + function opinion(activeID, targetID) { + const activeArcology = V.arcologies[activeID]; + const targetArcology = V.arcologies[targetID]; + if (typeof activeArcology.FSNull === "undefined") { activeArcology.FSNull = "unset"; } + if (typeof targetArcology.FSNull === "undefined") { targetArcology.FSNull = "unset"; } + + let opinion = 0; + + const {shared, conflicting} = FutureSocieties.diplomaticFSes(activeID, targetID); + + for (const fs of shared) { + opinion += activeArcology[fs]; + opinion += targetArcology[fs]; + } + + for (const [activeFS, targetFS] of conflicting) { + opinion -= activeArcology[activeFS]; + opinion -= targetArcology[targetFS]; + } + + // unshared but uncontested multiculturalism gets a relationship bonus + if (!shared.includes("FSNull") && !conflicting.some((pair) => pair.includes("FSNull"))) { + if (activeArcology.FSNull !== "unset") { + opinion += activeArcology.FSNull; + } else if (targetArcology.FSNull !== "unset") { + opinion += targetArcology.FSNull; + } + } + + return opinion = Number(opinion) || 0; + } + + /** set a new influence target for a given arcology + * @param {number} arcID + */ + function selectInfluenceTarget(arcID) { + const notMulticulturalism = (f) => f !== "FSNull"; // multiculturalism can neither influence nor be influenced + const influenceSources = FutureSocieties.influenceSources(arcID); + const arcology = V.arcologies[arcID]; + if (influenceSources.length > 0) { + let eligibleTargets = []; + const obdedient = (arcology.government === "your trustees" || arcology.government === "your agent"); + + for (let targetID = 0; targetID < V.arcologies.length; ++targetID) { + const target = V.arcologies[targetID]; + if (arcology.direction !== target.direction) { + if (!obdedient || target.direction !== 0) { + const {shared, conflicting} = FutureSocieties.diplomaticFSes(arcID, targetID); + let count = 0; + count += shared.filter(notMulticulturalism).length; + count += conflicting.filter((pair) => pair.every(notMulticulturalism)).length; + eligibleTargets.push(...Array(count).fill(target.direction)); + } + } + } + + if (eligibleTargets.length > 0) { + arcology.influenceTarget = eligibleTargets.random(); + } + } + } +})(); + +globalThis.ArcologyFSPassiveInfluence = class { + /** pick up social hints from an arcology's neighbors + * @param {number} arcID + */ + constructor(arcID) { + this._arcID = arcID; + /** @type {Map<number, {shared: string[], conflicting: string[][]}>} */ + this._relationships = new Map(); + for (let i = 0; i < V.arcologies.length; ++i) { + if (i !== arcID) { + this._relationships.set(i, FutureSocieties.diplomaticFSes(arcID, i)); + } + } + + const arcology = V.arcologies[this._arcID]; + this._thresh = 5; + if (arcology.direction === 0) { + this._thresh -= V.policies.culturalOpenness * 5; + } + if (arcology.ownership >= 100) { + this._thresh += 5; + } + } + + /** output the neighbors that have passively influenced a particular FS in this arcology + * @param {string} fs + */ + output(fs) { + /** @type {number[]} */ + let shared = []; + /** @type {Map<string, number[]>} */ + let conflicting = new Map(); + const arcology = V.arcologies[this._arcID]; + + debugger; + for (const [i, rel] of this._relationships) { + if (rel.shared.some((s) => s === fs)) { + if (V.arcologies[i][fs] > arcology[fs] + this._thresh) { + shared.push(i); + } + } else { + const conflict = rel.conflicting.find((p) => p[0] === fs); + if (conflict) { + const conflictFS = conflict[1]; + if (conflictFS === "FSNull") { + continue; // no passive slowing from Multiculturalism + } + if (V.arcologies[i][conflictFS] > arcology[fs] + this._thresh) { + const oldVal = conflicting.get(conflictFS); + if (oldVal) { + oldVal.push(i); + } else { + conflicting.set(conflictFS, [i]); + } + } + } + } + } + + let t = []; + // passive growth influence + arcology[fs] += shared.length; + if (V.showNeighborDetails && shared.length > 0) { + t.push(FutureSocieties.displayName(fs)); + if (fs === "FSSubjugationism") { + t.push(`of ${arcology.FSSubjugationistRace} people`); + } else if (fs === "FSSupremacy") { + t.push(`for ${arcology.FSSupremacistRace} people`); + } + t.push(`in ${arcology.name} is influenced by`); + const sharedNames = shared.map((i) => V.arcologies[i].name + "'s"); + t.push(sharedNames.reduce((res, ch, i, arr) => res + (i === arr.length - 1 ? ' and ' : ', ') + ch) + + ` more advanced ${shared.length === 1 ? "society" : "societies"}.`); + } + + // passive slowing influence + arcology[fs] -= conflicting.size; + if (V.showNeighborDetails && conflicting.size > 0) { + let actualDisplayName = FutureSocieties.displayName(fs); + if (fs === "FSSubjugationism") { + actualDisplayName = `${arcology.FSSubjugationistRace} Subjugationism`; + } else if (fs === "FSSupremacy") { + actualDisplayName = `${arcology.FSSupremacistRace} Supremacy`; + } + t.push(`Development of ${actualDisplayName} in ${arcology.name} is slowed by contact with`); + let conflictOutput = []; + for (const [conflictFS, arcs] of conflicting) { + const conflictNames = arcs.map((i) => V.arcologies[i].name + "'s"); + conflictOutput.push(conflictNames.reduce((res, ch, i, arr) => res + (i === arr.length - 1 ? ' and ' : ', ') + ch) + + ` more advanced ${FutureSocieties.displayAdj(conflictFS)} ${arcs.length === 1 ? "society" : "societies"}`); + } + t.push(conflictOutput.reduce((res, ch, i, arr) => res + (i === arr.length - 1 ? ' and ' : ', ') + ch) + '.'); + } + + return t.join(" "); + } +}; diff --git a/src/neighbor/arcologyOpinion.js b/src/neighbor/arcologyOpinion.js deleted file mode 100644 index 8642f89fc1934c35de09a76deeac9f4c92dce93e..0000000000000000000000000000000000000000 --- a/src/neighbor/arcologyOpinion.js +++ /dev/null @@ -1,367 +0,0 @@ -globalThis.arcologyOpinion = function(activeArcology, targetArcology) { - if (typeof activeArcology.FSNull === "undefined") { activeArcology.FSNull = "unset"; } - if (typeof targetArcology.FSNull === "undefined") { targetArcology.FSNull = "unset"; } - - let opinion = 0; - - if (activeArcology.FSSubjugationist !== "unset") { - if (targetArcology.FSSubjugationist !== "unset") { - if (targetArcology.FSSubjugationistRace === activeArcology.FSSubjugationistRace) { - opinion += activeArcology.FSSubjugationist; - opinion += targetArcology.FSSubjugationist; - } else { - opinion -= activeArcology.FSSubjugationist; - opinion -= targetArcology.FSSubjugationist; - } - } else if (targetArcology.FSSupremacist !== "unset") { - if (targetArcology.FSSupremacistRace === activeArcology.FSSubjugationistRace) { - opinion -= activeArcology.FSSubjugationist; - opinion -= targetArcology.FSSupremacist; - } - } - } - if (activeArcology.FSSupremacist !== "unset") { - if (targetArcology.FSSupremacist !== "unset") { - if (targetArcology.FSSupremacistRace === activeArcology.FSSupremacistRace) { - opinion += activeArcology.FSSupremacist; - opinion += targetArcology.FSSupremacist; - } else { - opinion -= activeArcology.FSSupremacist; - opinion -= targetArcology.FSSupremacist; - } - } else if (targetArcology.FSSubjugationist !== "unset") { - if (targetArcology.FSSubjugationistRace === activeArcology.FSSupremacistRace) { - opinion -= activeArcology.FSSupremacist; - opinion -= targetArcology.FSSubjugationist; - } - } - } - if (activeArcology.FSRepopulationFocus !== "unset") { - if (targetArcology.FSRepopulationFocus !== "unset") { - opinion += activeArcology.FSRepopulationFocus; - opinion += targetArcology.FSRepopulationFocus; - } else if (targetArcology.FSRestart !== "unset") { - opinion -= activeArcology.FSRepopulationFocus; - opinion -= targetArcology.FSRestart; - } - } else if (activeArcology.FSRestart !== "unset") { - if (targetArcology.FSRestart !== "unset") { - opinion += activeArcology.FSRestart; - opinion += targetArcology.FSRestart; - } else if (targetArcology.FSRepopulationFocus !== "unset") { - opinion -= activeArcology.FSRestart; - opinion -= targetArcology.FSRepopulationFocus; - } - } - if (activeArcology.FSGenderRadicalist !== "unset") { - if (targetArcology.FSGenderRadicalist !== "unset") { - opinion += activeArcology.FSGenderRadicalist; - opinion += targetArcology.FSGenderRadicalist; - } else if (targetArcology.FSGenderFundamentalist !== "unset") { - opinion -= activeArcology.FSGenderRadicalist; - opinion -= targetArcology.FSGenderFundamentalist; - } - } else if (activeArcology.FSGenderFundamentalist !== "unset") { - if (targetArcology.FSGenderFundamentalist !== "unset") { - opinion += activeArcology.FSGenderFundamentalist; - opinion += targetArcology.FSGenderFundamentalist; - } else if (targetArcology.FSGenderRadicalist !== "unset") { - opinion -= activeArcology.FSGenderFundamentalist; - opinion -= targetArcology.FSGenderRadicalist; - } - } - if (activeArcology.FSPaternalist !== "unset") { - if (targetArcology.FSPaternalist !== "unset") { - opinion += activeArcology.FSPaternalist; - opinion += targetArcology.FSPaternalist; - } else if (targetArcology.FSDegradationist !== "unset") { - opinion -= activeArcology.FSPaternalist; - opinion -= targetArcology.FSDegradationist; - } - } else if (activeArcology.FSDegradationist !== "unset") { - if (targetArcology.FSDegradationist !== "unset") { - opinion += activeArcology.FSDegradationist; - opinion += targetArcology.FSDegradationist; - } else if (targetArcology.FSPaternalist !== "unset") { - opinion -= activeArcology.FSDegradationist; - opinion -= targetArcology.FSPaternalist; - } - } - if (activeArcology.FSBodyPurist !== "unset") { - if (targetArcology.FSBodyPurist !== "unset") { - opinion += activeArcology.FSBodyPurist; - opinion += targetArcology.FSBodyPurist; - } else if (targetArcology.FSTransformationFetishist !== "unset") { - opinion -= activeArcology.FSBodyPurist; - opinion -= targetArcology.FSTransformationFetishist; - } - } else if (activeArcology.FSTransformationFetishist !== "unset") { - if (targetArcology.FSTransformationFetishist !== "unset") { - opinion += activeArcology.FSTransformationFetishist; - opinion += targetArcology.FSTransformationFetishist; - } else if (targetArcology.FSBodyPurist !== "unset") { - opinion -= activeArcology.FSTransformationFetishist; - opinion -= targetArcology.FSBodyPurist; - } - } - if (activeArcology.FSYouthPreferentialist !== "unset") { - if (targetArcology.FSYouthPreferentialist !== "unset") { - opinion += activeArcology.FSYouthPreferentialist; - opinion += targetArcology.FSYouthPreferentialist; - } else if (targetArcology.FSMaturityPreferentialist !== "unset") { - opinion -= activeArcology.FSYouthPreferentialist; - opinion -= targetArcology.FSMaturityPreferentialist; - } - } else if (activeArcology.FSMaturityPreferentialist !== "unset") { - if (targetArcology.FSMaturityPreferentialist !== "unset") { - opinion += activeArcology.FSMaturityPreferentialist; - opinion += targetArcology.FSMaturityPreferentialist; - } else if (targetArcology.FSYouthPreferentialist !== "unset") { - opinion -= activeArcology.FSMaturityPreferentialist; - opinion -= targetArcology.FSYouthPreferentialist; - } - } - if (activeArcology.FSSlimnessEnthusiast !== "unset") { - if (targetArcology.FSSlimnessEnthusiast !== "unset") { - opinion += activeArcology.FSSlimnessEnthusiast; - opinion += targetArcology.FSSlimnessEnthusiast; - } else if (targetArcology.FSAssetExpansionist !== "unset") { - opinion -= activeArcology.FSSlimnessEnthusiast; - opinion -= targetArcology.FSAssetExpansionist; - } - } else if (activeArcology.FSAssetExpansionist !== "unset") { - if (targetArcology.FSAssetExpansionist !== "unset") { - opinion += activeArcology.FSAssetExpansionist; - opinion += targetArcology.FSAssetExpansionist; - } else if (targetArcology.FSSlimnessEnthusiast !== "unset") { - opinion -= activeArcology.FSAssetExpansionist; - opinion -= targetArcology.FSSlimnessEnthusiast; - } - } - if (activeArcology.FSPastoralist !== "unset") { - if (targetArcology.FSPastoralist !== "unset") { - opinion += activeArcology.FSPastoralist; - opinion += targetArcology.FSPastoralist; - } else if (targetArcology.FSCummunism !== "unset") { - opinion -= activeArcology.FSPastoralist; - opinion -= targetArcology.FSCummunism; - } - } else if (activeArcology.FSCummunism !== "unset") { - if (targetArcology.FSCummunism !== "unset") { - opinion += activeArcology.FSCummunism; - opinion += targetArcology.FSCummunism; - } else if (targetArcology.FSPastoralist !== "unset") { - opinion -= activeArcology.FSCummunism; - opinion -= targetArcology.FSPastoralist; - } - } - if (activeArcology.FSPhysicalIdealist !== "unset") { - if (targetArcology.FSPhysicalIdealist !== "unset") { - opinion += activeArcology.FSPhysicalIdealist; - opinion += targetArcology.FSPhysicalIdealist; - } else if (targetArcology.FSHedonisticDecadence !== "unset") { - opinion -= activeArcology.FSPhysicalIdealist; - opinion -= targetArcology.FSHedonisticDecadence; - } - } else if (activeArcology.FSHedonisticDecadence !== "unset") { - if (targetArcology.FSHedonisticDecadence !== "unset") { - opinion += activeArcology.FSHedonisticDecadence; - opinion += targetArcology.FSHedonisticDecadence; - } else if (targetArcology.FSPhysicalIdealist !== "unset") { - opinion -= activeArcology.FSHedonisticDecadence; - opinion -= targetArcology.FSPhysicalIdealist; - } - } - if (activeArcology.FSIntellectualDependency !== "unset") { - if (targetArcology.FSIntellectualDependency !== "unset") { - opinion += activeArcology.FSIntellectualDependency; - opinion += targetArcology.FSIntellectualDependency; - } else if (targetArcology.FSSlaveProfessionalism !== "unset") { - opinion -= activeArcology.FSIntellectualDependency; - opinion -= targetArcology.FSSlaveProfessionalism; - } - } else if (activeArcology.FSSlaveProfessionalism !== "unset") { - if (targetArcology.FSSlaveProfessionalism !== "unset") { - opinion += activeArcology.FSSlaveProfessionalism; - opinion += targetArcology.FSSlaveProfessionalism; - } else if (targetArcology.FSIntellectualDependency !== "unset") { - opinion -= activeArcology.FSSlaveProfessionalism; - opinion -= targetArcology.FSIntellectualDependency; - } - } - if (activeArcology.FSPetiteAdmiration !== "unset") { - if (targetArcology.FSPetiteAdmiration !== "unset") { - opinion += activeArcology.FSPetiteAdmiration; - opinion += targetArcology.FSPetiteAdmiration; - } else if (targetArcology.FSStatuesqueGlorification !== "unset") { - opinion -= activeArcology.FSPetiteAdmiration; - opinion -= targetArcology.FSStatuesqueGlorification; - } - } else if (activeArcology.FSStatuesqueGlorification !== "unset") { - if (targetArcology.FSStatuesqueGlorification !== "unset") { - opinion += activeArcology.FSStatuesqueGlorification; - opinion += targetArcology.FSStatuesqueGlorification; - } else if (targetArcology.FSPetiteAdmiration !== "unset") { - opinion -= activeArcology.FSStatuesqueGlorification; - opinion -= targetArcology.FSPetiteAdmiration; - } - } - if (activeArcology.FSChattelReligionist !== "unset") { - if (targetArcology.FSChattelReligionist !== "unset") { - opinion += activeArcology.FSChattelReligionist; - opinion += targetArcology.FSChattelReligionist; - } else if (targetArcology.FSNull !== "unset") { - opinion -= activeArcology.FSChattelReligionist; - opinion -= targetArcology.FSNull; - } - } else if (activeArcology.FSNull !== "unset") { - if (targetArcology.FSNull !== "unset") { - opinion += activeArcology.FSNull; - opinion += targetArcology.FSNull; - } else if (targetArcology.FSChattelReligionist !== "unset") { - opinion -= activeArcology.FSNull; - opinion -= targetArcology.FSChattelReligionist; - } else { - opinion += activeArcology.FSNull; - } - } else if (targetArcology.FSNull !== "unset") { - opinion += targetArcology.FSNull; - } - if (activeArcology.FSRomanRevivalist !== "unset") { - if (targetArcology.FSRomanRevivalist !== "unset") { - opinion += activeArcology.FSRomanRevivalist; - opinion += targetArcology.FSRomanRevivalist; - } else if (targetArcology.FSAztecRevivalist !== "unset") { - opinion -= activeArcology.FSRomanRevivalist; - opinion -= targetArcology.FSAztecRevivalist; - } else if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion -= activeArcology.FSRomanRevivalist; - opinion -= targetArcology.FSEgyptianRevivalist; - } else if (targetArcology.FSEdoRevivalist !== "unset") { - opinion -= activeArcology.FSRomanRevivalist; - opinion -= targetArcology.FSEdoRevivalist; - } else if (targetArcology.FSArabianRevivalist !== "unset") { - opinion -= activeArcology.FSRomanRevivalist; - opinion -= targetArcology.FSArabianRevivalist; - } else if (targetArcology.FSChineseRevivalist !== "unset") { - opinion -= activeArcology.FSRomanRevivalist; - opinion -= targetArcology.FSChineseRevivalist; - } - } else if (activeArcology.FSAztecRevivalist !== "unset") { - if (targetArcology.FSAztecRevivalist !== "unset") { - opinion += activeArcology.FSAztecRevivalist; - opinion += targetArcology.FSAztecRevivalist; - } else if (targetArcology.FSRomanRevivalist !== "unset") { - opinion -= activeArcology.FSAztecRevivalist; - opinion -= targetArcology.FSRomanRevivalist; - } else if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion -= activeArcology.FSAztecRevivalist; - opinion -= targetArcology.FSEgyptianRevivalist; - } else if (targetArcology.FSEdoRevivalist !== "unset") { - opinion -= activeArcology.FSAztecRevivalist; - opinion -= targetArcology.FSEdoRevivalist; - } else if (targetArcology.FSArabianRevivalist !== "unset") { - opinion -= activeArcology.FSAztecRevivalist; - opinion -= targetArcology.FSArabianRevivalist; - } else if (targetArcology.FSChineseRevivalist !== "unset") { - opinion -= activeArcology.FSAztecRevivalist; - opinion -= targetArcology.FSChineseRevivalist; - } - } else if (activeArcology.FSEgyptianRevivalist !== "unset") { - if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion += activeArcology.FSEgyptianRevivalist; - opinion += targetArcology.FSEgyptianRevivalist; - } else if (targetArcology.FSRomanRevivalist !== "unset") { - opinion -= activeArcology.FSEgyptianRevivalist; - opinion -= targetArcology.FSRomanRevivalist; - } else if (targetArcology.FSAztecRevivalist !== "unset") { - opinion -= activeArcology.FSEgyptianRevivalist; - opinion -= targetArcology.FSAztecRevivalist; - } else if (targetArcology.FSEdoRevivalist !== "unset") { - opinion -= activeArcology.FSEgyptianRevivalist; - opinion -= targetArcology.FSEdoRevivalist; - } else if (targetArcology.FSArabianRevivalist !== "unset") { - opinion -= activeArcology.FSEgyptianRevivalist; - opinion -= targetArcology.FSArabianRevivalist; - } else if (targetArcology.FSChineseRevivalist !== "unset") { - opinion -= activeArcology.FSEgyptianRevivalist; - opinion -= targetArcology.FSChineseRevivalist; - } - if (targetArcology.FSIncestFetishist !== "unset") { - opinion += activeArcology.FSEgyptianRevivalist; - opinion += targetArcology.FSIncestFetishist; - } - } else if (activeArcology.FSEdoRevivalist !== "unset") { - if (targetArcology.FSEdoRevivalist !== "unset") { - opinion += activeArcology.FSEdoRevivalist; - opinion += targetArcology.FSEdoRevivalist; - } else if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion -= activeArcology.FSEdoRevivalist; - opinion -= targetArcology.FSEgyptianRevivalist; - } else if (targetArcology.FSRomanRevivalist !== "unset") { - opinion -= activeArcology.FSEdoRevivalist; - opinion -= targetArcology.FSRomanRevivalist; - } else if (targetArcology.FSAztecRevivalist !== "unset") { - opinion -= activeArcology.FSEdoRevivalist; - opinion -= targetArcology.FSAztecRevivalist; - } else if (targetArcology.FSArabianRevivalist !== "unset") { - opinion -= activeArcology.FSEdoRevivalist; - opinion -= targetArcology.FSArabianRevivalist; - } else if (targetArcology.FSChineseRevivalist !== "unset") { - opinion -= activeArcology.FSEdoRevivalist; - opinion -= targetArcology.FSChineseRevivalist; - } - } else if (activeArcology.FSArabianRevivalist !== "unset") { - if (targetArcology.FSArabianRevivalist !== "unset") { - opinion += activeArcology.FSArabianRevivalist; - opinion += targetArcology.FSArabianRevivalist; - } else if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion -= activeArcology.FSArabianRevivalist; - opinion -= targetArcology.FSEgyptianRevivalist; - } else if (targetArcology.FSEdoRevivalist !== "unset") { - opinion -= activeArcology.FSArabianRevivalist; - opinion -= targetArcology.FSEdoRevivalist; - } else if (targetArcology.FSRomanRevivalist !== "unset") { - opinion -= activeArcology.FSArabianRevivalist; - opinion -= targetArcology.FSRomanRevivalist; - } else if (targetArcology.FSAztecRevivalist !== "unset") { - opinion -= activeArcology.FSArabianRevivalist; - opinion -= targetArcology.FSAztecRevivalist; - } else if (targetArcology.FSChineseRevivalist !== "unset") { - opinion -= activeArcology.FSArabianRevivalist; - opinion -= targetArcology.FSChineseRevivalist; - } - } else if (activeArcology.FSChineseRevivalist !== "unset") { - if (targetArcology.FSChineseRevivalist !== "unset") { - opinion += activeArcology.FSChineseRevivalist; - opinion += targetArcology.FSChineseRevivalist; - } else if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion -= activeArcology.FSChineseRevivalist; - opinion -= targetArcology.FSEgyptianRevivalist; - } else if (targetArcology.FSEdoRevivalist !== "unset") { - opinion -= activeArcology.FSChineseRevivalist; - opinion -= targetArcology.FSEdoRevivalist; - } else if (targetArcology.FSArabianRevivalist !== "unset") { - opinion -= activeArcology.FSChineseRevivalist; - opinion -= targetArcology.FSArabianRevivalist; - } else if (targetArcology.FSRomanRevivalist !== "unset") { - opinion -= activeArcology.FSChineseRevivalist; - opinion -= targetArcology.FSRomanRevivalist; - } else if (targetArcology.FSAztecRevivalist !== "unset") { - opinion -= activeArcology.FSChineseRevivalist; - opinion -= targetArcology.FSAztecRevivalist; - } - } - if (activeArcology.FSIncestFetishist !== "unset") { - if (targetArcology.FSIncestFetishist !== "unset") { - opinion += activeArcology.FSIncestFetishist; - opinion += targetArcology.FSIncestFetishist; - } - if (targetArcology.FSEgyptianRevivalist !== "unset") { - opinion += activeArcology.FSIncestFetishist; - opinion += targetArcology.FSEgyptianRevivalist; - } - } - - return opinion = Number(opinion) || 0; -}; diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index ae50850d999abf599b084c424a500c6c11b3e435..95d9db643b04013c722a4955dc2aa24065daf650 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -1501,7 +1501,7 @@ You own <<set _desc = []>> <<set _descNeg = []>> <<for $i = 1; $i < $arcologies.length; $i++>> - <<set _opinion = arcologyOpinion($arcologies[0], $arcologies[$i])>> + <<set _opinion = ArcologyDiplomacy.opinion(0, $i)>> <<if _opinion >= 100>> <<set _desc.push($arcologies[$i].name)>> <<elseif _opinion <= -100>> diff --git a/src/uncategorized/bulkSlaveGenerate.tw b/src/uncategorized/bulkSlaveGenerate.tw index 9945317d0bb59463708c82a203457e991970896b..c7f3d0b90a52cf310d757cab9f145ddec3263cb2 100644 --- a/src/uncategorized/bulkSlaveGenerate.tw +++ b/src/uncategorized/bulkSlaveGenerate.tw @@ -65,9 +65,8 @@ <<if $numArcology >= $arcologies.length>> <<set $numArcology = 1>> <</if>> - <<set _opinion = arcologyOpinion($arcologies[0], $arcologies[$numArcology])>> - <<set _opinion = Math.trunc(_opinion/20)>> - <<set _opinion = Math.clamp(_opinion, -10, 10)>> + <<set _opinion = ArcologyDiplomacy.opinion(0, $numArcology)>> + <<set _opinion = Math.clamp(Math.trunc(_opinion/20), -10, 10)>> <<set $discount -= (_opinion * 25)>> <</switch>> diff --git a/src/uncategorized/neighborInteract.tw b/src/uncategorized/neighborInteract.tw index 8a569b64a584f3e398d6589fa7fc8c3ceefe361c..97c8bba3c3bfdc2a219b6b7d6a0cc76d4eb46a7f 100644 --- a/src/uncategorized/neighborInteract.tw +++ b/src/uncategorized/neighborInteract.tw @@ -402,7 +402,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br> <<elseif $arcologies[_currentNeighbor].direction === $arcologies[0].embargoTarget>> Due to your active embargo, trade with $arcologies[_currentNeighbor].name is not possible. <<else>> - <<set _opinion = arcologyOpinion($arcologies[_currentNeighbor], $arcologies[0])>> + <<set _opinion = ArcologyDiplomacy.opinion(_currentNeighbor, 0)>> <<set _prices = _opinion*10>> <</if>> <<if $arcologies[_currentNeighbor].FSRomanRevivalist > 95>> diff --git a/src/uncategorized/neighborsDevelopment.tw b/src/uncategorized/neighborsDevelopment.tw index 404defb1f6fd9f15185c8fcc7bddc822bb02bb83..266655e7b0318633d9df4b046d44f3e34125f816 100644 --- a/src/uncategorized/neighborsDevelopment.tw +++ b/src/uncategorized/neighborsDevelopment.tw @@ -177,246 +177,13 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh Its direct democracy votes to empower some elected officials in the hope they can lead the arcology out of its problems. <<set $arcologies[$i].government = "elected officials">> <</switch>> - <<set $desc = []>> - <<if $arcologies[$i].FSSubjugationist != "unset">> - <<if $arcologies[$i].FSSubjugationist < random(10,150)>> - <<set $desc.push("Racial Subjugationism")>> - <<set $arcologies[$i].FSSubjugationist = "unset">> - <<else>> - <<set $arcologies[$i].FSSubjugationist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSSupremacist != "unset">> - <<if $arcologies[$i].FSSupremacist < random(10,150)>> - <<set $desc.push("Racial Supremacy")>> - <<set $arcologies[$i].FSSupremacist = "unset">> - <<else>> - <<set $arcologies[$i].FSSupremacist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSRepopulationFocus != "unset">> - <<if $arcologies[$i].FSRepopulationFocus < random(10,150)>> - <<set $desc.push("Repopulation Focus")>> - <<set $arcologies[$i].FSRepopulationFocus = "unset">> - <<else>> - <<set $arcologies[$i].FSRepopulationFocus -= 10>> - <</if>> - <<elseif $arcologies[$i].FSRestart != "unset">> - <<if $arcologies[$i].FSRestart < random(10,150)>> - <<set $desc.push("Eugenics")>> - <<set $arcologies[$i].FSRestart = "unset">> - <<else>> - <<set $arcologies[$i].FSRestart -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSGenderRadicalist != "unset">> - <<if $arcologies[$i].FSGenderRadicalist < random(10,150)>> - <<set $desc.push("Gender Radicalism")>> - <<set $arcologies[$i].FSGenderRadicalist = "unset">> - <<else>> - <<set $arcologies[$i].FSGenderRadicalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSGenderFundamentalist != "unset">> - <<if $arcologies[$i].FSGenderFundamentalist < random(10,150)>> - <<set $desc.push("Gender Fundamentalism")>> - <<set $arcologies[$i].FSGenderFundamentalist = "unset">> - <<else>> - <<set $arcologies[$i].FSGenderFundamentalist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSPaternalist != "unset">> - <<if $arcologies[$i].FSPaternalist < random(10,150)>> - <<set $desc.push("Paternalism")>> - <<set $arcologies[$i].FSPaternalist = "unset">> - <<else>> - <<set $arcologies[$i].FSPaternalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSDegradationist != "unset">> - <<if $arcologies[$i].FSDegradationist < random(10,150)>> - <<set $desc.push("Degradationism")>> - <<set $arcologies[$i].FSDegradationist = "unset">> - <<else>> - <<set $arcologies[$i].FSDegradationist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSIntellectualDependency != "unset">> - <<if $arcologies[$i].FSIntellectualDependency < random(10,150)>> - <<set $desc.push("Intellectual Dependency")>> - <<set $arcologies[$i].FSIntellectualDependency = "unset">> - <<else>> - <<set $arcologies[$i].FSIntellectualDependency -= 10>> - <</if>> - <<elseif $arcologies[$i].FSSlaveProfessionalism != "unset">> - <<if $arcologies[$i].FSSlaveProfessionalism < random(10,150)>> - <<set $desc.push("Slave Professionalism")>> - <<set $arcologies[$i].FSSlaveProfessionalism = "unset">> - <<else>> - <<set $arcologies[$i].FSSlaveProfessionalism -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSBodyPurist != "unset">> - <<if $arcologies[$i].FSBodyPurist < random(10,150)>> - <<set $desc.push("Body Purism")>> - <<set $arcologies[$i].FSBodyPurist = "unset">> - <<else>> - <<set $arcologies[$i].FSBodyPurist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSTransformationFetishist != "unset">> - <<if $arcologies[$i].FSTransformationFetishist < random(10,150)>> - <<set $desc.push("Transformation Fetishism")>> - <<set $arcologies[$i].FSTransformationFetishist = "unset">> - <<else>> - <<set $arcologies[$i].FSTransformationFetishist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSYouthPreferentialist != "unset">> - <<if $arcologies[$i].FSYouthPreferentialist < random(10,150)>> - <<set $desc.push("Youth Preferentialism")>> - <<set $arcologies[$i].FSYouthPreferentialist = "unset">> - <<else>> - <<set $arcologies[$i].FSYouthPreferentialist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSMaturityPreferentialist != "unset">> - <<if $arcologies[$i].FSMaturityPreferentialist < random(10,150)>> - <<set $desc.push("Maturity Preferentialism")>> - <<set $arcologies[$i].FSMaturityPreferentialist = "unset">> - <<else>> - <<set $arcologies[$i].FSMaturityPreferentialist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSPetiteAdmiration != "unset">> - <<if $arcologies[$i].FSPetiteAdmiration < random(10,150)>> - <<set $desc.push("Petite Admiration")>> - <<set $arcologies[$i].FSPetiteAdmiration = "unset">> - <<else>> - <<set $arcologies[$i].FSPetiteAdmiration -= 10>> - <</if>> - <<elseif $arcologies[$i].FSStatuesqueGlorification != "unset">> - <<if $arcologies[$i].FSStatuesqueGlorification < random(10,150)>> - <<set $desc.push("Statuesque Glorification")>> - <<set $arcologies[$i].FSStatuesqueGlorification = "unset">> - <<else>> - <<set $arcologies[$i].FSStatuesqueGlorification -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSSlimnessEnthusiast != "unset">> - <<if $arcologies[$i].FSSlimnessEnthusiast < random(10,150)>> - <<set $desc.push("Slimness Enthusiasm")>> - <<set $arcologies[$i].FSSlimnessEnthusiast = "unset">> - <<else>> - <<set $arcologies[$i].FSSlimnessEnthusiast -= 10>> - <</if>> - <<elseif $arcologies[$i].FSAssetExpansionist != "unset">> - <<if $arcologies[$i].FSAssetExpansionist < random(10,150)>> - <<set $desc.push("Asset Expansionism")>> - <<set $arcologies[$i].FSAssetExpansionist = "unset">> - <<else>> - <<set $arcologies[$i].FSAssetExpansionist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSPastoralist != "unset">> - <<if $arcologies[$i].FSPastoralist < random(10,150)>> - <<set $desc.push("Pastoralism")>> - <<set $arcologies[$i].FSPastoralist = "unset">> - <<else>> - <<set $arcologies[$i].FSPastoralist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSCummunism != "unset">> - <<if $arcologies[$i].FSCummunism < random(10,150)>> - <<set $desc.push("Cummunism")>> - <<set $arcologies[$i].FSCummunism = "unset">> - <<else>> - <<set $arcologies[$i].FSCummunism -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSPhysicalIdealist != "unset">> - <<if $arcologies[$i].FSPhysicalIdealist < random(10,150)>> - <<set $desc.push("Physical Idealism")>> - <<set $arcologies[$i].FSPhysicalIdealist = "unset">> - <<else>> - <<set $arcologies[$i].FSPhysicalIdealist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSHedonisticDecadence != "unset">> - <<if $arcologies[$i].FSHedonisticDecadence < random(10,150)>> - <<set $desc.push("Decadent Hedonism")>> - <<set $arcologies[$i].FSHedonisticDecadence = "unset">> - <<else>> - <<set $arcologies[$i].FSHedonisticDecadence -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSIncestFetishist != "unset">> - <<if $arcologies[$i].FSIncestFetishist < random(10,150)>> - <<set $desc.push("Incest Fetishism")>> - <<set $arcologies[$i].FSIncestFetishist = "unset">> - <<else>> - <<set $arcologies[$i].FSIncestFetishist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSChattelReligionist != "unset">> - <<if $arcologies[$i].FSChattelReligionist < random(10,150)>> - <<set $desc.push("Chattel Religionism")>> - <<set $arcologies[$i].FSChattelReligionist = "unset">> - <<else>> - <<set $arcologies[$i].FSChattelReligionist -= 10>> - <</if>> - <</if>> - <<if $arcologies[$i].FSRomanRevivalist != "unset">> - <<if $arcologies[$i].FSRomanRevivalist < random(10,150)>> - <<set $desc.push("Roman Revivalism")>> - <<set $arcologies[$i].FSRomanRevivalist = "unset">> - <<else>> - <<set $arcologies[$i].FSRomanRevivalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSAztecRevivalist != "unset">> - <<if $arcologies[$i].FSAztecRevivalist < random(10,150)>> - <<set $desc.push("Aztec Revivalism")>> - <<set $arcologies[$i].FSAztecRevivalist = "unset">> - <<else>> - <<set $arcologies[$i].FSAztecRevivalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSEgyptianRevivalist != "unset">> - <<if $arcologies[$i].FSEgyptianRevivalist < random(10,150)>> - <<set $desc.push("Egyptian Revivalism")>> - <<set $arcologies[$i].FSEgyptianRevivalist = "unset">> - <<else>> - <<set $arcologies[$i].FSEgyptianRevivalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSEdoRevivalist != "unset">> - <<if $arcologies[$i].FSEdoRevivalist < random(10,150)>> - <<set $desc.push("Edo Revivalism")>> - <<set $arcologies[$i].FSEdoRevivalist = "unset">> - <<else>> - <<set $arcologies[$i].FSEdoRevivalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSArabianRevivalist != "unset">> - <<if $arcologies[$i].FSArabianRevivalist < random(10,150)>> - <<set $desc.push("Arabian Revivalism")>> - <<set $arcologies[$i].FSArabianRevivalist = "unset">> - <<else>> - <<set $arcologies[$i].FSArabianRevivalist -= 10>> - <</if>> - <<elseif $arcologies[$i].FSChineseRevivalist != "unset">> - <<if $arcologies[$i].FSChineseRevivalist < random(10,150)>> - <<set $desc.push("Chinese Revivalism")>> - <<set $arcologies[$i].FSChineseRevivalist = "unset">> - <<else>> - <<set $arcologies[$i].FSChineseRevivalist -= 10>> - <</if>> - <</if>> - <<if $desc.length == 0>> - <<elseif $desc.length > 2>> - Its citizens take the opportunity to make radical social changes, @@.cyan;purging the $desc[0], - <<for _k = 1; _k < $desc.length; _k++>> - <<if _k < $desc.length-1>> - $desc[_k], - <<else>> - and $desc[_k]@@ favored by the old government. - <</if>> - <</for>> - <<elseif $desc.length == 2>> - Its citizens take the opportunity to make social changes, @@.cyan;discarding the $desc[0] and $desc[1]@@ favored by the old government. - <<else>> - Its citizens take the opportunity to make social change and @@.cyan;abandon the $desc[0]@@ favored by the old government. + <<set _desc = FutureSocieties.decay($i).map((fs) => FutureSocieties.displayName(fs))>> + <<if _desc.length > 2>> + Its citizens take the opportunity to make radical social changes, @@.cyan;purging the <<= _desc.reduce((res, ch, i, arr) => res + (i === arr.length - 1 ? ' and ' : ', ') + ch)>>@@ favored by the old government. + <<elseif _desc.length == 2>> + Its citizens take the opportunity to make social changes, @@.cyan;discarding the _desc[0] and _desc[1]@@ favored by the old government. + <<elseif _desc.length == 1>> + Its citizens take the opportunity to make social change and @@.cyan;abandon the _desc[0]@@ favored by the old government. <</if>> <<else>> The arcology is paralyzed by internal dissension over how to respond. @@ -656,29 +423,12 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <<set _efficiency += random(0,2)>> <</if>> -<<set _FSCrossThresh = 5>> -<<if $arcologies[$i].direction == 0>> - <<set _FSCrossThresh -= $policies.culturalOpenness*5>> -<</if>> -<<if $arcologies[$i].ownership >= 100>> - <<set _FSCrossThresh += 5>> -<</if>> - <<if $arcologies[$i].direction != 0>> <<run FutureSocieties.applyBroadProgress($i, _efficiency)>> <</if>> +<<set _passive = new ArcologyFSPassiveInfluence($i)>> <<if $arcologies[$i].FSSupremacist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if ($arcologies[$j].FSSupremacist > $arcologies[$i].FSSupremacist + _FSCrossThresh) && ($arcologies[$j].FSSupremacistRace == $arcologies[$i].FSSupremacistRace)>> - <<if $showNeighborDetails != 0>>Racial Supremacy for $arcologies[$i].FSSupremacistRace people in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSSupremacist += 1>> - <<elseif ($arcologies[$j].FSSubjugationist > $arcologies[$i].FSSupremacist + _FSCrossThresh) && ($arcologies[$j].FSSubjugationist == $arcologies[$i].FSSupremacistRace)>> - <<if $showNeighborDetails != 0>>Development of $arcologies[$i].FSSupremacistRace Supremacy in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Subjugationist society.<</if>> - <<set $arcologies[$i].FSSupremacist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSSupremacist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSSupremacist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -728,17 +478,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSSubjugationist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if ($arcologies[$j].FSSubjugationist > $arcologies[$i].FSSubjugationist + _FSCrossThresh) && ($arcologies[$j].FSSubjugationistRace == $arcologies[$i].FSSubjugationistRace)>> - <<if $showNeighborDetails != 0>>Racial Subjugationism of $arcologies[$i].FSSubjugationistRace people in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSSubjugationist += 1>> - <<elseif ($arcologies[$j].FSSupremacist > $arcologies[$i].FSSubjugationist + _FSCrossThresh) && ($arcologies[$j].FSSupremacist == $arcologies[$i].FSSubjugationistRace)>> - <<if $showNeighborDetails != 0>>Development of $arcologies[$i].FSSubjugationistRace Supremacy in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Supremacist society.<</if>> - <<set $arcologies[$i].FSSubjugationist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSSubjugationist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSSubjugationist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -788,17 +528,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSRepopulationFocus != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSRepopulationFocus > $arcologies[$i].FSRepopulationFocus + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Repopulationism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSRepopulationFocus += 1>> - <<elseif $arcologies[$j].FSRestart > $arcologies[$i].FSRepopulationFocus + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Repopulationism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Eugenics society.<</if>> - <<set $arcologies[$i].FSRepopulationFocus -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSRepopulationFocus")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSRepopulationFocus >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -829,17 +559,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSRestart != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSRestart > $arcologies[$i].FSRestart + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Eugenics in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSRestart += 1>> - <<elseif $arcologies[$j].FSRepopulationFocus > $arcologies[$i].FSRestart + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Eugenics in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Repopulationist society.<</if>> - <<set $arcologies[$i].FSRestart -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSRestart")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSRestart >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -873,17 +593,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSGenderRadicalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSGenderRadicalist > $arcologies[$i].FSGenderRadicalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Gender Radicalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSGenderRadicalist += 1>> - <<elseif $arcologies[$j].FSGenderFundamentalist > $arcologies[$i].FSGenderRadicalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Gender Radicalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Gender Fundamentalist society.<</if>> - <<set $arcologies[$i].FSGenderRadicalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSGenderRadicalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSGenderRadicalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -921,17 +631,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSGenderFundamentalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSGenderFundamentalist > $arcologies[$i].FSGenderFundamentalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Gender Fundamentalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSGenderFundamentalist += 1>> - <<elseif $arcologies[$j].FSGenderRadicalist > $arcologies[$i].FSGenderFundamentalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Gender Fundamentalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Gender Radicalist society.<</if>> - <<set $arcologies[$i].FSGenderFundamentalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSGenderFundamentalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSGenderFundamentalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -956,17 +656,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSPaternalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSPaternalist > $arcologies[$i].FSPaternalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Paternalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSPaternalist += 1>> - <<elseif $arcologies[$j].FSDegradationist > $arcologies[$i].FSPaternalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Paternalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Degradationist society.<</if>> - <<set $arcologies[$i].FSPaternalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSPaternalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSPaternalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -998,17 +688,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSDegradationist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSDegradationist > $arcologies[$i].FSDegradationist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Degradationism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSDegradationist += 1>> - <<elseif $arcologies[$j].FSPaternalist > $arcologies[$i].FSDegradationist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Degradationism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Paternalist society.<</if>> - <<set $arcologies[$i].FSDegradationist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSDegradationist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSDegradationist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1042,17 +722,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSIntellectualDependency != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSIntellectualDependency > $arcologies[$i].FSIntellectualDependency + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Intellectual Dependency in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSIntellectualDependency += 1>> - <<elseif $arcologies[$j].FSSlaveProfessionalism > $arcologies[$i].FSIntellectualDependency + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Intellectual Dependency in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Slave Professionalism society.<</if>> - <<set $arcologies[$i].FSIntellectualDependency -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSIntellectualDependency")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSIntellectualDependency >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1079,17 +749,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSSlaveProfessionalism != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSSlaveProfessionalism > $arcologies[$i].FSSlaveProfessionalism + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Slave Professionalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSSlaveProfessionalism += 1>> - <<elseif $arcologies[$j].FSIntellectualDependency > $arcologies[$i].FSSlaveProfessionalism + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Slave Professionalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Intellectual Dependency society.<</if>> - <<set $arcologies[$i].FSSlaveProfessionalism -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSSlaveProfessionalism")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSSlaveProfessionalism >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1133,17 +793,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSBodyPurist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSBodyPurist > $arcologies[$i].FSBodyPurist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Body Purism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSBodyPurist += 1>> - <<elseif $arcologies[$j].FSTransformationFetishist > $arcologies[$i].FSBodyPurist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Body Purism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Transformation Fetishist society.<</if>> - <<set $arcologies[$i].FSBodyPurist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSBodyPurist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSBodyPurist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1168,17 +818,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSTransformationFetishist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSTransformationFetishist > $arcologies[$i].FSTransformationFetishist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Transformation Fetishism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSTransformationFetishist += 1>> - <<elseif $arcologies[$j].FSBodyPurist > $arcologies[$i].FSTransformationFetishist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Transformation Fetishism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Body Purist society.<</if>> - <<set $arcologies[$i].FSTransformationFetishist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSTransformationFetishist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSTransformationFetishist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1208,17 +848,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSYouthPreferentialist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSYouthPreferentialist > $arcologies[$i].FSYouthPreferentialist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Youth Preferentialism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSYouthPreferentialist += 1>> - <<elseif $arcologies[$j].FSMaturityPreferentialist > $arcologies[$i].FSYouthPreferentialist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Youth Preferentialism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Maturity Preferentialist society.<</if>> - <<set $arcologies[$i].FSYouthPreferentialist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSYouthPreferentialist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSYouthPreferentialist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1248,17 +878,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSMaturityPreferentialist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSMaturityPreferentialist > $arcologies[$i].FSMaturityPreferentialist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Maturity Preferentialism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSMaturityPreferentialist += 1>> - <<elseif $arcologies[$j].FSYouthPreferentialist > $arcologies[$i].FSMaturityPreferentialist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Maturity Preferentialism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Youth Preferentialist society.<</if>> - <<set $arcologies[$i].FSMaturityPreferentialist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSMaturityPreferentialist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSMaturityPreferentialist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1283,17 +903,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSPetiteAdmiration != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSPetiteAdmiration > $arcologies[$i].FSPetiteAdmiration + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Petite Admiration in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSPetiteAdmiration += 1>> - <<elseif $arcologies[$j].FSStatuesqueGlorification > $arcologies[$i].FSPetiteAdmiration + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Petite Admiration in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Statuesque Glorification society.<</if>> - <<set $arcologies[$i].FSPetiteAdmiration -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSPetiteAdmiration")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSPetiteAdmiration >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1320,17 +930,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSStatuesqueGlorification != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSStatuesqueGlorification > $arcologies[$i].FSStatuesqueGlorification + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Statuesque Glorification in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSStatuesqueGlorification += 1>> - <<elseif $arcologies[$j].FSPetiteAdmiration > $arcologies[$i].FSStatuesqueGlorification + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Statuesque Glorification in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Petite Admiration society.<</if>> - <<set $arcologies[$i].FSStatuesqueGlorification -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSStatuesqueGlorification")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSStatuesqueGlorification >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1359,17 +959,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSSlimnessEnthusiast != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSSlimnessEnthusiast > $arcologies[$i].FSSlimnessEnthusiast + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Slimness Enthusiasm in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSSlimnessEnthusiast += 1>> - <<elseif $arcologies[$j].FSAssetExpansionist > $arcologies[$i].FSSlimnessEnthusiast + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Slimness Enthusiasm in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Asset Expansionist society.<</if>> - <<set $arcologies[$i].FSSlimnessEnthusiast -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSSlimnessEnthusiast")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSSlimnessEnthusiast >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1395,17 +985,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSAssetExpansionist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSAssetExpansionist > $arcologies[$i].FSAssetExpansionist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Asset Expansionism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSAssetExpansionist += 1>> - <<elseif $arcologies[$j].FSSlimnessEnthusiast > $arcologies[$i].FSAssetExpansionist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Asset Expansionism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Slimness Enthusiast society.<</if>> - <<set $arcologies[$i].FSAssetExpansionist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSAssetExpansionist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSAssetExpansionist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1439,14 +1019,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSPastoralist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSPastoralist > $arcologies[$i].FSPastoralist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Pastoralism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSPastoralist += 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSPastoralist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSPastoralist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1473,17 +1046,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSCummunism != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSCummunism > $arcologies[$i].FSCummunism + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Cummunism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSCummunism += 1>> - <<elseif $arcologies[$j].FSPastoralist > $arcologies[$i].FSCummunism + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Cummunism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Pastoralist society.<</if>> - <<set $arcologies[$i].FSCummunism -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSCummunism")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSCummunism >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1516,17 +1079,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSPhysicalIdealist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSPhysicalIdealist > $arcologies[$i].FSPhysicalIdealist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Physical Idealism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSPhysicalIdealist += 1>> - <<elseif $arcologies[$j].FSHedonisticDecadence > $arcologies[$i].FSPhysicalIdealist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Physical Idealism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Decadent Hedonism society.<</if>> - <<set $arcologies[$i].FSPhysicalIdealist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSPhysicalIdealist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSPhysicalIdealist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1557,17 +1110,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSHedonisticDecadence != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSHedonisticDecadence > $arcologies[$i].FSHedonisticDecadence + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Decadent Hedonism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSHedonisticDecadence += 1>> - <<elseif $arcologies[$j].FSPhysicalIdealist > $arcologies[$i].FSHedonisticDecadence + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Decadent Hedonism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Physical Idealism society.<</if>> - <<set $arcologies[$i].FSHedonisticDecadence -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSHedonisticDecadence")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSHedonisticDecadence >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1597,14 +1140,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSIncestFetishist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSIncestFetishist > $arcologies[$i].FSIncestFetishist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Incest Fetishism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSIncestFetishist += 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSIncestFetishist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSIncestFetishist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1629,14 +1165,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSChattelReligionist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSChattelReligionist > $arcologies[$i].FSChattelReligionist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Chattel Religionism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSChattelReligionist += 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSChattelReligionist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSChattelReligionist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1665,29 +1194,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <<if $arcologies[$i].FSRomanRevivalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSRomanRevivalist > $arcologies[$i].FSRomanRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Roman Revivalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSRomanRevivalist += 1>> - <<elseif $arcologies[$j].FSAztecRevivalist > $arcologies[$i].FSRomanRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Roman Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Aztec Revivalist society.<</if>> - <<set $arcologies[$i].FSRomanRevivalist -= 1>> - <<elseif $arcologies[$j].FSChineseRevivalist > $arcologies[$i].FSRomanRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Roman Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Chinese Revivalist society.<</if>> - <<set $arcologies[$i].FSRomanRevivalist -= 1>> - <<elseif $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSRomanRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Roman Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Egyptian Revivalist society.<</if>> - <<set $arcologies[$i].FSRomanRevivalist -= 1>> - <<elseif $arcologies[$j].FSEdoRevivalist > $arcologies[$i].FSRomanRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Roman Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Edo Revivalist society.<</if>> - <<set $arcologies[$i].FSRomanRevivalist -= 1>> - <<elseif $arcologies[$j].FSArabianRevivalist > $arcologies[$i].FSRomanRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Roman Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Arabian Revivalist society.<</if>> - <<set $arcologies[$i].FSRomanRevivalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSRomanRevivalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSRomanRevivalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1710,29 +1217,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSAztecRevivalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSAztecRevivalist > $arcologies[$i].FSAztecRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Aztec Revivalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSAztecRevivalist += 1>> - <<elseif $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSAztecRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Aztec Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Egyptian Revivalist society.<</if>> - <<set $arcologies[$i].FSAztecRevivalist -= 1>> - <<elseif $arcologies[$j].FSRomanRevivalist > $arcologies[$i].FSAztecRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Aztec Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Roman Revivalist society.<</if>> - <<set $arcologies[$i].FSAztecRevivalist -= 1>> - <<elseif $arcologies[$j].FSChineseRevivalist > $arcologies[$i].FSAztecRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Aztec Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Chinese Revivalist society.<</if>> - <<set $arcologies[$i].FSAztecRevivalist -= 1>> - <<elseif $arcologies[$j].FSEdoRevivalist > $arcologies[$i].FSAztecRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Aztec Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Edo Revivalist society.<</if>> - <<set $arcologies[$i].FSAztecRevivalist -= 1>> - <<elseif $arcologies[$j].FSArabianRevivalist > $arcologies[$i].FSAztecRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Aztec Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Arabian Revivalist society.<</if>> - <<set $arcologies[$i].FSAztecRevivalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSAztecRevivalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSAztecRevivalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1755,29 +1240,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSEgyptianRevivalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSEgyptianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Egyptian Revivalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSEgyptianRevivalist += 1>> - <<elseif $arcologies[$j].FSRomanRevivalist > $arcologies[$i].FSEgyptianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Egyptian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Roman Revivalist society.<</if>> - <<set $arcologies[$i].FSEgyptianRevivalist -= 1>> - <<elseif $arcologies[$j].FSAztecRevivalist > $arcologies[$i].FSEgyptianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Egyptian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Aztec Revivalist society.<</if>> - <<set $arcologies[$i].FSEgyptianRevivalist -= 1>> - <<elseif $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSEgyptianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Egyptian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Chinese Revivalist society.<</if>> - <<set $arcologies[$i].FSEgyptianRevivalist -= 1>> - <<elseif $arcologies[$j].FSEdoRevivalist > $arcologies[$i].FSEgyptianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Egyptian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Edo Revivalist society.<</if>> - <<set $arcologies[$i].FSEgyptianRevivalist -= 1>> - <<elseif $arcologies[$j].FSArabianRevivalist > $arcologies[$i].FSEgyptianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Egyptian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Arabian Revivalist society.<</if>> - <<set $arcologies[$i].FSEgyptianRevivalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSEgyptianRevivalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSEgyptianRevivalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1800,29 +1263,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSEdoRevivalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSEdoRevivalist > $arcologies[$i].FSEdoRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Edo Revivalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSEdoRevivalist += 1>> - <<elseif $arcologies[$j].FSRomanRevivalist > $arcologies[$i].FSEdoRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Edo Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Roman Revivalist society.<</if>> - <<set $arcologies[$i].FSEdoRevivalist -= 1>> - <<elseif $arcologies[$j].FSAztecRevivalist > $arcologies[$i].FSEdoRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Edo Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Aztec Revivalist society.<</if>> - <<set $arcologies[$i].FSEdoRevivalist -= 1>> - <<elseif $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSEdoRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Edo Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Egyptian Revivalist society.<</if>> - <<set $arcologies[$i].FSEdoRevivalist -= 1>> - <<elseif $arcologies[$j].FSChineseRevivalist > $arcologies[$i].FSEdoRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Edo Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Chinese Revivalist society.<</if>> - <<set $arcologies[$i].FSEdoRevivalist -= 1>> - <<elseif $arcologies[$j].FSArabianRevivalist > $arcologies[$i].FSEdoRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Edo Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Arabian Revivalist society.<</if>> - <<set $arcologies[$i].FSEdoRevivalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSEdoRevivalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSEdoRevivalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1845,29 +1286,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSArabianRevivalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSArabianRevivalist > $arcologies[$i].FSArabianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Arabian Revivalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSArabianRevivalist += 1>> - <<elseif $arcologies[$j].FSRomanRevivalist > $arcologies[$i].FSArabianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Arabian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Roman Revivalist society.<</if>> - <<set $arcologies[$i].FSArabianRevivalist -= 1>> - <<elseif $arcologies[$j].FSAztecRevivalist > $arcologies[$i].FSArabianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Arabian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Aztec Revivalist society.<</if>> - <<set $arcologies[$i].FSArabianRevivalist -= 1>> - <<elseif $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSArabianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Arabian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Egyptian Revivalist society.<</if>> - <<set $arcologies[$i].FSArabianRevivalist -= 1>> - <<elseif $arcologies[$j].FSEdoRevivalist > $arcologies[$i].FSArabianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Arabian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Edo Revivalist society.<</if>> - <<set $arcologies[$i].FSArabianRevivalist -= 1>> - <<elseif $arcologies[$j].FSChineseRevivalist > $arcologies[$i].FSArabianRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Arabian Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Chinese Revivalist society.<</if>> - <<set $arcologies[$i].FSArabianRevivalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSArabianRevivalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSArabianRevivalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -1894,29 +1313,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<elseif $arcologies[$i].FSChineseRevivalist != "unset">> - <<for $j = 0; $j < $arcologies.length; $j++>> - <<if $arcologies[$i].direction != $arcologies[$j].direction>> - <<if $arcologies[$j].FSChineseRevivalist > $arcologies[$i].FSChineseRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Chinese Revivalism in $arcologies[$i].name is influenced by $arcologies[$j].name's more advanced society.<</if>> - <<set $arcologies[$i].FSChineseRevivalist += 1>> - <<elseif $arcologies[$j].FSRomanRevivalist > $arcologies[$i].FSChineseRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Chinese Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Roman Revivalist society.<</if>> - <<set $arcologies[$i].FSChineseRevivalist -= 1>> - <<elseif $arcologies[$j].FSAztecRevivalist > $arcologies[$i].FSChineseRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Chinese Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Aztec Revivalist society.<</if>> - <<set $arcologies[$i].FSChineseRevivalist -= 1>> - <<elseif $arcologies[$j].FSEgyptianRevivalist > $arcologies[$i].FSChineseRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Chinese Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Egyptian Revivalist society.<</if>> - <<set $arcologies[$i].FSChineseRevivalist -= 1>> - <<elseif $arcologies[$j].FSEdoRevivalist > $arcologies[$i].FSChineseRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Chinese Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Edo Revivalist society.<</if>> - <<set $arcologies[$i].FSChineseRevivalist -= 1>> - <<elseif $arcologies[$j].FSArabianRevivalist > $arcologies[$i].FSChineseRevivalist + _FSCrossThresh>> - <<if $showNeighborDetails != 0>>Development of Chinese Revivalism in $arcologies[$i].name is slowed by contact with $arcologies[$j].name's more advanced Arabian Revivalist society.<</if>> - <<set $arcologies[$i].FSChineseRevivalist -= 1>> - <</if>> - <</if>> - <</for>> + <<= _passive.output("FSChineseRevivalist")>> <<if $arcologies[$i].direction != 0>> <<if $arcologies[$i].FSChineseRevivalist >= $FSLockinLevel>> <<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>> @@ -2356,7 +1753,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh '' $arcologies[$j].name'''s culture is beginning to influence $arcologies[$i].name's $desc[0]. <</if>> -<<if _appliedInfluenceBonus < 0>> +<<if _appliedInfluenceBonus > 0>> <<if _appliedInfluenceBonus < 5>> $arcologies[$j].name is societally advanced, giving it extra influence. <<else>> @@ -2364,7 +1761,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</if>> <<if $arcologies[$i].ownership >= 100>> - <<if _appliedInfluenceBonus < 0>>However, <</if>>$arcologies[$i].name is under completely unified control, making it resistant to change. + <<if _appliedInfluenceBonus > 0>>However, <</if>>$arcologies[$i].name is under completely unified control, making it resistant to change. <</if>> <<if $arcologies[$j].direction != 0>> @@ -2381,419 +1778,11 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh <</if>> <</for>> /* CLOSES INFLUENCE RECEPTION */ -/* INFLUENCE INITIATION */ - <<if $arcologies[$i].direction != 0>> -<<if $arcologies[$i].influenceTarget == -1>> - -<<set _influential = 0>> /* CHECK IF INFLUENTIAL */ -<<if $arcologies[$i].FSSubjugationist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSSupremacist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSRepopulationFocus > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSRestart > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSGenderRadicalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSGenderFundamentalist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSPaternalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSDegradationist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSIntellectualDependency > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSSlaveProfessionalism > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSBodyPurist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSTransformationFetishist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSYouthPreferentialist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSMaturityPreferentialist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSPetiteAdmiration > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSStatuesqueGlorification > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSSlimnessEnthusiast > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSAssetExpansionist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSPastoralist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSCummunism > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSPhysicalIdealist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSHedonisticDecadence > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSIncestFetishist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSChattelReligionist > 60>> - <<set _influential = 1>> -<</if>> -<<if $arcologies[$i].FSRomanRevivalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSAztecRevivalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSEgyptianRevivalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSEdoRevivalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSArabianRevivalist > 60>> - <<set _influential = 1>> -<<elseif $arcologies[$i].FSChineseRevivalist > 60>> - <<set _influential = 1>> -<</if>> - -<<if _influential == 1>> /* SELECT AN ARCOLOGY TO INFLUENCE */ - -<<set _eligibleTargets = []>> -<<for $j = 0; $j < $arcologies.length; $j++>> -<<if $arcologies[$j].direction != $arcologies[$i].direction>> -<<if ($arcologies[$i].government != "your trustees" && $arcologies[$i].government != "your agent") || ($arcologies[$j].direction != 0)>> - -<<if $arcologies[$i].FSSubjugationist != "unset">> - <<if $arcologies[$j].FSSubjugationist != "unset">> - <<if $arcologies[$j].FSSubjugationistRace == $arcologies[$i].FSSubjugationistRace>> - <<if $arcologies[$j].FSSubjugationist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<else>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSSupremacist != "unset">> - <<if $arcologies[$j].FSSupremacistRace == $arcologies[$i].FSSubjugationistRace>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <</if>> -<</if>> -<<if $arcologies[$i].FSSupremacist != "unset">> - <<if $arcologies[$j].FSSupremacist != "unset">> - <<if $arcologies[$j].FSSupremacistRace == $arcologies[$i].FSSupremacistRace>> - <<if $arcologies[$j].FSSupremacist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<else>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSSubjugationist != "unset">> - <<if $arcologies[$j].FSSubjugationistRace == $arcologies[$i].FSSupremacistRace>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <</if>> -<</if>> -<<if $arcologies[$i].FSRepopulationFocus != "unset">> - <<if $arcologies[$j].FSRepopulationFocus != "unset">> - <<if $arcologies[$j].FSRepopulationFocus < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSRestart != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSRestart != "unset">> - <<if $arcologies[$j].FSRestart != "unset">> - <<if $arcologies[$j].FSRestart < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSRepopulationFocus != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> + <<if $arcologies[$i].influenceTarget == -1>> + <<run ArcologyDiplomacy.selectInfluenceTarget($i)>> <</if>> <</if>> -<<if $arcologies[$i].FSGenderRadicalist != "unset">> - <<if $arcologies[$j].FSGenderRadicalist != "unset">> - <<if $arcologies[$j].FSGenderRadicalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSGenderFundamentalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSGenderFundamentalist != "unset">> - <<if $arcologies[$j].FSGenderFundamentalist != "unset">> - <<if $arcologies[$j].FSGenderFundamentalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSGenderRadicalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSPaternalist != "unset">> - <<if $arcologies[$j].FSPaternalist != "unset">> - <<if $arcologies[$j].FSPaternalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSDegradationist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSDegradationist != "unset">> - <<if $arcologies[$j].FSDegradationist != "unset">> - <<if $arcologies[$j].FSDegradationist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSPaternalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSIntellectualDependency != "unset">> - <<if $arcologies[$j].FSIntellectualDependency != "unset">> - <<if $arcologies[$j].FSIntellectualDependency < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSSlaveProfessionalism != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSSlaveProfessionalism != "unset">> - <<if $arcologies[$j].FSSlaveProfessionalism != "unset">> - <<if $arcologies[$j].FSSlaveProfessionalism < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSIntellectualDependency != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSBodyPurist != "unset">> - <<if $arcologies[$j].FSBodyPurist != "unset">> - <<if $arcologies[$j].FSBodyPurist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSTransformationFetishist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSTransformationFetishist != "unset">> - <<if $arcologies[$j].FSTransformationFetishist != "unset">> - <<if $arcologies[$j].FSTransformationFetishist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSBodyPurist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSYouthPreferentialist != "unset">> - <<if $arcologies[$j].FSYouthPreferentialist != "unset">> - <<if $arcologies[$j].FSYouthPreferentialist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSMaturityPreferentialist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSMaturityPreferentialist != "unset">> - <<if $arcologies[$j].FSMaturityPreferentialist != "unset">> - <<if $arcologies[$j].FSMaturityPreferentialist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSYouthPreferentialist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSPetiteAdmiration != "unset">> - <<if $arcologies[$j].FSPetiteAdmiration != "unset">> - <<if $arcologies[$j].FSPetiteAdmiration < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSStatuesqueGlorification != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSStatuesqueGlorification != "unset">> - <<if $arcologies[$j].FSStatuesqueGlorification != "unset">> - <<if $arcologies[$j].FSStatuesqueGlorification < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSPetiteAdmiration != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSSlimnessEnthusiast != "unset">> - <<if $arcologies[$j].FSSlimnessEnthusiast != "unset">> - <<if $arcologies[$j].FSSlimnessEnthusiast < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSAssetExpansionist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSAssetExpansionist != "unset">> - <<if $arcologies[$j].FSAssetExpansionist != "unset">> - <<if $arcologies[$j].FSAssetExpansionist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSSlimnessEnthusiast != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSPastoralist != "unset">> - <<if $arcologies[$j].FSPastoralist != "unset">> - <<if $arcologies[$j].FSPastoralist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSCummunism != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSCummunism != "unset">> - <<if $arcologies[$j].FSCummunism != "unset">> - <<if $arcologies[$j].FSCummunism < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSPastoralist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSPhysicalIdealist != "unset">> - <<if $arcologies[$j].FSPhysicalIdealist != "unset">> - <<if $arcologies[$j].FSPhysicalIdealist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSHedonisticDecadence != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSHedonisticDecadence != "unset">> - <<if $arcologies[$j].FSHedonisticDecadence != "unset">> - <<if $arcologies[$j].FSHedonisticDecadence < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSPhysicalIdealist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> -<<if $arcologies[$i].FSIncestFetishist != "unset">> - <<if $arcologies[$j].FSIncestFetishist != "unset">> - <<if $arcologies[$j].FSIncestFetishist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <</if>> -<</if>> -<<if $arcologies[$i].FSChattelReligionist != "unset">> - <<if $arcologies[$j].FSChattelReligionist != "unset">> - <<if $arcologies[$j].FSChattelReligionist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <</if>> -<</if>> -<<if $arcologies[$i].FSRomanRevivalist != "unset">> - <<if $arcologies[$j].FSRomanRevivalist != "unset">> - <<if $arcologies[$j].FSRomanRevivalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSAztecRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEgyptianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEdoRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSArabianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSChineseRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSAztecRevivalist != "unset">> - <<if $arcologies[$j].FSAztecRevivalist != "unset">> - <<if $arcologies[$j].FSAztecRevivalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSRomanRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEgyptianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEdoRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSArabianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSChineseRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSEgyptianRevivalist != "unset">> - <<if $arcologies[$j].FSEgyptianRevivalist != "unset">> - <<if $arcologies[$j].FSEgyptianRevivalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSRomanRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSAztecRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEdoRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSArabianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSChineseRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSEdoRevivalist != "unset">> - <<if $arcologies[$j].FSEdoRevivalist != "unset">> - <<if $arcologies[$j].FSEdoRevivalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSEgyptianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSRomanRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSAztecRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSArabianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSChineseRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSArabianRevivalist != "unset">> - <<if $arcologies[$j].FSArabianRevivalist != "unset">> - <<if $arcologies[$j].FSArabianRevivalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSEgyptianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEdoRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSRomanRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSAztecRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSChineseRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<<elseif $arcologies[$i].FSChineseRevivalist != "unset">> - <<if $arcologies[$j].FSChineseRevivalist != "unset">> - <<if $arcologies[$j].FSChineseRevivalist < $FSLockinLevel>> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> - <<elseif $arcologies[$j].FSEgyptianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSEdoRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSArabianRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSRomanRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <<elseif $arcologies[$j].FSAztecRevivalist != "unset">> - <<set _eligibleTargets.push($arcologies[$j].direction)>> - <</if>> -<</if>> - -<</if>> -<</if>> -<</for>> - -<<if _eligibleTargets.length > 0>> - <<set $arcologies[$i].influenceTarget = _eligibleTargets.random()>> -<</if>> - -<</if>> /* CLOSES SELECT AN ARCOLOGY TO INFLUENCE */ - -<</if>> -<</if>> /* CLOSES INFLUENCE INITIATION */ <<if $arcologies[$i].direction != 0>> <<set $arcologies[$i].prosperity = Math.clamp($arcologies[$i].prosperity, 1, 300)>> diff --git a/src/uncategorized/neighborsFSAdoption.tw b/src/uncategorized/neighborsFSAdoption.tw index e41634247d5b836d190cbaf07bd1949513222d2b..b044c7c478eac4cdf90486a6556225abfe662720 100644 --- a/src/uncategorized/neighborsFSAdoption.tw +++ b/src/uncategorized/neighborsFSAdoption.tw @@ -871,7 +871,7 @@ societal development. <<set _influenceBonus = 20>> <</if>> - <<set _opinion = arcologyOpinion($arcologies[$i], $arcologies[$j])>> + <<set _opinion = ArcologyDiplomacy.opinion($i, $j)>> <<if _opinion >= 50>> $arcologies[$i].name is aligned with $arcologies[$j].name socially, encouraging it to consider adopting all its cultural values. <<set _influenceBonus += _opinion-50>> diff --git a/src/uncategorized/slaveMarkets.tw b/src/uncategorized/slaveMarkets.tw index 466f2166460263ff3e3fc8cab1615732ca45e502..070a4756e2f9d0c05ab9e7c037e7528d400f61ad 100644 --- a/src/uncategorized/slaveMarkets.tw +++ b/src/uncategorized/slaveMarkets.tw @@ -139,7 +139,7 @@ You visit the slave markets off the arcology plaza. It's always preferable to ex <<case "neighbor">> You're in the area of the slave market that specializes in slaves from within the Free City, viewing slaves from ''<<print "$arcologies[$numArcology].name">>''. Some were trained there, specifically for sale, while others are simply being sold. - <<set _opinion = arcologyOpinion($arcologies[0], $arcologies[$numArcology])>> + <<set _opinion = ArcologyDiplomacy.opinion(0, $numArcology)>> <<if _opinion != 0>> <<set _slaveCost -= Math.trunc(_slaveCost*_opinion*0.05)>> <<if _opinion > 2>>