diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 263d687197f233718597c7d467bd34074cb30839..cfaa2e41b81a9bf0e5b858fc87043e858907a8db 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -3674,6 +3674,167 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati } }; +window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) { + "use strict"; + const V = State.variables; + let errorMessage = ""; + + switch (FS) { + case "Supremacist": + if (Number.isFinite(V.arcologies[0].FSSupremacist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel); + V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Subjugationist": + if (Number.isFinite(V.arcologies[0].FSSubjugationist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel); + V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "GenderRadicalist": + if (Number.isFinite(V.arcologies[0].FSGenderRadicalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel); + V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "GenderFundamentalist": + if (Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel); + V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Paternalist": + if (Number.isFinite(V.arcologies[0].FSPaternalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel); + V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Degradationist": + if (Number.isFinite(V.arcologies[0].FSDegradationist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel); + V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "AssetExpansionist": + if (Number.isFinite(V.arcologies[0].FSAssetExpansionist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel); + V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "SlimnessEnthusiast": + if (Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel); + V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "TransformationFetishist": + if (Number.isFinite(V.arcologies[0].FSTransformationFetishist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel); + V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "BodyPurist": + if (Number.isFinite(V.arcologies[0].FSBodyPurist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel); + V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "MaturityPreferentialist": + if (Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel); + V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "YouthPreferentialist": + if (Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel); + V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Pastoralist": + if (Number.isFinite(V.arcologies[0].FSPastoralist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel); + V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "PhysicalIdealist": + if (Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel); + V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "ChattelReligionist": + if (Number.isFinite(V.arcologies[0].FSChattelReligionist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel); + V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "RomanRevivalist": + if (Number.isFinite(V.arcologies[0].FSRomanRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel); + V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "AztecRevivalist": + if (Number.isFinite(V.activeArcology.FSAztecRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel); + V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "EgyptianRevivalist": + if (Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel); + V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "EdoRevivalist": + if (Number.isFinite(V.arcologies[0].FSEdoRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel); + V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "ArabianRevivalist": + if (Number.isFinite(V.arcologies[0].FSArabianRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel); + V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "ChineseRevivalist": + if (Number.isFinite(V.arcologies[0].FSChineseRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel); + V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Repopulationist": + if (Number.isFinite(V.arcologies[0].FSRepopulationFocus)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel); + V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Eugenics": + if (Number.isFinite(V.arcologies[0].FSRestart)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel); + V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Hedonism": + if (Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel); + V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + default: + errorMessage += "<span class='red'>ERROR: bad FS reference</span>"; + } + return errorMessage; +}; + +/* Currently unused, widget version routes directly through FSChange() */ +window.FSChangePorn = function FSChangePorn(FS, magnitude) { + return FSChange(FS, magnitude, State.variables.pornFameBonus); +}; + window.ordinalSuffix = function ordinalSuffix(i) { var j = i % 10, k = i % 100; diff --git a/src/js/utilJS.tw b/src/js/utilJS.tw index b52094281fa93b7cba001ec00d801b0d2f4fecd9..18549d4aa775c47dcff17da733c7cbd37892327b 100644 --- a/src/js/utilJS.tw +++ b/src/js/utilJS.tw @@ -780,6 +780,167 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati } }; +window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) { + "use strict"; + const V = State.variables; + let errorMessage = ""; + + switch (FS) { + case "Supremacist": + if (Number.isFinite(V.arcologies[0].FSSupremacist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel); + V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Subjugationist": + if (Number.isFinite(V.arcologies[0].FSSubjugationist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel); + V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "GenderRadicalist": + if (Number.isFinite(V.arcologies[0].FSGenderRadicalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel); + V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "GenderFundamentalist": + if (Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel); + V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Paternalist": + if (Number.isFinite(V.arcologies[0].FSPaternalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel); + V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Degradationist": + if (Number.isFinite(V.arcologies[0].FSDegradationist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel); + V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "AssetExpansionist": + if (Number.isFinite(V.arcologies[0].FSAssetExpansionist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel); + V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "SlimnessEnthusiast": + if (Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel); + V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "TransformationFetishist": + if (Number.isFinite(V.arcologies[0].FSTransformationFetishist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel); + V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "BodyPurist": + if (Number.isFinite(V.arcologies[0].FSBodyPurist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel); + V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "MaturityPreferentialist": + if (Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel); + V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "YouthPreferentialist": + if (Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel); + V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Pastoralist": + if (Number.isFinite(V.arcologies[0].FSPastoralist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel); + V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "PhysicalIdealist": + if (Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel); + V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "ChattelReligionist": + if (Number.isFinite(V.arcologies[0].FSChattelReligionist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel); + V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "RomanRevivalist": + if (Number.isFinite(V.arcologies[0].FSRomanRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel); + V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "AztecRevivalist": + if (Number.isFinite(V.activeArcology.FSAztecRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel); + V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "EgyptianRevivalist": + if (Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel); + V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "EdoRevivalist": + if (Number.isFinite(V.arcologies[0].FSEdoRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel); + V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "ArabianRevivalist": + if (Number.isFinite(V.arcologies[0].FSArabianRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel); + V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "ChineseRevivalist": + if (Number.isFinite(V.arcologies[0].FSChineseRevivalist)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel); + V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Repopulationist": + if (Number.isFinite(V.arcologies[0].FSRepopulationFocus)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel); + V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Eugenics": + if (Number.isFinite(V.arcologies[0].FSRestart)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel); + V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + case "Hedonism": + if (Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) { + V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel); + V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1); + } + break; + default: + errorMessage += "<span class='red'>ERROR: bad FS reference</span>"; + } + return errorMessage; +}; + +/* Currently unused, widget version routes directly through FSChange() */ +window.FSChangePorn = function FSChangePorn(FS, magnitude) { + return FSChange(FS, magnitude, State.variables.pornFameBonus); +}; + window.ordinalSuffix = function ordinalSuffix(i) { var j = i % 10, k = i % 100; diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index c0ffc48d7b1690fee8e60974f4665a5d50214171..af9d7fe1eb1bdb73233537e9b5e7bd7614358347 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -757,131 +757,7 @@ This experience $args[2]: Bonus multiplier. (Optional) %/ <<widget "FSChange">> -<<switch $args[0]>> -<<case "Supremacist">> - <<if Number.isFinite($arcologies[0].FSSupremacist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSupremacist/$FSLockinLevel)>> - <<set $arcologies[0].FSSupremacist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Subjugationist">> - <<if Number.isFinite($arcologies[0].FSSubjugationist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSubjugationist/$FSLockinLevel)>> - <<set $arcologies[0].FSSubjugationist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "GenderRadicalist">> - <<if Number.isFinite($arcologies[0].FSGenderRadicalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel)>> - <<set $arcologies[0].FSGenderRadicalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "GenderFundamentalist">> - <<if Number.isFinite($arcologies[0].FSGenderFundamentalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>> - <<set $arcologies[0].FSGenderFundamentalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Paternalist">> - <<if Number.isFinite($arcologies[0].FSPaternalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel)>> - <<set $arcologies[0].FSPaternalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Degradationist">> - <<if Number.isFinite($arcologies[0].FSDegradationist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel)>> - <<set $arcologies[0].FSDegradationist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "AssetExpansionist">> - <<if Number.isFinite($arcologies[0].FSAssetExpansionist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSAssetExpansionist/$FSLockinLevel)>> - <<set $arcologies[0].FSAssetExpansionist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "SlimnessEnthusiast">> - <<if Number.isFinite($arcologies[0].FSSlimnessEnthusiast)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSlimnessEnthusiast/$FSLockinLevel)>> - <<set $arcologies[0].FSSlimnessEnthusiast += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "TransformationFetishist">> - <<if Number.isFinite($arcologies[0].FSTransformationFetishist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSTransformationFetishist/$FSLockinLevel)>> - <<set $arcologies[0].FSTransformationFetishist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "BodyPurist">> - <<if Number.isFinite($arcologies[0].FSBodyPurist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSBodyPurist/$FSLockinLevel)>> - <<set $arcologies[0].FSBodyPurist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "MaturityPreferentialist">> - <<if Number.isFinite($arcologies[0].FSMaturityPreferentialist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSMaturityPreferentialist/$FSLockinLevel)>> - <<set $arcologies[0].FSMaturityPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "YouthPreferentialist">> - <<if Number.isFinite($arcologies[0].FSYouthPreferentialist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSYouthPreferentialist/$FSLockinLevel)>> - <<set $arcologies[0].FSYouthPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Pastoralist">> - <<if Number.isFinite($arcologies[0].FSPastoralist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPastoralist/$FSLockinLevel)>> - <<set $arcologies[0].FSPastoralist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "PhysicalIdealist">> - <<if Number.isFinite($arcologies[0].FSPhysicalIdealist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPhysicalIdealist/$FSLockinLevel)>> - <<set $arcologies[0].FSPhysicalIdealist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "ChattelReligionist">> - <<if Number.isFinite($arcologies[0].FSChattelReligionist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChattelReligionist/$FSLockinLevel)>> - <<set $arcologies[0].FSChattelReligionist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "RomanRevivalist">> - <<if Number.isFinite($arcologies[0].FSRomanRevivalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>> - <<set $arcologies[0].FSRomanRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "AztecRevivalist">> - <<if Number.isFinite($activeArcology.FSAztecRevivalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSAztecRevivalist/$FSLockinLevel)>> - <<set $arcologies[0].FSAztecRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "EgyptianRevivalist">> - <<if Number.isFinite($arcologies[0].FSEgyptianRevivalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>> - <<set $arcologies[0].FSEgyptianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "EdoRevivalist">> - <<if Number.isFinite($arcologies[0].FSEdoRevivalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEdoRevivalist/$FSLockinLevel)>> - <<set $arcologies[0].FSEdoRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "ArabianRevivalist">> - <<if Number.isFinite($arcologies[0].FSArabianRevivalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSArabianRevivalist/$FSLockinLevel)>> - <<set $arcologies[0].FSArabianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "ChineseRevivalist">> - <<if Number.isFinite($arcologies[0].FSChineseRevivalist)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChineseRevivalist/$FSLockinLevel)>> - <<set $arcologies[0].FSChineseRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Repopulationist">> - <<if Number.isFinite($arcologies[0].FSRepopulationFocus)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel)>> - <<set $arcologies[0].FSRepopulationFocus += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Eugenics">> - <<if Number.isFinite($arcologies[0].FSRestart)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel)>> - <<set $arcologies[0].FSRestart += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<case "Hedonism">> - <<if Number.isFinite($arcologies[0].FSHedonisticDecadence)>> - <<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSHedonisticDecadence/$FSLockinLevel)>> - <<set $arcologies[0].FSHedonisticDecadence += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>> - <</if>> -<<default>> - @@.red;ERROR: bad FS reference $args[0]@@ -<</switch>> - + <<= FSChange($args[0], $args[1], $args[2])>> <</widget>> /% @@ -890,9 +766,7 @@ This experience $args[1]: Magnitude. %/ <<widget "FSChangePorn">> - -<<FSChange $args[0] $args[1] $pornFameBonus>> - + <<= FSChange($args[0], $args[1], $pornFameBonus)>> <</widget>> /* Called as <<FSChangeDecoration "FSName" "clothesBoughtFSClothes">>, will generate description of current decoration level and a link to increase it if applicable, quotes are needed to pass FSName as reference - DO NOT INCLUDE IT AS PROPERTY OF $arcologies[0]! */