diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js new file mode 100644 index 0000000000000000000000000000000000000000..b9ac5d130ab17071f05ae6273b57a6083ea233ee --- /dev/null +++ b/js/003-data/gameVariableData.js @@ -0,0 +1,1662 @@ +// A whitelist for ingame variables. Used to init the game or fill in gaps. Also used as a whitelist. Anything not on this list will be removed on BC. +App.Data.defaultGameStateVariables = { + returnTo: "init", + nextButton: "Continue", + nextLink: "Alpha disclaimer", + ver: 0, + pmodVer: 0, + releaseID: 0, + slaveIndices: 0, + genePool: [], + missingTable: {}, + slaves: [], + showMissingSlaves: false, + showMissingSlavesSD: false, + marrying: [], + // array of slave being married this week + organs: [], + ArcadeiIDs: [], + BrothiIDs: [], + CellBiIDs: [], + CliniciIDs: [], + ClubiIDs: [], + DairyiIDs: [], + FarmyardiIDs: [], + HGSuiteiIDs: [], + MastSiIDs: [], + SchlRiIDs: [], + ServQiIDs: [], + SpaiIDs: [], + NurseryiIDs: [], + saveImported: 0, + PC: {}, + freshPC: 0, + cheater: 0, + cash: 0, + cashLastWeek: 0, + autosave: 1, + useFSNames: 1, + FSNamePref: 0, + seeDetails: 1, + seeDesk: 1, + newModelUI: 1, + seeArcology: 1, + seeFCNN: 1, + useSummaryCache: true, + seeExtreme: 0, + seeBestiality: 0, + seePee: 1, + seeIncest: 1, + extremeUnderage: 0, + seeHyperPreg: 0, + seePreg: 1, + dangerousPregnancy: 0, + adamPrinciple: 0, + seeCircumcision: 1, + seeAge: 1, + seeDicks: 25, + seeDicksAffectsPregnancy: 1, + seeRace: 1, + seeNationality: 1, + realRoyalties: 0, + seeIllness: 1, + seeImages: 0, + seeFaces: 1, + seeAvatar: 1, + seeHeight: 0, + imageChoice: 1, + seeVectorArtHighlights: 1, + seeMainFetishes: 0, + seeSummaryImages: 1, + seeReportImages: 1, + lineSeparations: 1, + slavePanelStyle: 1, + showSexualHistory: 1, + showBodyMods: 1, + showImplantEffects: 1, + showClothing: 1, + showAgeDetail: 1, + showBoobCCs: 1, + showHeightCMs: 1, + showDickCMs: 1, + showInches: 1, + showNumbers: 2, + showNumbersMax: 20, + showScores: 1, + showAssignToScenes: 1, + showEWD: 1, + showEWM: 1, + showVignettes: 1, + showAppraisal: 1, + verticalizeArcologyLinks: 0, + positionMainLinks: -1, + showTipsFromEncy: 1, + displayAssignments: 1, + sortSlavesBy: "devotion", + sortSlavesOrder: "descending", + sortSlavesMain: 1, + HGSeverity: 0, + HGFormality: 1, + universalRulesConsent: 0, + universalRulesRest: 0, + universalRulesFacilityWork: 1, + universalRulesImpregnation: "none", + universalRulesBirthing: 0, + universalRulesCSec: 0, + universalRulesNewSlavesRA: 1, + universalRulesAssignsSelfFacility: 0, + universalRulesImmobileSlavesMaintainMuscles: 0, + universalRulesChildrenBecomeBreeders: 0, + slaveDead: 0, + rulesAssistantMain: 1, + rulesAssistantAuto: 0, + abbreviateDevotion: 2, + abbreviateRules: 2, + abbreviateClothes: 2, + abbreviateOrigins: 2, + abbreviateRulesets: 2, + abbreviateNationality: 2, + abbreviateHealth: 2, + abbreviateDiet: 2, + abbreviateDrugs: 2, + abbreviateRace: 2, + abbreviateGenitalia: 2, + abbreviatePhysicals: 2, + abbreviateSkills: 2, + abbreviateMental: 2, + abbreviateSidebar: 2, + summaryStats: 0, + nicknamesAllowed: 1, + modRequestsAllowed: 1, + expansionRequestsAllowed: 1, + plot: 1, + continent: "North America", + terrain: "rural", + language: "English", + headGirlTrainsSkills: 1, + headGirlTrainsHealth: 1, + headGirlTrainsObedience: 1, + headGirlTrainsFlaws: 1, + headGirlSoftensFlaws: 1, + headGirlTrainsParaphilias: 1, + retainCareer: 1, + useSlaveSummaryTabs: 0, + useSlaveSummaryOverviewTab: 0, + useSlaveListInPageJSNavigation: 0, + killChoice: -1, + assignmentRecords: {}, + verboseDescriptions: 0, + useAccordion: 0, + debugMode: 0, + showNeighborDetails: 1, + useTabs: 0, + tabChoice: {Main: "all"}, + formatNumbers: 1, + makeDicks: 0, + showEconomicDetails: 0, + allowMaleSlaveNames: false, + profiler: 0, + economy: 100, + baseDifficulty: 3, + difficultySwitch: 0, + neighboringArcologies: 3, + newDescriptions: 0, + familyTesting: 0, + showDistantRelatives: 0, + inbreeding: 1, + allowFamilyTitles: 0, + surnameOrder: 0, + disableLisping: 0, + weightAffectsAssets: 1, + curativeSideEffects: 1, + // eslint-disable-next-line camelcase + pedo_mode: 0, + minimumSlaveAge: 16, + fertilityAge: 13, + potencyAge: 13, + AgePenalty: 1, + precociousPuberty: 0, + loliGrow: 0, + retirementAge: 45, + customRetirementAge: 45, + customMenialRetirementAge: 65, + FSCreditCount: 5, + corpAssetsDev: 0, + corpAssetsDevOld: 0, + corpAssetsSlave: 0, + corpAssetsSlaveOld: 0, + corpCash: 0, + corpDiv: 0, + corpDivArcadeFromMarket: 0, + corpDivArcadeSlaves: 0, + corpDivBreakFromMarket: 0, + corpDivBreakSlaves: 0, + corpDivBreakSlaves2: 0, + corpDivBreakToMarket: 0, + corpDivBreakToMenial: 0, + corpDivBreakToSurgery: 0, + corpDivBreakToTrain: 0, + corpDivDairyFromMarket: 0, + corpDivDairySlaves: 0, + corpDivExtraSlaves: 0, + corpDivExtraToArcade: 0, + corpDivExtraToBreak: 0, + corpDivExtraToMarket: 0, + corpDividend: 0, + corpDivLegalSlaves: 0, + corpDivLegalToMarket: 0, + corpDivLegalToMenial: 0, + corpDivLegalToSurgery: 0, + corpDivLegalToTrain: 0, + corpDivMenialFromMarket: 0, + corpDivMenialSlaves: 0, + corpDivSurgeryFromMarket: 0, + corpDivSurgerySlaves: 0, + corpDivSurgerySlaves2: 0, + corpDivSurgeryToDairy: 0, + corpDivSurgeryToMarket: 0, + corpDivSurgeryToTrain: 0, + corpDivTrainFromMarket: 0, + corpDivTrainSlaves: 0, + corpDivTrainSlaves2: 0, + corpDivTrainToMarket: 0, + corpDivTrainToWhore: 0, + corpDivWhoreFromMarket: 0, + corpDivWhoreSlaves: 0, + corpOpCostOld: 0, + corpOverheadOld: 0, + corpProfitOld: 0, + corpRev: 0, + corpRevOld: 0, + corpSpecAccent: 0, + corpSpecAge: 0, + corpSpecAmputee: 0, + corpSpecBalls: 0, + corpSpecDevotion: 0, + corpSpecDick: 0, + corpSpecEducation: 0, + corpSpecGender: 0, + corpSpecGenitalia: 0, + corpSpecHeight: 0, + corpSpecHormones: 0, + corpSpecImplants: 0, + corpSpecInjection: 0, + corpSpecIntelligence: 0, + corpSpecMilk: 0, + corpSpecMuscle: 0, + corpSpecPussy: 0, + corpSpecSexEd: 0, + corpSpecTrust: 0, + corpSpecVirgin: 0, + corpSpecWeight: 0, + dividendTimer: 0, + personalShares: 0, + publicShares: 0, + targetArcology: {type: "New"}, + REFeminizationCheckinIDs: [], + REMILFCheckinIDs: [], + REOrientationCheckinIDs: [], + REUglyCheckinIDs: [], + REButtholeCheckinIDs: [], + REFutaSisterCheckinIDs: [], + REReductionCheckinIDs: [], + activeSlave: 0, + activeChild: 0, + reminders: [], + boomerangSlave: 0, + boomerangWeeks: 0, + boomerangBuyer: 0, + bioreactorPerfectedID: 0, + independenceDay: 0, + invasionVictory: 0, + daughtersVictory: 0, + startingGirlCopied: 0, + startingGirlRelation: 0, + archetyped: 0, + createRelatedSlave: 0, + slavesVisible: 0, + dormitory: 20, + dormitoryPopulation: 0, + rooms: 5, + roomsPopulation: 0, + brothelDecoration: "standard", + brothelUpgradeDrugs: 0, + brothelAdsSpending: 0, + brothelAdsOld: 0, + brothelAdsModded: 0, + brothelAdsImplanted: 0, + brothelAdsStacked: 0, + brothelAdsPreg: 0, + brothelAdsXX: 0, + brothelName: "the Brothel", + brothelNameCaps: "The Brothel", + brothel: 0, + dairyDecoration: "standard", + dairyPrepUpgrade: 0, + dairyStimulatorsUpgrade: 0, + dairyStimulatorsSetting: 0, + dairyStimulatorsSettingChanged: 0, + dairyFeedersUpgrade: 0, + dairyFeedersSetting: 0, + dairyFeedersSettingChanged: 0, + dairyPregUpgrade: 0, + dairyPregSetting: 0, + dairyPregSettingChanged: 0, + dairyRestraintsUpgrade: 0, + dairyRestraintsSetting: 0, + dairySlimMaintainUpgrade: 0, + dairySlimMaintain: 0, + dairyHyperPregRemodel: 0, + dairyWeightSetting: 0, + dairyImplantsSetting: 1, + dairyUpgradeMenials: 0, + createBioreactors: 0, + bioreactorsAnnounced: 0, + bioreactorsHerm: 0, + bioreactorsXX: 0, + bioreactorsXY: 0, + bioreactorsBarren: 0, + dairyName: "the Dairy", + dairyNameCaps: "The Dairy", + dairy: 0, + cumSlaves: 0, + clubDecoration: "standard", + clubUpgradePDAs: 0, + clubAdsSpending: 0, + clubAdsOld: 0, + clubAdsModded: 0, + clubAdsImplanted: 0, + clubAdsStacked: 0, + clubAdsPreg: 0, + clubAdsXX: 0, + clubName: "the Club", + clubNameCaps: "The Club", + club: 0, + servantsQuartersDecoration: "standard", + servantsQuartersUpgradeMonitoring: 0, + servantsQuarters: 0, + servantsQuartersName: "the Servants' Quarters", + servantsQuartersNameCaps: "The Servants' Quarters", + schoolroomDecoration: "standard", + schoolroomUpgradeSkills: 0, + schoolroomUpgradeLanguage: 0, + schoolroomUpgradeRemedial: 0, + schoolroomRemodelBimbo: 0, + schoolroom: 0, + schoolroomName: "the Schoolroom", + schoolroomNameCaps: "The Schoolroom", + spaDecoration: "standard", + spa: 0, + spaSpots: 0, + spaUpgrade: 0, + spaFix: 0, + spaName: "the Spa", + spaNameCaps: "The Spa", + // Incubator Subsection + incubator: 0, + incubatorSlaves: 0, + incubatorBulkRelease: 0, + incubatorOrgans: [], + incubatorOldID: 0, + incubatorUpgradeSpeed: 5, + incubatorUpgradeWeight: 0, + incubatorUpgradeMuscles: 0, + incubatorUpgradeGrowthStims: 0, + incubatorUpgradeReproduction: 0, + incubatorUpgradeOrgans: 0, + incubatorImprintSetting: 0, + incubatorWeightSetting: 0, + incubatorMusclesSetting: 0, + incubatorGrowthStimsSetting: 0, + incubatorReproductionSetting: 0, + incubatorName: "the Incubator", + incubatorNameCaps: "The Incubator", + reservedChildren: 0, + tanks: [], + clinicDecoration: "standard", + clinic: 0, + clinicUpgradeFilters: 0, + clinicUpgradeScanner: 0, + clinicUpgradePurge: 0, + clinicName: "the Clinic", + clinicNameCaps: "The Clinic", + arcadeDecoration: "standard", + arcadeUpgradeInjectors: 0, + arcadeUpgradeFuckdolls: 0, + arcadeUpgradeCollectors: 0, + arcadeUpgradeHealth: -1, + arcadeName: "the Arcade", + arcadeNameCaps: "The Arcade", + arcade: 0, + fuckdollsSold: 0, + cellblockDecoration: "standard", + cellblockUpgrade: 0, + cellblock: 0, + cellblockName: "the Cellblock", + cellblockNameCaps: "The Cellblock", + cellblockWardenCumsInside: 1, + masterSuiteDecoration: "standard", + masterSuiteUpgradeLuxury: 0, + masterSuiteUpgradePregnancy: 0, // Is the upgrade active? + masterSuitePregnancyFertilityDrugs: 0, // Are slaves being put on fertility drugs? + masterSuitePregnancyFertilitySupplements: 0, // Are those drugs being supplemented (health benefits and (even) more multiple pregnancies) + masterSuitePregnancySlaveLuxuries: 0, // Are the slaves being given some nicer things to reduce stress during preg? (health/devotion/trust benefits) + universalHGImpregnateMasterSuiteToggle: 0, // Will the HG impregnate fertile slaves in the MS? + masterSuiteHyperPregnancy: 0, + masterSuite: 0, + masterSuiteName: "the Master Suite", + masterSuiteNameCaps: "The Master Suite", + // Nursery Subsection + nursery: 0, // counts the number of children the nursery can support + nurseryNannies: 0, // counts the number of nannies the nursery can support + nurseryBabies: 0, // counts the number of children currently in the nursery + MatronInfluence: 0, // check for whether the children are influenced by the Matron + nannyInfluence: 0, // check for whether the children are influenced by the nannies + nurseryDecoration: "standard", + nurseryWeight: 0, + nurseryMuscles: 0, + nurseryHormones: 0, + nurseryOrgans: 0, // not currently in use + nurseryImprintSetting: 0, + nurseryWeightSetting: 0, + nurseryMusclesSetting: 0, + nurseryHormonesSetting: 0, + nurseryName: "the Nursery", + nurseryNameCaps: "The Nursery", + reservedChildrenNursery: 0, + cribs: [], // array of children in the nursery + cribsFreed: [], // array of children that have been freed + childToSlave: -1, // number of total children that have become slaves + cribsIndices: 0, + // Farmyard Subsection + farmyard: 0, + farmyardShowgirls: [], // array of farmhands putting on shows + farmyardFarmers: [], // array of farmhands farming + farmMenials: 0, + farmMenialsSpace: 0, + farmyardDecoration: "standard", + farmyardUpgrade: { + pump: 0, + fertilizer: 0, + hydroponics: 0, + machinery: 0, + seeds: 0, + lab: 0 + }, + farmyardCrops: 0, + farmyardStable: 0, + farmyardKennels: 0, + farmyardCages: 0, + activeCanine: 0, + activeHooved: 0, + activeFeline: 0, + farmyardLab: 0, + farmyardLabUpgrades: {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}, + animalsBought: { + canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0 +}, + canines: [], + hooved: [], + felines: [], + farmyardName: "the Farmyard", + farmyardNameCaps: "The Farmyard", + HGSuite: 0, + HGSuiteSurgery: 1, + HGSuiteDrugs: 1, + HGSuiteHormones: 1, + HGSuiteEquality: 0, + HGSuiteName: "the Head Girl Suite", + HGSuiteNameCaps: "The Head Girl Suite", + fighterIDs: [], + pitBG: 0, + pitAnimal: 0, + pitAnimalType: 0, + pitAudience: "none", + pitLethal: 0, + pitVirginities: 0, + pitFought: 0, + pit: 0, + pitName: "the Pit", + pitNameCaps: "The Pit", + dojo: 0, + feeder: 0, + cockFeeder: 0, + suppository: 0, + weatherCladding: 0, + weatherAwareness: 0, + boobAccessibility: 0, + servantMilkers: 0, + servantMilkersMultiplier: 1, + studio: 0, + studioFeed: 0, + PCSlutContacts: 1, + // Porn star counts (prestige 1) and ID's (prestige 3) + pornStars: {}, + pregInventor: 0, + pregInventorID: 0, + pregInventions: 0, + legendaryWhoreID: 0, + legendaryEntertainerID: 0, + legendaryCowID: 0, + legendaryBallsID: 0, + legendaryWombID: 0, + legendaryAbolitionistID: 0, + FSAnnounced: 0, + FSCredits: 0, + FSGotRepCredits: 0, + FSSingleSlaveRep: 10, + FSSpending: 0, + FSLockinLevel: 100, + applyLaw: 0, + FSPromenade: { + Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0 +}, + // new corporation variables + newCorp: 1, + vanillaShareSplit: 1, + corpEcon: 0, + corpCashDividend: 0, + corpExpandToken: 0, + corpSpec: 0, + corpSpecToken: 0, + corpDivExtra: 0, + corpDivLegal: 0, + corpDivBreak: 0, + corpDivSurgery: 0, + corpDivTrain: 0, + corpDivArcade: 0, + corpDivMenial: 0, + corpDivDairy: 0, + corpDivWhore: 0, + corpDivExtraDev: 0, + corpDivLegalDev: 0, + corpDivBreakDev: 0, + corpDivSurgeryDev: 0, + corpDivTrainDev: 0, + corpDivArcadeDev: 0, + corpDivMenialDev: 0, + corpDivDairyDev: 0, + corpDivWhoreDev: 0, + corpSpecRaces: [], + corpAnnounced: 0, + corpIncorporated: 0, + corpMarket: 0, + // Slave sexual services and goods variables + publicFuckdolls: 0, + classSatisfied: { + lowerClass: 0, + middleClass: 0, + upperClass: 0, + topClass: 0 + }, + whoreBudget: { + lowerClass: 7, + middleClass: 40, + upperClass: 200, + topClass: 1500 + }, + arcadePrice: 2, + clubSlaveSexAmount: 0, + shelterSlave: 0, + shelterSlaveBought: 0, + shelterAbuse: 0, + shelterSlaveGeneratedWeek: 0, + // alternate clothing access variables + clothesBoughtBunny: 0, + clothesBoughtConservative: 0, + clothesBoughtChains: 0, + clothesBoughtWestern: 0, + clothesBoughtOil: 0, + clothesBoughtHabit: 0, + clothesBoughtToga: 0, + clothesBoughtHuipil: 0, + clothesBoughtKimono: 0, + clothesBoughtHarem: 0, + clothesBoughtQipao: 0, + clothesBoughtEgypt: 0, + clothesBoughtBelly: 0, + clothesBoughtMaternityDress: 0, + clothesBoughtMaternityLingerie: 0, + clothesBoughtLazyClothes: 0, + clothesBoughtBimbo: 0, + clothesBoughtCourtesan: 0, + shoesBoughtHeels: 0, + clothesBoughtPetite: 0, + // non-fs + clothesBoughtMilitary: 0, + clothesBoughtCultural: 0, + clothesBoughtMiddleEastern: 0, + clothesBoughtPol: 0, + clothesBoughtCostume: 0, + clothesBoughtPantsu: 0, + clothesBoughtCareer: 0, + clothesBoughtDresses: 0, + clothesBoughtBodysuits: 0, + clothesBoughtCasual: 0, + clothesBoughtUnderwear: 0, + clothesBoughtSports: 0, + clothesBoughtPony: 0, + clothesBoughtSwimwear: 0, + toysBoughtDildos: 0, + toysBoughtGags: 0, + toysBoughtVaginalAttachments: 0, + toysBoughtButtPlugs: 0, + toysBoughtButtPlugTails: 0, + toysBoughtSmartVibes: 0, + buckets: 0, + // pregmod variables + specialSlavesPriceOverride: 0, + pregAccessibility: 0, + dickAccessibility: 0, + ballsAccessibility: 0, + buttAccessibility: 0, + ageMode: 0, + enema: 0, + medicalEnema: 0, + dairyPiping: 0, + inflatedSlavesMilk: 0, + inflatedSlavesCum: 0, + milkPipeline: 0, + cumPipeline: 0, + wcPiping: 0, + burstee: 0, + slaveDeath: 0, + clinicInflateBelly: 0, + playerBred: 0, + propOutcome: 0, + EliteSires: ["crazy", "futa", "moves", "preggo", "quick", "virgin"], + startingPoint: -1, + PhysicalRetirementAgePolicy: 0, + raped: -1, + children: [], + missingParentID: -10000, + startingSlaveRelative: 0, + mom: 0, + // animalParts: 0, + originOveride: 0, + playerAging: 2, + pregSpeedControl: 0, + clinicSpeedGestation: 0, + playerSurgery: 0, + playerGetsMilked: 0, + bodyswapAnnounced: 0, + surnamesForbidden: 0, + menstruation: 0, + FCTVcount: 0, + FCTVrate: 4, + FCTVreceiver: 0, + receiverAvailable: 0, + FCTVshow: 0, + FCTVremote: 0, + lastShow: 0, + randShow: 0, + FCNNstation: 0, + MercenariesMessageSent: 0, + SpecialForcesMessageSent: 0, + BodyguardHasSucessfullyRecivedSignal: 0, + finalChoice: "none", + eliteTotal: 12, + eliteDead: 0, + eliteVegetable: 0, + eliteFate: 0, + swanSong: 0, + failedElite: 0, + eugenicsFullControl: 0, + badC: 0, + badB: 0, + schoolSuggestion: 0, + TSS: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + GRI: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + SCP: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + LDE: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + TGA: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + TCR: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + TFS: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + futaAddiction: 0, + HA: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + NUL: { + schoolUpgrade: 0, + schoolPresent: 0, + schoolProsperity: 0, + subsidize: 0, + schoolAnnexed: 0, + studentsBought: 0, + schoolSale: 0 + }, + IDNumber: 1, + nIDNumber: 1, // tracks children in the nursery + week: 1, + weddingPlanned: 0, + personalAttention: "sex", + HeadGirl: 0, + HGTimeInGrade: 0, + HGEnergy: 0, + HGCum: 0, + Recruiter: 0, + recruiterTarget: "desperate whores", + recruiterProgress: 0, + recruiterIdleRule: "number", + recruiterIdleNumber: 20, + recruiterIOUs: 0, + bodyguardTrains: 1, + Bodyguard: 0, + Madam: 0, + DJ: 0, + Milkmaid: 0, + milkmaidImpregnates: 0, + Farmer: 0, + Collectrix: 0, + Stewardess: 0, + stewardessImpregnates: 0, + Schoolteacher: 0, + Attendant: 0, + Matron: 0, + Nurse: 0, + Wardeness: 0, + Concubine: 0, + economicUncertainty: 10, + justiceEvents: ["slave deal", "slave training", "majority deal", "indenture deal", "virginity deal", "breeding deal"], + // not in setupVars because we remove events from this array as they occur + prisonCircuit: ["low tier criminals", "gangs and smugglers", "white collar", "military prison"], + prisonCircuitIndex: 0, + fixedNationality: 0, + fixedRace: 0, + ui: "start", + tooltipsEnabled: 1, + brandTarget: {primary: "buttock", secondary: "buttock", local: "buttock"}, + brandDesign: {primary: "your initials", official: "your initials", local: "your initials"}, + scarTarget: {primary: "left cheek", secondary: "left cheek", local: "left cheek"}, + scarDesign: {primary: "generic", local: "generic"}, + oralTotal: 0, + vaginalTotal: 0, + analTotal: 0, + mammaryTotal: 0, + penetrativeTotal: 0, + milkTotal: 0, + cumTotal: 0, + foodTotal: 0, + birthsTotal: 0, + pitKillsTotal: 0, + collaboration: 0, + traitor: 0, + traitorType: 0, + traitorWeeks: 0, + hackerSupport: 0, + hostage: 0, + hostageAnnounced: 0, + hostageRescued: 0, + hostageGiveIn: 0, + rivalSet: 0, + rivalryFS: 0, + rivalryFSAdopted: 0, + rivalryFSRace: 0, + rivalOwner: 0, + rivalOwnerEnslaved: 0, + rivalryPower: 0, + rivalryDuration: 0, + rivalRace: 0, + rivalGender: 0, + nationHate: 0, + slaveMedic: 0, + PShoot: 0, + PSnatch: 0, + PRaid: 0, + PAid: 0, + PPit: 0, + dispensary: 0, + dispensaryUpgrade: 0, + organFarmUpgrade: 0, + completedOrgans: [], + ImplantProductionUpgrade: 0, + permaPregImplant: 0, + injectionUpgrade: 0, + hormoneUpgradeMood: 0, + hormoneUpgradeShrinkage: 0, + hormoneUpgradePower: 0, + pubertyHormones: 0, + dietXXY: 0, + dietCleanse: 0, + cumProDiet: 0, + dietFertility: 0, + curativeUpgrade: 0, + growthStim: 0, + reproductionFormula: 0, + aphrodisiacUpgrade: 0, + aphrodisiacUpgradeRefine: 0, + healthyDrugsUpgrade: 0, + superFertilityDrugs: 0, + bellyImplants: 0, + cervixImplants: 0, + meshImplants: 0, + prostateImplants: 0, + youngerOvaries: 0, + sympatheticOvaries: 0, + fertilityImplant: 0, + asexualReproduction: 0, + animalOvaries: 0, + // {} currently unused + animalTesticles: 0, + // {} currently unused + animalMpreg: 0, + // {} currently unused + geneticMappingUpgrade: 0, + pregnancyMonitoringUpgrade: 0, + cloningSystem: 0, + geneticFlawLibrary: 0, + surgeryUpgrade: 0, + barracks: 0, + mercenaries: 0, + mercenariesHelpCorp: 0, + personalArms: 0, + saleDescription: 0, + gingering: 0, + beforeGingering: 0, + gingeringDetected: 0, + gingeringDetection: 0, + surgeryDescription: 0, + encyclopedia: "How to Play", + showEncyclopedia: 1, + trinkets: [], + SPcost: 1000, + debtWarned: 0, + internationalTrade: 1, + internationalVariety: 0, + slaveCostFactor: 0.95, + menialDemandFactor: 0, + menialSupplyFactor: 0, + demandTimer: 0, + supplyTimer: 0, + elapsedDemandTimer: 0, + elapsedSupplyTimer: 0, + slaveCostRandom: 0, + deltaDemand: 0, + deltaDemandOld: 0, + deltaSupply: 0, + deltaSupplyOld: 0, + NPCSexSupply: { + lowerClass: 3000, + middleClass: 3000, + upperClass: 3000, + topClass: 3000 + }, + NPCMarketShare: { + lowerClass: 1000, + middleClass: 1000, + upperClass: 1000, + topClass: 1000 + }, + sexSubsidies: { + lowerClass: 0, + middleClass: 0, + upperClass: 0, + topClass: 0 + }, + sexSupplyBarriers: { + lowerClass: 0, + middleClass: 0, + upperClass: 0, + topClass: 0 + }, + minimumSlaveCost: 2500, + facilityCost: 100, + enduringRep: 1000, + rep: 0, + repLastWeek: 0, + arcologyUpgrade: { + drones: 0, + hydro: 0, + apron: 0, + grid: 0, + spire: 0 + }, + AGrowth: 2, + ACitizens: 4250, + lowerClass: 3120, + LSCBase: 800, + visitors: 0, + rentDefaults: { + lowerClass: 20, + middleClass: 50, + upperClass: 180, + topClass: 650 + }, + rent: { + lowerClass: 20, + middleClass: 50, + upperClass: 180, + topClass: 650 + }, + rentEffectL: 1, + middleClass: 890, + MCBase: 200, + rentEffectM: 1, + upperClass: 200, + UCBase: 40, + rentEffectU: 1, + topClass: 40, + TCBase: 20, + rentEffectT: 1, + GDP: 278.6, + NPCSlaves: 900, + ASlaves: 900, + AProsperityCap: 0, + food: 50000, + foodLastWeek: 0, + foodProduced: 0, + foodStored: 0, + foodCost: 25, + foodMarket: 0, + foodRate: { + slave: 2, + lower: 1.8, + middle: 2, + upper: 2.2, + top: 2.4 + }, + foodConsumption: 0, // total amount food consumed per week + revealFoodEffects: 0, + rations: 0, + building: {}, + menials: 0, + fuckdolls: 0, + menialBioreactors: 0, + prestigeAuctioned: 0, + slaveMarketLimit: 20, + slavesSeen: 0, + slaveOrphanageTotal: 0, + citizenOrphanageTotal: 0, + privateOrphanageTotal: 0, + breederOrphanageTotal: 0, + alwaysSubsidizeRep: 0, + alwaysSubsidizeGrowth: 0, + ProImmigrationCash: 0, + ProImmigrationRep: 0, + AntiImmigrationCash: 0, + AntiImmigrationRep: 0, + ProEnslavementCash: 0, + ProEnslavementRep: 0, + AntiEnslavementCash: 0, + AntiEnslavementRep: 0, + BasicSMR: 1, + HealthInspectionSMR: 0, + EducationSMR: 0, + FrigiditySMR: 0, + BasicBeautySMR: 0, + QualityBeautySMR: 0, + BasicWeightSMR: 0, + BasicIntelligenceSMR: 0, + QualityIntelligenceSMR: 0, + BasicHeightSMR: 0, + AdvancedHeightSMR: 0, + IntelligenceEugenicsSMR: 0, + HeightEugenicsSMR: 0, + FaceEugenicsSMR: 0, + HonestySMR: 0, + ProRefugees: 0, + ProRecruitment: 0, + OralEncouragement: 0, + VaginalEncouragement: 0, + AnalEncouragement: 0, + OralDiscouragement: 0, + VaginalDiscouragement: 0, + AnalDiscouragement: 0, + CashForRep: 0, + RepForCash: 0, + Cash4Babies: 0, + RegularParties: 0, + PAPublic: 0, + CoursingAssociation: 0, + Lurcher: 0, + coursed: 0, + RaidingMercenaries: 0, + raided: 0, + MixedMarriage: 0, + CulturalOpenness: 0, + goodImageCampaign: 0, + sexualOpeness: 0, + policyCost: 5000, + expiree: 0, + retiree: 0, + birthee: 0, + CustomRetirementAgePolicy: 0, + BioreactorRetirement: 0, + ArcadeRetirement: 0, + CitizenRetirement: 0, + citizenRetirementMenials: 0, + citizenRetirementTrigger: 0, + FSSupLawTrigger: 0, + FSSubLawTrigger: 0, + SexMilestoneRetirement: 0, + MilkMilestoneRetirement: 0, + CumMilestoneRetirement: 0, + BirthsMilestoneRetirement: 0, + KillsMilestoneRetirement: 0, + retirementSex: 10000, + retirementMilk: 50000, + retirementCum: 500000, + retirementBirths: 5, + retirementKills: 3, + nicaea: 0, + nicaeaAnnounceable: 0, + nicaeaAnnounced: 0, + nicaeaPreparation: 0, + nicaeaInvolvement: -2, + nicaeaPower: 0, + nicaeaHeld: 0, + peacekeepers: 0, + peacekeepersFate: 0, + mercRomeo: 0, + oralUseWeight: 5, + vaginalUseWeight: 5, + analUseWeight: 5, + childProtectionAct: 1, + niceWeather: [], + lightWeather: [], + heavyWeather: [], + extremeWeather: [], + weatherToday: {}, + customSlaveOrdered: 0, + // I am not a slave object! Do not treat me like one! + customSlave: {}, + huskSlaveOrdered: 0, + huskSlave: {}, + // non-vanilla shit + // eslint-disable-next-line camelcase + one_time_age_overrides_pedo_mode: 0, + activeSlaveOneTimeMinAge: 0, + activeSlaveOneTimeMaxAge: 999, + oneTimeDisableDisability: 0, + targetAge: 18, + pubertyLength: 5, + maxGrowthAge: 24, + // Job Fulfillment Center + JFCOrder: 0, + Role: "", + cheatMode: 0, + cheatModeM: 1, + experimental: { + nursery: 0, + food: 0, + animalOvaries: 0, + dinnerParty: 0 + }, + NaNArray: [], + fcnn: [ + "...coming up at the top of the hour: Catgirl slaves, science fact or science fiction...", + "...coming up at the top of the hour: Malnockestivi Smith, Free Cities' first MtFtMtFtH transgendered person...", + "...new arcology construction up 23% worldwide this year, according to...", + "...United States Congress spends 1,264th consecutive day gridlocked over post office...", + "...coming up at the top of the hour: Arcology owners: oversexed oligarchs or attractive, oversexed oligarchs?...", + "...coming up at the top of the hour: Anal sex: not just for sex any more...", + "...coming up at the top of the hour: Oral sex: the new hello...", + "...new book by prominent feminist suggests that women should not be used as sexual appliances...", + "...just ahead, interview with Desha Moore, prominent advocate for compulsory female enslavement...", + "...just ahead, Slave Market Trends: will the pierced anus be in again this year...", + "...just ahead, Slave Market Trends: upstart slave trainers avoid implants...", + "...implant technology firm BusTech notches successful initial public offering...", + "...the upcoming shortage of authentic leather and what it means for the whip industry...", + "...dairy conglomerate Creem Inc. denies allegations of adulterating breast milk with...", + "...two-time award-winning actress Linda Loveless debuted new implants on the red carpet this...", + "...dick size: are your slaves lying to you when they tell you you're too big...", + "...just ahead, slave expert's opinion on best shemale slaves to use for double penetration...", + "...Free Cities social conservatives criticize marriage, say your slaves should be enough...", + "...councilman Taggart suggested in a public address that involuntary enslavement...", + "...councilman Taggart denies allegations that he has remained faithful to his wife...", + "...councilman Taggart presented evidence that regulation of the sex slave market would...", + "...after a word from our sponsors. Creem Inc.: for all your dairy needs...", + "...after a word from our sponsors. Horstmann Ltd, Free Cities' finest whipmakers...", + "...after a word from our sponsors. Coming soon to theaters, Quintuple, the musical...", + "...critical of low-end slave training corporation Wallerson & Sons for practices that they say...", + "...training corporation Wallerson & Sons called a study on slave illness rates 'ludicrous,' but...", + "...our tech correspondent: the possibilities of virally-administered gene therapy...", + "...our tech correspondent: breakthrough in in-vitro drug treatments that promise to...", + "...our tech correspondent: next year to see release of two competing aphrodisiacs...", + "...our tech correspondent: the coming permanent aphrodisiac implants, and what they mean...", + "...Sex Slaves in Space: what it takes to keep a mining crew happy for an 18-month contract...", + "...the implant-drug balance: how much tissue growth is necessary to support larger...", + "...the actress stated that the cut to full nudity in the script violated contractual...", + "...doping scandal as Slave Games watchdog alleges champion used internal reservoir of lube...", + "...next on Extreme Surgery: the mouthpussy experimenters and what they...", + "...'A hole's a hole,' said CEO of upstart budget glory hole franchise...", + "...underground slave pit fights step into the light this evening as...", + "...underground slave pit fight champion, freed yesterday, sells herself back into...", + "...with the lead designer of the MP17, the new machine pistol marketed specifically for bodyguards...", + "...the new Aegis drone series: because your arcology's security is your most important possession...", + "...the BAe Goshawk: because you deserve to travel at twice the speed of sound in the finest style...", + "...this year's Goat.cx award for outstanding orifice innovation goes to...", + "...public controversy over cannibalism. Decadence taken too far or an acceptable next step...", + "...sixth day of street cleaners' strike. Spokesman for the strikers: 'It's getting too nasty...", + "...debuts new book, 'So Long, And Thanks For All The Dicks', in which the recently retired sex slaves tell-all about...", + "...cure for lactose intolerance, for which he was awarded the International Association of Pastoralist...", + "...from the Free Cities have become increasingly common clientele for the black market...", + "...a risky gamble on the three-hour-long hardcore sex scene, but the box office figures for just...", + ], + // HACKY EVENT WORKAROUNDS + eventID: -1, + // INCORPORATED MODS + SF: {}, + // Misc mod variables + recruiterEugenics: 0, + AgeEffectOnTrainerPricingPC: 1, + AgeEffectOnTrainerEffectivenessPC: 1, + AgeTrainingUpperBoundPC: 14, + AgeTrainingLowerBoundPC: 12, + IsInPrimePC: 3, + IsPastPrimePC: 5000, + prostheticsUpgrade: 0, + adjustProstheticsCompleted: 0, + adjustProsthetics: [], + researchLab: { + aiModule: 1, + tasks: [], + maxSpace: 0, + hired: 0, + menials: 0, + }, + prosthetics: {}, + merchantFSWares: ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"], + merchantIllegalWares: ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh"], + // "AnimalOrgans" for future use + RapidCellGrowthFormula: 0, + UterineRestraintMesh: 0, + PGHack: 0, + diversePronouns: 0, + // Security Expansion + wasToggledBefore: 0, + // moved first build to post toggle + secExpEnabled: 0, + // Career-skill gain + masteredXP: 200, + // Weather effect on economy + antiWeatherFreeze: 0, + econWeatherDamage: 0, + disasterResponse: 0, + postSexCleanUp: 1, + sideBarOptions: { + compact: 1, + Cash: 1, + Upkeep: 1, + SexSlaveCount: 1, + roomPop: 1, + Rep: 1, + GSP: 1, + Authority: 1, + Security: 1, + Crime: 1 + }, + DefaultBirthDestination: "individually decided fates", + abbreviateHormoneBalance: 2, + // END OLD INIT VARIABLES SECTION, after this, variables were being created in other places in the game + + shelterGirlsIDs: [], // Only needed in endweek loop + AProsperityCapModified: 0, + PCTitle: "", + Sweatshops: 0, + thisWeeksFSWares: 0, + thisWeeksIllegalWares: 0, + milkTap: 0, + corpSpecTimer: 0, + debugModeCustomFunction: 0, + active: 0, + recuriterOffice: 0, + campaign: 0, + miniTruth: 0, + secretService: 0, + fakeNews: 0, + controlLeaks: 0, + marketInfiltration: 0, + blackOps: 0, + focus: "social engineering", + + militiaRecruitmen: 0, + corpSpecCosmetics: 0, + rivalID: 0, + eventDescription: 0, + eliteAuctioned: 0, + slavesSacrificedThisWeek: 0, + subSlaves: 0, + + PopCap: 0, + masturbationAllowed: 0, + HGtraining: "", + mercenariesTitle: "", + milk: 0, + cum: 0, + hormones: 0, + milkSale: 0, + FSReminder: 0, + facility: {}, + boomerangStats: {}, + FSNonconformist: "", + econAdvantage: 0, + attackType: "none", + attackThisWeek: 0, + lastAttackWeeks: 0, + lastRebellionWeeks: 0, + hasFoughtOnce: 0, + hasFoughtMajorBattleOnce: 0, + hasRebelledOnce: 0, + majorBattle: 0, + PCvictoryStreak: 0, + PClossStreak: 0, + foughtThisWeek: 0, + + /* edicts */ + alternativeRents: 0, + enslavementRights: 0, + securityExemption: 0, + sellData: 0, + propCampaignBoost: 0, + slaveWatch: 0, + subsidyChurch: 0, + limitImmigration: 0, + openBorders: 0, + slavesOfficers: 0, + martialSchool: 0, + discountMercenaries: 0, + militiaFounded: 0, + recruitVolunteers: 0, + conscription: 0, + militaryService: 0, + militarizedSociety: 0, + militaryExemption: 0, + lowerRquirements: 0, + noSubhumansInArmy: 0, + pregExemption: 0, + eliteOfficers: 0, + liveTargets: 0, + legionTradition: 0, + eagleWarriors: 0, + ronin: 0, + sunTzu: 0, + mamluks: 0, + pharaonTradition: 0, + weaponsLaw: 3, + soldierWages: 1, + militiaSoldierPrivilege: 0, + slaveSoldierPrivilege: 0, + mercSoldierPrivilege: 0, + tradeLegalAid: 0, + taxTrade: 0, + + /* buildings */ + secHQ: 0, + secMenials: 0, + secUpgrades: {}, + crimeUpgrades: {}, + intelUpgrades: {}, + readinessUpgrades: {}, + riotCenter: 0, + riotUpgrades: {}, + fort: {}, + sentUnitCooldown: 0, + advancedRiotEquip: 0, + brainImplant: -1, + brainImplantProject: 0, + weapMenials: 0, + weapManu: 0, + weapProductivity: 1, + weapLab: 1, + baseUpgradeTime: 10, + weapUpgrades: [], + currentUpgrade: {}, + droneUpgrades: {}, + humanUpgrade: {}, + sellTo: {}, + completedUpgrades: [], + transportHub: 0, + airport: 1, + railway: 1, + docks: 1, + hubSecurity: 1, + + /* events */ + smilingManProgress: 0, + investedFunds: 0, + relationshipLM: 0, + captureRoute: 0, + collaborationRoute: 0, + smilingManWeek: 0, + globalCrisisWeeks: 0, + smilingManFate: 4, + + /* rebellions */ + tension: 0, + slaveProgress: 0, + citizenProgress: 0, + slaveRebellionEventFires: 0, + citizenRebellionEventFires: 0, + slaveRebellion: 0, + citizenRebellion: 0, + rebellingUnits: [], + engageRule: 0, + irregulars: 0, + rebellingMilitia: 0, + rebellingSlaves: 0, + rebellingMercs: 0, + repairTime: 3, + arcRepairTime: 0, + garrison: {}, + rebellionsCount: 0, + PCrebWon: 0, + PCrebLoss: 0, + + /* armed forces stats */ + targetUnit: 0, + targetIndex: 0, + secBotsCost: 500, + secBotsUpgradeCost: 250, + equipUpgradeCost: 250, + maxTroops: 30, + militiaTotalManpower: 0, + militiaFreeManpower: 0, + militiaEmployedManpower: 0, + militiaTotalCasualties: 0, + slavesEmployedManpower: 0, + slavesTotalCasualties: 0, + slavesMaxTroops: 30, + mercTotalManpower: 0, + mercFreeManpower: 0, + mercEmployedManpower: 0, + mercTotalCasualties: 0, + militiaLoyalty: 0, + slaveArmyLoyalty: 0, + mercLoyalty: 0, + createdSlavesUnits: 0, + createdMilitiaUnits: 0, + createdMercUnits: 0, + + /* battle relevant vars */ + slaveVictories: [], + slaveIncreasedPrestige: 0, + totalKills: 0, + battlesCount: 0, + majorBattlesCount: 0, + chosenTactic: "none", + leadingTroops: "none", + attackTroops: 0, + attackEquip: 0, + battleTerrain: "none", + maxTurns: 10, + battleResult: 4, + /* sets battleResult value outside accepted range (-3,3) to avoid evaluation problems */ + losses: 0, + enemyLosses: 0, + battleTurns: 0, + tacticsSuccessful: 0, + leaderWounded: 0, + /* 0=no wound, 1=mute, 2=blind, 3=amputee, 4=health */ + gainedCombat: 0, + gainedWarfare: 0, + expectedEquip: 0, + estimatedMen: 0, + SFIntervention: 0, + carriableSoldiers: 0, + SFatk: 0, + SFdef: 0, + SFhp: 0, + rebellingID: [], + saveValid: 0, + lastSelection: [], + + /* statistics */ + equipMod: 0.15, + secBotsBaseAttack: 7, + secBotsBaseDefense: 3, + secBotsMorale: 200, + secBotsBaseHp: 3, + militiaBaseAttack: 0, + militiaBaseDefense: 0, + militiaBaseMorale: 0, + militiaBaseHp: 0, + slaveBaseAttack: 0, + slaveBaseDefense: 0, + slaveBaseMorale: 0, + slaveBaseHp: 0, + mercBaseAttack: 0, + mercBaseDefense: 0, + mercBaseMorale: 0, + mercBaseHp: 0, + SFBaseAttack: 0, + SFBaseDefense: 0, + SFBaseMorale: 0, + SFBaseHp: 0, + + raBaseAttack: 7, + raBaseDefense: 2, + raBaseMorale: 100, + raBaseHp: 2, + fcBaseAttack: 6, + fcBaseDefense: 4, + fcBaseMorale: 130, + fcBaseHp: 3, + owBaseAttack: 8, + owBaseDefense: 4, + owBaseMorale: 110, + owBaseHp: 2, + ffBaseAttack: 9, + ffBaseDefense: 2, + ffBaseMorale: 160, + ffBaseHp: 2, + + /* units */ + secBots: {}, + + militiaUnits: [], + slaveUnits: [], + mercUnits: [], + + /* SFanon additions */ + SFSupportLevel: 0, + SFGear: 0, + SavedLeader: 0, + SavedSFI: 0, + + /* base vars */ + secExp: {}, + PCvictories: 0, + PClosses: 0, + + /* buildings */ + woundType: 0, + /* 0:no wound, 1:mute, 2:blind, 3:amputee, 4<:health */ + + showOne: 0, + showTwo: 0, + showThree: 0, + showFour: 0, + showFive: 0, + showSix: 0, + showSeven: 0, + showEight: 0, + showNine: 0, + showTen: 0, + showEleven: 0, + showTwelve: 0, + showThirteen: 0, + showFourteen: 0, + showFifteen: 0, + showSixteen: 0, + reminderEntry: "", + reminderWeek: "", + lastWeeksCashIncome: {}, + lastWeeksCashExpenses: {}, + lastWeeksCashProfits: {}, + lastWeeksRepIncome: {}, + lastWeeksRepExpenses: {}, + lastWeeksRepProfits: {}, + currentRule: {}, + costs: 0, + seeBuilding: 0, + slaveOneTimeMinAge: 0, + slaveOneTimeMaxAge: 0, + FCTVenable: 0, + purchasedSagBGone: 0, + eliteFail: 0, + eliteFailTimer: 0, + nurseryGrowthStimsSetting: 0, + MadamIgnoresFlaws: 0, + farmyardBreeding: 0, + farmyardShows: 0, + DJignoresFlaws: 0, + slaveFightingBG: 0, + SecExp: {}, + childSex: 0, + HGSlaveSuccess: 0, + unMadam: 0, + madamCashBonus: 0, + whorePriceAdjustment: {}, + unDJ: 0, + DJRepBonus: 0, + fuckSlaves: 0, + freeSexualEnergy: 0, + publicServants: 0, + averageDick: 0, + slavesWithWorkingDicks: 0, + slaveJobValues: {}, + + FSSlaveProfLawTrigger: 0, + + fluid: 0, + cumSale: 0, + showClothingErection: true, + revivalistLanguage: 0, + corpOpCost: 0, + corpNeighborBonus: 0, + corpOverhead: 0, + corpEconBonus: 0, + corpNeighborBonusOld: 0, + corpEconBonusOld: 0, + corpEconOld: 0, + assistant: {}, + localEcon: 0, + econRate: 0, + drugsCost: 0, + rulesCost: 0, + modCost: 0, + surgeryCost: 0, + arcologies: [], + leaders: [], + HackingSkillMultiplier: 0, + upgradeMultiplierArcology: 0, + upgradeMultiplierMedicine: 0, + upgradeMultiplierTrade: 0, + nationalities: {}, + heroSlaves: [], + baseHeroSlave: {}, + JobIDArray: {}, + averageTrust: 0, + averageDevotion: 0, + enduringTrust: 0, + enduringDevotion: 0, + defaultRules: [], +}; + +App.Data.ignoreGameStateVariables = [ + // pronouns + "Mothers", + "mothers", + "Fathers", + "Husbands", + "Husband", + "Brother", + "Son", + "Shota", + "Men", + "Man", + "fathers", + "husbands", + "husband", + "brother", + "son", + "shota", + "men", + "man", + "Mother", + "Wives", + "Wife", + "Sister", + "Daughter", + "Loli", + "Women", + "Woman", + "mother", + "wives", + "wife", + "sister", + "daughter", + "loli", + "women", + "woman", + "Girl", + "Herself", + "Hers", + "Her", + "She", + "girl", + "herself", + "hers", + "her", + "she", + "Father", + "father", + "Boy", + "Himself", + "His", + "Him", + "He", + "boy", + "himself", + "his", + "him", + "he", + + // Enunciate + "XEnunciate", + "xEnunciate", + "SchEnunciate", + "schEnunciate", + "ScEnunciate", + "scEnunciate", + "ShEnunciate", + "shEnunciate", + "PsEnunciate", + "psEnunciate", + "ChEnunciate", + "chEnunciate", + "zzEnunciate", + "ZEnunciate", + "zEnunciate", + "ccEnunciate", + "CEnunciate", + "cEnunciate", + "ssEnunciate", + "SEnunciate", + "sEnunciate", + "sayEnunciate", + "titleEnunciate" +]; diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js index e1be87724bfb2c5c79cc2b7ea4e12124bbe97506..95b68abe80333c7d1db1520a455b6e117cff0422 100644 --- a/js/003-data/miscData.js +++ b/js/003-data/miscData.js @@ -2687,3 +2687,45 @@ App.Data.misc.nationalityPoolSelector = { "Japan": App.Data.misc.asiaNationalities, "Brazil": App.Data.misc.southamericaNationalities }; + +App.Data.weather = { + nice: [ + {name: "Sunny", severity: 1}, + {name: "Cloudy", severity: 1}, + {name: "Partly Cloudy", severity: 1}, + {name: "Overcast", severity: 1}, + {name: "Light Wind", severity: 1}, + {name: "Clear and Calm", severity: 1}, + {name: "Light Rain", severity: 1}, + {name: "Heavy Rain", severity: 1}, + {name: "Smoke warning", severity: 1}, + ], + light: [ + {name: "High Winds", severity: 2}, + {name: "Acid Rain", severity: 2}, + {name: "T-Storm Warning", severity: 2}, + {name: "Flood Warning", severity: 2}, + {name: "Tornado Warning", severity: 2}, + {name: "Light Sandstorm", severity: 2}, + {name: "High Heat", severity: 2}, + {name: "Smoky", severity: 2}, + ], + heavy: [ + {name: "Extreme Winds", severity: 3}, + {name: "Heavy Acid Rain", severity: 3}, + {name: "Extreme T-storm", severity: 3}, + {name: "Flooding", severity: 3}, + {name: "Tornadoes", severity: 3}, + {name: "Sandstorm", severity: 3}, + {name: "Extreme Heat", severity: 3}, + {name: "Dense Smoke", severity: 3}, + ], + extreme: [ + {name: "Solar Flare", severity: 4}, + {name: "Ion Storm", severity: 4}, + {name: "Cataclysmic Rains", severity: 4}, + {name: "Cat 6 Hurricane", severity: 4}, + {name: "Abrasive Sandstorm", severity: 4}, + {name: "Radiological Warning", severity: 4}, + ] +}; diff --git a/src/SecExp/js/secExp.js b/src/SecExp/js/secExp.js index d0a9c9dcef3f32c12ee18a24d3780eaace9fb697..a3756be10c6b925f885cb70116b0964f739b1aaf 100644 --- a/src/SecExp/js/secExp.js +++ b/src/SecExp/js/secExp.js @@ -401,7 +401,6 @@ App.SecExp.Check = (function() { V.SecExp.settings.show = V.SecExp.settings.show || 0; if (jsDef(V.showSecExp)) { V.SecExp.settings.show = V.showSecExp; - delete V.showSecExp; } if (passage() === "init" || passage() === "New Game Plus") { @@ -431,38 +430,32 @@ App.SecExp.Check = (function() { } if (jsDef(V.trade)) { V.SecExp.core.trade = V.trade; - delete V.trade; } V.SecExp.core.authority = V.SecExp.core.authority || 0; if (jsDef(V.authority)) { V.SecExp.core.authority = V.authority; - delete V.authority; } V.SecExp.security = V.SecExp.security || {}; V.SecExp.security.cap = V.SecExp.security.cap || 100; if (jsDef(V.security)) { V.SecExp.security.cap = V.security; - delete V.security; } V.SecExp.core.crimeLow = V.SecExp.core.crimeLow || 30; if (jsDef(V.crime)) { V.SecExp.core.crimeLow = V.crime; - delete V.crime; } V.SecExp.settings.difficulty = V.SecExp.settings.difficulty || 1; if (jsDef(V.difficulty)) { V.SecExp.settings.difficulty = V.difficulty; - delete V.difficulty; } V.SecExp.settings.battle = V.SecExp.settings.battle || {}; V.SecExp.settings.battle.enabled = V.SecExp.settings.battle.enabled || 1; if (jsDef(V.battlesEnabled)) { V.SecExp.settings.battle.enabled = V.battlesEnabled; - delete V.battlesEnabled; } delete V.SecExp.battle; @@ -470,19 +463,16 @@ App.SecExp.Check = (function() { V.SecExp.settings.battle.frequency = V.SecExp.settings.battle.frequency || 1; if (jsDef(V.battleFrequency)) { V.SecExp.settings.battle.frequency = V.battleFrequency; - delete V.battleFrequency; } V.SecExp.settings.battle.force = V.SecExp.settings.battle.force || 0; if (jsDef(V.forceBattle)) { V.SecExp.settings.battle.force = V.forceBattle; - delete V.forceBattle; } if (jsDef(V.readiness)) { if(V.readiness === 10) { V.sectionInFirebase = 1; } - delete V.readiness; } V.SecExp.settings.unitDescriptions = V.SecExp.settings.unitDescriptions || 0; @@ -490,58 +480,48 @@ App.SecExp.Check = (function() { V.SecExp.settings.battle.allowSlavePrestige = V.SecExp.settings.battle.allowSlavePrestige || 1; if (jsDef(V.allowPrestigeFromBattles)) { V.SecExp.settings.battle.allowSlavePrestige = V.allowPrestigeFromBattles; - delete V.allowPrestigeFromBattles; } V.SecExp.settings.battle.major.enabled = 0; if (jsDef(V.majorBattlesEnabled)) { V.SecExp.settings.battle.major.enabled = V.majorBattlesEnabled; - delete V.majorBattlesEnabled; } V.SecExp.settings.battle.major.gameOver = V.SecExp.settings.battle.major.gameOver || 1; if (jsDef(V.majorBattleGameOver)) { V.SecExp.settings.battle.major.gameOver = V.majorBattleGameOver; - delete V.majorBattleGameOver; } V.SecExp.settings.battle.major.force = V.SecExp.settings.battle.major.force || 0; if (jsDef(V.forceMajorBattle)) { V.SecExp.settings.battle.major.force = V.forceMajorBattle; - delete V.forceMajorBattle; } - delete V.majorBattleMult; delete V.SecExp.settings.battle.major.mult; V.SecExp.settings.rebellion = V.SecExp.settings.rebellion || {}; V.SecExp.settings.rebellion.enabled = V.SecExp.settings.rebellion.enabled || 1; if (jsDef(V.rebellionsEnabled)) { V.SecExp.settings.rebellion.enabled = V.rebellionsEnabled; - delete V.rebellionsEnabled; } V.SecExp.settings.rebellion.force = V.SecExp.settings.rebellion.force || 0; if (jsDef(V.forceRebellion)) { V.SecExp.settings.rebellion.force = V.forceRebellion; - delete V.forceRebellion; } V.SecExp.settings.rebellion.gameOver = V.SecExp.settings.rebellion.gameOver || 1; if (jsDef(V.rebellionGameOver)) { V.SecExp.settings.rebellion.gameOver = V.rebellionGameOver; - delete V.rebellionGameOver; } V.SecExp.settings.rebellion.speed = V.SecExp.settings.rebellion.speed || 1; if (jsDef(V.rebellionSpeed)) { V.SecExp.settings.rebellion.speed = V.rebellionSpeed; - delete V.rebellionSpeed; } if (V.SecExp.settings.battle.enabled + V.SecExp.settings.rebellion.enabled > 0) { V.SecExp.settings.showStats = V.SecExp.settings.showStats || 0; if (jsDef(V.showBattleStatistics)) { V.SecExp.settings.showStats = V.showBattleStatistics; - delete V.showBattleStatistics; } } @@ -556,7 +536,7 @@ App.SecExp.Check = (function() { delete V.SecExp.buildings.pr; } if (jsDef(V.propHub)) { - V.SecExp.buildings.propHub.active = V.propHub; delete V.propHub; + V.SecExp.buildings.propHub.active = V.propHub; } if (V.SecExp.buildings.propHub.active > 0) { @@ -564,19 +544,16 @@ App.SecExp.Check = (function() { V.SecExp.buildings.propHub.campaign = V.SecExp.buildings.propHub.campaign || 0; if (jsDef(V.propCampaign)) { V.SecExp.buildings.propHub.campaign = V.propCampaign; - delete V.propCampaign; } V.SecExp.buildings.propHub.miniTruth = V.SecExp.buildings.propHub.miniTruth || 0; if (jsDef(V.miniTruth)) { V.SecExp.buildings.propHub.miniTruth = V.miniTruth; - delete V.miniTruth; } V.SecExp.buildings.propHub.secretService = V.SecExp.buildings.propHub.secretService || 0; if (jsDef(V.secretService)) { V.SecExp.buildings.propHub.secretService = V.secretService; - delete V.secretService; } if (jsDef(V.SecExp.buildings.propHub.SS)) { V.SecExp.buildings.propHub.secretService = V.SecExp.buildings.propHub.SS; @@ -592,7 +569,6 @@ App.SecExp.Check = (function() { if (jsDef(V.RecuriterOffice)) { V.recuriterOffice = V.RecuriterOffice; - delete V.RecuriterOffice; } const vars = ['recuriterOffice', 'fakeNews', 'controlLeaks', 'marketInfiltration', 'blackOps']; for(let i = 0; i < vars.length; i++) { @@ -608,7 +584,7 @@ App.SecExp.Check = (function() { V.SecExp.buildings.barracks = V.SecExp.buildings.barracks || {}; V.SecExp.buildings.barracks.active = V.SecExp.buildings.barracks.active || 0; if (jsDef(V.secBarracks)) { - V.SecExp.buildings.barracks.active = V.secBarracks; delete V.secBarracks; + V.SecExp.buildings.barracks.active = V.secBarracks; } if (V.SecExp.buildings.barracks.active > 0) { @@ -619,7 +595,6 @@ App.SecExp.Check = (function() { V.SecExp.buildings.barracks.upgrades.loyaltyMod = V.SecExp.buildings.barracks.upgrades.loyaltyMod || 0; if (jsDef(V.secBarracksUpgrades)) { V.SecExp.buildings.barracks.upgrades = V.secBarracksUpgrades; - delete V.secBarracksUpgrades; } } @@ -627,58 +602,22 @@ App.SecExp.Check = (function() { V.SecExp.proclamation.cooldown = V.SecExp.proclamation.cooldown || 0; if (jsDef(V.proclamationsCooldown)) { V.SecExp.proclamation.cooldown = V.proclamationsCooldown; - delete V.proclamationsCooldown; } V.SecExp.proclamation.currency = V.SecExp.proclamation.currency || ""; if (jsDef(V.proclamationCurrency)) { V.SecExp.proclamation.currency = V.proclamationCurrency; - delete V.proclamationCurrency; } V.SecExp.proclamation.type = V.SecExp.proclamation.type || "crime"; if (jsDef(V.proclamationType)) { if (V.proclamationType !== "none") { V.SecExp.proclamation.type = V.proclamationType; } - delete V.proclamationType; } } - if (jsDef(V.secRestPoint)) { - delete V.secRestPoint; - } - if (jsDef(V.SecExp.security)) { - delete V.SecExp.security.low; - } - if (jsDef(V.crimeCap)) { - delete V.crimeCap; - } if (jsDef(V.SecExp.core)) { delete V.SecExp.core.crimeCap; } - if (jsDef(V.recon)) { - delete V.recon; - } - if (jsDef(V.SecExp.battle)) { - delete V.SecExp.battle.recon; - } - - delete V.battlesEnabledOceanic; - delete V.baseBribePerAttacker; delete V.bribeCost; - - delete V.deployingBots; - - delete V.reqMenials; delete V.troopCount; - delete V.maxUnits; delete V.deployableUnits; - delete V.deployedUnits; delete V.activeUnits; - - delete V.upgradeUpkeep; delete V.SFSupportUpkeep; - delete V.secBarracksUpkeep; delete V.secHQUpkeep; - delete V.propHubUpkeep; delete V.riotUpkeep; - delete V.soldierUpkeep; delete V.edictsAuthUpkeep; - - // Unsed varabiles - delete V.rebelDefeatAftermath; delete V.notInvolved; - delete V.limitSubhumans; delete V.oldFlux; } // Closes general check function. function secRestPoint() { diff --git a/src/SecExp/secInit.tw b/src/SecExp/secInit.tw deleted file mode 100644 index 571892fdc6b630aee2a8bc72fdf2734a03507bc2..0000000000000000000000000000000000000000 --- a/src/SecExp/secInit.tw +++ /dev/null @@ -1,282 +0,0 @@ -:: secInit [nobr] - -/* base vars */ -<<set $SecExp = SecExpBase()>> -<<= App.SecExp.Check.general()>> -<<set $secExp = SecExpBase()>> -<<set $attackType = "none">> -<<set $attackThisWeek = 0>> -<<set $lastAttackWeeks = 0>> -<<set $lastRebellionWeeks = 0>> -<<set $hasFoughtOnce = 0>> -<<set $hasFoughtMajorBattleOnce = 0>> -<<set $hasRebelledOnce = 0>> -<<set $majorBattle = 0>> -<<set $PCvictoryStreak = 0>> -<<set $PCvictories = 0>> -<<set $PClossStreak = 0>> -<<set $PClosses = 0>> -<<set $foughtThisWeek = 0>> - -/* edicts */ -<<set $alternativeRents = 0>> -<<set $enslavementRights = 0>> -<<set $securityExemption = 0>> -<<set $sellData = 0>> -<<set $propCampaignBoost = 0>> -<<set $slaveWatch = 0>> -<<set $subsidyChurch = 0>> -<<set $limitImmigration = 0>> -<<set $openBorders = 0>> -<<set $slavesOfficers = 0>> -<<set $martialSchool = 0>> -<<set $discountMercenaries = 0>> -<<set $militiaFounded = 0>> -<<set $recruitVolunteers = 0>> -<<set $conscription = 0>> -<<set $militaryService = 0>> -<<set $militarizedSociety = 0>> -<<set $militaryExemption = 0>> -<<set $lowerRquirements = 0>> -<<set $noSubhumansInArmy = 0>> -<<set $pregExemption = 0>> -<<set $eliteOfficers = 0>> -<<set $liveTargets = 0>> -<<set $legionTradition = 0>> -<<set $eagleWarriors = 0>> -<<set $ronin = 0>> -<<set $sunTzu = 0>> -<<set $mamluks = 0>> -<<set $pharaonTradition = 0>> -<<set $weaponsLaw = 3>> -<<set $soldierWages = 1>> -<<set $militiaSoldierPrivilege = 0>> -<<set $slaveSoldierPrivilege = 0>> -<<set $mercSoldierPrivilege = 0>> -<<set $tradeLegalAid = 0>> -<<set $taxTrade = 0>> - -/* buildings */ -<<set $secHQ = 0>> -<<set $secMenials = 0>> -<<set $secUpgrades = { - nanoCams: 0, - cyberBots: 0, - eyeScan: 0, - cryptoAnalyzer: 0, - coldstorage: 0}>> -<<set $crimeUpgrades = { - autoTrial: 0, - autoArchive: 0, - worldProfiler: 0, - advForensic: 0}>> -<<set $intelUpgrades = { - sensors: 0, - radar: 0, - signalIntercept: 0}>> -<<set $readinessUpgrades = { - earlyWarn: 0, - rapidPlatforms: 0, - pathways: 0, - rapidVehicles: 0}>> -<<set $riotCenter = 0>> -<<set $riotUpgrades = { - freeMedia: 0, - rapidUnit: 0, - rapidUnitSpeed: 0}>> -<<set $fort = { - reactor: 0, - waterway: 0, - assistant:0}>> -<<set $sentUnitCooldown = 0>> -<<set $advancedRiotEquip = 0>> -<<set $brainImplant = -1>> -<<set $brainImplantProject = 0>> -<<set $weapManu = 0>> -<<set $weapMenials = 0>> -<<set $weapProductivity = 1>> -<<set $weapLab = 1>> -<<set $baseUpgradeTime = 10>> -<<set $currentUpgrade = { - name: " ", - unit: 0, - type: 0, - time: 0}>> -<<set $droneUpgrades = { - attack: 0, - defense: 0, - hp:0}>> -<<set $humanUpgrade = { - attack: 0, - defense: 0, - hp:0, - morale: 0}>> -<<set $sellTo = { - citizen: 1, - raiders: 1, - oldWorld: 1, - FC: 1}>> -<<set $completedUpgrades = []>> -<<set $transportHub = 0>> -<<set $airport = 0>> -<<set $railway = 0>> -<<set $docks = 0>> -<<set $hubSecurity = 1>> - -/* events */ -<<set $smilingManProgress = 0>> -<<set $investedFunds = 0>> -<<set $relationshipLM = 0>> -<<set $captureRoute = 0>> -<<set $collaborationRoute = 0>> -<<set $smilingManWeek = 0>> -<<set $globalCrisisWeeks = 0>> -<<set $smilingManFate = 4>> - -/* rebellions */ -<<set $tension = 0>> -<<set $slaveProgress = 0>> -<<set $citizenProgress = 0>> -<<set $slaveRebellionEventFires = 0>> -<<set $citizenRebellionEventFires = 0>> -<<set $slaveRebellion = 0>> -<<set $citizenRebellion = 0>> -<<set $rebellingUnits = []>> -<<set $irregulars = 0>> -<<set $engageRule = 0>> -<<set $rebellingMilitia = 0>> -<<set $rebellingSlaves = 0>> -<<set $rebellingMercs = 0>> -<<set $repairTime = 3>> -<<set $arcRepairTime = 0>> -<<set $garrison = { - penthouse: 0, - reactor: 0, - assistant: 0, - waterway: 0, - reactorTime: 0, - assistantTime: 0, - waterwayTime: 0 }>> -<<set $rebellionsCount = 0>> -<<set $PCrebWon = 0>> -<<set $PCrebLoss = 0>> - - -/* armed forces stats */ -<<set $targetUnit = 0>> -<<set $targetIndex = 0>> -<<set $secBotsCost = 500>> -<<set $secBotsUpgradeCost = 250>> -<<set $equipUpgradeCost = 250>> -<<set $maxTroops = 30>> -<<set $militiaTotalManpower = 0>> -<<set $militiaFreeManpower = 0>> -<<set $militiaEmployedManpower = 0>> -<<set $militiaTotalCasualties = 0>> -<<set $slavesOfficers = 0>> -<<set $slavesEmployedManpower = 0>> -<<set $slavesTotalCasualties = 0>> -<<set $mercTotalManpower = 0>> -<<set $mercEmployedManpower = 0>> -<<set $mercTotalCasualties = 0>> -<<set $mercLoyalty = 0>> -<<set $createdSlavesUnits = 0>> -<<set $createdMilitiaUnits = 0>> -<<set $createdMercUnits = 0>> -<<set $mercFreeManpower = 0>> -<<if $wasToggledBefore == 0>> - <<if $mercenaries == 1>> - <<set $mercFreeManpower = random(5,20)>> - <<elseif $mercenaries > 1>> - <<set $mercFreeManpower = random(10,30)>> - <</if>> -<</if>> - -/* battle relevant variables */ -<<set $slaveVictories = []>> -<<set $slaveIncreasedPrestige = 0>> -<<set $totalKills = 0>> -<<set $battlesCount = 0>> -<<set $majorBattlesCount = 0>> -<<set $chosenTactic = "none">> -<<set $leadingTroops = "none">> -<<set $attackTroops = 0>> -<<set $attackEquip = 0>> -<<set $battleTerrain = "none">> -<<set $maxTurns = 10>> -<<set $battleResult = 4>> /* sets $battleResult value outside accepted range (-3,3) to avoid evaluation problems */ -<<set $losses = 0>> -<<set $enemyLosses = 0>> -<<set $battleTurns = 0>> -<<set $tacticsSuccessful = 0>> -<<set $leaderWounded = 0>> -<<set $woundType = 0>> /* 0=no wound, 1=mute, 2=blind, 3=amputee, 4<=health */ -<<set $gainedCombat = 0>> -<<set $gainedWarfare = 0>> -<<set $expectedEquip = 0>> -<<set $estimatedMen = 0>> -<<set $SFIntervention = 0>> -<<set $carriableSoldiers = 0>> -<<set $SFatk = 0>> -<<set $SFdef = 0>> -<<set $SFhp = 0>> -<<set $rebellingID = []>> -<<set $saveValid = 0>> -<<set $lastSelection = []>> - -/* statistics */ -<<set $equipMod = 0.15>> -<<set $secBotsBaseAttack = 7>> -<<set $secBotsBaseDefense = 3>> -<<set $secBotsMorale = 200>> -<<set $secBotsBaseHp = 3>> -<<set $militiaBaseAttack = 7>> -<<set $militiaBaseDefense = 5>> -<<set $militiaBaseMorale = 140>> -<<set $militiaBaseHp = 3>> -<<set $slaveBaseAttack = 8>> -<<set $slaveBaseDefense = 3>> -<<set $slaveBaseMorale = 110>> -<<set $slaveBaseHp = 3>> -<<set $mercBaseAttack = 8>> -<<set $mercBaseDefense = 4>> -<<set $mercBaseMorale = 125>> -<<set $mercBaseHp = 4>> -<<set $SFBaseAttack = 8>> -<<set $SFBaseDefense = 4>> -<<set $SFBaseMorale = 140>> -<<set $SFBaseHp = 4>> - -<<set $raBaseAttack = 7>> -<<set $raBaseDefense = 2>> -<<set $raBaseMorale = 100>> -<<set $raBaseHp = 2>> -<<set $fcBaseAttack = 6>> -<<set $fcBaseDefense = 4>> -<<set $fcBaseMorale = 130>> -<<set $fcBaseHp = 3>> -<<set $owBaseAttack = 8>> -<<set $owBaseDefense = 4>> -<<set $owBaseMorale = 110>> -<<set $owBaseHp = 2>> -<<set $ffBaseAttack = 9>> -<<set $ffBaseDefense = 2>> -<<set $ffBaseMorale = 160>> -<<set $ffBaseHp = 2>> - -<<set $secBots = { - active: 0, - ID: -1, - isDeployed: 0, - troops: 0, - maxTroops: 0, - equip: 0} >> -<<set $militiaUnits = []>> -<<set $slaveUnits = []>> -<<set $mercUnits = []>> - -/* SFanon additions */ -<<set $SFSupportLevel = 0>> -<<set $SFGear = 0>> -<<set $SavedLeader = "none">> -<<set $SavedSFI = 0>> diff --git a/src/cheats/mod_EditFSCheatDatatypeCleanup.tw b/src/cheats/mod_EditFSCheatDatatypeCleanup.tw index 34bcde5b51fe328dba2f659a3794cc0527d59033..6a037084e6964564a520dcc57551a2996b206c3d 100644 --- a/src/cheats/mod_EditFSCheatDatatypeCleanup.tw +++ b/src/cheats/mod_EditFSCheatDatatypeCleanup.tw @@ -2,175 +2,7 @@ <<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">> -<<if $arcologies[0].FSSupremacist != "unset">> - <<set $arcologies[0].FSSupremacist = Number($arcologies[0].FSSupremacist) || "unset">> - <<set $arcologies[0].FSSupremacistDecoration = Number($arcologies[0].FSSupremacistDecoration) || 0>> - <<set $arcologies[0].FSSupremacistLawME = Number($arcologies[0].FSSupremacistLawME) || 0>> -<</if>> -<<if $arcologies[0].FSSubjugationist != "unset">> - <<set $arcologies[0].FSSubjugationist = Number($arcologies[0].FSSubjugationist) || "unset">> - <<set $arcologies[0].FSSubjugationistDecoration = Number($arcologies[0].FSSubjugationistDecoration) || 0>> - <<set $arcologies[0].FSSubjugationistLawME = Number($arcologies[0].FSSubjugationistLawME) || 0>> -<</if>> -<<if $arcologies[0].FSGenderRadicalist != "unset">> - <<set $arcologies[0].FSGenderRadicalist = Number($arcologies[0].FSGenderRadicalist) || "unset">> - <<set $arcologies[0].FSGenderRadicalistDecoration = Number($arcologies[0].FSGenderRadicalistDecoration) || 0>> - <<set $arcologies[0].FSGenderRadicalistLawBeauty = Number($arcologies[0].FSGenderRadicalistLawBeauty) || 0>> - <<set $arcologies[0].FSGenderRadicalistLawFuta = Number($arcologies[0].FSGenderRadicalistLawFuta) || 0>> -<</if>> -<<if $arcologies[0].FSRepopulationFocus != "unset">> - <<set $arcologies[0].FSRepopulationFocus = Number($arcologies[0].FSRepopulationFocus) || "unset">> - <<set $arcologies[0].FSRepopulationFocusDecoration = Number($arcologies[0].FSRepopulationFocusDecoration) || 0>> - <<set $arcologies[0].FSRepopulationFocusSMR = Number($arcologies[0].FSRepopulationFocusSMR) || 0>> - <<set $arcologies[0].FSRepopulationFocusLaw = Number($arcologies[0].FSRepopulationFocusLaw) || 0>> -<</if>> -<<if $arcologies[0].FSRestart != "unset">> - <<set $arcologies[0].FSRestart = Number($arcologies[0].FSRestart) || "unset">> - <<set $arcologies[0].FSRestartDecoration = Number($arcologies[0].FSRestartDecoration) || 0>> - <<set $arcologies[0].FSRestartSMR = Number($arcologies[0].FSRestartSMR) || 0>> - <<set $arcologies[0].FSRestartLaw = Number($arcologies[0].FSRestartLaw) || 0>> -<</if>> -<<if $arcologies[0].FSHedonisticDecadence != "unset">> - <<set $arcologies[0].FSHedonisticDecadence = Number($arcologies[0].FSHedonisticDecadence) || "unset">> - <<set $arcologies[0].FSHedonisticDecadenceDecoration = Number($arcologies[0].FSHedonisticDecadenceDecoration) || 0>> - <<set $arcologies[0].FSHedonisticDecadenceSMR = Number($arcologies[0].FSHedonisticDecadenceSMR) || 0>> - <<set $arcologies[0].FSHedonisticDecadenceLaw = Number($arcologies[0].FSHedonisticDecadenceLaw) || 0>> - <<set $arcologies[0].FSHedonisticDecadenceLaw2 = Number($arcologies[0].FSHedonisticDecadenceLaw2) || 0>> - <<set $arcologies[0].FSHedonisticDecadenceStrongFat = Number($arcologies[0].FSHedonisticDecadenceStrongFat) || 0>> -<</if>> -<<if $arcologies[0].FSIntellectualDependency != "unset">> - <<set $arcologies[0].FSIntellectualDependency = Number($arcologies[0].FSIntellectualDependency) || "unset">> - <<set $arcologies[0].FSIntellectualDependencyDecoration = Number($arcologies[0].FSIntellectualDependencyDecoration) || 0>> - <<set $arcologies[0].FSIntellectualDependencySMR = Number($arcologies[0].FSIntellectualDependencySMR) || 0>> - <<set $arcologies[0].FSIntellectualDependencyLaw = Number($arcologies[0].FSIntellectualDependencyLaw) || 0>> - <<set $arcologies[0].FSIntellectualDependencyLawBeauty = Number($arcologies[0].FSIntellectualDependencyLawBeauty) || 0>> -<</if>> -<<if $arcologies[0].FSSlaveProfessionalism != "unset">> - <<set $arcologies[0].FSSlaveProfessionalism = Number($arcologies[0].FSSlaveProfessionalism) || "unset">> - <<set $arcologies[0].FSSlaveProfessionalismDecoration = Number($arcologies[0].FSSlaveProfessionalismDecoration) || 0>> - <<set $arcologies[0].FSSlaveProfessionalismSMR = Number($arcologies[0].FSSlaveProfessionalismSMR) || 0>> - <<set $arcologies[0].FSSlaveProfessionalismLaw = Number($arcologies[0].FSSlaveProfessionalismLaw) || 0>> -<</if>> -<<if $arcologies[0].FSPetiteAdmiration != "unset">> - <<set $arcologies[0].FSPetiteAdmiration = Number($arcologies[0].FSPetiteAdmiration) || "unset">> - <<set $arcologies[0].FSPetiteAdmirationDecoration = Number($arcologies[0].FSPetiteAdmirationDecoration) || 0>> - <<set $arcologies[0].FSPetiteAdmirationSMR = Number($arcologies[0].FSPetiteAdmirationSMR) || 0>> - <<set $arcologies[0].FSPetiteAdmirationLaw = Number($arcologies[0].FSPetiteAdmirationLaw) || 0>> - <<set $arcologies[0].FSPetiteAdmirationLaw2 = Number($arcologies[0].FSPetiteAdmirationLaw2) || 0>> -<</if>> -<<if $arcologies[0].FSStatuesqueGlorification != "unset">> - <<set $arcologies[0].FSStatuesqueGlorification = Number($arcologies[0].FSStatuesqueGlorification) || "unset">> - <<set $arcologies[0].FSStatuesqueGlorificationDecoration = Number($arcologies[0].FSStatuesqueGlorificationDecoration) || 0>> - <<set $arcologies[0].FSStatuesqueGlorificationSMR = Number($arcologies[0].FSStatuesqueGlorificationSMR) || 0>> - <<set $arcologies[0].FSStatuesqueGlorificationLaw = Number($arcologies[0].FSStatuesqueGlorificationLaw) || 0>> - <<set $arcologies[0].FSStatuesqueGlorificationLaw2 = Number($arcologies[0].FSStatuesqueGlorificationLaw2) || 0>> -<</if>> -<<if $arcologies[0].FSGenderFundamentalist != "unset">> - <<set $arcologies[0].FSGenderFundamentalist = Number($arcologies[0].FSGenderFundamentalist) || "unset">> - <<set $arcologies[0].FSGenderFundamentalistDecoration = Number($arcologies[0].FSGenderFundamentalistDecoration) || 0>> - <<set $arcologies[0].FSGenderFundamentalistLawBeauty = Number($arcologies[0].FSGenderFundamentalistLawBeauty) || 0>> - <<set $arcologies[0].FSGenderFundamentalistLawBimbo = Number($arcologies[0].FSGenderFundamentalistLawBimbo) || 0>> - <<set $arcologies[0].FSGenderFundamentalistSMR = Number($arcologies[0].FSGenderFundamentalistSMR) || 0>> -<</if>> -<<if $arcologies[0].FSPaternalist != "unset">> - <<set $arcologies[0].FSPaternalist = Number($arcologies[0].FSPaternalist) || "unset">> - <<set $arcologies[0].FSPaternalistDecoration = Number($arcologies[0].FSPaternalistDecoration) || 0>> - <<set $arcologies[0].FSPaternalistLaw = Number($arcologies[0].FSPaternalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSDegradationist != "unset">> - <<set $arcologies[0].FSDegradationist = Number($arcologies[0].FSDegradationist) || "unset">> - <<set $arcologies[0].FSDegradationistDecoration = Number($arcologies[0].FSDegradationistDecoration) || 0>> - <<set $arcologies[0].FSDegradationistLaw = Number($arcologies[0].FSDegradationistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSBodyPurist != "unset">> - <<set $arcologies[0].FSBodyPurist = Number($arcologies[0].FSBodyPurist) || "unset">> - <<set $arcologies[0].FSBodyPuristDecoration = Number($arcologies[0].FSBodyPuristDecoration) || 0>> - <<set $arcologies[0].FSBodyPuristLaw = Number($arcologies[0].FSBodyPuristLaw) || 0>> -<</if>> -<<if $arcologies[0].FSTransformationFetishist != "unset">> - <<set $arcologies[0].FSTransformationFetishist = Number($arcologies[0].FSTransformationFetishist) || "unset">> - <<set $arcologies[0].FSTransformationFetishistDecoration = Number($arcologies[0].FSTransformationFetishistDecoration) || 0>> - <<set $arcologies[0].FSTransformationFetishistSMR = Number($arcologies[0].FSTransformationFetishistSMR) || 0>> -<</if>> -<<if $arcologies[0].FSYouthPreferentialist != "unset">> - <<set $arcologies[0].FSYouthPreferentialist = Number($arcologies[0].FSYouthPreferentialist) || "unset">> - <<set $arcologies[0].FSYouthPreferentialistDecoration = Number($arcologies[0].FSYouthPreferentialistDecoration) || 0>> - <<set $arcologies[0].FSYouthPreferentialistLaw = Number($arcologies[0].FSYouthPreferentialistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSMaturityPreferentialist != "unset">> - <<set $arcologies[0].FSMaturityPreferentialist = Number($arcologies[0].FSMaturityPreferentialist) || "unset">> - <<set $arcologies[0].FSMaturityPreferentialistDecoration = Number($arcologies[0].FSMaturityPreferentialistDecoration) || 0>> - <<set $arcologies[0].FSMaturityPreferentialistLaw = Number($arcologies[0].FSMaturityPreferentialistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> - <<set $arcologies[0].FSSlimnessEnthusiast = Number($arcologies[0].FSSlimnessEnthusiast) || "unset">> - <<set $arcologies[0].FSSlimnessEnthusiastDecoration = Number($arcologies[0].FSSlimnessEnthusiastDecoration) || 0>> - <<set $arcologies[0].FSSlimnessEnthusiastSMR = Number($arcologies[0].FSSlimnessEnthusiastSMR) || 0>> - <<set $arcologies[0].FSSlimnessEnthusiastLaw = Number($arcologies[0].FSSlimnessEnthusiastLaw) || 0>> -<</if>> -<<if $arcologies[0].FSAssetExpansionist != "unset">> - <<set $arcologies[0].FSAssetExpansionist = Number($arcologies[0].FSAssetExpansionist) || "unset">> - <<set $arcologies[0].FSAssetExpansionistDecoration = Number($arcologies[0].FSAssetExpansionistDecoration) || 0>> - <<set $arcologies[0].FSAssetExpansionistSMR = Number($arcologies[0].FSAssetExpansionistSMR) || 0>> -<</if>> -<<if $arcologies[0].FSPastoralist != "unset">> - <<set $arcologies[0].FSPastoralist = Number($arcologies[0].FSPastoralist) || "unset">> - <<set $arcologies[0].FSPastoralistDecoration = Number($arcologies[0].FSPastoralistDecoration) || 0>> - <<set $arcologies[0].FSPastoralistLaw = Number($arcologies[0].FSPastoralistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSPhysicalIdealist != "unset">> - <<set $arcologies[0].FSPhysicalIdealist = Number($arcologies[0].FSPhysicalIdealist) || "unset">> - <<set $arcologies[0].FSPhysicalIdealistDecoration = Number($arcologies[0].FSPhysicalIdealistDecoration) || 0>> - <<set $arcologies[0].FSPhysicalIdealistLaw = Number($arcologies[0].FSPhysicalIdealistLaw) || 0>> - <<set $arcologies[0].FSPhysicalIdealistSMR = Number($arcologies[0].FSPhysicalIdealistSMR) || 0>> - <<set $arcologies[0].FSPhysicalIdealistStrongFat = Number($arcologies[0].FSPhysicalIdealistStrongFat) || 0>> -<</if>> -<<if $arcologies[0].FSChattelReligionist != "unset">> - <<set $arcologies[0].FSChattelReligionist = Number($arcologies[0].FSChattelReligionist) || "unset">> - <<set $arcologies[0].FSChattelReligionistDecoration = Number($arcologies[0].FSChattelReligionistDecoration) || 0>> - <<set $arcologies[0].FSChattelReligionistLaw = Number($arcologies[0].FSChattelReligionistLaw) || 0>> - <<set $arcologies[0].FSChattelReligionistCreed = Number($arcologies[0].FSChattelReligionistCreed) || 0>> -<</if>> -<<if $arcologies[0].FSEdoRevivalist != "unset">> - <<set $arcologies[0].FSEdoRevivalist = Number($arcologies[0].FSEdoRevivalist) || "unset">> - <<set $arcologies[0].FSEdoRevivalistDecoration = Number($arcologies[0].FSEdoRevivalistDecoration) || 0>> - <<set $arcologies[0].FSEdoRevivalistLaw = Number($arcologies[0].FSEdoRevivalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSRomanRevivalist != "unset">> - <<set $arcologies[0].FSRomanRevivalist = Number($arcologies[0].FSRomanRevivalist) || "unset">> - <<set $arcologies[0].FSRomanRevivalistDecoration = Number($arcologies[0].FSRomanRevivalistDecoration) || 0>> - <<set $arcologies[0].FSRomanRevivalistLaw = Number($arcologies[0].FSRomanRevivalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSAztecRevivalist != "unset">> - <<set $arcologies[0].FSAztecRevivalist = Number($arcologies[0].FSAztecRevivalist) || "unset">> - <<set $arcologies[0].FSAztecRevivalistDecoration = Number($arcologies[0].FSAztecRevivalistDecoration) || 0>> - <<set $arcologies[0].FSAztecRevivalistLaw = Number($arcologies[0].FSAztecRevivalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSEgyptianRevivalist != "unset">> - <<set $arcologies[0].FSEgyptianRevivalist = Number($arcologies[0].FSEgyptianRevivalist) || "unset">> - <<set $arcologies[0].FSEgyptianRevivalistDecoration = Number($arcologies[0].FSEgyptianRevivalistDecoration) || 0>> - <<set $arcologies[0].FSEgyptianRevivalistLaw = Number($arcologies[0].FSEgyptianRevivalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSEdoRevivalist != "unset">> - <<set $arcologies[0].FSEdoRevivalist = Number($arcologies[0].FSEdoRevivalist) || "unset">> - <<set $arcologies[0].FSEdoRevivalistDecoration = Number($arcologies[0].FSEdoRevivalistDecoration) || 0>> - <<set $arcologies[0].FSEdoRevivalistLaw = Number($arcologies[0].FSEdoRevivalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSArabianRevivalist != "unset">> - <<set $arcologies[0].FSArabianRevivalist = Number($arcologies[0].FSArabianRevivalist) || "unset">> - <<set $arcologies[0].FSArabianRevivalistDecoration = Number($arcologies[0].FSArabianRevivalistDecoration) || 0>> - <<set $arcologies[0].FSArabianRevivalistLaw = Number($arcologies[0].FSArabianRevivalistLaw) || 0>> -<</if>> -<<if $arcologies[0].FSChineseRevivalist != "unset">> - <<set $arcologies[0].FSChineseRevivalist = Number($arcologies[0].FSChineseRevivalist) || "unset">> - <<set $arcologies[0].FSChineseRevivalistDecoration = Number($arcologies[0].FSChineseRevivalistDecoration) || 0>> - <<set $arcologies[0].FSChineseRevivalistLaw = Number($arcologies[0].FSChineseRevivalistLaw) || 0>> -<</if>> -<<for _fscdc = 0; _fscdc < setup.FutureSocieties.length; _fscdc++>> - <<if !($arcologies[0][setup.FutureSocieties[_fscdc]] > 0)>> - <<run FutureSocieties.remove(setup.FutureSocieties[_fscdc])>> - <</if>> -<</for>> +<<= App.Update.FScheatDatatypeCleanup()>> You perform the dark rituals, pray to the chaos gods, and sell your CHEATING SOUL for the power to change and mold the Future Society to your will. diff --git a/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw b/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw index f104e553837a7b42aeaef514c29b42fb9ec20b74..edd8847420ef27c9e4b83661beda8bba866819f2 100644 --- a/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw +++ b/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw @@ -2,147 +2,7 @@ <<set $nextButton = "Continue", $nextLink = "Main">> -<<set _l = $arcologies.length>> -<<for _i = 1; _i < _l; _i++>> - <<set $arcologies[_i].honeymoon = Number($arcologies[_i].honeymoon) || 0>> - <<set $arcologies[_i].prosperity = Number($arcologies[_i].prosperity) || 0>> - <<set $arcologies[_i].ownership = Number($arcologies[_i].ownership) || 0>> - <<set $arcologies[_i].minority = Number($arcologies[_i].minority) || 0>> - <<set $arcologies[_i].PCminority = Number($arcologies[_i].PCminority) || 0>> - <<set $arcologies[_i].demandFactor = Number($arcologies[_i].demandFactor) || 0>> - <<if $arcologies[_i].FSSupremacist != "unset">> - <<set $arcologies[_i].FSSupremacist = Number($arcologies[_i].FSSupremacist) || "unset">> - <</if>> - <<if $arcologies[_i].FSSupremacist != "unset" && !setup.filterRacesLowercase.includes($arcologies[_i].FSSupremacistRace)>> - <<set $arcologies[_i].FSSupremacistRace = setup.filterRacesLowercase.random()>> - <</if>> - <<if $arcologies[_i].FSSubjugationist != "unset">> - <<set $arcologies[_i].FSSubjugationist = Number($arcologies[_i].FSSubjugationist) || "unset">> - <</if>> - <<if $arcologies[_i].FSSubjugationist != "unset" && !setup.filterRacesLowercase.includes($arcologies[_i].FSSubjugationistRace)>> - <<set $arcologies[_i].FSSubjugationistRace = setup.filterRacesLowercase.random()>> - <</if>> - <<if $arcologies[_i].FSGenderRadicalist != "unset">> - <<set $arcologies[_i].FSGenderRadicalist = Number($arcologies[_i].FSGenderRadicalist) || "unset">> - <<set $arcologies[_i].FSGenderFundamentalist = "unset">> - <</if>> - <<if $arcologies[_i].FSGenderFundamentalist != "unset">> - <<set $arcologies[_i].FSGenderFundamentalist = Number($arcologies[_i].FSGenderFundamentalist) || "unset">> - <<set $arcologies[_i].FSGenderRadicalist = "unset">> - <</if>> - <<if $arcologies[_i].FSPaternalist != "unset">> - <<set $arcologies[_i].FSPaternalist = Number($arcologies[_i].FSPaternalist) || "unset">> - <<set $arcologies[_i].FSDegradationist = "unset">> - <</if>> - <<if $arcologies[_i].FSDegradationist != "unset">> - <<set $arcologies[_i].FSDegradationist = Number($arcologies[_i].FSDegradationist) || "unset">> - <<set $arcologies[_i].FSPaternalist = "unset">> - <</if>> - <<if $arcologies[_i].FSBodyPurist != "unset">> - <<set $arcologies[_i].FSBodyPurist = Number($arcologies[_i].FSBodyPurist) || "unset">> - <<set $arcologies[_i].FSTransformationFetishist = "unset">> - <</if>> - <<if $arcologies[_i].FSTransformationFetishist != "unset">> - <<set $arcologies[_i].FSTransformationFetishist = Number($arcologies[_i].FSTransformationFetishist) || "unset">> - <<set $arcologies[_i].FSBodyPurist = "unset">> - <</if>> - <<if $arcologies[_i].FSYouthPreferentialist != "unset">> - <<set $arcologies[_i].FSYouthPreferentialist = Number($arcologies[_i].FSYouthPreferentialist) || "unset">> - <<set $arcologies[_i].FSMaturityPreferentialist = "unset">> - <</if>> - <<if $arcologies[_i].FSMaturityPreferentialist != "unset">> - <<set $arcologies[_i].FSMaturityPreferentialist = Number($arcologies[_i].FSMaturityPreferentialist) || "unset">> - <<set $arcologies[_i].FSYouthPreferentialist = "unset">> - <</if>> - <<if $arcologies[_i].FSSlimnessEnthusiast != "unset">> - <<set $arcologies[_i].FSSlimnessEnthusiast = Number($arcologies[_i].FSSlimnessEnthusiast) || "unset">> - <<set $arcologies[_i].FSAssetExpansionist = "unset">> - <</if>> - <<if $arcologies[_i].FSAssetExpansionist != "unset">> - <<set $arcologies[_i].FSAssetExpansionist = Number($arcologies[_i].FSAssetExpansionist) || "unset">> - <<set $arcologies[_i].FSSlimnessEnthusiast = "unset">> - <</if>> - <<if $arcologies[_i].FSPastoralist != "unset">> - <<set $arcologies[_i].FSPastoralist = Number($arcologies[_i].FSPastoralist) || "unset">> - <</if>> - <<if $arcologies[_i].FSPhysicalIdealist != "unset">> - <<set $arcologies[_i].FSPhysicalIdealist = Number($arcologies[_i].FSPhysicalIdealist) || "unset">> - <<set $arcologies[_i].FSHedonisticDecadence = "unset">> - <</if>> - <<if $arcologies[_i].FSHedonisticDecadence != "unset">> - <<set $arcologies[_i].FSHedonisticDecadence = Number($arcologies[_i].FSHedonisticDecadence) || "unset">> - <<set $arcologies[_i].FSPhysicalIdealist = "unset">> - <</if>> - <<if $arcologies[_i].FSChattelReligionist != "unset">> - <<set $arcologies[_i].FSChattelReligionist = Number($arcologies[_i].FSChattelReligionist) || "unset">> - <</if>> - <<if $arcologies[_i].FSRomanRevivalist != "unset">> - <<set $arcologies[_i].FSRomanRevivalist = Number($arcologies[_i].FSRomanRevivalist) || "unset">> - <<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = "unset">> - <</if>> - <<if $arcologies[_i].FSAztecRevivalist != "unset">> - <<set $arcologies[_i].FSAztecRevivalist = Number($arcologies[_i].FSAztecRevivalist) || "unset">> - <<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">> - <</if>> - <<if $arcologies[_i].FSEgyptianRevivalist != "unset">> - <<set $arcologies[_i].FSEgyptianRevivalist = Number($arcologies[_i].FSEgyptianRevivalist) || "unset">> - <<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">> - <</if>> - <<if $arcologies[_i].FSEdoRevivalist != "unset">> - <<set $arcologies[_i].FSEdoRevivalist = Number($arcologies[_i].FSEdoRevivalist) || "unset">> - <<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">> - <</if>> - <<if $arcologies[_i].FSArabianRevivalist != "unset">> - <<set $arcologies[_i].FSArabianRevivalist = Number($arcologies[_i].FSArabianRevivalist) || "unset">> - <<set $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">> - <</if>> - <<if $arcologies[_i].FSChineseRevivalist != "unset">> - <<set $arcologies[_i].FSChineseRevivalist = Number($arcologies[_i].FSChineseRevivalist) || "unset">> - <<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">> - <</if>> - <<if $arcologies[_i].FSNull != "unset">> - <<set $arcologies[_i].FSNull = Number($arcologies[_i].FSNull) || "unset">> - <</if>> - <<if $arcologies[_i].FSRepopulationFocus != "unset">> - <<set $arcologies[_i].FSRepopulationFocus = Number($arcologies[_i].FSRepopulationFocus) || "unset">> - <<set $arcologies[_i].FSRestart = "unset">> - <</if>> - <<if $arcologies[_i].FSRestart != "unset">> - <<set $arcologies[_i].FSRestart = Number($arcologies[_i].FSRestart) || "unset">> - <<set $arcologies[_i].FSRepopulationFocus = "unset">> - <</if>> - <<if $arcologies[_i].FSIntellectualDependency != "unset">> - <<set $arcologies[_i].FSIntellectualDependency = Number($arcologies[_i].FSIntellectualDependency) || "unset">> - <<set $arcologies[_i].FSSlaveProfessionalism = "unset">> - <</if>> - <<if $arcologies[_i].FSSlaveProfessionalism != "unset">> - <<set $arcologies[_i].FSSlaveProfessionalism = Number($arcologies[_i].FSSlaveProfessionalism) || "unset">> - <<set $arcologies[_i].FSIntellectualDependency = "unset">> - <</if>> - <<if $arcologies[_i].FSPetiteAdmiration != "unset">> - <<set $arcologies[_i].FSPetiteAdmiration = Number($arcologies[_i].FSPetiteAdmiration) || "unset">> - <<set $arcologies[_i].FSStatuesqueGlorification = "unset">> - <</if>> - <<if $arcologies[_i].FSStatuesqueGlorification != "unset">> - <<set $arcologies[_i].FSStatuesqueGlorification = Number($arcologies[_i].FSStatuesqueGlorification) || "unset">> - <<set $arcologies[_i].FSPetiteAdmiration = "unset">> - <</if>> - <<if $arcologies[_i].FSCummunism != "unset">> - <<set $arcologies[_i].FSCummunism = Number($arcologies[_i].FSCummunism) || "unset">> - <</if>> - <<if $arcologies[_i].FSIncestFetishist != "unset">> - <<set $arcologies[_i].FSIncestFetishist = Number($arcologies[_i].FSIncestFetishist) || "unset">> - <</if>> - <<set $arcologies[_i].embargo = Number($arcologies[_i].embargo) || 0>> - <<set $arcologies[_i].embargoTarget = Number($arcologies[_i].embargoTarget) || 0>> - <<set $arcologies[_i].CyberEconomic = Number($arcologies[_i].CyberEconomic) || 0>> - <<set $arcologies[_i].CyberEconomicTarget = Number($arcologies[_i].CyberEconomicTarget) || 0>> - <<set $arcologies[_i].CyberReputation = Number($arcologies[_i].CyberReputation) || 0>> - <<set $arcologies[_i].CyberReputationTarget = Number($arcologies[_i].CyberReputationTarget) || 0>> - <<set $arcologies[_i].influenceTarget = Number($arcologies[_i].influenceTarget) || 0>> - <<set $arcologies[_i].influenceBonus = Number($arcologies[_i].influenceBonus) || 0>> - <<set $arcologies[_i].rival = Number($arcologies[_i].rival) || 0>> -<</for>> +<<= App.Update.neighborArcologyCheatDatatypeCleanup()>> You have CHEATED your way to influencing the neighboring arcologies. They have been unscrupulously directed according to your CHEAT whims. diff --git a/src/data/backwardsCompatibility/BackwardsCompatibility.tw b/src/data/backwardsCompatibility/BackwardsCompatibility.tw new file mode 100644 index 0000000000000000000000000000000000000000..a301240cc87f33cb73b6c8ac6a7fc5e884928db1 --- /dev/null +++ b/src/data/backwardsCompatibility/BackwardsCompatibility.tw @@ -0,0 +1,59 @@ +:: Backwards Compatibility [nobr] + +/* no-usedOnce disabling checking for only used once instances in this file */ +<<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">> + +<<run App.Update.setNonexistantProperties(V, App.Data.defaultGameStateVariables)>> + +<div> + <<= App.Update.oldVersions()>> +</div> + +<div> + <<= App.Update.globalVariables()>> +</div> + +<<if ndef $lastWeeksCashIncome>> + <<setupLastWeeksCash>> +<</if>> +<<if ndef $lastWeeksRepIncome>> + <<setupLastWeeksRep>> +<</if>> + +<div> + <<= App.Update.slaveVariables()>> +</div> + +<div> + <<= App.Update.slaveRecords()>> +</div> + +<div> + <<= App.Update.specialSlaveRecords()>> +</div> + +<div> + <<= App.Update.HeroSlavesCleanup()>> + <<run $heroSlaves.forEach(function(s) {if (s.pregType > 0 && Array.isArray(s.womb)) delete s.womb;})>> + <<set $activeSlave = BaseSlave()>> + <<set $baseHeroSlave = clone($activeSlave)>> +</div> + +<div> + <<= App.Update.RAassistantData()>> +</div> + +/* Sec Exp */ +<div> + <<= App.SecExp.Check.general()>> + <<if $secExpEnabled == 1>> + <br> <<include "SecExpBackwardCompatibility">> + <</if>> +</div> +<div> + <<= App.Update.autoshred()>> +</div> +/* leave this at the bottom of BC */ +<div> + <<= App.Update.cleanUp()>> +</div> diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js new file mode 100644 index 0000000000000000000000000000000000000000..efa1b52568f4490c266364d20a246ef08b55e79d --- /dev/null +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -0,0 +1,2171 @@ +App.Update.autoshred = function() { + const defaultGameStateVariables = new Set(Object.getOwnPropertyNames(App.Data.defaultGameStateVariables)); + let extraCount = 0; + + for (const v in V) { + if (!defaultGameStateVariables.has(v)) { + if (V.debugMode) { + if (!App.Data.ignoreGameStateVariables.includes(v)) { + console.log("Not on whitelist, removed:", "V."+v+":", V[v]); + } else { + extraCount++; + } + } + delete V[v]; + } + } + if (extraCount !== 0) { + console.log(`and ${extraCount} more`); + } +}; + +App.Update.setNonexistantProperties = function(obj, props) { + let count = 0; + for (const p of Object.getOwnPropertyNames(props)) { + if (typeof obj[p] === "undefined") { + obj[p] = clone(props[p]); + count++; + } + } + return console.log(`Set up ${count} variables.`); +}; + +App.Update.globalVariables = function() { + let r = `Setting missing global variables... `; + if (Array.isArray(V.nationalities)) { + V.nationalities = weightedArray2HashMap(V.nationalities); + } + + // Slave mods/surgery + { + if (typeof V.brandTarget === "string") { + V.brandTarget = {primary: V.brandTarget, secondary: "buttock", local: "buttock"}; + } else if (typeof V.brandTarget !== "object") { + V.brandTarget = {primary: "buttock", secondary: "buttock", local: "buttock"}; + } + if (typeof V.brandDesign === "string") { + V.brandDesign = {primary: V.brandDesign, official: V.brandDesign, local: V.brandDesign}; + } else if (typeof V.brandDesign !== "object") { + V.brandDesign = {primary: "your initials", official: "your initials", local: "your initials"}; + } + if (typeof V.brandDesign.official === "undefined") { + V.brandDesign.official = "your personal symbol"; + } + if (jQuery.isEmptyObject(V.scarTarget)) { + V.scarTarget = {primary: "left cheek", secondary: "left cheek", local: "left cheek"}; + } + if (jQuery.isEmptyObject(V.scarDesign)) { + V.scarDesign = {primary: "generic", local: "generic"}; + } + } + + // Reminders + { + if (!Array.isArray(V.reminders)) { + let r = V.reminders; + V.reminders = []; + for (let i = 0; i < r.entries.length; i++) { + App.Reminders.add(r.entries[i], V.week + Number(r.weeks[i])); + } + for (let i = 0; i < r.overdue.length; i++) { + let s = r.overdue[i].split(" "); + s.splice(s.length - 5, 5); + s = s.join(" "); + App.Reminders.add(s, V.week - 1); + } + } + } + + // Display + { + if (typeof V.sideBarOptions.roomPop === "undefined") { + V.sideBarOptions.roomPop = 1; + } + if (typeof V.sideBarOptions.compact === "undefined") { + V.sideBarOptions.compact = 1; + } + if (V.sortSlavesBy === "income" || V.sortSlavesBy === "lastWeeksCashIncome") { + V.sortSlavesBy = "weeklyIncome"; + } + } + + if (typeof V.taitorWeeks !== "undefined") { + V.traitorWeeks = V.taitorWeeks; + } + + // Orphanages + if ((typeof V.DefaultBirthDestination === "undefined") || (V.DefaultBirthDestination === "") || (V.DefaultBirthDestination === "anywhere")) { + V.DefaultBirthDestination = "individually decided fates"; + } + + // Rent + { + if (typeof V.LCRent !== "undefined") { + V.rent.lowerClass = V.LCRent; + } + if (typeof V.MCRent !== "undefined") { + V.rent.middleClass = V.MCRent; + } + if (typeof V.UCRent !== "undefined") { + V.rent.upperClass = V.UCRent; + } + if (typeof V.TCRent !== "undefined") { + V.rent.topClass = V.TCRent; + } + } + + // PC + { + PCDatatypeCleanup(); + V.enduringTrust = Number(V.enduringTrust) || 0; + V.enduringDevotion = Number(V.enduringDevotion) || 0; + V.averageTrust = Number(V.averageTrust) || 0; + V.averageDevotion = Number(V.averageDevotion) || 0; + if (typeof V.trainingRegimen !== "undefined") { + if (typeof V.personalAttention === "number") { + V.personalAttention = [{ID: V.personalAttention, trainingRegimen: V.trainingRegimen}]; + } + } + V.HackingSkillMultiplier = upgradeMultiplier('hacking'); + V.upgradeMultiplierArcology = upgradeMultiplier('engineering'); + V.upgradeMultiplierMedicine = upgradeMultiplier('medicine'); + V.upgradeMultiplierTrade = upgradeMultiplier('trading'); + } + + // Looks at all wombs, including PC. + BCReserveInit(); + + // Menials + { + if (typeof V.AMenials !== "undefined") { + V.ASlaves += Math.trunc(V.AMenials / 2); + } + if (typeof V.helots !== "undefined") { + V.menials = V.helots; + } + if (typeof V.TradeShowHelots !== "undefined") { + V.TradeShowMenials = V.TradeShowHelots; + } + } + + // Items/upgrades purchased + { + if (V.merchantFSWares.length === 0) { + V.merchantFSWares.push("AssetExpansionistResearch"); + V.merchantFSWares.push("GenderRadicalistResearch"); + V.merchantFSWares.push("HedonisticDecadenceResearch"); + V.merchantFSWares.push("SlaveProfessionalismResearch"); + V.merchantFSWares.push("SlimnessEnthusiastResearch"); + V.merchantFSWares.push("TransformationFetishistResearch"); + V.merchantFSWares.push("YouthPreferentialistResearch"); + } + if (V.merchantIllegalWares.length === 0) { + V.merchantIllegalWares.push("childhoodFertilityInducedNCS"); + V.merchantIllegalWares.push("UterineRestraintMesh"); + V.merchantIllegalWares.push("RapidCellGrowthFormula"); + V.merchantIllegalWares.push("PGHack"); + V.merchantIllegalWares.push("sympatheticOvaries"); + V.merchantIllegalWares.push("asexualReproduction"); + } + if (typeof V.arcologies[0].childhoodFertilityInducedNCSResearch === "undefined") { + V.arcologies[0].childhoodFertilityInducedNCSResearch = 0; + } + delete V.arcologies[0].childFertilityInducedNCSResearch; + } + + // Shopping for slaves + if (jQuery.isEmptyObject(V.huskSlave)) { + V.huskSlave = new App.Entity.CustomSlaveOrder(); + } + if (V.prisonCircuit.length === 0) { + V.prisonCircuit = ["low tier criminals", "gangs and smugglers", "white collar", "military prison"]; + V.prisonCircuitIndex = random(0, V.prisonCircuit.length - 1); + } + + App.Update.CustomSlaveOrder(V.huskSlave); + App.Update.CustomSlaveOrder(V.customSlave); + + // Farmyard Subsection + const animalsBought = ["canines", "hooved", "felines", "labradorRetrievers", "germanShepherds", "goldenRetrievers", "frenchBulldogs", "bulldogs", "beagles", "poodles", "rottweilers", "yorkshireTerriers", "siberianHuskies", "horses", "bulls", "pigs", "siameses", "persians", "maineCoons", "ragdolls", "bengals", "abbysinians", "birmans", "orientalShorthairs", "sphynxes", "russianBlues", "wolves", "foxes", "jackals", "dingos", "zebras", "cougars", "jaguars", "pumas", "lynx", "leopards", "lions", "tigers"]; + animalsBought.forEach(function(species) { V.animalsBought[species] = V.animalsBought[species] || 0; }); + + // SF + App.SF.BC(); + + // FS + { + if (V.FSGotRepCreditSix === 1) { + V.FSGotRepCredits = 7; + } else if (V.FSGotRepCreditFive === 1) { + V.FSGotRepCredits = 6; + } else if (V.FSGotRepCreditFour === 1) { + V.FSGotRepCredits = 5; + } else if (V.FSGotRepCreditThree === 1) { + V.FSGotRepCredits = 4; + } else if (V.FSGotRepCreditTwo === 1) { + V.FSGotRepCredits = 3; + } else if (V.FSGotRepCreditOne === 1) { + V.FSGotRepCredits = 2; + } else if (V.FSAnnounced === 1) { + V.FSGotRepCredits = 1; + } else { + V.FSGotRepCredits = 0; + } + if (typeof V.arcologies[0].FSAztecRevivalist === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSAztecRevivalist = "unset", V.arcologies[bci].FSAztecRevivalistDecoration = 0; + } + V.arcologies[0].FSAztecRevivalistLaw = 0, V.arcologies[0].FSAztecRevivalistSMR = 0; + } + if (typeof V.arcologies[0].FSHedonisticDecadence === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSHedonisticDecadence = "unset", V.arcologies[bci].FSHedonisticDecadenceDecoration = 0; + } + V.arcologies[0].FSHedonisticDecadenceLaw = 0, V.arcologies[0].FSHedonisticDecadenceLaw2 = 0, V.arcologies[0].FSHedonisticDecadenceSMR = 0, V.arcologies[0].FSHedonisticDecadenceResearch = 0; + } + if (typeof V.arcologies[0].FSHedonisticDecadenceDietResearch === "undefined") { + V.arcologies[0].FSHedonisticDecadenceDietResearch = 0; + } + if (typeof V.arcologies[0].FSPhysicalIdealistStrongFat === "undefined") { + V.arcologies[0].FSPhysicalIdealistStrongFat = 0; + } + if (typeof V.arcologies[0].FSHedonisticDecadenceStrongFat === "undefined") { + V.arcologies[0].FSHedonisticDecadenceStrongFat = 0; + } + if (typeof V.arcologies[0].FSIntellectualDependency === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSIntellectualDependency = "unset", V.arcologies[bci].FSIntellectualDependencyDecoration = 0; + } + V.arcologies[0].FSIntellectualDependencyLaw = 0, V.arcologies[0].FSIntellectualDependencyLawBeauty = 0, V.arcologies[0].FSIntellectualDependencySMR = 0, V.arcologies[0].FSIntellectualDependencyResearch = 0; + } + if (typeof V.arcologies[0].FSSlaveProfessionalism === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSSlaveProfessionalism = "unset", V.arcologies[bci].FSSlaveProfessionalismDecoration = 0; + } + V.arcologies[0].FSSlaveProfessionalismLaw = 0, V.arcologies[0].FSSlaveProfessionalismSMR = 0, V.arcologies[0].FSSlaveProfessionalismResearch = 0; + } + if (typeof V.arcologies[0].FSPetiteAdmiration === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSPetiteAdmiration = "unset", V.arcologies[bci].FSPetiteAdmirationDecoration = 0; + } + V.arcologies[0].FSPetiteAdmirationLaw = 0, V.arcologies[0].FSPetiteAdmirationLaw2 = 0, V.arcologies[0].FSPetiteAdmirationSMR = 0, V.arcologies[0].FSPetiteAdmirationResearch = 0; + } + if (typeof V.arcologies[0].FSStatuesqueGlorification === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSStatuesqueGlorification = "unset", V.arcologies[bci].FSStatuesqueGlorificationDecoration = 0; + } + V.arcologies[0].FSStatuesqueGlorificationLaw = 0, V.arcologies[0].FSStatuesqueGlorificationLaw2 = 0, V.arcologies[0].FSStatuesqueGlorificationSMR = 0, V.arcologies[0].FSStatuesqueGlorificationResearch = 0; + } + if (typeof V.arcologies[0].FSCummunism === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSCummunism = "unset", V.arcologies[bci].FSCummunismDecoration = 0; + } + V.arcologies[0].FSCummunismResearch = 0; + } + if (typeof V.arcologies[0].FSIncestFetishist === "undefined") { + for (let bci = 0; bci < V.arcologies.length; bci++) { + V.arcologies[bci].FSIncestFetishist = "unset", V.arcologies[bci].FSIncestFetishistDecoration = 0; + } + V.arcologies[0].FSIncestFetishistResearch = 0; + } + for (let bci = 0; bci < V.arcologies.length; bci++) { + if (V.arcologies[bci].FSHedonisticDecadence === 0) { + V.arcologies[bci].FSHedonisticDecadence = "unset", V.arcologies[bci].FSHedonisticDecadenceDecoration = 0; + } + } + if (typeof V.arcologies[0].FSPhysicalIdealistLaw === "undefined") { + V.arcologies[0].FSPhysicalIdealistLaw = 0; + } + } + + // Arcologies + { + if (jQuery.isEmptyObject(V.arcologies)) { + V.arcologies = []; + V.arcologies[0] = { + name: "Arcology X-", + direction: 0, + government: 1, + honeymoon: 0, + prosperity: 50, + FSSupremacist: "unset", + FSSupremacistRace: 0, + FSSubjugationist: "unset", + FSSubjugationistRace: 0, + FSGenderRadicalist: "unset", + FSGenderFundamentalist: "unset", + FSPaternalist: "unset", + FSDegradationist: "unset", + FSBodyPurist: "unset", + FSTransformationFetishist: "unset", + FSYouthPreferentialist: "unset", + FSMaturityPreferentialist: "unset", + FSSlimnessEnthusiast: "unset", + FSAssetExpansionist: "unset", + FSPastoralist: "unset", + FSPhysicalIdealist: "unset", + FSChattelReligionist: "unset", + FSRomanRevivalist: "unset", + FSEgyptianRevivalist: "unset", + FSEdoRevivalist: "unset", + FSArabianRevivalist: "unset", + FSChineseRevivalist: "unset", + FSNull: "unset", + FSRepopulationFocus: "unset", + FSRestart: "unset", + FSHedonisticDecadence: "unset", + FSIntellectualDependency: "unset", + FSSlaveProfessionalism: "unset", + FSPetiteAdmiration: "unset", + FSStatuesqueGlorification: "unset", + embargo: 1, + embargoTarget: -1, + influenceTarget: -1, + influenceBonus: 0, + rival: 0 + }; + } + } + + // Player Arcology: object + { + if (typeof V.arcologyName !== "undefined") { + V.arcologies[0].name = V.arcologyName; + } else if (typeof V.arcologies[0].name === "undefined") { + V.arcologies[0].name = "Arcology X-4"; + } + if (typeof V.arcologies[0].ownership === "undefined") { + V.arcologies[0].ownership = 50; + } + if (typeof V.arcologies[0].minority === "undefined") { + V.arcologies[0].minority = 20; + } + if (typeof V.arcologies[0].embargo === "undefined") { + V.arcologies[0].embargo = 1; + } + if (typeof V.arcologies[0].embargoTarget === "undefined") { + V.arcologies[0].embargoTarget = -1; + } + if (typeof V.arcologies[0].hackingEconomic === "undefined") { + V.arcologies[0].hackingEconomic = 1; + } + if (typeof V.arcologies[0].hackingEconomicTarget === "undefined") { + V.arcologies[0].hackingEconomicTarget = -1; + } + if (typeof V.arcologies[0].hackingReputationTarget === "undefined") { + V.arcologies[0].hackingReputationTarget = -1; + } + if (typeof V.arcologies[0].hackingReputation === "undefined") { + V.arcologies[0].hackingReputation = 1; + } + if (typeof V.arcologies[0].influenceTarget === "undefined") { + V.arcologies[0].influenceTarget = -1; + } + if (typeof V.arcologies[0].influenceBonus === "undefined") { + V.arcologies[0].influenceBonus = -1; + } + if (typeof V.arcologies[0].CyberEconomic === "undefined") { + V.arcologies[0].CyberEconomic = 1; + } + if (typeof V.arcologies[0].CyberEconomicTarget === "undefined") { + V.arcologies[0].CyberEconomicTarget = -1; + } + if (typeof V.arcologies[0].CyberReputation === "undefined") { + V.arcologies[0].CyberReputation = 1; + } + if (typeof V.arcologies[0].CyberReputationTarget === "undefined") { + V.arcologies[0].CyberReputationTarget = -1; + } + if (typeof V.arcologies[0].rival === "undefined") { + V.arcologies[0].rival = 0; + } + if (typeof V.arcologies[0].FSNull === "undefined") { + V.arcologies[0].FSNull = "unset"; + } + if (typeof V.arcologies[0].FSRepopulationFocus === "undefined") { + V.arcologies[0].FSRepopulationFocus = "unset"; + } + if (typeof V.arcologies[0].FSRepopulationFocusPregPolicy === "undefined") { + V.arcologies[0].FSRepopulationFocusPregPolicy = 0; + } + if (typeof V.arcologies[0].FSRepopulationFocusMilfPolicy === "undefined") { + V.arcologies[0].FSRepopulationFocusMilfPolicy = 0; + } + if (typeof V.arcologies[0].FSRepopulationFocusInterest === "undefined") { + V.arcologies[0].FSRepopulationFocusInterest = 0; + } + if (typeof V.arcologies[0].FSRestart === "undefined") { + V.arcologies[0].FSRestart = "unset"; + } + if (typeof V.arcologies[0].FSEugenicsChastityPolicy === "undefined") { + V.arcologies[0].FSEugenicsChastityPolicy = 0; + } + if (typeof V.arcologies[0].FSEugenicsSterilizationPolicy === "undefined") { + V.arcologies[0].FSEugenicsSterilizationPolicy = 0; + } + if (typeof V.arcologies[0].FSEugenicsInterest === "undefined") { + V.arcologies[0].FSEugenicsInterest = 0; + } + if (typeof V.arcologies[0].PCminority === "undefined") { + V.arcologies[0].PCminority = 0; + } + if (typeof V.arcologies[0].demandFactor === "undefined") { + V.arcologies[0].demandFactor = 250; + } + if (typeof V.arcologies[0].leaderID === "undefined") { + V.arcologies[0].leaderID = 0; + } + // FS + { + if ((typeof V.FSSupremacist !== "undefined") && V.FSSupremacist !== "unset") { + V.arcologies[0].FSSupremacist = V.FSSupremacist; + V.arcologies[0].FSSupremacistRace = V.FSSupremacistRace; + } else if (typeof V.arcologies[0].FSSupremacist === "undefined") { + V.arcologies[0].FSSupremacist = "unset"; + } + if ((typeof V.FSSupremacistLawME !== "undefined") && V.FSSupremacistLawME !== 0) { + V.arcologies[0].FSSupremacistLawME = V.FSSupremacistLawME; + } else if (typeof V.arcologies[0].FSSupremacistLawME === "undefined") { + V.arcologies[0].FSSupremacistLawME = 0; + } + if (V.arcologies[0].FSSupremacistRace === "middle") { + V.arcologies[0].FSSupremacistRace = "middle eastern"; + } else if (V.arcologies[0].FSSupremacistRace === "pacific") { + V.arcologies[0].FSSupremacistRace = "pacific islander"; + } else if (V.arcologies[0].FSSupremacistRace === "southern") { + V.arcologies[0].FSSupremacistRace = "southern european"; + } else if (V.arcologies[0].FSSupremacistRace === "mixed") { + V.arcologies[0].FSSupremacistRace = "mixed race"; + } + if ((typeof V.FSSubjugationist !== "undefined") && V.FSSubjugationist !== "unset") { + V.arcologies[0].FSSubjugationist = V.FSSubjugationist; + V.arcologies[0].FSSubjugationistRace = V.FSSubjugationistRace; + } else if (typeof V.arcologies[0].FSSubjugationist === "undefined") { + V.arcologies[0].FSSubjugationist = "unset"; + } + if ((typeof V.FSSubjugationistLawME !== "undefined") && V.FSSubjugationistLawME !== 0) { + V.arcologies[0].FSSubjugationistLawME = V.FSSubjugationistLawME; + } else if (typeof V.arcologies[0].FSSubjugationistLawME === "undefined") { + V.arcologies[0].FSSubjugationistLawME = 0; + } + if (V.arcologies[0].FSSubjugationistRace === "middle") { + V.arcologies[0].FSSubjugationistRace = "middle eastern"; + } else if (V.arcologies[0].FSSubjugationistRace === "pacific") { + V.arcologies[0].FSSubjugationistRace = "pacific islander"; + } else if (V.arcologies[0].FSSubjugationistRace === "southern") { + V.arcologies[0].FSSubjugationistRace = "southern european"; + } else if (V.arcologies[0].FSSubjugationistRace === "mixed") { + V.arcologies[0].FSSubjugationistRace = "mixed race"; + } + if ((typeof V.FSDegradationist !== "undefined") && V.FSDegradationist !== "unset") { + V.arcologies[0].FSDegradationist = V.FSDegradationist; + } else if (typeof V.arcologies[0].FSDegradationist === "undefined") { + V.arcologies[0].FSDegradationist = "unset"; + } + if ((typeof V.FSDegradationistLaw !== "undefined") && V.FSDegradationistLaw !== 0) { + V.arcologies[0].FSDegradationistLaw = V.FSDegradationistLaw; + } else if (typeof V.arcologies[0].FSDegradationistLaw === "undefined") { + V.arcologies[0].FSDegradationistLaw = 0; + } + if ((typeof V.FSPaternalist !== "undefined") && V.FSPaternalist !== "unset") { + V.arcologies[0].FSPaternalist = V.FSPaternalist; + } else if (typeof V.arcologies[0].FSPaternalist === "undefined") { + V.arcologies[0].FSPaternalist = "unset"; + } + if ((typeof V.FSPaternalistLaw !== "undefined") && V.FSPaternalistLaw !== 0) { + V.arcologies[0].FSPaternalistLaw = V.FSPaternalistLaw; + } else if (typeof V.arcologies[0].FSPaternalistLaw === "undefined") { + V.arcologies[0].FSPaternalistLaw = 0; + } + if ((typeof V.FSGenderFundamentalist !== "undefined") && V.FSGenderFundamentalist !== "unset") { + V.arcologies[0].FSGenderFundamentalist = V.FSGenderFundamentalist; + } else if (typeof V.arcologies[0].FSGenderFundamentalist === "undefined") { + V.arcologies[0].FSGenderFundamentalist = "unset"; + } + if ((typeof V.FSGenderFundamentalistSMR !== "undefined") && V.FSGenderFundamentalistSMR !== 0) { + V.arcologies[0].FSGenderFundamentalistSMR = V.FSGenderFundamentalistSMR; + } else if (typeof V.arcologies[0].FSGenderFundamentalistSMR === "undefined") { + V.arcologies[0].FSGenderFundamentalistSMR = 0; + } + delete V.arcologies[0].FSGenderFundamentalistLaw; + if ((typeof V.FSGenderRadicalist !== "undefined") && V.FSGenderRadicalist !== "unset") { + V.arcologies[0].FSGenderRadicalist = V.FSGenderRadicalist; + } else if (typeof V.arcologies[0].FSGenderRadicalist === "undefined") { + V.arcologies[0].FSGenderRadicalist = "unset"; + } + if (typeof V.arcologies[0].FSGenderRadicalistLawBeauty === "undefined") { + V.arcologies[0].FSGenderRadicalistLawBeauty = 0; + } + if (typeof V.arcologies[0].FSGenderRadicalistLawFuta === "undefined") { + V.arcologies[0].FSGenderRadicalistLawFuta = 0; + } + delete V.arcologies[0].FSGenderRadicalistLawDicks; + delete V.arcologies[0].FSGenderRadicalistSMR; + if ((typeof V.FSBodyPurist !== "undefined") && V.FSBodyPurist !== "unset") { + V.arcologies[0].FSBodyPurist = V.FSBodyPurist; + } else if (typeof V.arcologies[0].FSBodyPurist === "undefined") { + V.arcologies[0].FSBodyPurist = "unset"; + } + if ((typeof V.FSBodyPuristLaw !== "undefined") && V.FSBodyPuristLaw !== 0) { + V.arcologies[0].FSBodyPuristLaw = V.FSBodyPuristLaw; + } else if (typeof V.arcologies[0].FSBodyPuristLaw === "undefined") { + V.arcologies[0].FSBodyPuristLaw = 0; + } + if ((typeof V.FSPhysicalIdealist !== "undefined") && V.FSPhysicalIdealist !== "unset") { + V.arcologies[0].FSPhysicalIdealist = V.FSPhysicalIdealist; + } else if (typeof V.arcologies[0].FSPhysicalIdealist === "undefined") { + V.arcologies[0].FSPhysicalIdealist = "unset"; + } + if ((typeof V.FSPhysicalIdealistSMR !== "undefined") && V.FSPhysicalIdealistSMR !== 0) { + V.arcologies[0].FSPhysicalIdealistSMR = V.FSPhysicalIdealistSMR; + } else if (typeof V.arcologies[0].FSPhysicalIdealistSMR === "undefined") { + V.arcologies[0].FSPhysicalIdealistSMR = 0; + } + if ((typeof V.FSTransformationFetishist !== "undefined") && V.FSTransformationFetishist !== "unset") { + V.arcologies[0].FSTransformationFetishist = V.FSTransformationFetishist; + } else if (typeof V.arcologies[0].FSTransformationFetishist === "undefined") { + V.arcologies[0].FSTransformationFetishist = "unset"; + } + if ((typeof V.FSTransformationFetishistSMR !== "undefined") && V.FSTransformationFetishistSMR !== 0) { + V.arcologies[0].FSTransformationFetishistSMR = V.FSTransformationFetishistSMR; + } else if (typeof V.arcologies[0].FSTransformationFetishistSMR === "undefined") { + V.arcologies[0].FSTransformationFetishistSMR = 0; + } + delete V.arcologies[0].FSTransformationFetishistLaw; + if ((typeof V.FSAssetExpansionist !== "undefined") && V.FSAssetExpansionist !== "unset") { + V.arcologies[0].FSAssetExpansionist = V.FSAssetExpansionist; + } else if (typeof V.arcologies[0].FSAssetExpansionist === "undefined") { + V.arcologies[0].FSAssetExpansionist = "unset"; + } + if ((typeof V.FSAssetExpansionistSMR !== "undefined") && V.FSAssetExpansionistSMR !== 0) { + V.arcologies[0].FSAssetExpansionistSMR = V.FSAssetExpansionistSMR; + } else if (typeof V.arcologies[0].FSAssetExpansionistSMR === "undefined") { + V.arcologies[0].FSAssetExpansionistSMR = 0; + } + delete V.arcologies[0].FSAssetExpansionistLaw; + if ((typeof V.FSSlimnessEnthusiast !== "undefined") && V.FSSlimnessEnthusiast !== "unset") { + V.arcologies[0].FSSlimnessEnthusiast = V.FSSlimnessEnthusiast; + } else if (typeof V.arcologies[0].FSSlimnessEnthusiast === "undefined") { + V.arcologies[0].FSSlimnessEnthusiast = "unset"; + } + if ((typeof V.FSSlimnessEnthusiastSMR !== "undefined") && V.FSSlimnessEnthusiastSMR !== 0) { + V.arcologies[0].FSSlimnessEnthusiastSMR = V.FSSlimnessEnthusiastSMR; + } else if (typeof V.arcologies[0].FSSlimnessEnthusiastSMR === "undefined") { + V.arcologies[0].FSSlimnessEnthusiastSMR = 0; + } + if ((typeof V.FSMaturityPreferentialist !== "undefined") && V.FSMaturityPreferentialist !== "unset") { + V.arcologies[0].FSMaturityPreferentialist = V.FSMaturityPreferentialist; + } else if (typeof V.arcologies[0].FSMaturityPreferentialist === "undefined") { + V.arcologies[0].FSMaturityPreferentialist = "unset"; + } + if ((typeof V.FSMaturityPreferentialistLaw !== "undefined") && V.FSMaturityPreferentialistLaw !== 0) { + V.arcologies[0].FSMaturityPreferentialistLaw = V.FSMaturityPreferentialistLaw; + } else if (typeof V.arcologies[0].FSMaturityPreferentialistLaw === "undefined") { + V.arcologies[0].FSMaturityPreferentialistLaw = 0; + } + if ((typeof V.FSYouthPreferentialist !== "undefined") && V.FSYouthPreferentialist !== "unset") { + V.arcologies[0].FSYouthPreferentialist = V.FSYouthPreferentialist; + } else if (typeof V.arcologies[0].FSYouthPreferentialist === "undefined") { + V.arcologies[0].FSYouthPreferentialist = "unset"; + } + if ((typeof V.FSYouthPreferentialistLaw !== "undefined") && V.FSYouthPreferentialistLaw !== 0) { + V.arcologies[0].FSYouthPreferentialistLaw = V.FSYouthPreferentialistLaw; + } else if (typeof V.arcologies[0].FSYouthPreferentialistLaw === "undefined") { + V.arcologies[0].FSYouthPreferentialistLaw = 0; + } + if ((typeof V.FSPastoralist !== "undefined") && V.FSPastoralist !== "unset") { + V.arcologies[0].FSPastoralist = V.FSPastoralist; + } else if (typeof V.arcologies[0].FSPastoralist === "undefined") { + V.arcologies[0].FSPastoralist = "unset"; + } + if ((typeof V.FSPastoralistLaw !== "undefined") && V.FSPastoralistLaw !== 0) { + V.arcologies[0].FSPastoralistLaw = V.FSPastoralistLaw; + } else if (typeof V.arcologies[0].FSPastoralistLaw === "undefined") { + V.arcologies[0].FSPastoralistLaw = 0; + } + if ((typeof V.FSChattelReligionist !== "undefined") && V.FSChattelReligionist !== "unset") { + V.arcologies[0].FSChattelReligionist = V.FSChattelReligionist; + } else if (typeof V.arcologies[0].FSChattelReligionist === "undefined") { + V.arcologies[0].FSChattelReligionist = "unset"; + } + if ((typeof V.FSChattelReligionistLaw !== "undefined") && V.FSChattelReligionistLaw !== 0) { + V.arcologies[0].FSChattelReligionistLaw = V.FSChattelReligionistLaw; + } else if (typeof V.arcologies[0].FSChattelReligionistLaw === "undefined") { + V.arcologies[0].FSChattelReligionistLaw = 0; + } + if ((typeof V.FSRomanRevivalist !== "undefined") && V.FSRomanRevivalist !== "unset") { + V.arcologies[0].FSRomanRevivalist = V.FSRomanRevivalist; + } else if (typeof V.arcologies[0].FSRomanRevivalist === "undefined") { + V.arcologies[0].FSRomanRevivalist = "unset"; + } + if ((typeof V.FSRomanRevivalistLaw !== "undefined") && V.FSRomanRevivalistLaw !== 0) { + V.arcologies[0].FSRomanRevivalistLaw = V.FSRomanRevivalistLaw; + } else if (typeof V.arcologies[0].FSRomanRevivalistLaw === "undefined") { + V.arcologies[0].FSRomanRevivalistLaw = 0; + } + if ((typeof V.FSEgyptianRevivalist !== "undefined") && V.FSEgyptianRevivalist !== "unset") { + V.arcologies[0].FSEgyptianRevivalist = V.FSEgyptianRevivalist; + } else if (typeof V.arcologies[0].FSEgyptianRevivalist === "undefined") { + V.arcologies[0].FSEgyptianRevivalist = "unset"; + } + if ((typeof V.FSEgyptianRevivalistLaw !== "undefined") && V.FSEgyptianRevivalistLaw !== 0) { + V.arcologies[0].FSEgyptianRevivalistLaw = V.FSEgyptianRevivalistLaw; + } else if (typeof V.arcologies[0].FSEgyptianRevivalistLaw === "undefined") { + V.arcologies[0].FSEgyptianRevivalistLaw = 0; + } + if (typeof V.arcologies[0].FSEgyptianRevivalistIncestPolicy === "undefined") { + V.arcologies[0].FSEgyptianRevivalistIncestPolicy = 0; + } + if (typeof V.arcologies[0].FSEgyptianRevivalistInterest === "undefined") { + V.arcologies[0].FSEgyptianRevivalistInterest = 0; + } + if ((typeof V.FSEdoRevivalist !== "undefined") && V.FSEdoRevivalist !== "unset") { + V.arcologies[0].FSEdoRevivalist = V.FSEdoRevivalist; + } else if (typeof V.arcologies[0].FSEdoRevivalist === "undefined") { + V.arcologies[0].FSEdoRevivalist = "unset"; + } + if ((typeof V.FSEdoRevivalistLaw !== "undefined") && V.FSEdoRevivalistLaw !== 0) { + V.arcologies[0].FSEdoRevivalistLaw = V.FSEdoRevivalistLaw; + } else if (typeof V.arcologies[0].FSEdoRevivalistLaw === "undefined") { + V.arcologies[0].FSEdoRevivalistLaw = 0; + } + if ((typeof V.FSArabianRevivalist !== "undefined") && V.FSArabianRevivalist !== "unset") { + V.arcologies[0].FSArabianRevivalist = V.FSArabianRevivalist; + } else if (typeof V.arcologies[0].FSArabianRevivalist === "undefined") { + V.arcologies[0].FSArabianRevivalist = "unset"; + } + if ((typeof V.FSArabianRevivalistLaw !== "undefined") && V.FSArabianRevivalistLaw !== 0) { + V.arcologies[0].FSArabianRevivalistLaw = V.FSArabianRevivalistLaw; + } else if (typeof V.arcologies[0].FSArabianRevivalistLaw === "undefined") { + V.arcologies[0].FSArabianRevivalistLaw = 0; + } + if ((typeof V.FSChineseRevivalist !== "undefined") && V.FSChineseRevivalist !== "unset") { + V.arcologies[0].FSChineseRevivalist = V.FSChineseRevivalist; + } else if (typeof V.arcologies[0].FSChineseRevivalist === "undefined") { + V.arcologies[0].FSChineseRevivalist = "unset"; + } + if ((typeof V.FSChineseRevivalistLaw !== "undefined") && V.FSChineseRevivalistLaw !== 0) { + V.arcologies[0].FSChineseRevivalistLaw = V.FSChineseRevivalistLaw; + } else if (typeof V.arcologies[0].FSChineseRevivalistLaw === "undefined") { + V.arcologies[0].FSChineseRevivalistLaw = 0; + } + delete V.arcologies[0].FSNullLaw; + + if (V.arcologies[0].FSSubjugationist !== "unset" && !Number.isFinite(V.arcologies[0].FSSubjugationist)) { + V.arcologies[0].FSSubjugationist = 10; + r += `<br>Fixed NaN FS value for FSSubjugationist`; + } + if (V.arcologies[0].FSGenderRadicalist !== "unset" && !Number.isFinite(V.arcologies[0].FSGenderRadicalist)) { + V.arcologies[0].FSGenderRadicalist = 10; + r += `<br>Fixed NaN FS value for FSGenderRadicalist`; + } + if (V.arcologies[0].FSRestart !== "unset" && !Number.isFinite(V.arcologies[0].FSRestart)) { + V.arcologies[0].FSRestart = 10; + r += `<br>Fixed NaN FS value for FSRestart`; + } + if (V.arcologies[0].FSRepopulationFocus !== "unset" && !Number.isFinite(V.arcologies[0].FSRepopulationFocus)) { + V.arcologies[0].FSRepopulationFocus = 10; + r += `<br>Fixed NaN FS value for FSRepopulationFocus`; + } + if (V.arcologies[0].FSSupremacist !== "unset" && !Number.isFinite(V.arcologies[0].FSSupremacist)) { + V.arcologies[0].FSSupremacist = 10; + r += `<br>Fixed NaN FS value for FSSupremacist`; + } + if (V.arcologies[0].FSBodyPurist !== "unset" && !Number.isFinite(V.arcologies[0].FSBodyPurist)) { + V.arcologies[0].FSBodyPurist = 10; + r += `<br>Fixed NaN FS value for FSBodyPurist`; + } + if (V.arcologies[0].FSPaternalist !== "unset" && !Number.isFinite(V.arcologies[0].FSPaternalist)) { + V.arcologies[0].FSPaternalist = 10; + r += `<br>Fixed NaN FS value for FSPaternalist`; + } + if (V.arcologies[0].FSSlimnessEnthusiast !== "unset" && !Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) { + V.arcologies[0].FSSlimnessEnthusiast = 10; + r += `<br>Fixed NaN FS value for FSSlimnessEnthusiast`; + } + if (V.arcologies[0].FSGenderFundamentalist !== "unset" && !Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) { + V.arcologies[0].FSGenderFundamentalist = 10; + r += `<br>Fixed NaN FS value for FSGenderFundamentalist`; + } + if (V.arcologies[0].FSMaturityPreferentialist !== "unset" && !Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) { + V.arcologies[0].FSMaturityPreferentialist = 10; + r += `<br>Fixed NaN FS value for FSMaturityPreferentialist`; + } + if (V.arcologies[0].FSYouthPreferentialist !== "unset" && !Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) { + V.arcologies[0].FSYouthPreferentialist = 10; + r += `<br>Fixed NaN FS value for FSYouthPreferentialist`; + } + if (V.arcologies[0].FSTransformationFetishist !== "unset" && !Number.isFinite(V.arcologies[0].FSTransformationFetishist)) { + V.arcologies[0].FSTransformationFetishist = 10; + r += `<br>Fixed NaN FS value for FSTransformationFetishist`; + } + if (V.arcologies[0].FSHedonisticDecadence !== "unset" && !Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) { + V.arcologies[0].FSHedonisticDecadence = 10; + r += `<br>Fixed NaN FS value for FSHedonisticDecadence`; + } + if (V.arcologies[0].FSPhysicalIdealist !== "unset" && !Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) { + V.arcologies[0].FSPhysicalIdealist = 10; + r += `<br>Fixed NaN FS value for FSPhysicalIdealist`; + } + if (V.arcologies[0].FSPastoralist !== "unset" && !Number.isFinite(V.arcologies[0].FSPastoralist)) { + V.arcologies[0].FSPastoralist = 10; + r += `<br>Fixed NaN FS value for FSPastoralist`; + } + if (V.arcologies[0].FSAssetExpansionist !== "unset" && !Number.isFinite(V.arcologies[0].FSAssetExpansionist)) { + V.arcologies[0].FSAssetExpansionist = 10; + r += `<br>Fixed NaN FS value for FSAssetExpansionist`; + } + if (V.arcologies[0].FSDegradationist !== "unset" && !Number.isFinite(V.arcologies[0].FSDegradationist)) { + V.arcologies[0].FSDegradationist = 10; + r += `<br>Fixed NaN FS value for FSDegradationist`; + } + if (V.arcologies[0].FSRomanRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSRomanRevivalist)) { + V.arcologies[0].FSRomanRevivalist = 10; + r += `<br>Fixed NaN FS value for FSRomanRevivalist`; + } + if (V.arcologies[0].FSChattelReligionist !== "unset" && !Number.isFinite(V.arcologies[0].FSChattelReligionist)) { + V.arcologies[0].FSChattelReligionist = 10; + r += `<br>Fixed NaN FS value for FSChattelReligionist`; + } + if (V.arcologies[0].FSChineseRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSChineseRevivalist)) { + V.arcologies[0].FSChineseRevivalist = 10; + r += `<br>Fixed NaN FS value for FSChineseRevivalist`; + } + if (V.arcologies[0].FSArabianRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSArabianRevivalist)) { + V.arcologies[0].FSArabianRevivalist = 10; + r += `<br>Fixed NaN FS value for FSArabianRevivalist`; + } + if (V.arcologies[0].FSEdoRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSEdoRevivalist)) { + V.arcologies[0].FSEdoRevivalist = 10; + r += `<br>Fixed NaN FS value for FSEdoRevivalist`; + } + if (V.arcologies[0].FSEgyptianRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) { + V.arcologies[0].FSEgyptianRevivalist = 10; + r += `<br>Fixed NaN FS value for FSEgyptianRevivalist`; + } + if (V.arcologies[0].FSAztecRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSAztecRevivalist)) { + V.arcologies[0].FSAztecRevivalist = 10; + r += `<br>Fixed NaN FS value for FSAztecRevivalist`; + } + if (V.arcologies[0].FSIntellectualDependency !== "unset" && !Number.isFinite(V.arcologies[0].FSIntellectualDependency)) { + V.arcologies[0].FSIntellectualDependency = 10; + r += `<br>Fixed NaN FS value for FSIntellectualDependency`; + } + if (V.arcologies[0].FSSlaveProfessionalism !== "unset" && !Number.isFinite(V.arcologies[0].FSSlaveProfessionalism)) { + V.arcologies[0].FSSlaveProfessionalism = 10; + r += `<br>Fixed NaN FS value for FSSlaveProfessionalism`; + } + if (V.arcologies[0].FSPetiteAdmiration !== "unset" && !Number.isFinite(V.arcologies[0].FSPetiteAdmiration)) { + V.arcologies[0].FSPetiteAdmiration = 10; + r += `<br>Fixed NaN FS value for FSPetiteAdmiration`; + } + if (V.arcologies[0].FSStatuesqueGlorification !== "unset" && !Number.isFinite(V.arcologies[0].FSStatuesqueGlorification)) { + V.arcologies[0].FSStatuesqueGlorification = 10; + r += `<br>Fixed NaN FS value for FSStatuesqueGlorification`; + } + // Clean up FS in player arcology + App.Update.FScheatDatatypeCleanup(); + } + } + + // Player Arcology + { + if (typeof V.assistant === "number") { + assistant.BC(); + } else { + assistant.object(); + } + if (jQuery.isEmptyObject(V.FSPromenade)) { + V.FSPromenade = { + Subjugationist: 0, + Supremacist: 0, + GenderRadicalist: 0, + GenderFundamentalist: 0, + Paternalist: 0, + Degradationist: 0, + BodyPurist: 0, + TransformationFetishist: 0, + YouthPreferentialist: 0, + MaturityPreferentialist: 0, + SlimnessEnthusiast: 0, + AssetExpansionist: 0, + Pastoralist: 0, + PhysicalIdealist: 0, + ChattelReligionist: 0, + RomanRevivalist: 0, + AztecRevivalist: 0, + EgyptianRevivalist: 0, + EdoRevivalist: 0, + ArabianRevivalist: 0, + ChineseRevivalist: 0, + Repopulationist: 0, + Eugenics: 0, + Hedonism: 0, + IntellectualDependency: 0, + SlaveProfessionalism: 0, + PetiteAdmiration: 0, + StatuesqueGlorification: 0 + }; + } + if (jQuery.isEmptyObject(V.arcologyUpgrade)) { + V.arcologyUpgrade = { + drones: 0, + hydro: 0, + apron: 0, + grid: 0, + spire: 0 + }; + V.arcologyUpgrade.drones = (V.AProsperityCap > 60) ? 1 : 0; + V.arcologyUpgrade.hydro = (V.AProsperityCap > 80) ? 1 : 0; + V.arcologyUpgrade.apron = (V.AProsperityCap > 100) ? 1 : 0; + V.arcologyUpgrade.grid = (V.AProsperityCap > 120) ? 1 : 0; + V.arcologyUpgrade.spire = (V.AProsperityCap > 240) ? 1 : 0; + } + if (jQuery.isEmptyObject(V.building)) { + if (typeof V.sectors !== "undefined") { + App.Update.sectorsToBuilding(); + } else { + V.building = App.Arcology.defaultBuilding(); + } + } + + if (jQuery.isEmptyObject(V.trinkets)) { + V.trinkets = []; + if (V.PC.career === "wealth") { + V.trinkets.push("a collection of diplomas from expensive schools"); + } else if (V.PC.career === "capitalist") { + V.trinkets.push("a framed low denomination piece of paper money from your native country"); + } else if (V.PC.career === "mercenary") { + V.trinkets.push("a battered old assault rifle"); + } else if (V.PC.career === "slaver") { + V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom"); + } else if (V.PC.career === "engineer") { + V.trinkets.push("an artist's impression of an early arcology design"); + } else if (V.PC.career === "medicine") { + V.trinkets.push("a framed postsurgical x-ray"); + } else if (V.PC.career === "celebrity") { + V.trinkets.push("a framed copy of the first news story featuring yourself"); + } else if (V.PC.career === "arcology owner") { + V.trinkets.push("a miniature model of your first arcology"); + } else if (V.PC.career === "escort") { + V.trinkets.push("a copy of the first porno you starred in"); + } else if (V.PC.career === "servant") { + V.trinkets.push("a framed picture of your late Master"); + } else if (V.PC.career === "gang") { + V.trinkets.push("your favorite handgun, whose sight has instilled fear in many"); + } else if (V.PC.career === "BlackHat") { + V.trinkets.push("a news clipping of your first successful live hack"); + } + } + } + + // Clean up neighbor's arcologies + App.Update.neighborArcologyCheatDatatypeCleanup(); + + // Corp + { + App.Corporate.Backcompat(); + /* Corporation variables added*/ + if (V.corpExpandToken > 1) { + V.corpExpandToken = 1; + } + V.dividendTimer = V.dividendTimer || 13; + + /* Removing the old Corp from save*/ + if (V.corpValue) { + cashX(Math.min(Math.trunc((V.corpValue / (V.publicShares + V.personalShares)) * V.personalShares), 1000000), "stocksTraded"); + /* Paying the player for his old corporation, so they can get the new one started with haste. It should perhaps have a message going with it*/ + if (typeof V.sectors !== "undefined") { + for (let i = 0; i < V.sectors.length; i++) { + if (V.sectors[i].type === "CorporateMarket") { + V.sectors[i].type = "Markets"; + break; + } + } + } + } + } + + // Organs + { + let newOrgans = []; + V.organs.forEach(o => { + if (o.type === "eyes") { + newOrgans.push({type: "leftEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID}); + newOrgans.push({type: "rightEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID}); + } else { + newOrgans.push(o); + } + }); + V.organs = newOrgans; + + newOrgans = []; + V.completedOrgans.forEach(o => { + if (o.type === "eyes") { + newOrgans.push({type: "leftEye", ID: o.ID}); + newOrgans.push({type: "rightEye", ID: o.ID}); + } else { + newOrgans.push(o); + } + }); + V.completedOrgans = newOrgans; + } + + FacilityDatatypeCleanup(); + + if (typeof V.TFS.compromiseWeek === "undefined") { + V.TFS.compromiseWeek = 0; + } + + // Pornstars + { + /* migrate to new genre-driven pornstar object */ + if (typeof V.pornStars === "number") { + const oldPornStars = V.pornStars; + + V.pornStars = {}; + V.pornStars.general = {p1count: oldPornStars, p3ID: V.pornStarID}; + V.pornStars.fuckdoll = {p1count: V.pornStarFuckdolls, p3ID: V.pornStarFuckdollID}; + V.pornStars.rape = {p1count: V.pornStarRapees, p3ID: V.pornStarRapeID}; + V.pornStars.preggo = {p1count: V.pornStarPreggos, p3ID: V.pornStarPreggoID}; + V.pornStars.BBW = {p1count: V.pornStarBBWs, p3ID: V.pornStarBBWID}; + V.pornStars.gainer = {p1count: V.pornStarGainers, p3ID: V.pornStarGainerID}; + V.pornStars.stud = {p1count: V.pornStarStuds, p3ID: V.pornStarStudID}; + V.pornStars.loli = {p1count: V.pornStarLolis, p3ID: V.pornStarLoliID}; + V.pornStars.deepThroat = {p1count: V.pornStarDeepThroats, p3ID: V.pornStarDeepThroatID}; + V.pornStars.struggleFuck = {p1count: V.pornStarStruggleFucks, p3ID: V.pornStarStruggleFuckID}; + V.pornStars.painal = {p1count: V.pornStarPainals, p3ID: V.pornStarPainalID}; + V.pornStars.tease = {p1count: V.pornStarTeases, p3ID: V.pornStarTeaseID}; + V.pornStars.romantic = {p1count: V.pornStarRomantics, p3ID: V.pornStarRomanticID}; + V.pornStars.pervert = {p1count: V.pornStarPerverts, p3ID: V.pornStarPervertID}; + V.pornStars.caring = {p1count: V.pornStarCarings, p3ID: V.pornStarCaringID}; + V.pornStars.unflinching = {p1count: V.pornStarUnflinchings, p3ID: V.pornStarUnflinchingID}; + V.pornStars.sizeQueen = {p1count: V.pornStarSizeQueens, p3ID: V.pornStarSizeQueenID}; + V.pornStars.neglectful = {p1count: V.pornStarNeglectfuls, p3ID: V.pornStarNeglectfulID}; + V.pornStars.cumAddict = {p1count: V.pornStarCumAddicts, p3ID: V.pornStarCumAddictID}; + V.pornStars.analAddict = {p1count: V.pornStarAnalAddicts, p3ID: V.pornStarAnalAddictID}; + V.pornStars.attentionWhore = {p1count: V.pornStarAttentionWhores, p3ID: V.pornStarAttentionWhoreID}; + V.pornStars.breastGrowth = {p1count: V.pornStarBreastGrowths, p3ID: V.pornStarBreastGrowthID}; + V.pornStars.abusive = {p1count: V.pornStarAbusives, p3ID: V.pornStarAbusiveID}; + V.pornStars.malicious = {p1count: V.pornStarMalicious, p3ID: V.pornStarMaliciousID}; + V.pornStars.selfHating = {p1count: V.pornStarSelfHatings, p3ID: V.pornStarSelfHatingID}; + V.pornStars.breeder = {p1count: V.pornStarBreeders, p3ID: V.pornStarBreederID}; + V.pornStars.sub = {p1count: V.pornStarSubs, p3ID: V.pornStarSubID}; + V.pornStars.cumSlut = {p1count: V.pornStarCumSluts, p3ID: V.pornStarCumSlutID}; + V.pornStars.anal = {p1count: V.pornStarAnals, p3ID: V.pornStarAnalID}; + V.pornStars.humiliation = {p1count: V.pornStarHumiliations, p3ID: V.pornStarHumiliationID}; + V.pornStars.boobs = {p1count: V.pornStarBoobs, p3ID: V.pornStarBoobsID}; + V.pornStars.dom = {p1count: V.pornStarDoms, p3ID: V.pornStarDomID}; + V.pornStars.sadist = {p1count: V.pornStarSadists, p3ID: V.pornStarSadistID}; + V.pornStars.masochist = {p1count: V.pornStarMasochists, p3ID: V.pornStarMasochistID}; + V.pornStars.pregnancy = {p1count: V.pornStarPregnancySluts, p3ID: V.pornStarPregnancyID}; + } + + /* make sure that any new genres get added correctly (and populate V.pornStars for very old games) */ + for (let genre in App.Porn.getAllGenres()) { + if (typeof V.pornStars[genre.fameVar] === "undefined") { + V.pornStars[genre.fameVar] = {p1count: 0, p3ID: 0}; + } + } + if (V.PCSlutContacts === 0) { + V.PCSlutContacts = 1; + } + } + + // Slave services and goods variables + { + if (typeof V.lowerClassSatisfied !== "undefined") { + V.classSatisfied.lowerClass = V.lowerClassSatisfied; + } + if (typeof V.sexSubsidiesLC !== "undefined") { + V.sexSubsidies.lowerClass = V.sexSubsidiesLC; + } + if (typeof V.sexSupplyBarriersLC !== "undefined") { + V.sexSupplyBarriers.lowerClass = V.sexSupplyBarriersLC; + } + V.food = Math.max(+V.food, 0) || 0; + if (V.foodConsumption === 0) { + V.foodConsumption = ((V.lowerClass * V.foodRate.lower) + (V.middleClass * V.foodRate.middle) + (V.upperClass * V.foodRate.upper) + (V.topClass * V.foodRate.top)); /* total amount food consumed per week */ + } + } + + EconomyDatatypeCleanup(); + ArcologyDatatypeCleanup(); + + r += ` Done!<br>`; + return r; +}; + +App.Update.slaveVariables = function() { + let r = `Setting missing slave variables... `; + /* Adding a new variable? Consider putting it in datatypeCleanupJS.tw instead of here */ + for (let bci = 0; bci < V.slaves.length; bci++) { + let Slave = V.slaves[bci]; + + if (typeof Slave !== "object") { + V.slaves.deleteAt(bci), bci--; + continue; + } + + App.Update.Slave(Slave); + + V.slaves[bci] = Slave; + } + r += ` Done!<br>`; + return r; +}; + +App.Update.slaveRecords = function() { + let r = `Checking and fixing slave records...`; + V.slaves.forEach((slave) => { + App.Entity.Utils.SlaveDataSchemeCleanup(slave); + SlaveDatatypeCleanup(slave); + let leaderIdx = V.leaders.findIndex(function(s) { return s.ID === slave.ID; }); + if (leaderIdx !== -1) { + V.leaders[leaderIdx] = slave; + } + }); + if (V.hostage !== 0) { + App.Update.Slave(V.hostage); + App.Entity.Utils.SlaveDataSchemeCleanup(V.hostage); + SlaveDatatypeCleanup(V.hostage); + } + if (typeof V.slaveAfterRA !== "undefined") { + App.Update.Slave(V.slaveAfterRA); + App.Entity.Utils.SlaveDataSchemeCleanup(V.slaveAfterRA); + SlaveDatatypeCleanup(V.slaveAfterRA); + } + if (V.boomerangSlave !== 0) { + App.Update.Slave(V.boomerangSlave); + App.Entity.Utils.SlaveDataSchemeCleanup(V.boomerangSlave); + SlaveDatatypeCleanup(V.boomerangSlave); + } + if (V.traitor !== 0) { + App.Update.Slave(V.traitor); + App.Entity.Utils.SlaveDataSchemeCleanup(V.traitor); + SlaveDatatypeCleanup(V.traitor); + } + r += ` Done!<br>`; + + if (V.tanks.length > 0) { + r += `Checking and fixing records for incubator tanks... `; + V.tanks.forEach((slave) => { + App.Update.Slave(slave); + App.Entity.Utils.SlaveDataSchemeCleanup(slave); + SlaveDatatypeCleanup(slave, true); + /* pass second argument as true so that slaveAgeDatatypeCleanup is not run */ + }); + r += ` Done!<br> `; + } + + if (V.cribs.length > 0) { + r += `Checking and fixing records for nursery cribs... `; + V.cribs.forEach((child) => { + if (child.actualAge < 3) { + App.Facilities.Nursery.InfantDatatypeCleanup(child); + } else { + App.Entity.Utils.SlaveDataSchemeCleanup(child, true); + App.Facilities.Nursery.ChildDatatypeCleanup(child); + } + }); + V.cribsIndices = App.Facilities.Nursery.cribsToIndices(); + r += ` Done!<br> `; + } + return r; +}; + +App.Update.specialSlaveRecords = function() { + let r = ""; + if (V.heroSlaves.length > 0) { + r += `Checking and fixing special slave records... `; + V.heroSlaves.forEach((slave) => { + App.Entity.Utils.SlaveDataSchemeCleanup(slave); + /* No SlaveDatatypeCleanup() call as hero slaves are not SlaveState objects */ + }); + r += ` Done!<br> `; + } + return r; +}; + +App.Update.genePoolRecords = function() { + let r = `Updating gene pool records... `; + for (let bci = 0; bci < V.genePool.length; bci++) { + let slave = V.genePool[bci]; + + App.Update.Slave(slave); + + if (V.genePool.map(function(s) { return s.ID; }).count(slave.ID) > 1) { + /* first check for duplicate IDs, keep the first entry and delete the others */ + for (let bci2 = bci + 1; bci2 < V.genePool.length; bci2++) { + if (V.genePool[bci2].ID === slave.ID) { + V.genePool.deleteAt(bci2), bci2--; + } + } + } + let dontDeleteMe = 0; + if (typeof V.slaveIndices[slave.ID] !== "undefined") { + /* are we still in the V.slaves array? */ + dontDeleteMe = 1; + } + if (V.traitor !== 0) { + if (isImpregnatedBy(V.traitor, slave) || V.traitor.ID === slave.ID) { + /* did we impregnate the traitor, or are we the traitor? */ + dontDeleteMe = 1; + } + } + if (V.boomerangSlave !== 0) { + if (isImpregnatedBy(V.boomerangSlave, slave) || V.boomerangSlave.ID === slave.ID) { + /* did we impregnate the boomerang, or are we the boomerang? */ + dontDeleteMe = 1; + } + } + if (isImpregnatedBy(V.PC, slave)) { + /* did we impregnate the PC */ + dontDeleteMe = 1; + } + if (dontDeleteMe === 0) { + /* avoid going through this loop if possible */ + for (let bci2 = 0; bci2 < V.slaves.length; bci2++) { + if (isImpregnatedBy(V.slaves[bci2], slave)) { + /* have we impregnated a slave on the slaves array? */ + dontDeleteMe = 1; + break; + } + } + } + if (dontDeleteMe === 0) { + V.genePool.deleteAt(bci), bci--; + continue; + } + if (typeof slave.origSkin === "undefined") { + slave.origSkin = slave.skin; + } + if (typeof slave.origRace === "undefined") { + slave.origRace = slave.race; + } + if (V.releaseID < 1059) { + if (typeof slave.eyesImplant === "undefined") { + slave.eyesImplant = 0; + } + let oldEyes; + if (slave.origEye === "implant") { + slave.eyesImplant = 1; + oldEyes = V.genePool.find(function(s) { return s.ID = slave.ID; }); + slave.origEye = oldEyes.origEye; + } + if (slave.origEye === "none") { + slave.eyes = -3; + oldEyes = V.genePool.find(function(s) { return s.ID = slave.ID; }); + slave.origEye = oldEyes.origEye; + } + if (slave.eyeColor === "empty") { + slave.eyeColor = slave.origEye; + slave.eyes = -4; + } + } + if (typeof slave.custom === "undefined") { + slave.custom = {}; + } + slave.custom.tattoo = slave.customTat || ""; + slave.custom.label = slave.custom.label || ""; + slave.custom.desc = slave.custom.desc || ""; + slave.custom.title = slave.custom.title || ""; + slave.custom.titleLisp = slave.custom.titleLisp || ""; + slave.custom.hairVector = slave.custom.hairVector || 0; + slave.custom.image = slave.custom.image || null; + + App.Entity.Utils.GenePoolRecordCleanup(slave); + V.genePool[bci] = slave; + } + if (V.nurseryNannies > 0) { + for (let bci = 0; bci < V.cribs.length; bci++) { + App.Update.Slave(V.cribs[bci]); + // let _nurseryChild = V.cribs[bci]; TODO: on importing this to JS, what is this even supposed to do? + } + } + + V.AgeEffectOnTrainerPricingPC = 1; + V.AgeEffectOnTrainerEffectivenessPC = 1; + V.AgeTrainingUpperBoundPC = 14; + V.AgeTrainingLowerBoundPC = 12; + V.IsInPrimePC = 3; + V.IsPastPrimePC = 5000; + r += ` Done!<br>`; + return r; +}; + +App.Update.RAassistantData = function() { + let r = `Updating Rules Assistant data...`; + V.defaultRules = V.defaultRules.map(rule => App.Entity.Utils.RARuleDatatypeCleanup(rule)); + r += ` Done!<br>`; + return r; +}; + +App.Update.oldVersions = function() { + if (V.releaseID === 1021 || V.releaseID === 1020 || V.releaseID === 1019 || V.releaseID === 2022) { + V.releaseID = 1022; + } + let r = ""; + if (V.releaseID < 1043) { + V.defaultRules.forEach((rule) => { + if (rule.condition.excludeSpecialSlaves) { + rule.condition.specialSlaves = 0; + } else { + rule.condition.specialSlaves = -1; + } + delete rule.condition.excludeSpecialSlaves; + }); + } + if (V.releaseID === 1043) { + V.slaves.forEach(s => { s.skill.whoring = s.skill.whore / 2; }); + V.tanks.forEach(s => { s.skill.whoring = s.skill.whore / 2; }); + V.cribs.forEach(s => { s.skill.whoring = s.skill.whore / 2; }); + V.heroSlaves.forEach(hs => { + if (hs.hasOwnProperty("skill") && hs.skill.hasOwnProperty("whore")) { + hs.skill.whoring = hs.skill.whore; + delete hs.skill.whore; + } + }); + } + /* unify cybermod & vanilla */ + /* limbs */ + if (V.releaseID < 1045) { + if (typeof V.limbs !== "undefined") { + V.adjustProsthetics = []; + V.limbs.forEach((l) => { + switch (l.type) { + case "simple": + V.adjustProsthetics.push({id: "basicL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID}); + break; + case "sex": + V.adjustProsthetics.push({id: "sexL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID}); + break; + case "beauty": + V.adjustProsthetics.push({id: "beautyL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID}); + break; + case "combat": + V.adjustProsthetics.push({id: "combatL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID}); + break; + case "cyber": + V.adjustProsthetics.push({id: "cyberneticL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID}); + break; + } + }); + } + if (typeof V.limbsCompleted !== "undefined") { + V.adjustProstheticsCompleted = V.limbsCompleted; + } + + /* lab */ + if (typeof V.researchLab.level === "undefined") { + V.researchLab.level = 0; + if (typeof V.researchLab.built !== "undefined") { + if (V.researchLab.built === "true") { + V.researchLab.level = 1; + if (V.prostheticsUpgrade === 0) { + V.prostheticsUpgrade = 1; + } + } + delete V.researchLab.built; + } + } + if (typeof V.researchLab.speed === "undefined") { + V.researchLab.speed = ((V.researchLab.hired * 3) + V.researchLab.menials) * V.researchLab.aiModule; + } + if (typeof V.researchLab.tasks === "undefined") { + V.researchLab.tasks = []; + } + if (typeof V.researchLab.research !== "undefined") { + if (V.researchLab.research !== "none") { + let id; + switch (V.researchLab.research) { + case "Basic prosthetics interface": + id = "interfaceP1"; + break; + case "Advanced prosthetics interface": + id = "interfaceP2"; + break; + case "Basic prosthetic limbs": + id = "basicL"; + break; + case "Advanced sex limbs": + id = "sexL"; + break; + case "Advanced beauty limbs": + id = "beautyL"; + break; + case "Advanced combat limbs": + id = "combatL"; + break; + case "Cybernetic limbs": + id = "cyberneticL"; + break; + case "Ocular implants": + id = "ocular"; + break; + case "Cochlear implants": + id = "cochlear"; + break; + case "Electrolarynx": + id = "electrolarynx"; + break; + } + V.researchLab.tasks.push({type: "research", id: id, workLeft: V.researchLab.productionTime}); + } + delete V.researchLab.research; + } + if (typeof V.researchLab.manufacture !== "undefined") { + if (V.researchLab.manufacture !== "none") { + let id; + switch (V.researchLab.manufacture) { + case "Basic prosthetics interface": + id = "interfaceP1"; + break; + case "Advanced prosthetics interface": + id = "interfaceP2"; + break; + case "Basic prosthetic limbs": + id = "basicL"; + break; + case "Advanced sex limbs": + id = "sexL"; + break; + case "Advanced beauty limbs": + id = "beautyL"; + break; + case "Advanced combat limbs": + id = "combatL"; + break; + case "Cybernetic limbs": + id = "cyberneticL"; + break; + case "Ocular implants": + id = "ocular"; + break; + case "Cochlear implants": + id = "cochlear"; + break; + case "Electrolarynx": + id = "electrolarynx"; + break; + } + V.researchLab.tasks.push({type: "craft", id: id, workLeft: V.researchLab.productionTime}); + } + delete V.researchLab.manufacture; + } + delete V.researchLab.productionTime; + + /* stockpile */ + if (jQuery.isEmptyObject(V.prosthetics)) { + if (jQuery.isEmptyObject(V.stockpile)) { + V.prosthetics = {}; + setup.prostheticIDs.forEach(function(id) { + V.prosthetics[id] = {amount: 0, research: 0}; + }); + } else { + if (typeof V.stockpile.cochlearImplant === "undefined") { + V.stockpile.cochlearImplant = 0; + } + if (typeof V.stockpile.electrolarynx === "undefined") { + V.stockpile.electrolarynx = 0; + } + if (typeof V.stockpile.interfacePTail === "undefined") { + V.stockpile.interfacePTail = 0; + } + if (typeof V.stockpile.modPTail === "undefined") { + V.stockpile.modPTail = 0; + } + if (typeof V.stockpile.warPTail === "undefined") { + V.stockpile.warPTail = 0; + } + if (typeof V.stockpile.sexPTail === "undefined") { + V.stockpile.sexPTail = 0; + } + V.prosthetics = { + interfaceP1: {amount: V.stockpile.basicPLimbInterface, research: V.researchLab.basicPLimbInterface}, + interfaceP2: {amount: V.stockpile.advPLimbInterface, research: V.researchLab.advPLimbInterface}, + basicL: {amount: V.stockpile.basicPLimb, research: V.researchLab.basicPLimb}, + sexL: {amount: V.stockpile.advSexPLimb, research: V.researchLab.advSexPLimb}, + beautyL: {amount: V.stockpile.advGracePLimb, research: V.researchLab.advGracePLimb}, + combatL: {amount: V.stockpile.advCombatPLimb, research: V.researchLab.advCombatPLimb}, + cyberneticL: {amount: V.stockpile.cyberneticPLimb, research: V.researchLab.cyberneticPLimb}, + ocular: {amount: V.stockpile.ocularImplant, research: V.researchLab.ocularImplant}, + cochlear: {amount: V.stockpile.cochlearImplant, research: V.researchLab.cochlearImplant}, + electrolarynx: {amount: V.stockpile.electrolarynx, research: V.researchLab.electrolarynx}, + interfaceTail: {amount: V.stockpile.interfacePTail, research: 0}, + modT: {amount: V.stockpile.modPTail, research: 0}, + combatT: {amount: V.stockpile.warPTail, research: 0}, + sexT: {amount: V.stockpile.sexPTail, research: 0}, + erectile: {amount: V.stockpile.erectileImplant, research: V.researchLab.erectileImplant} + }; + delete V.researchLab.basicPLimbInterface; + delete V.researchLab.advPLimbInterface; + delete V.researchLab.basicPLimb; + delete V.researchLab.advSexPLimb; + delete V.researchLab.advGracePLimb; + delete V.researchLab.advCombatPLimb; + delete V.researchLab.cyberneticPLimb; + delete V.researchLab.ocularImplant; + delete V.researchLab.cochlearImplant; + delete V.researchLab.electrolarynx; + delete V.researchLab.erectileImplant; + } + } + } + if (V.releaseID < 1047) { + if (V.loliGrow > 0) { + V.loliGrow = 1; + } else { + V.loliGrow = 0; + } + } + if (V.releaseID < 1055) { + if (V.disableLisping === 0) { + V.disableLisping = 1; + } else { + V.disableLisping = 0; + } + } + if (V.releaseID < 1057) { + r += `Standardizing player object... `; + if (typeof V.PC.actualAge === "undefined") { + if (V.PC.age === 1) { + V.PC.actualAge = 20; + } else if (V.PC.age === 3) { + V.PC.actualAge = 50; + } else { + V.PC.actualAge = 35; + } + } + if (typeof V.PC.markings === "undefined") { + V.PC.markings = "none"; + } + if (typeof V.PC.pronoun === "undefined") { + generatePlayerPronouns(V.PC); + } + if (typeof V.PC.pregKnown === "undefined") { + if (V.PC.preg > 0) { + V.PC.pregKnown = 1; + } else { + V.PC.pregKnown = 0; + } + } + if (typeof V.PC.pregWeek === "undefined") { + if (V.PC.preg > 0) { + V.PC.pregWeek = V.PC.preg; + } else { + V.PC.pregWeek = 0; + } + } + if (typeof V.PC.pregType === "undefined") { + if (V.PC.preg > 0) { + V.PC.pregType = 1; + } else { + V.PC.pregType = 0; + } + } + if (typeof V.PC.belly === "undefined") { + if (V.PC.preg > 0) { + V.PC.belly = getPregBellySize(V.PC); + } else { + V.PC.belly = 0; + } + } + if (typeof V.PC.skin === "undefined") { + V.PC.skin = "light"; + } + if (typeof V.PC.origSkin === "undefined") { + V.PC.origSkin = V.PC.skin; + } + if (typeof V.PC.eyeColor === "undefined") { + V.PC.eyeColor = "blue"; + } + if (typeof V.PC.origEye === "undefined") { + V.PC.origEye = V.PC.eyeColor; + } + if (typeof V.PC.pupil === "undefined") { + if (V.PC.eyeColor === "catlike") { + V.PC.pupil = "catlike"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "serpent-like") { + V.PC.pupil = "serpent-like"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "devilish") { + V.PC.pupil = "devilish"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "demonic") { + V.PC.pupil = "demonic"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "hypnotic") { + V.PC.pupil = "hypnotic"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "heart-shaped") { + V.PC.pupil = "heart-shaped"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "wide-eyed") { + V.PC.pupil = "wide-eyed"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "almond-shaped") { + V.PC.pupil = "almond-shaped"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "bright") { + V.PC.pupil = "bright"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "teary") { + V.PC.pupil = "teary"; + V.PC.eyeColor = "blue"; + } else if (V.PC.eyeColor === "vacant") { + V.PC.pupil = "vacant"; + V.PC.eyeColor = "blue"; + } else { + V.PC.pupil = "circular"; + } + } + if (typeof V.PC.sclerae === "undefined") { + V.PC.sclerae = "white"; + } + if (typeof V.PC.race === "undefined") { + V.PC.race = "white"; + } + if (typeof V.PC.origRace === "undefined") { + V.PC.origRace = V.PC.race; + } + if (typeof V.PC.hColor === "undefined") { + V.PC.hColor = "blonde"; + } + if (typeof V.PC.origHColor === "undefined") { + V.PC.origHColor = V.PC.hColor; + } + if (typeof V.PC.nationality === "undefined") { + V.PC.nationality = "Stateless"; + } + if (V.PC.boobsBonus === -0.5) { + V.PC.boobsBonus = -1; + } + if (typeof V.PC.sclerae === "undefined") { + V.PC.sclerae = "white"; + } + if (typeof V.PC.fetish === "undefined") { + V.PC.fetish = "none"; + } + if (typeof V.PC.behavioralFlaw === "undefined") { + V.PC.behavioralFlaw = "none"; + } + if (typeof V.PC.behavioralQuirk === "undefined") { + V.PC.behavioralQuirk = "none"; + } + if (typeof V.PC.sexualFlaw === "undefined") { + V.PC.sexualFlaw = "none"; + } + if (typeof V.PC.sexualQuirk === "undefined") { + V.PC.sexualQuirk = "none"; + } + if (typeof V.PC.pubicHStyle === "undefined") { + V.PC.pubicHStyle = "hairless"; + } + if (typeof V.PC.underArmHStyle === "undefined") { + V.PC.underArmHStyle = "hairless"; + } + if (typeof V.PC.eggType === "undefined") { + V.PC.eggType = "human"; + } + if (typeof V.PC.ballType === "undefined") { + V.PC.ballType = "human"; + } + if (typeof V.PC.geneticQuirks === "undefined") { + V.PC.geneticQuirks = { + macromastia: 0, + gigantomastia: 0, + fertility: 0, + hyperFertility: 0, + superfetation: 0, + gigantism: 0, + dwarfism: 0, + pFace: 0, + uFace: 0, + albinism: 0, + heterochromia: 0, + rearLipedema: 0, + wellHung: 1, + wGain: 0, + wLoss: 0, + mGain: 0, + mLoss: 0, + androgyny: 0, + girlsOnly: 0 + }; + if (V.PC.birthMaster > 0) { + V.PC.geneticQuirks.fertility = 2; + } else if (V.PC.career === "servant") { + V.PC.geneticQuirks.fertility = 1; + } + } else { + if (typeof V.PC.geneticQuirks.heterochromia === "undefined") { + V.PC.geneticQuirks.heterochromia = 0; + } + if (typeof V.PC.geneticQuirks.girlsOnly === "undefined") { + V.PC.geneticQuirks.girlsOnly = 0; + } + if (typeof V.PC.geneticQuirks.mGain === "undefined") { + V.PC.geneticQuirks.mGain = 0; + } + if (typeof V.PC.geneticQuirks.mLoss === "undefined") { + V.PC.geneticQuirks.mLoss = 0; + } + } + if (V.releaseID < 1032) { + if (V.PC.pregSource === -1) { + V.PC.pregSource = -6; + } else if (V.PC.pregSource === -2) { + V.PC.pregSource = -5; + } else if (V.PC.pregSource === -6) { + V.PC.pregSource = -1; + } else if (V.PC.pregSource === -5) { + V.PC.pregSource = -2; + } + } + if (typeof V.PC.genes === "undefined") { + if (V.PC.title === 1) { + V.PC.genes = "XY"; + } else { + V.PC.genes = "XX"; + } + } + + /* player object converter */ + let newPC = basePlayer(); + newPC.slaveName = V.PC.name; + newPC.slaveSurname = V.PC.surname; + newPC.birthName = V.PC.name; + if (V.PC.slaveSurname) { + newPC.birthSurname = V.PC.surname; + } else { + newPC.birthSurname = ""; + } + newPC.title = V.PC.title; + newPC.genes = V.PC.genes; + newPC.career = V.PC.career; + newPC.rumor = V.PC.rumor; + newPC.birthWeek = V.PC.birthWeek; + newPC.refreshment = V.PC.refreshment; + newPC.refreshmentType = V.PC.refreshmentType; + newPC.actualAge = V.PC.actualAge; + newPC.physicalAge = V.PC.physicalAge; + newPC.visualAge = V.PC.visualAge; + newPC.ovaryAge = V.PC.ovaryAge; + newPC.ageImplant = V.PC.ageImplant; + newPC.nationality = V.PC.nationality; + newPC.race = V.PC.race; + newPC.origRace = V.PC.origRace; + newPC.skin = V.PC.skin; + newPC.origSkin = V.PC.origSkin; + newPC.markings = V.PC.markings; + newPC.hColor = V.PC.hColor; + newPC.origHColor = V.PC.origHColor; + newPC.origEye = V.PC.origEye; + /* needed for compatibility currently */ + newPC.eye.origColor = V.PC.origEye; + newPC.eye.left.iris = V.PC.eyeColor; + newPC.eye.left.pupil = V.PC.pupil; + newPC.eye.left.sclera = V.PC.sclerae; + newPC.eye.right.iris = V.PC.eyeColor; + newPC.eye.right.pupil = V.PC.pupil; + newPC.eye.right.sclera = V.PC.sclerae; + newPC.faceShape = V.PC.faceShape; + newPC.skill.trading = V.PC.trading; + newPC.skill.warfare = V.PC.warfare; + newPC.skill.hacking = V.PC.hacking; + newPC.skill.slaving = V.PC.slaving; + newPC.skill.engineering = V.PC.engineering; + newPC.skill.medicine = V.PC.medicine; + newPC.skill.cumTap = V.PC.cumTap; + newPC.father = V.PC.father; + newPC.mother = V.PC.mother; + newPC.sisters = V.PC.sisters; + newPC.daughters = V.PC.daughters; + newPC.counter.birthsTotal = V.PC.births; + newPC.counter.birthElite = V.PC.birthElite; + newPC.counter.birthMaster = V.PC.birthMaster; + newPC.counter.birthDegenerate = V.PC.birthDegenerate; + newPC.counter.birthClient = V.PC.birthClient; + newPC.counter.birthArcOwner = V.PC.birthArcOwner; + newPC.counter.birthCitizen = V.PC.birthCitizen; + newPC.counter.birthFutaSis = V.PC.birthFutaSis; + newPC.counter.birthSelf = V.PC.birthSelf; + newPC.counter.birthLab = V.PC.birthLab; + newPC.counter.birthOther = V.PC.birthOther; + if (typeof V.PC.laborCount !== "undefined") { + newPC.counter.laborCount = V.PC.laborCount; + } + newPC.counter.slavesFathered = V.PC.slavesFathered; + newPC.counter.slavesKnockedUp = V.PC.slavesKnockedUp; + newPC.sexualEnergy = V.PC.sexualEnergy; + newPC.staminaPills = V.PC.staminaPills; + newPC.preg = V.PC.preg; + newPC.pregType = V.PC.pregType; + newPC.pregWeek = V.PC.pregWeek; + newPC.pregKnown = V.PC.pregKnown; + newPC.fertKnown = V.PC.fertKnown; + newPC.fertPeak = V.PC.fertPeak; + newPC.fertDrugs = V.PC.fertDrugs; + newPC.forcedFertDrugs = V.PC.forcedFertDrugs; + newPC.belly = V.PC.belly; + newPC.bellyPreg = V.PC.bellyPreg; + newPC.pregSource = V.PC.pregSource; + newPC.pregMood = V.PC.pregMood; + newPC.labor = V.PC.labor; + newPC.degeneracy = V.PC.degeneracy; + newPC.pubicHStyle = V.PC.pubicHStyle; + newPC.underArmHStyle = V.PC.underArmHStyle; + if (V.PC.dick === 1) { + newPC.dick = 4; + newPC.prostate = 1; + if (V.PC.ballsImplant === 4 || V.PC.balls === 4) { + newPC.balls = 30; + newPC.scrotum = 7; + } else if (V.PC.ballsImplant === 3 || V.PC.balls === 3) { + newPC.balls = 14; + newPC.scrotum = 6; + } else if (V.PC.ballsImplant === 2 || V.PC.balls === 2) { + newPC.balls = 9; + newPC.scrotum = 5; + } else if (V.PC.ballsImplant === 1 || V.PC.balls === 1) { + newPC.balls = 5; + newPC.scrotum = 4; + } else { + newPC.balls = 3; + newPC.scrotum = 3; + } + if (V.PC.ballsImplant > 0) { + newPC.ballsImplant = newPC.balls - 3; + } + } else { + newPC.dick = 0; + newPC.prostate = 0; + newPC.balls = 0; + newPC.scrotum = 0; + } + newPC.newVag = V.PC.newVag; + if (V.PC.vagina === 1) { + newPC.ovaries = 1; + newPC.vaginaLube = 1; + if (V.PC.newVag === 1) { + newPC.vagina = 1; + } else if (V.PC.career === "escort" || V.PC.birthsTotal >= 10 || V.PC.career === "servant") { + newPC.vagina = 4; + } else if (V.PC.birthsTotal > 2) { + newPC.vagina = 3; + } else if (V.PC.career === "gang" || V.PC.career === "celebrity" || V.PC.career === "wealth" || V.PC.birthsTotal > 0) { + newPC.vagina = 2; + } else { + newPC.vagina = 1; + } + } + if (V.PC.boobs === 1) { + if (V.PC.boobsBonus === -3) { + newPC.boobs = 400; + } else if (V.PC.boobsBonus === -2) { + newPC.boobs = 500; + } else if (V.PC.boobsBonus === -1) { + newPC.boobs = 700; + } else if (V.PC.boobsBonus === 1) { + newPC.boobs = 1100; + } else if (V.PC.boobsBonus === 2) { + newPC.boobs = 1300; + } else if (V.PC.boobsBonus === 3) { + newPC.boobs = 1500; + } else { + newPC.boobs = 900; + } + } else if (V.PC.genes === "XX") { + newPC.boobs = 200; + } else { + newPC.boobs = 100; + } + if (V.PC.boobsImplant === 1) { + newPC.boobsImplant = newPC.boobs - 900; + } + newPC.lactation = V.PC.lactation; + newPC.lactationDuration = V.PC.lactationDuration; + newPC.genes = V.PC.genes; + if (V.PC.butt === 3) { + newPC.butt = 5; + } else if (V.PC.butt === 2) { + newPC.butt = 4; + } else if (V.PC.butt === 1) { + newPC.butt = 3; + } else { + newPC.butt = 2; + } + if (V.PC.buttImplant === 1) { + newPC.buttImplant = newPC.butt - 2; + } + newPC.reservedChildren = V.PC.reservedChildren; + newPC.reservedChildrenNursery = V.PC.reservedChildrenNursery; + newPC.geneticQuirks = clone(V.PC.geneticQuirks); + if (V.arcologies[0].FSPhysicalIdealist !== "unset") { + newPC.muscles = 100; + } else if (V.PC.title === 1) { + newPC.muscles = 50; + } else { + newPC.muscles = 30; + } + if (V.PC.title === 0) { + newPC.hLength = 15; + newPC.waist = -20; + newPC.voice = 2; + newPC.shoulders = -1; + newPC.hips = 1; + } + if (V.PC.career === "escort") { + newPC.anus = 1; + newPC.clothes = "a slutty outfit"; + newPC.intelligenceImplant = 15; + } else if (V.PC.career === "servant") { + newPC.clothes = "a nice maid outfit"; + newPC.intelligenceImplant = 0; + } + if (typeof V.PCWounded !== "undefined") { + newPC.majorInjury = V.PCWounded; + } + if (typeof V.girls !== "undefined") { + if (V.girls === 1) { + newPC.rules.living = "spare"; + } else if (V.girls === 2) { + newPC.rules.living = "normal"; + } else { + newPC.rules.living = "luxurious"; + } + } + if (typeof V.playerGetsMilked !== "undefined") { + if (V.playerGetsMilked === 2) { + V.PC.rules.lactation = "sell"; + } else if (V.playerGetsMilked === 1) { + V.PC.rules.lactation = "maintain"; + } + } + + WombInit(newPC); + + V.PC = clone(newPC); + + if (typeof V.PC.name === "undefined") { + if (typeof V.PCName !== "undefined") { + V.PC.name = V.PCName; + } + } + if (typeof V.PC.surname === "undefined") { + V.PC.surname = 0; + } + if (typeof V.PC.faceShape === "undefined") { + V.PC.faceShape = "normal"; + } + + r += ` Done!`; + } + return r; +}; + +App.Update.HeroSlavesCleanup = function() { + V.heroSlaves.forEach(function(s) { + /* Nationalities, races, surnames random fill */ + if (!s.nationality) { + /* Check for a pre-set race and if the nationality fits, else regenerate */ + if (s.race && setup.filterRacesLowercase.includes(s.race)) { + raceToNationality(s); + } else { + s.nationality = hashChoice(V.nationalities); + } + } + if (!s.race || !setup.filterRacesLowercase.includes(s.race)) { + nationalityToRace(s); + } + if (!s.birthSurname && s.birthSurname !== "") { + s.birthSurname = (setup.surnamePoolSelector[s.nationality + "." + s.race] || + setup.surnamePoolSelector[s.nationality] || + setup.whiteAmericanSlaveSurnames).random(); + } + if (!s.birthName && s.birthName !== "") { + s.birthName = (setup.namePoolSelector[s.nationality + "." + s.race] || + setup.namePoolSelector[s.nationality] || + setup.whiteAmericanSlaveNames).random(); + } + generatePronouns(s); + if (s.geneMods === undefined) { + s.geneMods = {NCS: 0, rapidCellGrowth: 0}; + } else { + if (s.geneMods.NCS === undefined) { + s.geneMods.NCS = 0; + } + if (s.geneMods.rapidCellGrowth === undefined) { + s.geneMods.rapidCellGrowth = 0; + } + } + // WombInit(s); + }); + return; +}; + +App.Update.cleanUp = function() { + /* leave this at the bottom of BC */ + if (V.releaseID < App.Version.release) { + V.releaseID = App.Version.release; + } + /* reset NaNArray after BC is run */ + V.NaNArray = findNaN(); + return; +}; + +App.Update.sectorsToBuilding = function() { + V.building = new App.Arcology.Building([]); + const B = V.building; + const S = V.sectors; + + B.sections.push(new App.Arcology.Section("penthouse", [ + [new App.Arcology.Cell.Penthouse()] + ])); + if (V.arcologyUpgrade.spire === 1) { + B.sections.push(new App.Arcology.Section("spire", [ + [ + sectorToApartment(S[1]), sectorToApartment(S[2]) + ], + [ + sectorToApartment(S[3]), sectorToApartment(S[4]) + ] + ])); + } + B.sections.push(new App.Arcology.Section("apartments", + [ + [sectorToApartment(S[8]), sectorToApartment(S[9]), sectorToApartment(S[10]), sectorToApartment(S[11])], + [sectorToApartment(S[12]), sectorToApartment(S[13]), sectorToApartment(S[14]), sectorToApartment(S[15])], + [sectorToApartment(S[16]), sectorToApartment(S[17]), sectorToApartment(S[18]), sectorToApartment(S[19])], + ])); + + function sectorToApartment(sector) { + const a = new App.Arcology.Cell.Apartment(sector.ownership); + if (sector.type === "LuxuryApartments") { + a.type = 1; + } else if (sector.type === "DenseApartments") { + a.type = 3; + } + return a; + } + + B.sections.push(new App.Arcology.Section("shops", [ + [sectorToShop(S[5]), sectorToShop(S[6]), sectorToShop(S[7])] + ])); + + function sectorToShop(sector) { + return new App.Arcology.Cell.Shop(sector.ownership, sector.type); + } + + B.sections.push(new App.Arcology.Section("markets", + [ + [sectorToMarket(S[20]), sectorToMarket(S[21]), sectorToMarket(S[22]), sectorToMarket(S[23]), sectorToMarket(S[24])] + ])); + + function sectorToMarket(sector) { + const m = new App.Arcology.Cell.Market(sector.ownership); + if (sector.type === "transportHub") { + m.type = "Transport Hub"; + } else if (sector.type === "CorporateMarket") { + m.type = "Corporate Market"; + } else { + m.type = sector.type; + } + return m; + } + + B.sections.push(new App.Arcology.Section("manufacturing", + [ + [sectorToManu(S[25]), sectorToManu(S[26]), sectorToManu(S[27]), sectorToManu(S[28]), sectorToManu(S[29])] + ])); + + function sectorToManu(sector) { + const m = new App.Arcology.Cell.Manufacturing(sector.ownership); + if (sector.type === "weapManu") { + m.type = "Weapon Manufacturing"; + } else { + m.type = sector.type; + } + return m; + } +}; + +App.Update.slaveLoopInit = function() { + let SL = V.slaves.length; + for (let i = 0; i < SL; i++) { + if (V.slaves[i].assignment !== "be imported") { + removeNonNGPSlave(V.slaves[i]); + i--, SL--; + } + } + for (let i = 0; i < SL; i++) { + if (V.slaves[i].assignment === "be imported") { + V.slaves[i].ID += NGPOffset; + V.slaves[i].assignment = "rest"; + V.slaves[i].weekAcquired = 0; + V.slaves[i].newGamePlus = 1; + if (V.slaves[i].mother > 0) { + V.slaves[i].mother += NGPOffset; + } else if (V.freshPC === 1 && V.slaves[i].mother === -1) { + V.slaves[i].mother = -NGPOffset; + } else if (V.slaves[i].mother < -1) { + V.slaves[i].mother -= NGPOffset; + } + if (V.slaves[i].father > 0) { + V.slaves[i].father += NGPOffset; + } else if (V.freshPC === 1 && V.slaves[i].father === -1) { + V.slaves[i].father = -NGPOffset; + } else if (V.slaves[i].father < -1) { + V.slaves[i].father -= NGPOffset; + } + V.slaves[i].daughters = 0; + V.slaves[i].sisters = 0; + V.slaves[i].canRecruit = 0; + V.slaves[i].breedingMark = 0; + if (V.arcologies[0].FSRomanRevivalist > 90) { + V.slaves[i].nationality = "Roman Revivalist"; + } else if (V.arcologies[0].FSAztecRevivalist > 90) { + V.slaves[i].nationality = "Aztec Revivalist"; + } else if (V.arcologies[0].FSEgyptianRevivalist > 90) { + V.slaves[i].nationality = "Ancient Egyptian Revivalist"; + } else if (V.arcologies[0].FSEdoRevivalist > 90) { + V.slaves[i].nationality = "Edo Revivalist"; + } else if (V.arcologies[0].FSArabianRevivalist > 90) { + V.slaves[i].nationality = "Arabian Revivalist"; + } else if (V.arcologies[0].FSChineseRevivalist > 90) { + V.slaves[i].nationality = "Ancient Chinese Revivalist"; + } + if (V.slaves[i].relationTarget !== 0) { + V.slaves[i].relationTarget += NGPOffset; + } + if (V.slaves[i].relationshipTarget !== 0) { + V.slaves[i].relationshipTarget += NGPOffset; + } + if (V.slaves[i].cloneID !== 0) { + V.slaves[i].cloneID += NGPOffset; + } + V.slaves[i].rivalry = 0, V.slaves[i].rivalryTarget = 0, V.slaves[i].subTarget = 0; + V.slaves[i].drugs = "no drugs"; + V.slaves[i].porn.spending = 0; + V.slaves[i].rules.living = "spare"; + V.slaves[i].diet = "healthy"; + V.slaves[i].pregControl = "none"; + } + } + V.slaveIndices = slaves2indices(); + for (let k = 0; k < SL; k++) { + for (let i = 0; i < SL; i++) { + if (V.slaves[k].mother === V.slaves[i].ID || V.slaves[k].father === V.slaves[i].ID) { + V.slaves[i].daughters += 1; + } + if (areSisters(V.slaves[k], V.slaves[i]) > 0) { + V.slaves[i].sisters += 1; + } + } + if (V.slaves[k].pregSource > 0) { + V.slaves[k].pregSource += NGPOffset; + let getFather = V.slaveIndices[V.slaves[k].pregSource]; + if (getFather) { + V.slaves[k].pregSource = 0; + } + } + for (let sInit = 0; sInit < V.slaves[k].womb.length; sInit++) { + if (V.slaves[k].womb[sInit].fatherID > 0) { + V.slaves[k].womb[sInit].fatherID += NGPOffset; + } else if (V.freshPC === 1 && V.slaves[k].womb[sInit].fatherID === -1) { + V.slaves[k].womb[sInit].fatherID = -NGPOffset; + } else if (V.slaves[k].womb[sInit].fatherID < -20) { + V.slaves[k].womb[sInit].fatherID -= NGPOffset; + } + if (V.slaves[k].womb[sInit].genetics.father > 0) { + V.slaves[k].womb[sInit].genetics.father += NGPOffset; + } else if (V.freshPC === 1 && V.slaves[k].womb[sInit].genetics.father === -1) { + V.slaves[k].womb[sInit].genetics.father = -NGPOffset; + } else if (V.slaves[k].womb[sInit].genetics.father < -20) { + V.slaves[k].womb[sInit].genetics.father -= NGPOffset; + } + if (V.slaves[k].womb[sInit].genetics.mother > 0) { + V.slaves[k].womb[sInit].genetics.mother += NGPOffset; + } else if (V.freshPC === 1 && V.slaves[k].womb[sInit].genetics.mother === -1) { + V.slaves[k].womb[sInit].genetics.mother = -NGPOffset; + } else if (V.slaves[k].womb[sInit].genetics.mother < -20) { + V.slaves[k].womb[sInit].genetics.mother -= NGPOffset; + } + } + if (V.slaves[k].cloneID !== 0) { + let getClone = V.slaveIndices[V.slaves[k].cloneID]; + if (getClone) { + V.slaves[k].cloneID = 0; + } + } + } + V.genePool = ngUpdateGenePool(V.genePool); + if (typeof V.missingTable === undefined || V.showMissingSlaves === false) { + V.missingTable = {}; + } else { + V.missingTable = ngUpdateMissingTable(V.missingTable); + } + for (let i = 0; i < SL; i++) { + if (V.slaves[i].relation !== 0) { + let seed = 0, rt = V.slaves[i].relationTarget, ID = V.slaves[i].ID; + let j = V.slaveIndices[rt]; + if ((j) && V.slaves[j].relationTarget === ID) { + seed = 1; + } + if (seed === 0) { + V.slaves[i].relation = 0, V.slaves[i].relationTarget = 0; + } + } + if (V.slaves[i].relationship > 0) { + let seed = 0, rt = V.slaves[i].relationshipTarget, ID = V.slaves[i].ID; + let j = V.slaveIndices[rt]; + if ((j) && V.slaves[j].relationshipTarget === ID) { + seed = 1; + } + if (seed === 0) { + V.slaves[i].relationship = 0, V.slaves[i].relationshipTarget = 0; + } + } + } + for (let i = 0; i < SL; i++) { + if (V.familyTesting === 1) { + if (V.slaves[i].canRecruit === 1) { + /* V.recruiters.push(V.slaves[i]);*/ + } + } else { + if (V.slaves[i].relation === 0) { + if (random(1, 100) <= 5) { + V.slaves[i].recruiter = "twin"; + } else if ((V.slaves[i].actualAge > 32) && (random(1, 100) <= 41)) { + V.slaves[i].recruiter = "mother"; + } else if ((V.slaves[i].actualAge < 24) && (random(1, 100) <= 40)) { + V.slaves[i].recruiter = "daughter"; + } else if ((V.slaves[i].actualAge < 43) && (random(1, 100) <= 20)) { + V.slaves[i].recruiter = "older sister"; + } else if ((V.slaves[i].actualAge < 25) && (V.slaves[i].actualAge > 18) && (random(1, 100) <= 20)) { + V.slaves[i].recruiter = "young sister"; + } + } else { + V.slaves[i].recruiter = 0; + } + } + /* closes family mode */ + V.slaves[i].counter.milk = 0; + V.slaves[i].counter.cum = 0; + V.slaves[i].counter.births = 0; + V.slaves[i].counter.mammary = 0; + V.slaves[i].counter.penetrative = 0; + V.slaves[i].counter.oral = 0; + V.slaves[i].counter.anal = 0; + V.slaves[i].counter.vaginal = 0; + V.slaves[i].lifetimeCashExpenses = 0; + V.slaves[i].lifetimeCashIncome = 0; + V.slaves[i].lastWeeksCashIncome = 0; + V.slaves[i].lifetimeRepExpenses = 0; + V.slaves[i].lifetimeRepIncome = 0; + V.slaves[i].lastWeeksRepExpenses = 0; + V.slaves[i].lastWeeksRepIncome = 0; + } +}; diff --git a/src/js/datatypeCleanupJS.js b/src/data/backwardsCompatibility/datatypeCleanup.js similarity index 80% rename from src/js/datatypeCleanupJS.js rename to src/data/backwardsCompatibility/datatypeCleanup.js index 5d33a2c1155af80e5064535f633802f181dbec8c..d89b851d5b8e54834a6b2f679764019239badd03 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/data/backwardsCompatibility/datatypeCleanup.js @@ -1660,6 +1660,13 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() { if (typeof PC.refreshment !== "string") { PC.refreshment = "cigar"; } + if (!(V.ver.startsWith("0.10"))) { + if (V.PC.refreshment === "cigar") { + V.PC.refreshmentType = 0; + } else { + V.PC.refreshmentType = 1; + } + } PC.refreshmentType = Math.clamp(+PC.refreshmentType, 0, 6) || 0; PC.skill.trading = Math.clamp(+PC.skill.trading, -100, 100) || 0; PC.skill.warfare = Math.clamp(+PC.skill.warfare, -100, 100) || 0; @@ -1755,6 +1762,28 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() { } else { PC.buttImplantType = "none"; } + if (V.PC.customTitle === "") { + V.PC.customTitle = undefined, V.PC.customTitleLisp = undefined; + } + if (typeof V.PC.counter.oral === "undefined") { + V.PC.counter.oral = 0; + } + if (typeof V.PC.counter.vaginal === "undefined") { + V.PC.counter.vaginal = 0; + } + if (typeof V.PC.counter.anal === "undefined") { + V.PC.counter.anal = 0; + } + if (typeof V.PC.counter.mammary === "undefined") { + V.PC.counter.mammary = 0; + } + if (typeof V.PC.counter.penetrative === "undefined") { + V.PC.counter.penetrative = 0; + } + WombInit(V.PC); + if (typeof V.PC.ID === "undefined") { + V.PC.ID = -1; + } /* None of these are in use */ PC.bellyPreg = PC.belly; @@ -1766,10 +1795,14 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() { window.EconomyDatatypeCleanup = function EconomyDatatypeCleanup() { V.arcologies[0].prosperity = Math.clamp(+V.arcologies[0].prosperity, 1, V.AProsperityCap) || 1; V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0; - - V.food = Math.max(+V.food, 0) || 0; - V.economy = Math.max(+V.economy, 20) || 100; + if (V.economy === 0.5) { + V.economy = 200; + } else if (V.economy === 1) { + V.economy = 100; + } else if (V.economy === 1.5) { + V.economy = 67; + } V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0; if (V.baseDifficulty) { V.baseDifficulty = Math.clamp(+V.baseDifficulty, 1, 5) || 3; @@ -2574,3 +2607,319 @@ App.Entity.Utils.migratePronouns = function(subject) { delete subject["noun"]; /* eslint-enable dot-notation */ }; + +App.Update.FScheatDatatypeCleanup = function() { + if (V.arcologies[0].FSSupremacist !== "unset") { + V.arcologies[0].FSSupremacist = Number(V.arcologies[0].FSSupremacist) || "unset"; + V.arcologies[0].FSSupremacistDecoration = Number(V.arcologies[0].FSSupremacistDecoration) || 0; + V.arcologies[0].FSSupremacistLawME = Number(V.arcologies[0].FSSupremacistLawME) || 0; + } + if (V.arcologies[0].FSSubjugationist !== "unset") { + V.arcologies[0].FSSubjugationist = Number(V.arcologies[0].FSSubjugationist) || "unset"; + V.arcologies[0].FSSubjugationistDecoration = Number(V.arcologies[0].FSSubjugationistDecoration) || 0; + V.arcologies[0].FSSubjugationistLawME = Number(V.arcologies[0].FSSubjugationistLawME) || 0; + } + if (V.arcologies[0].FSGenderRadicalist !== "unset") { + V.arcologies[0].FSGenderRadicalist = Number(V.arcologies[0].FSGenderRadicalist) || "unset"; + V.arcologies[0].FSGenderRadicalistDecoration = Number(V.arcologies[0].FSGenderRadicalistDecoration) || 0; + V.arcologies[0].FSGenderRadicalistLawBeauty = Number(V.arcologies[0].FSGenderRadicalistLawBeauty) || 0; + V.arcologies[0].FSGenderRadicalistLawFuta = Number(V.arcologies[0].FSGenderRadicalistLawFuta) || 0; + } + if (V.arcologies[0].FSRepopulationFocus !== "unset") { + V.arcologies[0].FSRepopulationFocus = Number(V.arcologies[0].FSRepopulationFocus) || "unset"; + V.arcologies[0].FSRepopulationFocusDecoration = Number(V.arcologies[0].FSRepopulationFocusDecoration) || 0; + V.arcologies[0].FSRepopulationFocusSMR = Number(V.arcologies[0].FSRepopulationFocusSMR) || 0; + V.arcologies[0].FSRepopulationFocusLaw = Number(V.arcologies[0].FSRepopulationFocusLaw) || 0; + } + if (V.arcologies[0].FSRestart !== "unset") { + V.arcologies[0].FSRestart = Number(V.arcologies[0].FSRestart) || "unset"; + V.arcologies[0].FSRestartDecoration = Number(V.arcologies[0].FSRestartDecoration) || 0; + V.arcologies[0].FSRestartSMR = Number(V.arcologies[0].FSRestartSMR) || 0; + V.arcologies[0].FSRestartLaw = Number(V.arcologies[0].FSRestartLaw) || 0; + } + if (V.arcologies[0].FSHedonisticDecadence !== "unset") { + V.arcologies[0].FSHedonisticDecadence = Number(V.arcologies[0].FSHedonisticDecadence) || "unset"; + V.arcologies[0].FSHedonisticDecadenceDecoration = Number(V.arcologies[0].FSHedonisticDecadenceDecoration) || 0; + V.arcologies[0].FSHedonisticDecadenceSMR = Number(V.arcologies[0].FSHedonisticDecadenceSMR) || 0; + V.arcologies[0].FSHedonisticDecadenceLaw = Number(V.arcologies[0].FSHedonisticDecadenceLaw) || 0; + V.arcologies[0].FSHedonisticDecadenceLaw2 = Number(V.arcologies[0].FSHedonisticDecadenceLaw2) || 0; + V.arcologies[0].FSHedonisticDecadenceStrongFat = Number(V.arcologies[0].FSHedonisticDecadenceStrongFat) || 0; + } + if (V.arcologies[0].FSIntellectualDependency !== "unset") { + V.arcologies[0].FSIntellectualDependency = Number(V.arcologies[0].FSIntellectualDependency) || "unset"; + V.arcologies[0].FSIntellectualDependencyDecoration = Number(V.arcologies[0].FSIntellectualDependencyDecoration) || 0; + V.arcologies[0].FSIntellectualDependencySMR = Number(V.arcologies[0].FSIntellectualDependencySMR) || 0; + V.arcologies[0].FSIntellectualDependencyLaw = Number(V.arcologies[0].FSIntellectualDependencyLaw) || 0; + V.arcologies[0].FSIntellectualDependencyLawBeauty = Number(V.arcologies[0].FSIntellectualDependencyLawBeauty) || 0; + } + if (V.arcologies[0].FSSlaveProfessionalism !== "unset") { + V.arcologies[0].FSSlaveProfessionalism = Number(V.arcologies[0].FSSlaveProfessionalism) || "unset"; + V.arcologies[0].FSSlaveProfessionalismDecoration = Number(V.arcologies[0].FSSlaveProfessionalismDecoration) || 0; + V.arcologies[0].FSSlaveProfessionalismSMR = Number(V.arcologies[0].FSSlaveProfessionalismSMR) || 0; + V.arcologies[0].FSSlaveProfessionalismLaw = Number(V.arcologies[0].FSSlaveProfessionalismLaw) || 0; + } + if (V.arcologies[0].FSPetiteAdmiration !== "unset") { + V.arcologies[0].FSPetiteAdmiration = Number(V.arcologies[0].FSPetiteAdmiration) || "unset"; + V.arcologies[0].FSPetiteAdmirationDecoration = Number(V.arcologies[0].FSPetiteAdmirationDecoration) || 0; + V.arcologies[0].FSPetiteAdmirationSMR = Number(V.arcologies[0].FSPetiteAdmirationSMR) || 0; + V.arcologies[0].FSPetiteAdmirationLaw = Number(V.arcologies[0].FSPetiteAdmirationLaw) || 0; + V.arcologies[0].FSPetiteAdmirationLaw2 = Number(V.arcologies[0].FSPetiteAdmirationLaw2) || 0; + } + if (V.arcologies[0].FSStatuesqueGlorification !== "unset") { + V.arcologies[0].FSStatuesqueGlorification = Number(V.arcologies[0].FSStatuesqueGlorification) || "unset"; + V.arcologies[0].FSStatuesqueGlorificationDecoration = Number(V.arcologies[0].FSStatuesqueGlorificationDecoration) || 0; + V.arcologies[0].FSStatuesqueGlorificationSMR = Number(V.arcologies[0].FSStatuesqueGlorificationSMR) || 0; + V.arcologies[0].FSStatuesqueGlorificationLaw = Number(V.arcologies[0].FSStatuesqueGlorificationLaw) || 0; + V.arcologies[0].FSStatuesqueGlorificationLaw2 = Number(V.arcologies[0].FSStatuesqueGlorificationLaw2) || 0; + } + if (V.arcologies[0].FSGenderFundamentalist !== "unset") { + V.arcologies[0].FSGenderFundamentalist = Number(V.arcologies[0].FSGenderFundamentalist) || "unset"; + V.arcologies[0].FSGenderFundamentalistDecoration = Number(V.arcologies[0].FSGenderFundamentalistDecoration) || 0; + V.arcologies[0].FSGenderFundamentalistLawBeauty = Number(V.arcologies[0].FSGenderFundamentalistLawBeauty) || 0; + V.arcologies[0].FSGenderFundamentalistLawBimbo = Number(V.arcologies[0].FSGenderFundamentalistLawBimbo) || 0; + V.arcologies[0].FSGenderFundamentalistSMR = Number(V.arcologies[0].FSGenderFundamentalistSMR) || 0; + } + if (V.arcologies[0].FSPaternalist !== "unset") { + V.arcologies[0].FSPaternalist = Number(V.arcologies[0].FSPaternalist) || "unset"; + V.arcologies[0].FSPaternalistDecoration = Number(V.arcologies[0].FSPaternalistDecoration) || 0; + V.arcologies[0].FSPaternalistLaw = Number(V.arcologies[0].FSPaternalistLaw) || 0; + } + if (V.arcologies[0].FSDegradationist !== "unset") { + V.arcologies[0].FSDegradationist = Number(V.arcologies[0].FSDegradationist) || "unset"; + V.arcologies[0].FSDegradationistDecoration = Number(V.arcologies[0].FSDegradationistDecoration) || 0; + V.arcologies[0].FSDegradationistLaw = Number(V.arcologies[0].FSDegradationistLaw) || 0; + } + if (V.arcologies[0].FSBodyPurist !== "unset") { + V.arcologies[0].FSBodyPurist = Number(V.arcologies[0].FSBodyPurist) || "unset"; + V.arcologies[0].FSBodyPuristDecoration = Number(V.arcologies[0].FSBodyPuristDecoration) || 0; + V.arcologies[0].FSBodyPuristLaw = Number(V.arcologies[0].FSBodyPuristLaw) || 0; + } + if (V.arcologies[0].FSTransformationFetishist !== "unset") { + V.arcologies[0].FSTransformationFetishist = Number(V.arcologies[0].FSTransformationFetishist) || "unset"; + V.arcologies[0].FSTransformationFetishistDecoration = Number(V.arcologies[0].FSTransformationFetishistDecoration) || 0; + V.arcologies[0].FSTransformationFetishistSMR = Number(V.arcologies[0].FSTransformationFetishistSMR) || 0; + } + if (V.arcologies[0].FSYouthPreferentialist !== "unset") { + V.arcologies[0].FSYouthPreferentialist = Number(V.arcologies[0].FSYouthPreferentialist) || "unset"; + V.arcologies[0].FSYouthPreferentialistDecoration = Number(V.arcologies[0].FSYouthPreferentialistDecoration) || 0; + V.arcologies[0].FSYouthPreferentialistLaw = Number(V.arcologies[0].FSYouthPreferentialistLaw) || 0; + } + if (V.arcologies[0].FSMaturityPreferentialist !== "unset") { + V.arcologies[0].FSMaturityPreferentialist = Number(V.arcologies[0].FSMaturityPreferentialist) || "unset"; + V.arcologies[0].FSMaturityPreferentialistDecoration = Number(V.arcologies[0].FSMaturityPreferentialistDecoration) || 0; + V.arcologies[0].FSMaturityPreferentialistLaw = Number(V.arcologies[0].FSMaturityPreferentialistLaw) || 0; + } + if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") { + V.arcologies[0].FSSlimnessEnthusiast = Number(V.arcologies[0].FSSlimnessEnthusiast) || "unset"; + V.arcologies[0].FSSlimnessEnthusiastDecoration = Number(V.arcologies[0].FSSlimnessEnthusiastDecoration) || 0; + V.arcologies[0].FSSlimnessEnthusiastSMR = Number(V.arcologies[0].FSSlimnessEnthusiastSMR) || 0; + V.arcologies[0].FSSlimnessEnthusiastLaw = Number(V.arcologies[0].FSSlimnessEnthusiastLaw) || 0; + } + if (V.arcologies[0].FSAssetExpansionist !== "unset") { + V.arcologies[0].FSAssetExpansionist = Number(V.arcologies[0].FSAssetExpansionist) || "unset"; + V.arcologies[0].FSAssetExpansionistDecoration = Number(V.arcologies[0].FSAssetExpansionistDecoration) || 0; + V.arcologies[0].FSAssetExpansionistSMR = Number(V.arcologies[0].FSAssetExpansionistSMR) || 0; + } + if (V.arcologies[0].FSPastoralist !== "unset") { + V.arcologies[0].FSPastoralist = Number(V.arcologies[0].FSPastoralist) || "unset"; + V.arcologies[0].FSPastoralistDecoration = Number(V.arcologies[0].FSPastoralistDecoration) || 0; + V.arcologies[0].FSPastoralistLaw = Number(V.arcologies[0].FSPastoralistLaw) || 0; + } + if (V.arcologies[0].FSPhysicalIdealist !== "unset") { + V.arcologies[0].FSPhysicalIdealist = Number(V.arcologies[0].FSPhysicalIdealist) || "unset"; + V.arcologies[0].FSPhysicalIdealistDecoration = Number(V.arcologies[0].FSPhysicalIdealistDecoration) || 0; + V.arcologies[0].FSPhysicalIdealistLaw = Number(V.arcologies[0].FSPhysicalIdealistLaw) || 0; + V.arcologies[0].FSPhysicalIdealistSMR = Number(V.arcologies[0].FSPhysicalIdealistSMR) || 0; + V.arcologies[0].FSPhysicalIdealistStrongFat = Number(V.arcologies[0].FSPhysicalIdealistStrongFat) || 0; + } + if (V.arcologies[0].FSChattelReligionist !== "unset") { + V.arcologies[0].FSChattelReligionist = Number(V.arcologies[0].FSChattelReligionist) || "unset"; + V.arcologies[0].FSChattelReligionistDecoration = Number(V.arcologies[0].FSChattelReligionistDecoration) || 0; + V.arcologies[0].FSChattelReligionistLaw = Number(V.arcologies[0].FSChattelReligionistLaw) || 0; + V.arcologies[0].FSChattelReligionistCreed = Number(V.arcologies[0].FSChattelReligionistCreed) || 0; + } + if (V.arcologies[0].FSEdoRevivalist !== "unset") { + V.arcologies[0].FSEdoRevivalist = Number(V.arcologies[0].FSEdoRevivalist) || "unset"; + V.arcologies[0].FSEdoRevivalistDecoration = Number(V.arcologies[0].FSEdoRevivalistDecoration) || 0; + V.arcologies[0].FSEdoRevivalistLaw = Number(V.arcologies[0].FSEdoRevivalistLaw) || 0; + } + if (V.arcologies[0].FSRomanRevivalist !== "unset") { + V.arcologies[0].FSRomanRevivalist = Number(V.arcologies[0].FSRomanRevivalist) || "unset"; + V.arcologies[0].FSRomanRevivalistDecoration = Number(V.arcologies[0].FSRomanRevivalistDecoration) || 0; + V.arcologies[0].FSRomanRevivalistLaw = Number(V.arcologies[0].FSRomanRevivalistLaw) || 0; + } + if (V.arcologies[0].FSAztecRevivalist !== "unset") { + V.arcologies[0].FSAztecRevivalist = Number(V.arcologies[0].FSAztecRevivalist) || "unset"; + V.arcologies[0].FSAztecRevivalistDecoration = Number(V.arcologies[0].FSAztecRevivalistDecoration) || 0; + V.arcologies[0].FSAztecRevivalistLaw = Number(V.arcologies[0].FSAztecRevivalistLaw) || 0; + } + if (V.arcologies[0].FSEgyptianRevivalist !== "unset") { + V.arcologies[0].FSEgyptianRevivalist = Number(V.arcologies[0].FSEgyptianRevivalist) || "unset"; + V.arcologies[0].FSEgyptianRevivalistDecoration = Number(V.arcologies[0].FSEgyptianRevivalistDecoration) || 0; + V.arcologies[0].FSEgyptianRevivalistLaw = Number(V.arcologies[0].FSEgyptianRevivalistLaw) || 0; + } + if (V.arcologies[0].FSEdoRevivalist !== "unset") { + V.arcologies[0].FSEdoRevivalist = Number(V.arcologies[0].FSEdoRevivalist) || "unset"; + V.arcologies[0].FSEdoRevivalistDecoration = Number(V.arcologies[0].FSEdoRevivalistDecoration) || 0; + V.arcologies[0].FSEdoRevivalistLaw = Number(V.arcologies[0].FSEdoRevivalistLaw) || 0; + } + if (V.arcologies[0].FSArabianRevivalist !== "unset") { + V.arcologies[0].FSArabianRevivalist = Number(V.arcologies[0].FSArabianRevivalist) || "unset"; + V.arcologies[0].FSArabianRevivalistDecoration = Number(V.arcologies[0].FSArabianRevivalistDecoration) || 0; + V.arcologies[0].FSArabianRevivalistLaw = Number(V.arcologies[0].FSArabianRevivalistLaw) || 0; + } + if (V.arcologies[0].FSChineseRevivalist !== "unset") { + V.arcologies[0].FSChineseRevivalist = Number(V.arcologies[0].FSChineseRevivalist) || "unset"; + V.arcologies[0].FSChineseRevivalistDecoration = Number(V.arcologies[0].FSChineseRevivalistDecoration) || 0; + V.arcologies[0].FSChineseRevivalistLaw = Number(V.arcologies[0].FSChineseRevivalistLaw) || 0; + } + for (let _fscdc = 0; _fscdc < setup.FutureSocieties.length; _fscdc++) { + if (!(V.arcologies[0][setup.FutureSocieties[_fscdc]] > 0)) { + FutureSocieties.remove(setup.FutureSocieties[_fscdc]); + } + } +}; + +App.Update.neighborArcologyCheatDatatypeCleanup = function() { + let _l = V.arcologies.length; + for (let _i = 1; _i < _l; _i++) { + V.arcologies[_i].honeymoon = Number(V.arcologies[_i].honeymoon) || 0; + V.arcologies[_i].prosperity = Number(V.arcologies[_i].prosperity) || 0; + V.arcologies[_i].ownership = Number(V.arcologies[_i].ownership) || 0; + V.arcologies[_i].minority = Number(V.arcologies[_i].minority) || 0; + V.arcologies[_i].PCminority = Number(V.arcologies[_i].PCminority) || 0; + V.arcologies[_i].demandFactor = Number(V.arcologies[_i].demandFactor) || 0; + if (V.arcologies[_i].FSSupremacist !== "unset") { + V.arcologies[_i].FSSupremacist = Number(V.arcologies[_i].FSSupremacist) || "unset"; + } + if (V.arcologies[_i].FSSupremacist !== "unset" && !setup.filterRacesLowercase.includes(V.arcologies[_i].FSSupremacistRace)) { + V.arcologies[_i].FSSupremacistRace = setup.filterRacesLowercase.random(); + } + if (V.arcologies[_i].FSSubjugationist !== "unset") { + V.arcologies[_i].FSSubjugationist = Number(V.arcologies[_i].FSSubjugationist) || "unset"; + } + if (V.arcologies[_i].FSSubjugationist !== "unset" && !setup.filterRacesLowercase.includes(V.arcologies[_i].FSSubjugationistRace)) { + V.arcologies[_i].FSSubjugationistRace = setup.filterRacesLowercase.random(); + } + if (V.arcologies[_i].FSGenderRadicalist !== "unset") { + V.arcologies[_i].FSGenderRadicalist = Number(V.arcologies[_i].FSGenderRadicalist) || "unset"; + V.arcologies[_i].FSGenderFundamentalist = "unset"; + } + if (V.arcologies[_i].FSGenderFundamentalist !== "unset") { + V.arcologies[_i].FSGenderFundamentalist = Number(V.arcologies[_i].FSGenderFundamentalist) || "unset"; + V.arcologies[_i].FSGenderRadicalist = "unset"; + } + if (V.arcologies[_i].FSPaternalist !== "unset") { + V.arcologies[_i].FSPaternalist = Number(V.arcologies[_i].FSPaternalist) || "unset"; + V.arcologies[_i].FSDegradationist = "unset"; + } + if (V.arcologies[_i].FSDegradationist !== "unset") { + V.arcologies[_i].FSDegradationist = Number(V.arcologies[_i].FSDegradationist) || "unset"; + V.arcologies[_i].FSPaternalist = "unset"; + } + if (V.arcologies[_i].FSBodyPurist !== "unset") { + V.arcologies[_i].FSBodyPurist = Number(V.arcologies[_i].FSBodyPurist) || "unset"; + V.arcologies[_i].FSTransformationFetishist = "unset"; + } + if (V.arcologies[_i].FSTransformationFetishist !== "unset") { + V.arcologies[_i].FSTransformationFetishist = Number(V.arcologies[_i].FSTransformationFetishist) || "unset"; + V.arcologies[_i].FSBodyPurist = "unset"; + } + if (V.arcologies[_i].FSYouthPreferentialist !== "unset") { + V.arcologies[_i].FSYouthPreferentialist = Number(V.arcologies[_i].FSYouthPreferentialist) || "unset"; + V.arcologies[_i].FSMaturityPreferentialist = "unset"; + } + if (V.arcologies[_i].FSMaturityPreferentialist !== "unset") { + V.arcologies[_i].FSMaturityPreferentialist = Number(V.arcologies[_i].FSMaturityPreferentialist) || "unset"; + V.arcologies[_i].FSYouthPreferentialist = "unset"; + } + if (V.arcologies[_i].FSSlimnessEnthusiast !== "unset") { + V.arcologies[_i].FSSlimnessEnthusiast = Number(V.arcologies[_i].FSSlimnessEnthusiast) || "unset"; + V.arcologies[_i].FSAssetExpansionist = "unset"; + } + if (V.arcologies[_i].FSAssetExpansionist !== "unset") { + V.arcologies[_i].FSAssetExpansionist = Number(V.arcologies[_i].FSAssetExpansionist) || "unset"; + V.arcologies[_i].FSSlimnessEnthusiast = "unset"; + } + if (V.arcologies[_i].FSPastoralist !== "unset") { + V.arcologies[_i].FSPastoralist = Number(V.arcologies[_i].FSPastoralist) || "unset"; + } + if (V.arcologies[_i].FSPhysicalIdealist !== "unset") { + V.arcologies[_i].FSPhysicalIdealist = Number(V.arcologies[_i].FSPhysicalIdealist) || "unset"; + V.arcologies[_i].FSHedonisticDecadence = "unset"; + } + if (V.arcologies[_i].FSHedonisticDecadence !== "unset") { + V.arcologies[_i].FSHedonisticDecadence = Number(V.arcologies[_i].FSHedonisticDecadence) || "unset"; + V.arcologies[_i].FSPhysicalIdealist = "unset"; + } + if (V.arcologies[_i].FSChattelReligionist !== "unset") { + V.arcologies[_i].FSChattelReligionist = Number(V.arcologies[_i].FSChattelReligionist) || "unset"; + } + if (V.arcologies[_i].FSRomanRevivalist !== "unset") { + V.arcologies[_i].FSRomanRevivalist = Number(V.arcologies[_i].FSRomanRevivalist) || "unset"; + V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = "unset"; + } + if (V.arcologies[_i].FSAztecRevivalist !== "unset") { + V.arcologies[_i].FSAztecRevivalist = Number(V.arcologies[_i].FSAztecRevivalist) || "unset"; + V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset"; + } + if (V.arcologies[_i].FSEgyptianRevivalist !== "unset") { + V.arcologies[_i].FSEgyptianRevivalist = Number(V.arcologies[_i].FSEgyptianRevivalist) || "unset"; + V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset"; + } + if (V.arcologies[_i].FSEdoRevivalist !== "unset") { + V.arcologies[_i].FSEdoRevivalist = Number(V.arcologies[_i].FSEdoRevivalist) || "unset"; + V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset"; + } + if (V.arcologies[_i].FSArabianRevivalist !== "unset") { + V.arcologies[_i].FSArabianRevivalist = Number(V.arcologies[_i].FSArabianRevivalist) || "unset"; + V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset"; + } + if (V.arcologies[_i].FSChineseRevivalist !== "unset") { + V.arcologies[_i].FSChineseRevivalist = Number(V.arcologies[_i].FSChineseRevivalist) || "unset"; + V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset"; + } + if (V.arcologies[_i].FSNull !== "unset") { + V.arcologies[_i].FSNull = Number(V.arcologies[_i].FSNull) || "unset"; + } + if (V.arcologies[_i].FSRepopulationFocus !== "unset") { + V.arcologies[_i].FSRepopulationFocus = Number(V.arcologies[_i].FSRepopulationFocus) || "unset"; + V.arcologies[_i].FSRestart = "unset"; + } + if (V.arcologies[_i].FSRestart !== "unset") { + V.arcologies[_i].FSRestart = Number(V.arcologies[_i].FSRestart) || "unset"; + V.arcologies[_i].FSRepopulationFocus = "unset"; + } + if (V.arcologies[_i].FSIntellectualDependency !== "unset") { + V.arcologies[_i].FSIntellectualDependency = Number(V.arcologies[_i].FSIntellectualDependency) || "unset"; + V.arcologies[_i].FSSlaveProfessionalism = "unset"; + } + if (V.arcologies[_i].FSSlaveProfessionalism !== "unset") { + V.arcologies[_i].FSSlaveProfessionalism = Number(V.arcologies[_i].FSSlaveProfessionalism) || "unset"; + V.arcologies[_i].FSIntellectualDependency = "unset"; + } + if (V.arcologies[_i].FSPetiteAdmiration !== "unset") { + V.arcologies[_i].FSPetiteAdmiration = Number(V.arcologies[_i].FSPetiteAdmiration) || "unset"; + V.arcologies[_i].FSStatuesqueGlorification = "unset"; + } + if (V.arcologies[_i].FSStatuesqueGlorification !== "unset") { + V.arcologies[_i].FSStatuesqueGlorification = Number(V.arcologies[_i].FSStatuesqueGlorification) || "unset"; + V.arcologies[_i].FSPetiteAdmiration = "unset"; + } + if (V.arcologies[_i].FSCummunism !== "unset") { + V.arcologies[_i].FSCummunism = Number(V.arcologies[_i].FSCummunism) || "unset"; + } + if (V.arcologies[_i].FSIncestFetishist !== "unset") { + V.arcologies[_i].FSIncestFetishist = Number(V.arcologies[_i].FSIncestFetishist) || "unset"; + } + V.arcologies[_i].embargo = Number(V.arcologies[_i].embargo) || 0; + V.arcologies[_i].embargoTarget = Number(V.arcologies[_i].embargoTarget) || 0; + V.arcologies[_i].CyberEconomic = Number(V.arcologies[_i].CyberEconomic) || 0; + V.arcologies[_i].CyberEconomicTarget = Number(V.arcologies[_i].CyberEconomicTarget) || 0; + V.arcologies[_i].CyberReputation = Number(V.arcologies[_i].CyberReputation) || 0; + V.arcologies[_i].CyberReputationTarget = Number(V.arcologies[_i].CyberReputationTarget) || 0; + V.arcologies[_i].influenceTarget = Number(V.arcologies[_i].influenceTarget) || 0; + V.arcologies[_i].influenceBonus = Number(V.arcologies[_i].influenceBonus) || 0; + V.arcologies[_i].rival = Number(V.arcologies[_i].rival) || 0; + } +}; diff --git a/src/data/backwardsCompatibility/generalBC.js b/src/data/backwardsCompatibility/generalBC.js deleted file mode 100644 index 654ef4d55de2db7ee83171e1ce600851e1ed22c6..0000000000000000000000000000000000000000 --- a/src/data/backwardsCompatibility/generalBC.js +++ /dev/null @@ -1,63 +0,0 @@ -App.Update.sectorsToBuilding = function() { - V.building = new App.Arcology.Building([]); - const B = V.building; - const S = V.sectors; - - B.sections.push(new App.Arcology.Section("penthouse", [[new App.Arcology.Cell.Penthouse()]])); - if (V.arcologyUpgrade.spire === 1) { - B.sections.push(new App.Arcology.Section("spire", [[ - sectorToApartment(S[1]), sectorToApartment(S[2])], [ - sectorToApartment(S[3]), sectorToApartment(S[4])]])); - } - B.sections.push(new App.Arcology.Section("apartments", - [ - [sectorToApartment(S[8]), sectorToApartment(S[9]), sectorToApartment(S[10]), sectorToApartment(S[11])], - [sectorToApartment(S[12]), sectorToApartment(S[13]), sectorToApartment(S[14]), sectorToApartment(S[15])], - [sectorToApartment(S[16]), sectorToApartment(S[17]), sectorToApartment(S[18]), sectorToApartment(S[19])], - ])); - - function sectorToApartment(sector) { - const a = new App.Arcology.Cell.Apartment(sector.ownership); - if (sector.type === "LuxuryApartments") { - a.type = 1; - } else if (sector.type === "DenseApartments") { - a.type = 3; - } - return a; - } - - B.sections.push(new App.Arcology.Section("shops", [[sectorToShop(S[5]), sectorToShop(S[6]), sectorToShop(S[7])]])); - - function sectorToShop(sector) { - return new App.Arcology.Cell.Shop(sector.ownership, sector.type); - } - - B.sections.push(new App.Arcology.Section("markets", - [[sectorToMarket(S[20]), sectorToMarket(S[21]), sectorToMarket(S[22]), sectorToMarket(S[23]), sectorToMarket(S[24])]])); - - function sectorToMarket(sector) { - const m = new App.Arcology.Cell.Market(sector.ownership); - if (sector.type === "transportHub") { - m.type = "Transport Hub"; - } else if (sector.type === "CorporateMarket") { - m.type = "Corporate Market"; - } else { - m.type = sector.type; - } - return m; - } - - B.sections.push(new App.Arcology.Section("manufacturing", - [[sectorToManu(S[25]), sectorToManu(S[26]), sectorToManu(S[27]), sectorToManu(S[28]), sectorToManu(S[29])]])); - - function sectorToManu(sector) { - const m = new App.Arcology.Cell.Manufacturing(sector.ownership); - if (sector.type === "weapManu") { - m.type = "Weapon Manufacturing"; - } else { - m.type = sector.type; - } - return m; - } - -}; diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw index 7d84f8f64086b582298b1a6240d26f527b932d7b..c74149433bdc9e4157d036b498b56f4e262707fe 100644 --- a/src/events/intro/initNationalities.tw +++ b/src/events/intro/initNationalities.tw @@ -1,7 +1,82 @@ :: init Nationalities [silently] <<if $secExpEnabled > 0>> - <<include "secInit">> + /* base vars */ + <<set $SecExp = SecExpBase()>> + <<= App.SecExp.Check.general()>> + <<set $secExp = SecExpBase()>> + <<set $secUpgrades = { + nanoCams: 0, + cyberBots: 0, + eyeScan: 0, + cryptoAnalyzer: 0, + coldstorage: 0}>> + <<set $crimeUpgrades = { + autoTrial: 0, + autoArchive: 0, + worldProfiler: 0, + advForensic: 0}>> + <<set $intelUpgrades = { + sensors: 0, + radar: 0, + signalIntercept: 0}>> + <<set $readinessUpgrades = { + earlyWarn: 0, + rapidPlatforms: 0, + pathways: 0, + rapidVehicles: 0}>> + <<set $riotCenter = 0>> + <<set $riotUpgrades = { + freeMedia: 0, + rapidUnit: 0, + rapidUnitSpeed: 0}>> + <<set $fort = { + reactor: 0, + waterway: 0, + assistant:0}>> + <<set $currentUpgrade = { + name: " ", + unit: 0, + type: 0, + time: 0}>> + <<set $droneUpgrades = { + attack: 0, + defense: 0, + hp:0}>> + <<set $humanUpgrade = { + attack: 0, + defense: 0, + hp:0, + morale: 0}>> + <<set $sellTo = { + citizen: 1, + raiders: 1, + oldWorld: 1, + FC: 1}>> + <<set $garrison = { + penthouse: 0, + reactor: 0, + assistant: 0, + waterway: 0, + reactorTime: 0, + assistantTime: 0, + waterwayTime: 0 }>> + <<if $wasToggledBefore == 0>> + <<if $mercenaries == 1>> + <<set $mercFreeManpower = random(5,20)>> + <<elseif $mercenaries > 1>> + <<set $mercFreeManpower = random(10,30)>> + <</if>> + <</if>> + + /* battle relevant variables */ + <<set $secBots = { + active: 0, + ID: -1, + isDeployed: 0, + troops: 0, + maxTroops: 0, + equip: 0} >> <</if>> <<set $minimumSlaveAge = variableAsNumber($minimumSlaveAge, 3, 18, 18)>> @@ -73,9 +148,6 @@ <<set $minimumSlaveCost = 3000>> <<set $enduringRep = $rep>> -<<set $arcologies = []>> -<<set $leaders = []>> - <<set _seed = ["east", "north", "northeast", "northwest", "south", "southeast", "southwest", "west"]>> <<set _govtypes = ["a committee", "a corporation", "an individual", "an oligarchy", "direct democracy", "elected officials"]>> @@ -841,7 +913,7 @@ <<include "DF Slaves Database">> <</if>> <<include "custom Slaves Database">> -<<HeroSlavesCleanup>> +<<= App.Update.HeroSlavesCleanup()>> <<set $activeSlave = 0>> <<set $activeChild = 0>> diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index ab6346d3e47886124afb14ecf6c81d7d94447de3..b10831c1e2f0e5c2f21bb7779e57454cb2625521 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -12,394 +12,33 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -<<set $returnTo = "init", $nextButton = "Continue", $nextLink = "Alpha disclaimer">> +<<run App.Update.setNonexistantProperties(V, App.Data.defaultGameStateVariables)>> <<set $ver = App.Version.base, $pmodVer = App.Version.pmod, $releaseID = App.Version.release>> -/* This needs to be broken down into individual files that can be added to StoryInit instead. */ - <<set _NGPOffset = 1200000>> -<<if def $slaves>> - <<set _SL = $slaves.length>> - <<for _i = 0; _i < _SL; _i++>> - <<if $slaves[_i].assignment != "be imported">> - <<run removeNonNGPSlave($slaves[_i])>> - <<set _i--, _SL-->> - <</if>> - <</for>> - <<for _i = 0; _i < _SL; _i++>> - <<if $slaves[_i].assignment == "be imported">> - <<set $slaves[_i].ID += _NGPOffset>> - <<set $slaves[_i].assignment = "rest">> - <<set $slaves[_i].weekAcquired = 0>> - <<set $slaves[_i].newGamePlus = 1>> - <<if $slaves[_i].mother > 0>> - <<set $slaves[_i].mother += _NGPOffset>> - <<elseif $freshPC == 1 && $slaves[_i].mother == -1>> - <<set $slaves[_i].mother = -_NGPOffset>> - <<elseif $slaves[_i].mother < -1>> - <<set $slaves[_i].mother -= _NGPOffset>> - <</if>> - <<if $slaves[_i].father > 0>> - <<set $slaves[_i].father += _NGPOffset>> - <<elseif $freshPC == 1 && $slaves[_i].father == -1>> - <<set $slaves[_i].father = -_NGPOffset>> - <<elseif $slaves[_i].father < -1>> - <<set $slaves[_i].father -= _NGPOffset>> - <</if>> - <<set $slaves[_i].daughters = 0>> - <<set $slaves[_i].sisters = 0>> - <<set $slaves[_i].canRecruit = 0>> - <<set $slaves[_i].breedingMark = 0>> - <<if $arcologies[0].FSRomanRevivalist > 90>> - <<set $slaves[_i].nationality = "Roman Revivalist">> - <<elseif $arcologies[0].FSAztecRevivalist > 90>> - <<set $slaves[_i].nationality = "Aztec Revivalist">> - <<elseif $arcologies[0].FSEgyptianRevivalist > 90>> - <<set $slaves[_i].nationality = "Ancient Egyptian Revivalist">> - <<elseif $arcologies[0].FSEdoRevivalist > 90>> - <<set $slaves[_i].nationality = "Edo Revivalist">> - <<elseif $arcologies[0].FSArabianRevivalist > 90>> - <<set $slaves[_i].nationality = "Arabian Revivalist">> - <<elseif $arcologies[0].FSChineseRevivalist > 90>> - <<set $slaves[_i].nationality = "Ancient Chinese Revivalist">> - <</if>> - <<if $slaves[_i].relationTarget != 0>> - <<set $slaves[_i].relationTarget += _NGPOffset>> - <</if>> - <<if $slaves[_i].relationshipTarget != 0>> - <<set $slaves[_i].relationshipTarget += _NGPOffset>> - <</if>> - <<if $slaves[_i].cloneID != 0>> - <<set $slaves[_i].cloneID += _NGPOffset>> - <</if>> - <<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0, $slaves[_i].subTarget = 0>> - <<set $slaves[_i].drugs = "no drugs">> - <<set $slaves[_i].porn.spending = 0>> - <<set $slaves[_i].rules.living = "spare">> - <<set $slaves[_i].diet = "healthy">> - <<set $slaves[_i].pregControl = "none">> - <</if>> - <</for>> - <<set $slaveIndices = slaves2indices()>> - <<for _k = 0; _k < _SL; _k++>> - <<for _i = 0; _i < _SL; _i++>> - <<if $slaves[_k].mother == $slaves[_i].ID || $slaves[_k].father == $slaves[_i].ID>> - <<set $slaves[_i].daughters += 1>> - <</if>> - <<if areSisters($slaves[_k], $slaves[_i]) > 0>> - <<set $slaves[_i].sisters += 1>> - <</if>> - <</for>> - <<if $slaves[_k].pregSource > 0>> - <<set $slaves[_k].pregSource += _NGPOffset>> - <<set _getFather = $slaveIndices[$slaves[_k].pregSource]>> - <<if ndef _getFather>> - <<set $slaves[_k].pregSource = 0>> - <</if>> - <</if>> - <<for _sInit = 0; _sInit < $slaves[_k].womb.length; _sInit++>> - <<if $slaves[_k].womb[_sInit].fatherID > 0>> - <<set $slaves[_k].womb[_sInit].fatherID += _NGPOffset>> - <<elseif $freshPC == 1 && $slaves[_k].womb[_sInit].fatherID == -1>> - <<set $slaves[_k].womb[_sInit].fatherID = -_NGPOffset>> - <<elseif $slaves[_k].womb[_sInit].fatherID < -20>> - <<set $slaves[_k].womb[_sInit].fatherID -= _NGPOffset>> - <</if>> - <<if $slaves[_k].womb[_sInit].genetics.father > 0>> - <<set $slaves[_k].womb[_sInit].genetics.father += _NGPOffset>> - <<elseif $freshPC == 1 && $slaves[_k].womb[_sInit].genetics.father == -1>> - <<set $slaves[_k].womb[_sInit].genetics.father = -_NGPOffset>> - <<elseif $slaves[_k].womb[_sInit].genetics.father < -20>> - <<set $slaves[_k].womb[_sInit].genetics.father -= _NGPOffset>> - <</if>> - <<if $slaves[_k].womb[_sInit].genetics.mother > 0>> - <<set $slaves[_k].womb[_sInit].genetics.mother += _NGPOffset>> - <<elseif $freshPC == 1 && $slaves[_k].womb[_sInit].genetics.mother == -1>> - <<set $slaves[_k].womb[_sInit].genetics.mother = -_NGPOffset>> - <<elseif $slaves[_k].womb[_sInit].genetics.mother < -20>> - <<set $slaves[_k].womb[_sInit].genetics.mother -= _NGPOffset>> - <</if>> - <</for>> - <<if $slaves[_k].cloneID != 0>> - <<set _getClone = $slaveIndices[$slaves[_k].cloneID]>> - <<if ndef _getClone>> - <<set $slaves[_k].cloneID = 0>> - <</if>> - <</if>> - <</for>> - <<set $genePool = ngUpdateGenePool($genePool)>> - <<if ndef $missingTable || $showMissingSlaves == false>> - <<set $missingTable = {}>> - <<else>> - <<set $missingTable = ngUpdateMissingTable($missingTable)>> - <</if>> - <<for _i = 0; _i < _SL; _i++>> - <<if $slaves[_i].relation != 0>> - <<set _seed = 0, _rt = $slaves[_i].relationTarget, _ID = $slaves[_i].ID>> - <<set _j = $slaveIndices[_rt]>> - <<if (def _j) && $slaves[_j].relationTarget == _ID>> - <<set _seed = 1>> - <</if>> - <<if _seed == 0>> - <<set $slaves[_i].relation = 0, $slaves[_i].relationTarget = 0>> - <</if>> - <</if>> - <<if $slaves[_i].relationship > 0>> - <<set _seed = 0, _rt = $slaves[_i].relationshipTarget, _ID = $slaves[_i].ID>> - <<set _j = $slaveIndices[_rt]>> - <<if (def _j) && $slaves[_j].relationshipTarget == _ID>> - <<set _seed = 1>> - <</if>> - <<if _seed == 0>> - <<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>> - <</if>> - <</if>> - <</for>> - <<for _i = 0; _i < _SL; _i++>> - <<if $familyTesting == 1>> - <<if $slaves[_i].canRecruit == 1>> - /*<<set $recruiters.push($slaves[_i])>>*/ - <</if>> - <<else>> - <<if $slaves[_i].relation == 0>> - <<if random(1,100) <= 5>> - <<set $slaves[_i].recruiter = "twin">> - <<elseif ($slaves[_i].actualAge > 32) && (random(1,100) <= 41)>> - <<set $slaves[_i].recruiter = "mother">> - <<elseif ($slaves[_i].actualAge < 24) && (random(1,100) <= 40)>> - <<set $slaves[_i].recruiter = "daughter">> - <<elseif ($slaves[_i].actualAge < 43) && (random(1,100) <= 20)>> - <<set $slaves[_i].recruiter = "older sister">> - <<elseif ($slaves[_i].actualAge < 25) && ($slaves[_i].actualAge > 18) && (random(1,100) <= 20)>> - <<set $slaves[_i].recruiter = "young sister">> - <</if>> - <<else>> - <<set $slaves[_i].recruiter = 0>> - <</if>> - <</if>> /*closes family mode */ - <<set $slaves[_i].counter.milk = 0>> - <<set $slaves[_i].counter.cum = 0>> - <<set $slaves[_i].counter.births = 0>> - <<set $slaves[_i].counter.mammary = 0>> - <<set $slaves[_i].counter.penetrative = 0>> - <<set $slaves[_i].counter.oral = 0>> - <<set $slaves[_i].counter.anal = 0>> - <<set $slaves[_i].counter.vaginal = 0>> - <<set $slaves[_i].lifetimeCashExpenses = 0>> - <<set $slaves[_i].lifetimeCashIncome = 0>> - <<set $slaves[_i].lastWeeksCashIncome = 0>> - <<set $slaves[_i].lifetimeRepExpenses = 0>> - <<set $slaves[_i].lifetimeRepIncome = 0>> - <<set $slaves[_i].lastWeeksRepExpenses = 0>> - <<set $slaves[_i].lastWeeksRepIncome = 0>> - <</for>> - <<set $slavesOriginal = []>> /* not used by pregmod */ -<<else>> - <<set $slaves = []>> - <<set $slavesOriginal = []>> /* not used by pregmod */ - <<set $genePool = []>> - <<set $slaveIndices = slaves2indices()>> - <<set $missingTable = {}>> - <<set $showMissingSlaves = false>> - <<set $showMissingSlavesSD = false>> -<</if>> -<<set $marrying = []>> /* array of slave being married this week*/ -<<set $organs = []>> -<<set $ArcadeiIDs = [], $BrothiIDs = [], $CellBiIDs = [], $CliniciIDs = [], $ClubiIDs = [], $DairyiIDs = [], $FarmyardiIDs = [], $HGSuiteiIDs = [], $MastSiIDs = [], $SchlRiIDs = [], $ServQiIDs = [], $SpaiIDs = [], $NurseryiIDs = []>> +<<run App.Update.slaveLoopInit()>> -<<if ndef $saveImported>> - <<set $saveImported = 0>> -<</if>> +/* 0 out the record books as we start a new game */ +<<setupLastWeeksCash>> +<<setupLastWeeksRep>> <<if $saveImported == 0>> /* new game (not NG+) */ <<set $PC = basePlayer()>> <<run WombInit($PC)>> - <<set $freshPC = 0>> - <<set $cheater = 0>> - <<setupLastWeeksCash>> - <<setupLastWeeksRep>> - <<set $cash = 0>> - <<set $cashLastWeek = 0>> <<run cashX(10000, "personalBusiness")>> - <<set $autosave = 1>> - <<set $useFSNames = 1>> - <<set $FSNamePref = 0>> - <<set $seeDetails = 1>> - <<set $seeDesk = 1>> - <<set $newModelUI = 1>> - <<set $seeArcology = 1>> - <<set $seeFCNN = 1>> - <<set $useSummaryCache = true>> - <<set $seeExtreme = 0>> - <<set $seeBestiality = 0>> - <<set $seePee = 1>> - <<set $seeIncest = 1>> - <<set $extremeUnderage = 0>> - <<set $seeHyperPreg = 0>> - <<set $seePreg = 1>> - <<set $dangerousPregnancy = 0>> - <<set $adamPrinciple = 0>> - <<set $seeCircumcision = 1>> - <<set $seeAge = 1>> - <<set $seeDicks = 25>> - <<set $seeDicksAffectsPregnancy = 1>> - <<set $seeRace = 1>> - <<set $seeNationality = 1>> - <<set $realRoyalties = 0>> - <<set $seeIllness = 1>> - <<set $seeImages = 0>> - <<set $seeFaces = 1>> - <<set $seeAvatar = 1>> - <<set $seeHeight = 0>> - <<set $imageChoice = 1>> - <<set $seeVectorArtHighlights = 1>> - <<set $seeMainFetishes = 0>> - <<set $seeSummaryImages = 1>> - <<set $seeReportImages = 1>> - <<set $slavePanelStyle = 1>> - <<set $lineSeparations = 1>> - <<set $showSexualHistory = 1>> - <<set $showBodyMods = 1>> - <<set $showImplantEffects = 1>> - <<set $showClothing = 1>> - <<set $showAgeDetail = 1>> - <<set $showBoobCCs = 1>> - <<set $showHeightCMs = 1>> - <<set $showDickCMs = 1>> - <<set $showInches = 1>> - <<set $showNumbers = 2>> - <<set $showNumbersMax = 20>> - <<set $showScores = 1>> - <<set $showAssignToScenes = 1>> - <<set $showEWD = 1>> - <<set $showEWM = 1>> - <<set $showVignettes = 1>> - <<set $showAppraisal = 1>> - <<set $verticalizeArcologyLinks = 0>> - <<set $positionMainLinks = -1>> - <<set $showTipsFromEncy = 1>> - <<set $displayAssignments = 1>> - <<set $sortSlavesBy = "devotion">> - <<set $sortSlavesOrder = "descending">> - <<set $sortSlavesMain = 1>> - <<set $HGSeverity = 0>> - <<set $HGFormality = 1>> - <<set $universalRulesConsent = 0>> - <<set $universalRulesRest = 0>> - <<set $universalRulesFacilityWork = 1>> - <<set $universalRulesImpregnation = "none">> - <<set $universalRulesBirthing = 0>> - <<set $universalRulesCSec = 0>> - <<set $universalRulesNewSlavesRA = 1>> - <<set $universalRulesAssignsSelfFacility = 0>> - <<set $universalRulesImmobileSlavesMaintainMuscles = 0>> - <<set $universalRulesChildrenBecomeBreeders = 0>> - <<set $slaveDead = 0>> - <<set $rulesAssistantMain = 1>> - <<set $rulesAssistantAuto = 0>> - <<set $abbreviateDevotion = 2>> - <<set $abbreviateRules = 2>> - <<set $abbreviateClothes = 2>> - <<set $abbreviateOrigins = 2>> - <<set $abbreviateRulesets = 2>> - <<set $abbreviateNationality = 2>> - <<set $abbreviateHealth = 2>> - <<set $abbreviateDiet = 2>> - <<set $abbreviateDrugs = 2>> - <<set $abbreviateRace = 2>> - <<set $abbreviateGenitalia = 2>> - <<set $abbreviatePhysicals = 2>> - <<set $abbreviateSkills = 2>> - <<set $abbreviateMental = 2>> - <<set $abbreviateSidebar = 2>> - <<set $summaryStats = 0>> - <<set $nicknamesAllowed = 1>> - <<set $modRequestsAllowed = 1>> - <<set $expansionRequestsAllowed = 1>> - <<set $plot = 1>> - <<set $continent = "North America">> - <<set $terrain = "rural">> - <<set $language = "English">> - <<set $headGirlTrainsSkills = 1>> - <<set $headGirlTrainsHealth = 1>> - <<set $headGirlTrainsObedience = 1>> - <<set $headGirlTrainsFlaws = 1>> - <<set $headGirlSoftensFlaws = 1>> - <<set $headGirlTrainsParaphilias = 1>> - <<set $retainCareer = 1>> - <<set $useSlaveSummaryTabs = 0>> - <<set $useSlaveSummaryOverviewTab = 0>> - <<set $useSlaveListInPageJSNavigation = 0>> - <<set $killChoice = -1>> - <<set $assignmentRecords = {}>> - - /* master suite reporting and alternate descriptions */ - <<set $verboseDescriptions = 0>> - /* Accordion 000-250-006 */ - <<set $useAccordion = 0>> - - <<set $debugMode = 0>> - <<set $showNeighborDetails = 1>> - <<set $useTabs = 0>> - <<set $tabChoice = {Main: "all"}>> - <<set $formatNumbers = 1>> - - /* onlyintendeddickgirls variables */ - <<set $makeDicks = 0>> - - /* economy reports variables */ - <<set $showEconomicDetails = 0>> - - /* Pregmod specific */ - <<set $allowMaleSlaveNames = false>> - <<set $profiler = 0>> - <<set $economy = 100>> - <<set $baseDifficulty = 3>> - <<set $difficultySwitch = 0>> - <<set $neighboringArcologies = 3>> - <<set $newDescriptions = 0>> - <<set $familyTesting = 0>> - <<set $showDistantRelatives = 0>> - <<set $inbreeding = 1>> - <<set $allowFamilyTitles = 0>> - <<set $surnameOrder = 0>> - - /% Begin mod section: toggle whether slaves lisp. %/ - <<set $disableLisping = 0>> - /% End mod section: toggle whether slaves lisp. %/ - - <<set $weightAffectsAssets = 1>> - <<set $curativeSideEffects = 1>> - - /* non-vanilla shit */ - <<set $pedo_mode = 0>> - <<set $minimumSlaveAge = 18>> - <<set $fertilityAge = 13>> - <<set $potencyAge = 13>> - <<set $AgePenalty = 1>> - <<set $precociousPuberty = 0>> - <<set $loliGrow = 0>> - - <<set $retirementAge = 45>> - <<set $customRetirementAge = 45>> - <<set $customMenialRetirementAge = 65>> - <<set $FSCreditCount = 5>> - <<include "Init Rules">> <<else>> /* imported save (NG+) */ <<if $freshPC == 0>> - <<set $cashLastWeek = $cash>> <<if def $arcologies[0].prosperity>> <<run cashX((250*$arcologies[0].prosperity*$arcologies[0].ownership), "personalBusiness")>> <</if>> - <<set _cash = $cash>> - <<set _cash = Math.clamp(1000*Math.trunc(_cash/100000), 5000, 1000000)>> - <<run cashX((_cash-$cash), "personalBusiness")>> /*"-cash" to clean out the current value of cash and then completely replace it with the new value for NG+ start. */ + <<set _cash = $cash, $cash = 0, $cashLastWeek = 0>> + <<run cashX((Math.clamp(1000*Math.trunc(_cash/100000), 5000, 1000000)), "personalBusiness")>> <<if $retainCareer == 0>> <<set $PC.career = "arcology owner", $PC.skill.trading = 100, $PC.skill.warfare = 100, $PC.skill.hacking = 100, $PC.skill.slaving = 100, $PC.skill.engineering = 100, $PC.skill.medicine = 100>> <</if>> @@ -458,946 +97,31 @@ You should have received a copy of the GNU General Public License along with thi <<unset $corpAssetsDev, $corpAssetsDevOld, $corpAssetsSlave, $corpAssetsSlaveOld, $corpCash, $corpDiv, $corpDivArcadeFromMarket, $corpDivArcadeSlaves, $corpDivBreakFromMarket, $corpDivBreakSlaves, $corpDivBreakSlaves2, $corpDivBreakToMarket, $corpDivBreakToMenial, $corpDivBreakToSurgery, $corpDivBreakToTrain, $corpDivDairyFromMarket, $corpDivDairySlaves, $corpDivExtraSlaves, $corpDivExtraToArcade, $corpDivExtraToBreak, $corpDivExtraToMarket, $corpDividend, $corpDivLegalSlaves, $corpDivLegalToMarket, $corpDivLegalToMenial, $corpDivLegalToSurgery, $corpDivLegalToTrain, $corpDivMenialFromMarket, $corpDivMenialSlaves, $corpDivSurgeryFromMarket, $corpDivSurgerySlaves, $corpDivSurgerySlaves2, $corpDivSurgeryToDairy, $corpDivSurgeryToMarket, $corpDivSurgeryToTrain, $corpDivTrainFromMarket, $corpDivTrainSlaves, $corpDivTrainSlaves2, $corpDivTrainToMarket, $corpDivTrainToWhore, $corpDivWhoreFromMarket, $corpDivWhoreSlaves, $corpOpCostOld, $corpOverheadOld, $corpProfitOld, $corpRev, $corpRevOld, $corpSpecAccent, $corpSpecAge, $corpSpecAmputee, $corpSpecBalls, $corpSpecDevotion, $corpSpecDick, $corpSpecEducation, $corpSpecGender, $corpSpecGenitalia, $corpSpecHeight, $corpSpecHormones, $corpSpecImplants, $corpSpecInjection, $corpSpecIntelligence, $corpSpecMilk, $corpSpecMuscle, $corpSpecPussy, $corpSpecSexEd, $corpSpecTrust, $corpSpecVirgin, $corpSpecWeight, $dividendTimer, $personalShares, $publicShares>> <</if>> - -<<set $targetArcology = {type: "New"}>> - -<<set $REFeminizationCheckinIDs = []>> -<<set $REMILFCheckinIDs = []>> -<<set $REOrientationCheckinIDs = []>> -<<set $REUglyCheckinIDs = []>> -<<set $REButtholeCheckinIDs = []>> -<<set $REFutaSisterCheckinIDs = []>> -<<set $REReductionCheckinIDs = []>> -<<set $activeSlave = 0>> -<<set $activeChild = 0>> -<<set $reminders = []>> - -<<set $boomerangSlave = 0, $boomerangWeeks = 0, $boomerangBuyer = 0>> - -<<set $bioreactorPerfectedID = 0>> - -<<set $independenceDay = 0>> -<<set $invasionVictory = 0>> -<<set $daughtersVictory = 0>> -<<set $startingGirlCopied = 0, $startingGirlRelation = 0>> -<<set $archetyped = 0>> -<<set $createRelatedSlave = 0>> - -<<set $slavesVisible = 0>> -<<set $dormitory = 20>> -<<set $dormitoryPopulation = 0>> -<<set $rooms = 5>> -<<set $roomsPopulation = 0>> - -<<set $brothelDecoration = "standard">> -<<set $brothelUpgradeDrugs = 0>> -<<set $brothelAdsSpending = 0>> -<<set $brothelAdsOld = 0>> -<<set $brothelAdsModded = 0>> -<<set $brothelAdsImplanted = 0>> -<<set $brothelAdsStacked = 0>> -<<set $brothelAdsPreg = 0>> -<<set $brothelAdsXX = 0>> -<<set $brothelName = "the Brothel">> -<<set $brothelNameCaps = "The Brothel">> -<<set $brothel = 0>> -<<set $dairyDecoration = "standard">> -<<set $dairyPrepUpgrade = 0>> -<<set $dairyStimulatorsUpgrade = 0>> -<<set $dairyStimulatorsSetting = 0>> -<<set $dairyStimulatorsSettingChanged = 0>> -<<set $dairyFeedersUpgrade = 0>> -<<set $dairyFeedersSetting = 0>> -<<set $dairyFeedersSettingChanged = 0>> -<<set $dairyPregUpgrade = 0>> -<<set $dairyPregSetting = 0>> -<<set $dairyPregSettingChanged = 0>> -<<set $dairyRestraintsUpgrade = 0>> -<<set $dairyRestraintsSetting = 0>> -<<set $dairySlimMaintainUpgrade = 0>> -<<set $dairySlimMaintain = 0>> -<<set $dairyHyperPregRemodel = 0>> -<<set $dairyWeightSetting = 0>> -<<set $dairyImplantsSetting = 1>> -<<set $dairyUpgradeMenials = 0>> -<<set $createBioreactors = 0>> -<<set $bioreactorsAnnounced = 0>> -<<set $bioreactorsHerm = 0>> -<<set $bioreactorsXX = 0>> -<<set $bioreactorsXY = 0>> -<<set $bioreactorsBarren = 0>> -<<set $dairyName = "the Dairy">> -<<set $dairyNameCaps = "The Dairy">> -<<set $dairy = 0>> -<<set $cumSlaves = 0>> -<<set $clubDecoration = "standard">> -<<set $clubUpgradePDAs = 0>> -<<set $clubAdsSpending = 0>> -<<set $clubAdsOld = 0>> -<<set $clubAdsModded = 0>> -<<set $clubAdsImplanted = 0>> -<<set $clubAdsStacked = 0>> -<<set $clubAdsPreg = 0>> -<<set $clubAdsXX = 0>> -<<set $clubName = "the Club">> -<<set $clubNameCaps = "The Club">> -<<set $club = 0>> -<<set $servantsQuartersDecoration = "standard">> -<<set $servantsQuartersUpgradeMonitoring = 0>> -<<set $servantsQuarters = 0>> -<<set $servantsQuartersName = "the Servants' Quarters">> -<<set $servantsQuartersNameCaps = "The Servants' Quarters">> -<<set $schoolroomDecoration = "standard">> -<<set $schoolroomUpgradeSkills = 0>> -<<set $schoolroomUpgradeLanguage = 0>> -<<set $schoolroomUpgradeRemedial = 0>> -<<set $schoolroomRemodelBimbo = 0>> -<<set $schoolroom = 0>> -<<set $schoolroomName = "the Schoolroom">> -<<set $schoolroomNameCaps = "The Schoolroom">> -<<set $spaDecoration = "standard">> -<<set $spa = 0>> -<<set $spaSpots = 0>> -<<set $spaUpgrade = 0>> -<<set $spaFix = 0>> -<<set $spaName = "the Spa">> -<<set $spaNameCaps = "The Spa">> - -/% Incubator Subsection %/ -<<set $incubator = 0>> -<<set $incubatorSlaves = 0>> -<<set $incubatorBulkRelease = 0>> -<<set $incubatorOrgans = []>> -<<set $incubatorOldID = 0>> -<<set $incubatorUpgradeSpeed = 5>> -<<set $incubatorUpgradeWeight = 0>> -<<set $incubatorUpgradeMuscles = 0>> -<<set $incubatorUpgradeGrowthStims = 0>> -<<set $incubatorUpgradeReproduction = 0>> -<<set $incubatorUpgradeOrgans = 0>> -<<set $incubatorImprintSetting = 0>> -<<set $incubatorWeightSetting = 0>> -<<set $incubatorMusclesSetting = 0>> -<<set $incubatorGrowthStimsSetting = 0>> -<<set $incubatorReproductionSetting = 0>> -<<set $incubatorName = "the Incubator">> -<<set $incubatorNameCaps = "The Incubator">> -<<set $reservedChildren = 0>> -<<set $tanks = []>> - -<<set $clinicDecoration = "standard">> -<<set $clinic = 0>> -<<set $clinicUpgradeFilters = 0>> -<<set $clinicUpgradeScanner = 0>> -<<set $clinicUpgradePurge = 0>> -<<set $clinicName = "the Clinic">> -<<set $clinicNameCaps = "The Clinic">> -<<set $arcadeDecoration = "standard">> -<<set $arcadeUpgradeInjectors = 0>> -<<set $arcadeUpgradeFuckdolls = 0>> -<<set $arcadeUpgradeCollectors = 0>> -<<set $arcadeUpgradeHealth = -1>> -<<set $arcadeName = "the Arcade">> -<<set $arcadeNameCaps = "The Arcade">> -<<set $arcade = 0>> -<<set $fuckdollsSold = 0>> -<<set $cellblockDecoration = "standard">> -<<set $cellblockUpgrade = 0>> -<<set $cellblock = 0>> -<<set $cellblockName = "the Cellblock">> -<<set $cellblockNameCaps = "The Cellblock">> -<<set $cellblockWardenCumsInside = 1>> -<<set $masterSuiteDecoration = "standard">> -<<set $masterSuiteUpgradeLuxury = 0>> -<<set $masterSuiteUpgradePregnancy = 0>> /* Is the upgrade active? */ -<<set $masterSuitePregnancyFertilityDrugs = 0>> /* Are slaves being put on fertility drugs? */ -<<set $masterSuitePregnancyFertilitySupplements = 0>> /* Are those drugs being supplemented (health benefits and (even) more multiple pregnancies) */ -<<set $masterSuitePregnancySlaveLuxuries = 0>> /* Are the slaves being given some nicer things to reduce stress during preg? (health/devotion/trust benefits) */ -<<set $universalHGImpregnateMasterSuiteToggle = 0>> /* Will the HG impregnate fertile slaves in the MS? */ -<<set $masterSuiteHyperPregnancy = 0>> -<<set $masterSuite = 0>> -<<set $masterSuiteName = "the Master Suite">> -<<set $masterSuiteNameCaps = "The Master Suite">> - -/% Nursery Subsection %/ -<<set $nursery = 0>> /* counts the number of children the nursery can support */ -<<set $nurseryNannies = 0>> /* counts the number of nannies the nursery can support */ -<<set $nurseryBabies = 0>> /* counts the number of children currently in the nursery */ -<<set $MatronInfluence = 0>> /* check for whether the children are influenced by the Matron */ -<<set $nannyInfluence = 0>> /* check for whether the children are influenced by the nannies */ -<<set $nurseryDecoration = "standard">> -<<set $nurseryWeight = 0>> -<<set $nurseryMuscles = 0>> -<<set $nurseryHormones = 0>> -<<set $nurseryOrgans = 0>> /* not currently in use */ -<<set $nurseryImprintSetting = 0>> -<<set $nurseryWeightSetting = 0>> -<<set $nurseryMusclesSetting = 0>> -<<set $nurseryHormonesSetting = 0>> -<<set $nurseryName = "the Nursery">> -<<set $nurseryNameCaps = "The Nursery">> -<<set $reservedChildrenNursery = 0>> -<<set $cribs = []>> /* array of children in the nursery */ -<<set $cribsFreed = []>> /* array of children that have been freed */ -<<set $childToSlave = -1>> /* number of total children that have become slaves */ -<<run $cribs.forEach(function(c) { - App.Facilities.Nursery.childInit(c); -})>> -<<set $cribsIndices = App.Facilities.Nursery.cribsToIndices()>> - - -/% Farmyard Subsection %/ -<<set $farmyard = 0>> -<<set $farmyardShowgirls = []>> /* array of farmhands putting on shows */ -<<set $farmyardFarmers = []>> /* array of farmhands farming */ -<<set $farmMenials = 0>> -<<set $farmMenialsSpace = 0>> -<<set $farmyardDecoration = "standard">> -<<set $farmyardUpgrade = {pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0}>> -<<set $farmyardCrops = 0>> -<<set $farmyardStable = 0>> -<<set $farmyardKennels = 0>> -<<set $farmyardCages = 0>> -<<set $activeCanine = 0>> -<<set $activeHooved = 0>> -<<set $activeFeline = 0>> -<<set $farmyardLab = 0>> -<<set $farmyardLabUpgrades = {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}>> -<<set $animalsBought = {canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0}>> -<<set $canines = []>> -<<set $hooved = []>> -<<set $felines = []>> -<<set $farmyardName = "the Farmyard">> -<<set $farmyardNameCaps = "The Farmyard">> - -<<set $HGSuite = 0>> -<<set $HGSuiteSurgery = 1>> -<<set $HGSuiteDrugs = 1>> -<<set $HGSuiteHormones = 1>> -<<set $HGSuiteEquality = 0>> -<<set $HGSuiteName = "the Head Girl Suite">> -<<set $HGSuiteNameCaps = "The Head Girl Suite">> -<<set $fighterIDs = []>> -<<set $pitBG = 0>> -<<set $pitAnimal = 0>> -<<set $pitAnimalType = 0>> -<<set $pitAudience = "none">> -<<set $pitLethal = 0>> -<<set $pitVirginities = 0>> -<<set $pitFought = 0>> -<<set $pit = 0>> -<<set $pitName = "the Pit">> -<<set $pitNameCaps = "The Pit">> -<<set $dojo = 0>> -<<set $feeder = 0>> -<<set $cockFeeder = 0>> -<<set $suppository = 0>> -<<set $weatherCladding = 0>> -<<set $weatherAwareness = 0>> -<<set $boobAccessibility = 0>> -<<set $servantMilkers = 0>> -<<set $servantMilkersMultiplier = 1>> - -<<set $studio = 0>> -<<set $studioFeed = 0>> -<<set $PCSlutContacts = 1>> - /* Porn star counts (prestige 1) and ID's (prestige 3) */ -<<set $pornStars = {}>> <<for _genre range App.Porn.getAllGenres()>> <<set $pornStars[_genre.fameVar] = { p1count: 0, p3ID: 0 }>> <</for>> -<<set $pregInventor = 0>> -<<set $pregInventorID = 0>> -<<set $pregInventions = 0>> - -<<set $legendaryWhoreID = 0>> -<<set $legendaryEntertainerID = 0>> -<<set $legendaryCowID = 0>> -<<set $legendaryBallsID = 0>> -<<set $legendaryWombID = 0>> -<<set $legendaryAbolitionistID = 0>> - -<<set $FSAnnounced = 0>> -<<set $FSCredits = 0>> -<<set $FSGotRepCredits = 0>> -<<set $FSSingleSlaveRep = 10>> -<<set $FSSpending = 0>> -<<set $FSLockinLevel = 100>> -<<set $applyLaw = 0>> -<<set $FSPromenade = {Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0}>> - -/*new corporation variables*/ -<<set $newCorp = 1>> -<<set $vanillaShareSplit = 1>> -<<set $corpEcon = 0>> -<<set $corpCashDividend = 0>> -<<set $corpDiv = 0>> -<<set $corpExpandToken = 0>> -<<set $corpSpec = 0>> -<<set $corpSpecToken = 0>> -<<set $corpDivExtra = 0>> -<<set $corpDivLegal = 0>> -<<set $corpDivBreak = 0>> -<<set $corpDivSurgery = 0>> -<<set $corpDivTrain = 0>> -<<set $corpDivArcade = 0>> -<<set $corpDivMenial = 0>> -<<set $corpDivDairy = 0>> -<<set $corpDivWhore = 0>> -<<set $corpDivExtraDev = 0>> -<<set $corpDivLegalDev = 0>> -<<set $corpDivBreakDev = 0>> -<<set $corpDivSurgeryDev = 0>> -<<set $corpDivTrainDev = 0>> -<<set $corpDivArcadeDev = 0>> -<<set $corpDivMenialDev = 0>> -<<set $corpDivDairyDev = 0>> -<<set $corpDivWhoreDev = 0>> -<<set $corpSpecRaces = []>> - -<<set $corpAnnounced = 0>> -<<set $corpIncorporated = 0>> -<<set $corpMarket = 0>> - -/* Slave sexual services and goods variables */ -<<set $publicFuckdolls = 0>> -<<set $classSatisfied = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>> -<<set $whoreBudget = {lowerClass: 7, middleClass: 40, upperClass: 200, topClass: 1500}>> -<<set $arcadePrice = 2>> -<<set $clubSlaveSexAmount = 0>> - -<<set $shelterSlave = 0>> -<<set $shelterSlaveBought = 0>> -<<set $shelterAbuse = 0>> -<<set $shelterSlaveGeneratedWeek = 0>> - -/* alternate clothing access variables */ -<<set $clothesBoughtBunny = 0>> -<<set $clothesBoughtConservative = 0>> -<<set $clothesBoughtChains = 0>> -<<set $clothesBoughtWestern = 0>> -<<set $clothesBoughtOil = 0>> -<<set $clothesBoughtHabit = 0>> -<<set $clothesBoughtToga = 0>> -<<set $clothesBoughtHuipil = 0>> -<<set $clothesBoughtKimono = 0>> -<<set $clothesBoughtHarem = 0>> -<<set $clothesBoughtQipao = 0>> -<<set $clothesBoughtEgypt = 0>> -<<set $clothesBoughtBelly = 0>> -<<set $clothesBoughtMaternityDress = 0>> -<<set $clothesBoughtMaternityLingerie = 0>> -<<set $clothesBoughtLazyClothes = 0>> -<<set $clothesBoughtBimbo = 0>> -<<set $clothesBoughtCourtesan = 0>> -<<set $shoesBoughtHeels = 0>> -<<set $clothesBoughtPetite = 0>> -/* non-fs */ -<<set $clothesBoughtMilitary = 0>> -<<set $clothesBoughtCultural = 0>> -<<set $clothesBoughtMiddleEastern = 0>> -<<set $clothesBoughtPol = 0>> -<<set $clothesBoughtCostume = 0>> -<<set $clothesBoughtPantsu = 0>> -<<set $clothesBoughtCareer = 0>> -<<set $clothesBoughtDresses = 0>> -<<set $clothesBoughtBodysuits = 0>> -<<set $clothesBoughtCasual = 0>> -<<set $clothesBoughtUnderwear = 0>> -<<set $clothesBoughtSports = 0>> -<<set $clothesBoughtPony = 0>> -<<set $clothesBoughtSwimwear = 0>> -<<set $toysBoughtDildos = 0>> -<<set $toysBoughtGags = 0>> -<<set $toysBoughtVaginalAttachments = 0>> -<<set $toysBoughtButtPlugs = 0>> -<<set $toysBoughtButtPlugTails = 0>> -<<set $toysBoughtSmartVibes = 0>> -<<set $buckets = 0>> - -/*pregmod variables */ -<<set $specialSlavesPriceOverride = 0>> -<<set $pregAccessibility = 0>> -<<set $dickAccessibility = 0>> -<<set $ballsAccessibility = 0>> -<<set $buttAccessibility = 0>> -<<set $ageMode = 0>> -<<set $enema = 0>> -<<set $medicalEnema = 0>> -<<set $dairyPiping = 0>> -<<set $inflatedSlavesMilk = 0>> -<<set $inflatedSlavesCum = 0>> -<<set $milkPipeline = 0>> -<<set $cumPipeline = 0>> -<<set $wcPiping = 0>> -<<set $burstee = 0>> -<<set $slaveDeath = 0>> -<<set $clinicInflateBelly = 0>> -<<set $playerBred = 0>> -<<set $propOutcome = 0>> -<<set $EliteSires = ["crazy", "futa", "moves", "preggo", "quick", "virgin"]>> -<<set $startingPoint = -1>> -<<set $PhysicalRetirementAgePolicy = 0>> -<<set $raped = -1>> -<<set $children = []>> -<<set $missingParentID = -10000>> -<<set $startingSlaveRelative = 0>> -<<set $mom = 0>> -/*<<set $animalParts = 0>>*/ -<<set $originOveride = 0>> -<<set $playerAging = 2>> -<<set $pregSpeedControl = 0>> -<<set $clinicSpeedGestation = 0>> -<<set $playerSurgery = 0>> -<<set $playerGetsMilked = 0>> -<<set $bodyswapAnnounced = 0>> -<<set $surnamesForbidden = 0>> -<<set $menstruation = 0>> -<<set $FCTVcount = 0>> -<<set $FCTVrate = 4>> -<<set $FCTVreceiver = 0>> -<<set $receiverAvailable = 0>> -<<set $FCTVshow = 0>> -<<set $FCTVremote = 0>> -<<set $lastShow = 0>> -<<set $randShow = 0>> -<<set $FCNNstation = 0>> -<<set $MercenariesMessageSent = 0>> -<<set $SpecialForcesMessageSent = 0>> -<<set $BodyguardHasSucessfullyRecivedSignal = 0>> -<<set $finalChoice = "none">> -<<set $eliteTotal = 12>> -<<set $eliteDead = 0>> -<<set $eliteVegetable = 0>> -<<set $eliteFate = 0>> -<<set $swanSong = 0>> -<<set $failedElite = 0>> -<<set $eugenicsFullControl = 0>> -<<set $badC = 0, $badB = 0>> - -<<set $schoolSuggestion = 0>> -<<set $TSS = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $GRI = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $SCP = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $LDE = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $TGA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $TCR = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $TFS = {farmUpgrade: 0, schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0, compromiseWeek: 0}>> -<<set $futaAddiction = 0>> -<<set $HA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<<set $NUL = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> - -<<set $IDNumber = 1>> -<<set $nIDNumber = 1>> /* tracks children in the nursery */ - -<<set $week = 1>> - -<<set $weddingPlanned = 0>> -<<set $personalAttention = "sex">> -<<set $HeadGirl = 0>> -<<set $HGTimeInGrade = 0>> -<<set $HGEnergy = 0>> -<<set $HGCum = 0>> -<<set $Recruiter = 0>> -<<set $recruiterTarget = "desperate whores">> -<<set $recruiterProgress = 0>> -<<set $recruiterIdleRule = "number">> -<<set $recruiterIdleNumber = 20>> -<<set $recruiterIOUs = 0>> -<<set $bodyguardTrains = 1>> -<<set $Bodyguard = 0>> -<<set $Madam = 0>> -<<set $DJ = 0>> -<<set $Milkmaid = 0>> -<<set $milkmaidImpregnates = 0>> -<<set $Farmer = 0>> -<<set $Collectrix = 0>> -<<set $Stewardess = 0>> -<<set $stewardessImpregnates = 0>> -<<set $Schoolteacher = 0>> -<<set $Attendant = 0>> -<<set $Matron = 0>> -<<set $Nurse = 0>> -<<set $Wardeness = 0>> -<<set $Concubine = 0>> -<<set $economicUncertainty = 10>> - <<run assistant.object()>> - -<<set $justiceEvents = ["slave deal", "slave training", "majority deal", "indenture deal", "virginity deal", "breeding deal"]>> /* not in setupVars because we remove events from this array as they occur */ -<<set $prisonCircuit = ["low tier criminals", "gangs and smugglers", "white collar", "military prison"]>> -<<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>> - -<<set $fixedNationality = 0>> -<<set $fixedRace = 0>> -<<set $ui = "start">> -<<set $tooltipsEnabled = 0>> - -<<set $brandTarget = {primary: "buttock", secondary: "buttock", local: "buttock"}>> -<<set $brandDesign = {primary: "your initials", official: "your initials", local: "your initials"}>> - -<<set $scarTarget = {primary: "left cheek", secondary: "left cheek", local: "left cheek"}>> -<<set $scarDesign = {primary: "generic", local: "generic"}>> - -<<set $oralTotal = 0>> -<<set $vaginalTotal = 0>> -<<set $analTotal = 0>> -<<set $mammaryTotal = 0>> -<<set $penetrativeTotal = 0>> -<<set $milkTotal = 0>> -<<set $cumTotal = 0>> -<<set $foodTotal = 0>> -<<set $birthsTotal = 0>> -<<set $pitKillsTotal = 0>> - -<<set $collaboration = 0>> -<<set $traitor = 0>> -<<set $traitorType = 0>> -<<set $traitorWeeks = 0>> -<<set $hackerSupport = 0>> -<<set $hostage = 0>> -<<set $hostageAnnounced = 0>> -<<set $hostageRescued = 0>> -<<set $hostageGiveIn = 0>> -<<set $rivalSet = 0>> -<<set $rivalryFS = 0>> -<<set $rivalryFSAdopted = 0>> -<<set $rivalryFSRace = 0>> -<<set $rivalOwner = 0>> -<<set $rivalOwnerEnslaved = 0>> -<<set $rivalryPower = 0>> -<<set $rivalryDuration = 0>> -<<set $rivalRace = 0>> -<<set $rivalGender = 0>> -<<set $nationHate = 0>> -<<set $slaveMedic = 0>> -<<set $PShoot = 0>> -<<set $PSnatch = 0>> -<<set $PRaid = 0>> -<<set $PAid = 0>> -<<set $PPit = 0>> - -<<set $dispensary = 0>> -<<set $dispensaryUpgrade = 0>> -<<set $organFarmUpgrade = 0>> -<<set $completedOrgans = []>> -<<set $ImplantProductionUpgrade = 0>> -<<set $permaPregImplant = 0>> -<<set $injectionUpgrade = 0>> -<<set $hormoneUpgradeMood = 0>> -<<set $hormoneUpgradeShrinkage = 0>> -<<set $hormoneUpgradePower = 0>> -<<set $pubertyHormones = 0>> -<<set $dietXXY = 0>> -<<set $dietCleanse = 0>> -<<set $cumProDiet = 0>> -<<set $dietFertility = 0>> -<<set $curativeUpgrade = 0>> -<<set $growthStim = 0>> -<<set $reproductionFormula = 0>> -<<set $aphrodisiacUpgrade = 0>> -<<set $aphrodisiacUpgradeRefine = 0>> -<<set $healthyDrugsUpgrade = 0>> -<<set $superFertilityDrugs = 0>> -<<set $bellyImplants = 0>> -<<set $cervixImplants = 0>> -<<set $meshImplants = 0>> -<<set $prostateImplants = 0>> -<<set $youngerOvaries = 0>> -<<set $sympatheticOvaries = 0>> -<<set $fertilityImplant = 0>> -<<set $asexualReproduction = 0>> -<<set $animalOvaries = 0>> /*{pigOvaries: 0, canineOvaries: 0, horseOvaries: 0, cowOvaries: 0} currently unused*/ -<<set $animalTesticles = 0>> /*{pigTestes: 0, dogTestes: 0, horseTestes: 0, cowTestes: 0} currently unused*/ -<<set $animalMpreg = 0>> /*{pigMpreg: 0, dogMpreg: 0, horseMpreg: 0, cowMpreg: 0} currently unused*/ -<<set $geneticMappingUpgrade = 0>> -<<set $pregnancyMonitoringUpgrade = 0>> -<<set $cloningSystem = 0>> -<<set $geneticFlawLibrary = 0>> - -<<set $surgeryUpgrade = 0>> - -<<set $barracks = 0>> -<<set $mercenaries = 0>> -<<set $mercenariesHelpCorp = 0>> -<<set $personalArms = 0>> - -<<set $saleDescription = 0>> -<<set $gingering = 0>> -<<set $beforeGingering = 0>> -<<set $gingeringDetected = 0>> -<<set $gingeringDetection = 0>> -<<set $surgeryDescription = 0>> -<<set $encyclopedia = "How to Play">> -<<set $showEncyclopedia = 1>> - -<<set $trinkets = []>> -<<set $SPcost = 1000>> -<<set $debtWarned = 0>> -<<set $internationalTrade = 1>> -<<set $internationalVariety = 0>> -<<set $slaveCostFactor = 0.95>> -<<set $menialDemandFactor = 0>> -<<set $menialSupplyFactor = 0>> -<<set $demandTimer = 0>> -<<set $supplyTimer = 0>> -<<set $elapsedDemandTimer = 0>> -<<set $elapsedSupplyTimer = 0>> -<<set $slaveCostRandom = 0>> -<<set $deltaDemand = 0>> -<<set $deltaDemandOld = 0>> -<<set $deltaSupply = 0>> -<<set $deltaSupplyOld = 0>> -<<set $NPCSexSupply = {lowerClass: 3000, middleClass: 3000, upperClass: 3000, topClass: 3000}>> -<<set $NPCMarketShare = {lowerClass: 1000, middleClass: 1000, upperClass: 1000, topClass: 1000}>> -<<set $sexSubsidies = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>> -<<set $sexSupplyBarriers = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>> -<<set $minimumSlaveCost = 2500>> -<<set $facilityCost = 100>> -<<set $enduringRep = 1000>> -<<set $rep = 0>> <<run repX(1000, "event")>> -<<set $repLastWeek = 0>> - -<<set $arcologyUpgrade = {drones: 0, hydro: 0, apron: 0, grid: 0, spire: 0}>> - -<<set $AGrowth = 2>> -<<set $ACitizens = 4250>> -<<set $lowerClass = 3120>> -<<set $LSCBase = 800>> -<<set $visitors = 0>> -<<set $rentDefaults = {lowerClass: 20, middleClass: 50, upperClass: 180, topClass: 650}>> -<<set $rent = {lowerClass: 20, middleClass: 50, upperClass: 180, topClass: 650}>> -<<set $rentEffectL = 1>> -<<set $middleClass = 890>> -<<set $MCBase = 200>> -<<set $rentEffectM = 1>> -<<set $upperClass = 200>> -<<set $UCBase = 40>> -<<set $rentEffectU = 1>> -<<set $topClass = 40>> -<<set $TCBase = 20>> -<<set $rentEffectT = 1>> -<<set $GDP = 278.6>> -<<set $NPCSlaves = 900>> -<<set $ASlaves = 900>> -<<set $AProsperityCap = 0>> - -<<set $food = 50000>> -<<set $foodLastWeek = 0>> -<<set $foodProduced = 0>> -<<set $foodStored = 0>> -<<set $foodCost = 25>> -<<set $foodMarket = 0>> -<<set $foodRate = {slave: 2, lower: 1.8, middle: 2, upper: 2.2, top: 2.4}>> -<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>> /* total amount food consumed per week */ -<<set $farmMenials = 0>> -<<set $revealFoodEffects = 0>> -<<set $rations = 0>> - <<set $building = App.Arcology.defaultBuilding()>> <<set _sellable = $building.findCells(cell => cell.canBeSold())>> <<set _random12 = jsRandomMany(_sellable, 12)>> <<run _random12.forEach(cell => {cell.owner = 0})>> - -<<set $menials = 0>> -<<set $fuckdolls = 0>> -<<set $menialBioreactors = 0>> -<<set $prestigeAuctioned = 0>> -<<set $slaveMarketLimit = 20>> -<<set $slavesSeen = 0>> - -<<set $slaveOrphanageTotal = 0>> -<<set $citizenOrphanageTotal = 0>> -<<set $privateOrphanageTotal = 0>> -<<set $breederOrphanageTotal = 0>> - -<<set $alwaysSubsidizeRep = 0>> -<<set $alwaysSubsidizeGrowth = 0>> -<<set $ProImmigrationCash = 0>> -<<set $ProImmigrationRep = 0>> -<<set $AntiImmigrationCash = 0>> -<<set $AntiImmigrationRep = 0>> -<<set $ProEnslavementCash = 0>> -<<set $ProEnslavementRep = 0>> -<<set $AntiEnslavementCash = 0>> -<<set $AntiEnslavementRep = 0>> -<<set $BasicSMR = 1>> -<<set $HealthInspectionSMR = 0>> -<<set $EducationSMR = 0>> -<<set $FrigiditySMR = 0>> -<<set $BasicBeautySMR = 0>> -<<set $QualityBeautySMR = 0>> -<<set $BasicWeightSMR = 0>> -<<set $BasicIntelligenceSMR = 0>> -<<set $QualityIntelligenceSMR = 0>> -<<set $BasicHeightSMR = 0>> -<<set $AdvancedHeightSMR = 0>> -<<set $IntelligenceEugenicsSMR = 0>> -<<set $HeightEugenicsSMR = 0>> -<<set $FaceEugenicsSMR = 0>> -<<set $HonestySMR = 0>> -<<set $ProRefugees = 0>> -<<set $ProRecruitment = 0>> -<<set $OralEncouragement = 0>> -<<set $VaginalEncouragement = 0>> -<<set $AnalEncouragement = 0>> -<<set $OralDiscouragement = 0>> -<<set $VaginalDiscouragement = 0>> -<<set $AnalDiscouragement = 0>> -<<set $CashForRep = 0>> -<<set $RepForCash = 0>> -<<set $Cash4Babies = 0>> -<<set $RegularParties = 0>> -<<set $PAPublic = 0>> -<<set $CoursingAssociation = 0>> - <<set $Lurcher = 0>> - <<set $coursed = 0>> -<<set $RaidingMercenaries = 0>> - <<set $raided = 0>> -<<set $MixedMarriage = 0>> -<<set $CulturalOpenness = 0>> -<<set $goodImageCampaign = 0>> -<<set $sexualOpeness = 0>> - -<<set $policyCost = 5000>> -<<set $expiree = 0>> -<<set $retiree = 0>> -<<set $birthee = 0>> -<<set $CustomRetirementAgePolicy = 0>> -<<set $BioreactorRetirement = 0>> -<<set $ArcadeRetirement = 0>> -<<set $CitizenRetirement = 0>> -<<set $citizenRetirementMenials = 0>> -<<set $citizenRetirementTrigger = 0>> -<<set $FSSupLawTrigger = 0>> -<<set $FSSubLawTrigger = 0>> -<<set $SexMilestoneRetirement = 0>> -<<set $MilkMilestoneRetirement = 0>> -<<set $CumMilestoneRetirement = 0>> -<<set $BirthsMilestoneRetirement = 0>> -<<set $KillsMilestoneRetirement = 0>> -<<set $retirementSex = 10000>> -<<set $retirementMilk = 50000>> -<<set $retirementCum = 500000>> -<<set $retirementBirths = 5>> -<<set $retirementKills = 3>> -<<set $nicaea = 0>> -<<set $nicaeaAnnounceable = 0>> -<<set $nicaeaAnnounced = 0>> -<<set $nicaeaPreparation = 0>> -<<set $nicaeaInvolvement = -2>> -<<set $nicaeaPower = 0>> -<<set $nicaeaHeld = 0>> -<<set $peacekeepers = 0>> -<<set $peacekeepersFate = 0>> -<<set $mercRomeo = 0>> - -<<set $oralUseWeight = 5>> -<<set $vaginalUseWeight = 5>> -<<set $analUseWeight = 5>> - -<<set $childProtectionAct = 1>> - -<<set $niceWeather = [ - {name: "Sunny", severity: 1}, - {name: "Cloudy", severity: 1}, - {name: "Partly Cloudy", severity: 1}, - {name: "Overcast", severity: 1}, - {name: "Light Wind", severity: 1}, - {name: "Clear and Calm", severity: 1}, - {name: "Light Rain", severity: 1}, - {name: "Heavy Rain", severity: 1}, - {name: "Smoke warning", severity: 1}, -]>> - -<<set $lightWeather = [ - {name: "High Winds", severity: 2}, - {name: "Acid Rain", severity: 2}, - {name: "T-Storm Warning", severity: 2}, - {name: "Flood Warning", severity: 2}, - {name: "Tornado Warning", severity: 2}, - {name: "Light Sandstorm", severity: 2}, - {name: "High Heat", severity: 2}, - {name: "Smoky", severity: 2}, -]>> - -<<set $heavyWeather = [ - {name: "Extreme Winds", severity: 3}, - {name: "Heavy Acid Rain", severity: 3}, - {name: "Extreme T-storm", severity: 3}, - {name: "Flooding", severity: 3}, - {name: "Tornadoes", severity: 3}, - {name: "Sandstorm", severity: 3}, - {name: "Extreme Heat", severity: 3}, - {name: "Dense Smoke", severity: 3}, -]>> - -<<set $extremeWeather = [ - {name: "Solar Flare", severity: 4}, - {name: "Ion Storm", severity: 4}, - {name: "Cataclysmic Rains", severity: 4}, - {name: "Cat 6 Hurricane", severity: 4}, - {name: "Abrasive Sandstorm", severity: 4}, - {name: "Radiological Warning", severity: 4}, -]>> - -<<set $weatherToday = $niceWeather.random()>> - -<<set $customSlaveOrdered = 0>> -/* I am not a slave object! Do not treat me like one! */ -<<set $customSlave = new App.Entity.CustomSlaveOrder()>> - -<<set $huskSlaveOrdered = 0>> -<<set $huskSlave = new App.Entity.CustomSlaveOrder()>> - -/*non-vanilla shit*/ - -<<set $one_time_age_overrides_pedo_mode = 0>> -<<set $activeSlaveOneTimeMinAge = 0>> -<<set $activeSlaveOneTimeMaxAge = 999>> -<<set $oneTimeDisableDisability = 0>> -<<set $targetAge = $minimumSlaveAge>> -<<set $pubertyLength = 5>> -<<set $maxGrowthAge = 24>> - -/* Job Fulfillment Center */ -<<set $JFCOrder = 0, $Role = "">> - -<<set $cheatMode = 0>> -<<set $cheatModeM = 1>> -<<set $experimental = { - nursery: 0, - food: 0, - animalOvaries: 0, - dinnerParty: 0 -}>> -<<set $NaNArray = []>> - -<<set $fcnn = []>> -<<set $fcnn.push("...coming up at the top of the hour: Catgirl slaves, science fact or science fiction...")>> -<<set $fcnn.push("...coming up at the top of the hour: Malnockestivi Smith, Free Cities' first MtFtMtFtH transgendered person...")>> -<<set $fcnn.push("...new arcology construction up 23% worldwide this year, according to...")>> -<<set $fcnn.push("...United States Congress spends 1,264th consecutive day gridlocked over post office...")>> -<<set $fcnn.push("...coming up at the top of the hour: Arcology owners: oversexed oligarchs or attractive, oversexed oligarchs?...")>> -<<set $fcnn.push("...coming up at the top of the hour: Anal sex: not just for sex any more...")>> -<<set $fcnn.push("...coming up at the top of the hour: Oral sex: the new hello...")>> -<<set $fcnn.push("...new book by prominent feminist suggests that women should not be used as sexual appliances...")>> -<<set $fcnn.push("...just ahead, interview with Desha Moore, prominent advocate for compulsory female enslavement...")>> -<<set $fcnn.push("...just ahead, Slave Market Trends: will the pierced anus be in again this year...")>> -<<set $fcnn.push("...just ahead, Slave Market Trends: upstart slave trainers avoid implants...")>> -<<set $fcnn.push("...implant technology firm BusTech notches successful initial public offering...")>> -<<set $fcnn.push("...the upcoming shortage of authentic leather and what it means for the whip industry...")>> -<<set $fcnn.push("...dairy conglomerate Creem Inc. denies allegations of adulterating breast milk with...")>> -<<set $fcnn.push("...two-time award-winning actress Linda Loveless debuted new implants on the red carpet this...")>> -<<set $fcnn.push("...dick size: are your slaves lying to you when they tell you you're too big...")>> -<<set $fcnn.push("...just ahead, slave expert's opinion on best shemale slaves to use for double penetration...")>> -<<set $fcnn.push("...Free Cities social conservatives criticize marriage, say your slaves should be enough...")>> -<<set $fcnn.push("...councilman Taggart suggested in a public address that involuntary enslavement...")>> -<<set $fcnn.push("...councilman Taggart denies allegations that he has remained faithful to his wife...")>> -<<set $fcnn.push("...councilman Taggart presented evidence that regulation of the sex slave market would...")>> -<<set $fcnn.push("...after a word from our sponsors. Creem Inc.: for all your dairy needs...")>> -<<set $fcnn.push("...after a word from our sponsors. Horstmann Ltd, Free Cities' finest whipmakers...")>> -<<set $fcnn.push("...after a word from our sponsors. Coming soon to theaters, Quintuple, the musical...")>> -<<set $fcnn.push("...critical of low-end slave training corporation Wallerson & Sons for practices that they say...")>> -<<set $fcnn.push("...training corporation Wallerson & Sons called a study on slave illness rates 'ludicrous,' but...")>> -<<set $fcnn.push("...our tech correspondent: the possibilities of virally-administered gene therapy...")>> -<<set $fcnn.push("...our tech correspondent: breakthrough in in-vitro drug treatments that promise to...")>> -<<set $fcnn.push("...our tech correspondent: next year to see release of two competing aphrodisiacs...")>> -<<set $fcnn.push("...our tech correspondent: the coming permanent aphrodisiac implants, and what they mean...")>> -<<set $fcnn.push("...Sex Slaves in Space: what it takes to keep a mining crew happy for an 18-month contract...")>> -<<set $fcnn.push("...the implant-drug balance: how much tissue growth is necessary to support larger...")>> -<<set $fcnn.push("...the actress stated that the cut to full nudity in the script violated contractual...")>> -<<set $fcnn.push("...doping scandal as Slave Games watchdog alleges champion used internal reservoir of lube...")>> -<<set $fcnn.push("...next on Extreme Surgery: the mouthpussy experimenters and what they...")>> -<<set $fcnn.push("...'A hole's a hole,' said CEO of upstart budget glory hole franchise...")>> -<<set $fcnn.push("...underground slave pit fights step into the light this evening as...")>> -<<set $fcnn.push("...underground slave pit fight champion, freed yesterday, sells herself back into...")>> -<<set $fcnn.push("...with the lead designer of the MP17, the new machine pistol marketed specifically for bodyguards...")>> -<<set $fcnn.push("...the new Aegis drone series: because your arcology's security is your most important possession...")>> -<<set $fcnn.push("...the BAe Goshawk: because you deserve to travel at twice the speed of sound in the finest style...")>> -<<set $fcnn.push("...this year's Goat.cx award for outstanding orifice innovation goes to...")>> -<<set $fcnn.push("...public controversy over cannibalism. Decadence taken too far or an acceptable next step...")>> -<<set $fcnn.push("...sixth day of street cleaners' strike. Spokesman for the strikers: 'It's getting too nasty...")>> -<<set $fcnn.push("...debuts new book, 'So Long, And Thanks For All The Dicks', in which the recently retired sex slaves tell-all about...")>> -<<set $fcnn.push("...cure for lactose intolerance, for which he was awarded the International Association of Pastoralist...")>> -<<set $fcnn.push("...from the Free Cities have become increasingly common clientele for the black market...")>> -<<set $fcnn.push("...a risky gamble on the three-hour-long hardcore sex scene, but the box office figures for just...")>> - -/* HACKY EVENT WORKAROUNDS */ -<<set $eventID = -1>> - -/* INCORPORATED MODS */ - -/*SFVAR*/ <<set $SF = Object.assign({}, $SF, {Toggle:0, Active: -1}), $SF.Facility = Object.assign({}, $SF.Facility, {Toggle:0, Active:0})>> - -/* Misc mod variables */ -<<set $recruiterEugenics = 0>> - -<<if ndef $AgeEffectOnTrainerPricingPC>> - <<set $AgeEffectOnTrainerPricingPC = 1>> -<</if>> -<<if ndef $AgeEffectOnTrainerEffectivenessPC>> - <<set $AgeEffectOnTrainerEffectivenessPC = 1>> -<</if>> -<<if ndef $AgeTrainingUpperBoundPC>> - <<set $AgeTrainingUpperBoundPC = 14>> -<</if>> -<<if ndef $AgeTrainingLowerBoundPC>> - <<set $AgeTrainingLowerBoundPC = 12>> -<</if>> -<<if ndef $IsInPrimePC>> - <<set $IsInPrimePC = 3>> -<</if>> -<<if ndef $IsPastPrimePC>> - <<set $IsPastPrimePC = 5000>> -<</if>> - -<<set $prostheticsUpgrade = 0>> -<<set $adjustProstheticsCompleted = 0>> -<<set $adjustProsthetics = []>> /*format: {id: string, workleft: int, slaveID: int}*/ -/*task: {type: "research"/"craft/craftFit", id: string, workLeft: int, [if constructFit] slaveID: int}*/ -<<set $researchLab = { - level: 0, - aiModule: 1, - tasks: [], - maxSpace: 0, - hired: 0, - menials: 0, -}>> -<<set $prosthetics = {}>> <<run setup.prostheticIDs.forEach(function(id) { $prosthetics[id] = {amount: 0, research: 0}; })>> -<<set $merchantFSWares = ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"]>> -<<set $merchantIllegalWares = ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh"]>> /* "AnimalOrgans" for future use */ -<<set $RapidCellGrowthFormula = 0>> -<<set $UterineRestraintMesh = 0>> -<<set $PGHack = 0>> - -<<set $diversePronouns = 0>> - -/* Security Expansion */ -<<set $wasToggledBefore = 0>> -/* moved first build to post toggle */ -<<set $secExpEnabled = $secExpEnabled || 0>> - -/* Career-skill gain */ -<<set $masteredXP = 200>> +/*SFVAR*/ <<set $SF = Object.assign({}, $SF, {Toggle:0, Active: -1}), $SF.Facility = Object.assign({}, $SF.Facility, {Toggle:0, Active:0})>> -/* Weather effect on economy */ -<<set $antiWeatherFreeze = 0>> -<<set $econWeatherDamage = 0>> -<<set $disasterResponse = 0>> +<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>> /* total amount food consumed per week */ -<<set $postSexCleanUp = 1>> +<<set $weatherToday = App.Data.weather.nice.random()>> +<<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>> -<<set $sideBarOptions = {compact:1, Cash:1, Upkeep:1, SexSlaveCount:1, roomPop:1, Rep:1, GSP:1, Authority:1, Security:1, Crime:1}>> -<<set $DefaultBirthDestination = "individually decided fates">> -<<set $abbreviateHormoneBalance = 2>> +/* I am not a slave object! Do not treat me like one! */ +<<set $customSlave = new App.Entity.CustomSlaveOrder()>> +<<set $huskSlave = new App.Entity.CustomSlaveOrder()>> <<= App.SF.Init()>> diff --git a/src/js/wombJS.js b/src/js/wombJS.js index 7deafe8bff514725589d8c470236e22de733e9e3..8e36eddced977b7255e6993b1c9d6adf713b2de9 100644 --- a/src/js/wombJS.js +++ b/src/js/wombJS.js @@ -891,9 +891,7 @@ window.WombGetLittersData = function(actor) { }; window.BCReserveInit = function() { - let SV = State.variables; - - SV.slaves.forEach(function(slave) { + V.slaves.forEach(function(slave) { slave.womb.forEach(function(ft) { if (typeof ft.reserve !== 'string') { ft.reserve = ""; @@ -910,12 +908,12 @@ window.BCReserveInit = function() { }); }); - SV.PC.womb.forEach(function(ft) { + V.PC.womb.forEach(function(ft) { if (typeof ft.reserve !== 'string') { ft.reserve = ""; } if (typeof ft.motherID !== 'number') { - ft.motherID = SV.PC.ID; + ft.motherID = V.PC.ID; } if (typeof ft.realAge !== 'number') { // setting missing chronological age ft.realAge = ft.age; diff --git a/src/pregmod/seFCTVinstall.tw b/src/pregmod/seFCTVinstall.tw index ee92f954f3dd6ba04ddbf0b0688785bf17d0f662..fd94f788c5abc9fa6aff3eb4de9de7a6b528f95b 100644 --- a/src/pregmod/seFCTVinstall.tw +++ b/src/pregmod/seFCTVinstall.tw @@ -1,7 +1,6 @@ :: SE FCTV Install [nobr] <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV", $receiverAvailable = 1>> -<<set $showOne = 0, $showTwo = 0, $showThree = 0, $showFour = 0, $showFive = 0, $showSix = 0, $showSeven = 0, $showEight = 0, $showNine = 0, $showTen = 0, $showEleven = 0, $showTwelve = 0, $showThirteen = 0, $showFourteen = 0, $randShow = 0, $lastShow = -1>> You've been sitting in your office into the early afternoon going over bothersome lease documents that need your approval. When you take a break to look out the window, $assistant.name speaks up. "<<= properTitle()>>, you have received an approval welcome packet from 8HGG Inc. in regards to Free Cities TV. It seems that they've determined that $arcologies[0].name is now sufficiently developed enough to warrant a FCTV-Citizen connection. All the details and contracts necessary are included in the packet. From there, a receiver will need to be built onto $arcologies[0].name in order to access FCTV." <br><br> diff --git a/src/pregmod/seFCTVwatch.tw b/src/pregmod/seFCTVwatch.tw index b694d865c09aa4d42ed54323598304bd7cccd357..56c351f1e75826ceb93b9d788160148860a58911 100644 --- a/src/pregmod/seFCTVwatch.tw +++ b/src/pregmod/seFCTVwatch.tw @@ -1,24 +1,7 @@ :: SE FCTV Watch [nobr] <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV", $randShow = "", $FCTVshow = 0>> -<<if ndef $showEleven>> - <<set $showEleven = 0>> -<</if>> -<<if ndef $showTwelve>> /* Milkanon's channel */ - <<set $showTwelve = 0>> -<</if>> -<<if ndef $showThirteen>> /* Channel13's work */ - <<set $showThirteen = 0>> -<</if>> -<<if ndef $showFourteen>> /* anon's story channel */ - <<set $showFourteen = 0>> -<</if>> -<<if ndef $showFifteen>> /* the pirate channel */ - <<set $showFifteen = 0>> -<</if>> -<<if ndef $showSixteen>> /* Ages of Slavery channel */ - <<set $showSixteen = 0>> -<</if>> + Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveName@@<<else>>$assistant.name<</if>> to turn on the TV and <<if $cheatMode == 1 || $debugMode == 1 || $FCTVremote > 0>> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 9a4e7f1d940c03719df48a55f1e112b867601ac9..b3ce049aef68a0ddcb2c3ceb1d719d0fa5702155 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -996,42 +996,3 @@ $activeSlave.slaveName is up for review: <<set $AgeTrainingLowerBoundPC = 3, $AgeTrainingUpperBoundPC = 5, $AgeEffectOnTrainerPricingPC = 1.08, $AgeEffectOnTrainerEffectivenessPC = 1.08>> <</switch>> <</widget>> - -<<widget "HeroSlavesCleanup">> -<<run $heroSlaves.forEach(function(s) { - /* Nationalities, races, surnames random fill */ - if(!s.nationality) { - /* Check for a pre-set race and if the nationality fits, else regenerate */ - if(s.race && setup.filterRacesLowercase.includes(s.race)) { - raceToNationality(s); - } else { - s.nationality = hashChoice($nationalities); - } - } - if(!s.race || !setup.filterRacesLowercase.includes(s.race)) { - nationalityToRace(s); - } - if(!s.birthSurname && s.birthSurname !== "") { - s.birthSurname = (setup.surnamePoolSelector[s.nationality + "." + s.race] - || setup.surnamePoolSelector[s.nationality] - || setup.whiteAmericanSlaveSurnames).random(); - } - if(!s.birthName && s.birthName !== "") { - s.birthName = (setup.namePoolSelector[s.nationality + "." + s.race] - || setup.namePoolSelector[s.nationality] - || setup.whiteAmericanSlaveNames).random(); - } - generatePronouns(s); - if(s.geneMods == undefined) { - s.geneMods = {NCS: 0, rapidCellGrowth: 0}; - } else { - if(s.geneMods.NCS == undefined) { - s.geneMods.NCS = 0; - } - if(s.geneMods.rapidCellGrowth == undefined) { - s.geneMods.rapidCellGrowth = 0; - } - } - /*WombInit(s);*/ -})>> -<</widget>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw deleted file mode 100644 index 5e8cd896355618f0aefa9ca9415ef6e97b4a9531..0000000000000000000000000000000000000000 --- a/src/uncategorized/BackwardsCompatibility.tw +++ /dev/null @@ -1,3754 +0,0 @@ -:: Backwards Compatibility [nobr] - -/* no-usedOnce disabling checking for only used once instances in this file */ -<<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">> - -<<if $releaseID == 1021 || $releaseID == 1020 || $releaseID == 1019 || $releaseID == 2022>> - <<set $releaseID = 1022>> -<</if>> - -<<if $releaseID < 1055>> - <<if $disableLisping == 0>> - <<set $disableLisping = 1>> - <<else>> - <<set $disableLisping = 0>> - <</if>> -<</if>> - -<<if Array.isArray($nationalities)>> - <<set $nationalities = weightedArray2HashMap($nationalities)>> -<</if>> - -<<if def $brothelSlaves>> - <<unset $brothelSlaves>> -<</if>> -<<if def $clubSlaves>> - <<unset $clubSlaves>> -<</if>> -<<if def $arcadeSlaves>> - <<unset $arcadeSlaves>> -<</if>> -<<if def $dairySlaves>> - <<unset $dairySlaves>> -<</if>> -<<if def $servantsQuartersSlaves>> - <<unset $servantsQuartersSlaves>> -<</if>> -<<if def $masterSuiteSlaves>> - <<unset $masterSuiteSlaves>> -<</if>> -<<if def $HGSuiteSlaves>> - <<unset $HGSuiteSlaves>> -<</if>> -<<if def $farmyardSlaves>> - <<unset $farmyardSlaves>> -<</if>> -<<if def $cellblockSlaves>> - <<unset $cellblockSlaves>> -<</if>> -<<if def $schoolroomSlaves>> - <<unset $schoolroomSlaves>> -<</if>> -<<if def $spaSlaves>> - <<unset $spaSlaves>> -<</if>> -<<if ndef $spaSpots>> - <<set $spaSpots = 0>> -<</if>> -<<if def $nurserySlaves>> - <<unset $nurserySlaves>> -<</if>> - -<<if def $hostageCost>> - <<unset $hostageCost>> -<</if>> - -<<if def $youngCareers>> - <<unset $youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $stewardessCareers, $schoolteacherCareers>> - - <<unset $whiteNationalities, $asianNationalities, $latinaNationalities, $middleeasternNationalities, $blackNationalities, $indoaryanNationalities, $pacificislanderNationalities, $malayNationalities, $amerindianNationalities, $southerneuropeanNationalities, $semiticNationalities>> - - <<unset $whiteAmericanSlaveNames, $africanAmericanSlaveNames, $asianAmericanSlaveNames, $latinaSlaveNames, $russianSlaveNames, $egyptianSlaveNames, $brazilianSlaveNames, $chineseSlaveNames, $koreanSlaveNames, $indianSlaveNames, $indonesianSlaveNames, $bangladeshiSlaveNames, $japaneseSlaveNames, $nigerianSlaveNames, $pakistaniSlaveNames, $mexicanSlaveNames, $filipinaSlaveNames, $ethiopianSlaveNames, $germanSlaveNames, $saudiSlaveNames, $turkishSlaveNames, $colombianSlaveNames, $argentinianSlaveNames, $vietnameseSlaveNames, $iranianSlaveNames, $congoleseSlaveNames, $frenchSlaveNames, $thaiSlaveNames, $britishSlaveNames, $italianSlaveNames, $spanishSlaveNames, $kenyanSlaveNames, $ukrainianSlaveNames, $canadianSlaveNames, $peruvianSlaveNames, $venezuelanSlaveNames, $irishSlaveNames, $icelandicSlaveNames, $finnishSlaveNames, $newZealanderSlaveNames, $polishSlaveNames, $greekSlaveNames, $israeliSlaveNames, $armenianSlaveNames, $moroccanSlaveNames, $romanianSlaveNames, $swedishSlaveNames, $lithuanianSlaveNames, $bolivianSlaveNames, $haitianSlaveNames, $cubanSlaveNames, $whiteSouthAfricanSlaveNames, $blackSouthAfricanSlaveNames, $chileanSlaveNames, $belgianSlaveNames, $danishSlaveNames, $norwegianSlaveNames, $hungarianSlaveNames, $estonianSlaveNames, $slovakSlaveNames, $kazakhSlaveNames, $zimbabweanSlaveNames, $ugandanSlaveNames, $tanzanianSlaveNames, $dutchSlaveNames, $austrianSlaveNames, $swissSlaveNames, $puertoRicanSlaveNames, $czechSlaveNames, $portugueseSlaveNames, $jamaicanSlaveNames, $malaysianSlaveNames, $guatemalanSlaveNames, $ghananSlaveNames, $serbianSlaveNames, $australianSlaveNames, $burmeseSlaveNames, $algerianSlaveNames, $sudaneseSlaveNames, $iraqiSlaveNames, $uzbekSlaveNames, $nepaleseSlaveNames, $afghanSlaveNames, $yemeniSlaveNames, $lebaneseSlaveNames, $tunisianSlaveNames, $emiratiSlaveNames, $libyanSlaveNames, $jordanianSlaveNames, $omaniSlaveNames, $malianSlaveNames, $sammarineseSlaveNames, $marshalleseSlaveNames, $syrianSlaveNames, $bermudianSlaveNames, $uruguayanSlaveNames, $monegasqueSlaveNames, $montenegrinSlaveNames, $cambodianSlaveNames, $cameroonianSlaveNames, $gaboneseSlaveNames, $djiboutianSlaveNames, $greenlandicSlaveNames, $tuvaluanSlaveNames, $zambianSlaveNames, $albanianSlaveNames, $bruneianSlaveNames, $singaporeanSlaveNames>> - - <<unset $cowSlaveNames, $chattelReligionistSlaveNames, $romanSlaveNames, $aztecSlaveNames, $ancientEgyptianSlaveNames, $edoSlaveNames>> - - <<unset $ArcologyNamesSupremacistWhite, $ArcologyNamesSupremacistAsian, $ArcologyNamesSupremacistLatina, $ArcologyNamesSupremacistMiddleEastern, $ArcologyNamesSupremacistBlack, $ArcologyNamesSupremacistIndoAryan, $ArcologyNamesSupremacistPacificIslander, $ArcologyNamesSupremacistMalay, $ArcologyNamesSupremacistAmerindian, $ArcologyNamesSupremacistSouthernEuropean, $ArcologyNamesSupremacistSemitic, $ArcologyNamesSupremacistMixedRace>> - - <<unset $ArcologyNamesSubjugationistWhite, $ArcologyNamesSubjugationistAsian, $ArcologyNamesSubjugationistLatina, $ArcologyNamesSubjugationistMiddleEastern, $ArcologyNamesSubjugationistBlack, $ArcologyNamesSubjugationistIndoAryan, $ArcologyNamesSubjugationistPacificIslander, $ArcologyNamesSubjugationistMalay, $ArcologyNamesSubjugationistAmerindian, $ArcologyNamesSubjugationistSouthernEuropean, $ArcologyNamesSubjugationistSemitic, $ArcologyNamesSubjugationistMixedRace>> - - <<unset $ArcologyNamesGenderRadicalist, $ArcologyNamesGenderFundamentalist, $ArcologyNamesPaternalist, $ArcologyNamesDegradationist, $ArcologyNamesBodyPurist, $ArcologyNamesTransformationFetishist, $ArcologyNamesYouthPreferentialist, $ArcologyNamesMaturityPreferentialist, $ArcologyNamesSlimnessEnthusiast, $ArcologyNamesAssetExpansionist, $ArcologyNamesPastoralist, $ArcologyNamesPhysicalIdealist, $ArcologyNamesChattelReligionist, $ArcologyNamesRomanRevivalist, $ArcologyNamesAztecRevivalist, $ArcologyNamesEgyptianRevivalist, $ArcologyNamesEdoRevivalist, $ArcologyNamesArabianRevivalist, $ArcologyNamesChineseRevivalist>> - - /* pregmod-exclusive variables below */ - <<unset $veryYoungCareers, $recruiterCareers>> - <<unset $northamericaNationalities, $southamericaNationalities, $europeNationalities, $asiaNationalities, $middleeastNationalities, $africaNationalities, $australiaNationalities>> - <<unset $belarusianSlaveNames, $dominicanSlaveNames, $scottishSlaveNames>> - <<unset $ArcologyNamesEugenics, $ArcologyNamesRepopulationist, $ArcologyNamesHedonisticDecadence>> - <<unset $drugs, $harshCollars, $shoes, $bellyAccessories, $vaginalAccessories, $dickAccessories, $buttplugs>> -<</if>> - -<<if def $Flag>> - <<unset $Flag>> -<</if>> - -<<if typeof $brandTarget == "string">> - <<set $brandTarget = {primary: $brandTarget, secondary: "buttock", local: "buttock"}>> -<<elseif typeof $brandTarget != "object">> - <<set $brandTarget = {primary: "buttock", secondary: "buttock", local: "buttock"}>> -<</if>> - -<<if typeof $brandDesign == "string">> - <<set $brandDesign = {primary: $brandDesign, official: $brandDesign, local: $brandDesign}>> -<<elseif typeof $brandDesign != "object">> - <<set $brandDesign = {primary: "your initials", official: "your initials", local: "your initials"}>> -<</if>> - -<<if ndef $brandDesign.official>> - <<set $brandDesign.official = "your personal symbol">> -<</if>> - -<<if ndef $scarTarget>> - <<set $scarTarget = {primary: "left cheek", secondary: "left cheek", local: "left cheek"}>> -<</if>> -<<if ndef $scarDesign>> - <<set $scarDesign = {primary: "generic", local: "generic"}>> -<</if>> - -<<if def $servantMilkersJobs>> - <<unset $servantMilkersJobs>> -<</if>> - -<<if def $fakeBellies>> - <<unset $fakeBellies>> -<</if>> - -<<if def $badWords>> - <<unset $badWords>> -<</if>> - -<<if def $badNames>> - <<unset $badNames>> -<</if>> - -<<if (def $origin) || (def $origins)>> - <<unset $origin, $origins>> -<</if>> - -<<if (def $hare1) || (def $hareSpeed1)>> - <<unset $hare1, $hare2, $hare3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $origin1, $origin2, $origin3, $LurcherSpeed>> -<</if>> - -<<if def $basenationalities>> - <<unset $basenationalities>> -<</if>> - -<<if (ndef $marrying.length) || (ndef $marrying)>> - <<set $marrying = []>> -<</if>> -<<if (ndef $weddingPlanned) || (ndef $marrying) || (ndef $marrying.length) || ($marrying.length < 1)>> - <<set $weddingPlanned = 0>> -<</if>> - -<<if def $weddingSlaveID>> - <<unset $weddingSlaveID>> - <<set $weddingPlanned = 0>> -<</if>> - -<<if ndef $reminders>> - <<set $reminders = []>> -<<elseif !Array.isArray($reminders)>> - <<set _r = $reminders, $reminders = []>> - <<for _i = 0; _i < _r.entries.length; _i++>> - <<run App.Reminders.add(_r.entries[_i], $week + Number(_r.weeks[_i]))>> - <</for>> - <<for _i = 0; _i < _r.overdue.length; _i++>> - <<set _s = _r.overdue[_i].split(" ")>> - <<run _s.splice(_s.length-5, 5)>> - <<set _s = _s.join(" ")>> - <<run App.Reminders.add(_s, $week - 1)>> - <</for>> -<</if>> - -<<if $releaseID < 1057>> - <<if ndef $PC.name>> - <<if def $PCName>> - <<set $PC.name = $PCName>> - <<unset $PCName>> - <</if>> - <</if>> - <<if ndef $PC.surname>> - <<set $PC.surname = 0>> - <</if>> - <<if ndef $PC.faceShape>> - <<set $PC.faceShape = "normal">> - <</if>> -<</if>> -<<if ndef $bodyguardTrains>> - <<set $bodyguardTrains = 1>> -<</if>> -<<if ndef $recruiterIOUs>> - <<set $recruiterIOUs = 0>> -<</if>> -<<if ndef $summaryStats>> - <<set $summaryStats = 0>> -<</if>> -<<if ndef $verticalizeArcologyLinks>> - <<set $verticalizeArcologyLinks = 0>> -<</if>> -<<if ndef $positionMainLinks>> - <<set $positionMainLinks = -1>> -<</if>> -<<if ndef $seeImages>> - <<set $seeImages = 0>> -<</if>> -<<if ndef $imageChoice>> - <<set $imageChoice = 0>> -<</if>> -<<if ndef $seeMainFetishes>> - <<set $seeMainFetishes = 0>> -<</if>> -<<if ndef $seeSummaryImages>> - <<set $seeSummaryImages = 1>> -<</if>> -<<if ndef $seeReportImages>> - <<set $seeReportImages = 1>> -<</if>> -<<if ndef $universalRulesBirthing>> - <<set $universalRulesBirthing = 0>> -<</if>> -<<if ndef $HGSeverity>> - <<set $HGSeverity = 0>> -<</if>> -<<if def $recruiters>> - <<unset $recruiters>> -<</if>> -<<if ndef $fixedNationality>> - <<set $fixedNationality = 0>> -<</if>> -<<if ndef $fixedRace>> - <<set $fixedRace = 0>> -<</if>> -<<if ndef $RaidingMercenaries>> - <<set $RaidingMercenaries = 0>> -<</if>> -<<if ndef $raided>> - <<set $raided = 0>> -<</if>> -<<if ndef $slaveOrphanageTotal>> - <<set $slaveOrphanageTotal = 0>> -<</if>> -<<if ndef $citizenOrphanageTotal>> - <<set $citizenOrphanageTotal = 0>> -<</if>> -<<if ndef $privateOrphanageTotal>> - <<set $privateOrphanageTotal = 0>> -<</if>> -<<if ndef $peacekeepers>> - <<set $peacekeepers = 0>> -<</if>> -<<if def $modestClothes>> - <<unset $modestClothes>> -<</if>> -<<if ndef $completedOrgans>> - <<set $completedOrgans = []>> -<</if>> -<<if def $eventSlaves>> - <<unset $eventSlaves>> -<</if>> -<<if def $place>> - <<unset $place>> -<</if>> -<<if (def $assayedSlave) || (def $assayedSlaveAvailable) || def $assayType>> - <<unset $assayedSlave, $assayedSlaveAvailable, $assayType>> -<</if>> -<<if (def $RERepressedAnalVirginSub) || (def $REBoobCollisionSub) || (def $REIfYouEnjoyItSub) || (def $RESadisticDescriptionSub) || def $REShowerForceSub>> - <<unset $RERepressedAnalVirginSub, $REBoobCollisionSub, $REIfYouEnjoyItSub, $RESadisticDescriptionSub, $REShowerForceSub>> -<</if>> -<<if (def $unmodded) || (def $modded) || (def $XX) || (def $XY) || (def $old) || (def $young) || (def $pregYes) || (def $pregNo) || (def $implanted) || (def $slimPass) || (def $slim) || def $stacked>> - <<unset $unmodded, $modded, $XX, $XY, $old, $young, $pregYes, $pregNo, $implanted, $slimPass, $slim, $stacked>> -<</if>> -<<if (def $recruiterMother) || def $recruiterSister>> - <<unset $recruiterMother, $recruiterSister>> -<</if>> -<<if def $relations>> - <<unset $relations>> -<</if>> -<<if def $milfSlave>> - <<unset $milfSlave>> -<</if>> -<<if def $vignettes>> - <<unset $vignettes>> -<</if>> -<<if def $piercingLocation>> - <<unset $piercingLocation>> -<</if>> -<<if (def $target1) || (def $target2) || def $target3>> - <<unset $target1, $target2, $target3>> -<</if>> -<<if (def $targetEscape1) || (def $targetEscape2) || def $targetEscape3>> - <<unset $targetEscape1, $targetEscape2, $targetEscape3>> -<</if>> -<<if (def $oralCount) || (def $vaginalCount) || def $analCount>> - <<unset $oralCount, $vaginalCount, $analCount>> -<</if>> -<<if (def $fighterOne) || def $fighterTwo>> - <<unset $fighterOne, $fighterTwo>> -<</if>> -<<if (def $fighterOneDeadliness) || def $fighterTwoDeadliness>> - <<unset $fighterOneDeadliness, $fighterTwoDeadliness>> -<</if>> -<<if def $adopted>> - <<unset $adopted>> -<</if>> -<<if def $fetishChangeChance>> - <<unset $fetishChangeChance>> -<</if>> -<<if (def $titles) || (def $schoolsPresent) || (def $schoolsPerfected) || def $schoolTitle>> - <<unset $titles, $schoolsPresent, $schoolsPerfected, $schoolTitle>> -<</if>> -<<if def $appraiserGender>> - <<unset $appraiserGender>> -<</if>> -<<if (def $assetDirection) || def $assetAffected>> - <<unset $assetDirection, $assetAffected>> -<</if>> -<<if def $rents>> - <<unset $rents>> -<</if>> -<<if ndef $rent>> - <<set $rent = {}>> -<</if>> -<<if ndef $rentDefaults>> - <<set $rentDefaults = {}>> -<</if>> -<<if def $LCRent>> - <<set $rent.lowerClass = $LCRent>> - <<unset $LCRent>> -<</if>> -<<if def $MCRent>> - <<set $rent.middleClass = $MCRent>> - <<unset $MCRent>> -<</if>> -<<if def $UCRent>> - <<set $rent.upperClass = $UCRent>> - <<unset $UCRent>> -<</if>> -<<if def $TCRent>> - <<set $rent.topClass = $TCRent>> - <<unset $TCRent>> -<</if>> -<<if def $space>> - <<unset $space>> -<</if>> -<<if def $vaginaTotal>> - <<unset $vaginaTotal>> -<</if>> -<<set $enduringTrust = Number($enduringTrust) || 0>> -<<set $enduringDevotion = Number($enduringDevotion) || 0>> -<<set $averageTrust = Number($averageTrust) || 0>> -<<set $averageDevotion = Number($averageDevotion) || 0>> -<<if def $limbsComplete>> - <<unset $limbsComplete>> -<</if>> -<<if def $minimumChildAge>> - <<unset $minimumChildAge>> -<</if>> -<<if def $customValue>> - <<unset $customValue>> -<</if>> -<<if ndef $tabChoice>> - <<set $tabChoice = {Main: "all"}>> -<</if>> - -/* pregmod stuff */ - -<<if $releaseID < 1057>> - <<if ndef $PC.actualAge>> - <<if $PC.age === 1>> - <<set $PC.actualAge = 20>> - <<elseif $PC.age === 3>> - <<set $PC.actualAge = 50>> - <<else>> - <<set $PC.actualAge = 35>> - <</if>> - <</if>> - <<if ndef $PC.markings>> - <<set $PC.markings = "none">> - <</if>> - <<if ndef $PC.pronoun>> - <<run generatePlayerPronouns($PC)>> - <</if>> - <<if ndef $PC.pregKnown>> - <<if $PC.preg > 0>> - <<set $PC.pregKnown = 1>> - <<else>> - <<set $PC.pregKnown = 0>> - <</if>> - <</if>> - <<if ndef $PC.pregWeek>> - <<if $PC.preg > 0>> - <<set $PC.pregWeek = $PC.preg>> - <<else>> - <<set $PC.pregWeek = 0>> - <</if>> - <</if>> - <<if ndef $PC.pregType>> - <<if $PC.preg > 0>> - <<set $PC.pregType = 1>> - <<else>> - <<set $PC.pregType = 0>> - <</if>> - <</if>> - <<if ndef $PC.belly>> - <<if $PC.preg > 0>> - <<set $PC.belly = getPregBellySize($PC)>> - <<else>> - <<set $PC.belly = 0>> - <</if>> - <</if>> - <<if ndef $PC.skin>> - <<set $PC.skin = "light">> - <</if>> - <<if ndef $PC.origSkin>> - <<set $PC.origSkin = $PC.skin>> - <</if>> - <<if ndef $PC.eyeColor>> - <<set $PC.eyeColor = "blue">> - <</if>> - <<if ndef $PC.origEye>> - <<set $PC.origEye = $PC.eyeColor>> - <</if>> - <<if ndef $PC.pupil>> - <<if $PC.eyeColor == "catlike">> - <<set $PC.pupil = "catlike">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "serpent-like">> - <<set $PC.pupil = "serpent-like">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "devilish">> - <<set $PC.pupil = "devilish">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "demonic">> - <<set $PC.pupil = "demonic">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "hypnotic">> - <<set $PC.pupil = "hypnotic">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "heart-shaped">> - <<set $PC.pupil = "heart-shaped">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "wide-eyed">> - <<set $PC.pupil = "wide-eyed">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "almond-shaped">> - <<set $PC.pupil = "almond-shaped">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "bright">> - <<set $PC.pupil = "bright">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "teary">> - <<set $PC.pupil = "teary">> - <<set $PC.eyeColor = "blue">> - <<elseif $PC.eyeColor == "vacant">> - <<set $PC.pupil = "vacant">> - <<set $PC.eyeColor = "blue">> - <<else>> - <<set $PC.pupil = "circular">> - <</if>> - <</if>> - <<if ndef $PC.sclerae>> - <<set $PC.sclerae = "white">> - <</if>> - <<if ndef $PC.race>> - <<set $PC.race = "white">> - <</if>> - <<if ndef $PC.origRace>> - <<set $PC.origRace = $PC.race>> - <</if>> - <<if ndef $PC.hColor>> - <<set $PC.hColor = "blonde">> - <</if>> - <<if ndef $PC.origHColor>> - <<set $PC.origHColor = $PC.hColor>> - <</if>> - <<if ndef $PC.nationality>> - <<set $PC.nationality = "Stateless">> - <</if>> - <<if $PC.boobsBonus == -0.5>> - <<set $PC.boobsBonus = -1>> - <</if>> - <<if ndef $PC.sclerae>> - <<set $PC.sclerae = "white">> - <</if>> - <<if ndef $PC.fetish>> - <<set $PC.fetish = "none">> - <</if>> - <<if ndef $PC.behavioralFlaw>> - <<set $PC.behavioralFlaw = "none">> - <</if>> - <<if ndef $PC.behavioralQuirk>> - <<set $PC.behavioralQuirk = "none">> - <</if>> - <<if ndef $PC.sexualFlaw>> - <<set $PC.sexualFlaw = "none">> - <</if>> - <<if ndef $PC.sexualQuirk>> - <<set $PC.sexualQuirk = "none">> - <</if>> - <<if ndef $PC.pubicHStyle>> - <<set $PC.pubicHStyle = "hairless">> - <</if>> - <<if ndef $PC.underArmHStyle>> - <<set $PC.underArmHStyle = "hairless">> - <</if>> - <<if ndef $PC.eggType>> - <<set $PC.eggType = "human">> - <</if>> - <<if ndef $PC.ballType>> - <<set $PC.ballType = "human">> - <</if>> - <<if ndef $PC.geneticQuirks>> - <<set $PC.geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 1, wGain: 0, wLoss: 0, mGain: 0, mLoss: 0, androgyny: 0, girlsOnly: 0}>> - <<if $PC.birthMaster > 0>> - <<set $PC.geneticQuirks.fertility = 2>> - <<elseif $PC.career == "servant">> - <<set $PC.geneticQuirks.fertility = 1>> - <</if>> - <<else>> - <<if ndef $PC.geneticQuirks.heterochromia>> - <<set $PC.geneticQuirks.heterochromia = 0>> - <</if>> - <<if ndef $PC.geneticQuirks.girlsOnly>> - <<set $PC.geneticQuirks.girlsOnly = 0>> - <</if>> - <<if ndef $PC.geneticQuirks.mGain>> - <<set $PC.geneticQuirks.mGain = 0>> - <</if>> - <<if ndef $PC.geneticQuirks.mLoss>> - <<set $PC.geneticQuirks.mLoss = 0>> - <</if>> - <</if>> - <<if $releaseID < 1032>> - <<if $PC.pregSource == -1>> - <<set $PC.pregSource = -6>> - <<elseif $PC.pregSource == -2>> - <<set $PC.pregSource = -5>> - <<elseif $PC.pregSource == -6>> - <<set $PC.pregSource = -1>> - <<elseif $PC.pregSource == -5>> - <<set $PC.pregSource = -2>> - <</if>> - <</if>> - <<if ndef $PC.genes>> - <<if $PC.title == 1>> - <<set $PC.genes = "XY">> - <<else>> - <<set $PC.genes = "XX">> - <</if>> - <</if>> - - /* player object converter */ - <<set _newPC = basePlayer()>> - <<set _newPC.slaveName = $PC.name>> - <<set _newPC.slaveSurname = $PC.surname>> - <<set _newPC.birthName = $PC.name>> - <<if $PC.slaveSurname>> - <<set _newPC.birthSurname = $PC.surname>> - <<else>> - <<set _newPC.birthSurname = "">> - <</if>> - <<set _newPC.title = $PC.title>> - <<set _newPC.genes = $PC.genes>> - <<set _newPC.career = $PC.career>> - <<set _newPC.rumor = $PC.rumor>> - <<set _newPC.birthWeek = $PC.birthWeek>> - <<set _newPC.refreshment = $PC.refreshment>> - <<set _newPC.refreshmentType = $PC.refreshmentType>> - <<set _newPC.actualAge = $PC.actualAge>> - <<set _newPC.physicalAge = $PC.physicalAge>> - <<set _newPC.visualAge = $PC.visualAge>> - <<set _newPC.ovaryAge = $PC.ovaryAge>> - <<set _newPC.ageImplant = $PC.ageImplant>> - <<set _newPC.nationality = $PC.nationality>> - <<set _newPC.race = $PC.race>> - <<set _newPC.origRace = $PC.origRace>> - <<set _newPC.skin = $PC.skin>> - <<set _newPC.origSkin = $PC.origSkin>> - <<set _newPC.markings = $PC.markings>> - <<set _newPC.hColor = $PC.hColor>> - <<set _newPC.origHColor = $PC.origHColor>> - <<set _newPC.origEye = $PC.origEye>> /* needed for compatibility currently */ - <<set _newPC.eye.origColor = $PC.origEye>> - <<set _newPC.eye.left.iris = $PC.eyeColor>> - <<set _newPC.eye.left.pupil = $PC.pupil>> - <<set _newPC.eye.left.sclera = $PC.sclerae>> - <<set _newPC.eye.right.iris = $PC.eyeColor>> - <<set _newPC.eye.right.pupil = $PC.pupil>> - <<set _newPC.eye.right.sclera = $PC.sclerae>> - <<set _newPC.faceShape = $PC.faceShape>> - <<set _newPC.skill.trading = $PC.trading>> - <<set _newPC.skill.warfare = $PC.warfare>> - <<set _newPC.skill.hacking = $PC.hacking>> - <<set _newPC.skill.slaving = $PC.slaving>> - <<set _newPC.skill.engineering = $PC.engineering>> - <<set _newPC.skill.medicine = $PC.medicine>> - <<set _newPC.skill.cumTap = $PC.cumTap>> - <<set _newPC.father = $PC.father>> - <<set _newPC.mother = $PC.mother>> - <<set _newPC.sisters = $PC.sisters>> - <<set _newPC.daughters = $PC.daughters>> - <<set _newPC.counter.birthsTotal = $PC.births>> - <<set _newPC.counter.birthElite = $PC.birthElite>> - <<set _newPC.counter.birthMaster = $PC.birthMaster>> - <<set _newPC.counter.birthDegenerate = $PC.birthDegenerate>> - <<set _newPC.counter.birthClient = $PC.birthClient>> - <<set _newPC.counter.birthArcOwner = $PC.birthArcOwner>> - <<set _newPC.counter.birthCitizen = $PC.birthCitizen>> - <<set _newPC.counter.birthFutaSis = $PC.birthFutaSis>> - <<set _newPC.counter.birthSelf = $PC.birthSelf>> - <<set _newPC.counter.birthLab = $PC.birthLab>> - <<set _newPC.counter.birthOther = $PC.birthOther>> - <<if def $PC.laborCount>> - <<set _newPC.counter.laborCount = $PC.laborCount>> - <</if>> - <<set _newPC.counter.slavesFathered = $PC.slavesFathered>> - <<set _newPC.counter.slavesKnockedUp = $PC.slavesKnockedUp>> - <<set _newPC.sexualEnergy = $PC.sexualEnergy>> - <<set _newPC.staminaPills = $PC.staminaPills>> - <<set _newPC.preg = $PC.preg>> - <<set _newPC.pregType = $PC.pregType>> - <<set _newPC.pregWeek = $PC.pregWeek>> - <<set _newPC.pregKnown = $PC.pregKnown>> - <<set _newPC.fertKnown = $PC.fertKnown>> - <<set _newPC.fertPeak = $PC.fertPeak>> - <<set _newPC.fertDrugs = $PC.fertDrugs>> - <<set _newPC.forcedFertDrugs = $PC.forcedFertDrugs>> - <<set _newPC.belly = $PC.belly>> - <<set _newPC.bellyPreg = $PC.bellyPreg>> - <<set _newPC.pregSource = $PC.pregSource>> - <<set _newPC.pregMood = $PC.pregMood>> - <<set _newPC.labor = $PC.labor>> - <<set _newPC.degeneracy = $PC.degeneracy>> - <<set _newPC.pubicHStyle = $PC.pubicHStyle>> - <<set _newPC.underArmHStyle = $PC.underArmHStyle>> - <<if $PC.dick == 1>> - <<set _newPC.dick = 4>> - <<set _newPC.prostate = 1>> - <<if $PC.ballsImplant == 4 || $PC.balls == 4>> - <<set _newPC.balls = 30>> - <<set _newPC.scrotum = 7>> - <<elseif $PC.ballsImplant == 3 || $PC.balls == 3>> - <<set _newPC.balls = 14>> - <<set _newPC.scrotum = 6>> - <<elseif $PC.ballsImplant == 2 || $PC.balls == 2>> - <<set _newPC.balls = 9>> - <<set _newPC.scrotum = 5>> - <<elseif $PC.ballsImplant == 1 || $PC.balls == 1>> - <<set _newPC.balls = 5>> - <<set _newPC.scrotum = 4>> - <<else>> - <<set _newPC.balls = 3>> - <<set _newPC.scrotum = 3>> - <</if>> - <<if $PC.ballsImplant > 0>> - <<set _newPC.ballsImplant = _newPC.balls-3>> - <</if>> - <<else>> - <<set _newPC.dick = 0>> - <<set _newPC.prostate = 0>> - <<set _newPC.balls = 0>> - <<set _newPC.scrotum = 0>> - <</if>> - <<set _newPC.newVag = $PC.newVag>> - <<if $PC.vagina == 1>> - <<set _newPC.ovaries = 1>> - <<set _newPC.vaginaLube = 1>> - <<if $PC.newVag == 1>> - <<set _newPC.vagina = 1>> - <<elseif $PC.career == "escort" || $PC.birthsTotal >= 10 || $PC.career == "servant">> - <<set _newPC.vagina = 4>> - <<elseif $PC.birthsTotal > 2>> - <<set _newPC.vagina = 3>> - <<elseif $PC.career == "gang" || $PC.career == "celebrity" || $PC.career == "wealth" || $PC.birthsTotal > 0>> - <<set _newPC.vagina = 2>> - <<else>> - <<set _newPC.vagina = 1>> - <</if>> - <</if>> - <<if $PC.boobs == 1>> - <<if $PC.boobsBonus == -3>> - <<set _newPC.boobs = 400>> - <<elseif $PC.boobsBonus == -2>> - <<set _newPC.boobs = 500>> - <<elseif $PC.boobsBonus == -1>> - <<set _newPC.boobs = 700>> - <<elseif $PC.boobsBonus == 1>> - <<set _newPC.boobs = 1100>> - <<elseif $PC.boobsBonus == 2>> - <<set _newPC.boobs = 1300>> - <<elseif $PC.boobsBonus == 3>> - <<set _newPC.boobs = 1500>> - <<else>> - <<set _newPC.boobs = 900>> - <</if>> - <<elseif $PC.genes == "XX">> - <<set _newPC.boobs = 200>> - <<else>> - <<set _newPC.boobs = 100>> - <</if>> - <<if $PC.boobsImplant == 1>> - <<set _newPC.boobsImplant = _newPC.boobs-900>> - <</if>> - <<set _newPC.lactation = $PC.lactation>> - <<set _newPC.lactationDuration = $PC.lactationDuration>> - <<set _newPC.genes = $PC.genes>> - <<if $PC.butt == 3>> - <<set _newPC.butt = 5>> - <<elseif $PC.butt == 2>> - <<set _newPC.butt = 4>> - <<elseif $PC.butt == 1>> - <<set _newPC.butt = 3>> - <<else>> - <<set _newPC.butt = 2>> - <</if>> - <<if $PC.buttImplant == 1>> - <<set _newPC.buttImplant = _newPC.butt-2>> - <</if>> - <<set _newPC.reservedChildren = $PC.reservedChildren>> - <<set _newPC.reservedChildrenNursery = $PC.reservedChildrenNursery>> - <<set _newPC.geneticQuirks = clone($PC.geneticQuirks)>> - <<if $arcologies[0].FSPhysicalIdealist != "unset">> - <<set _newPC.muscles = 100>> - <<elseif $PC.title == 1>> - <<set _newPC.muscles = 50>> - <<else>> - <<set _newPC.muscles = 30>> - <</if>> - <<if $PC.title == 0>> - <<set _newPC.hLength = 15>> - <<set _newPC.waist = -20>> - <<set _newPC.voice = 2>> - <<set _newPC.shoulders = -1>> - <<set _newPC.hips = 1>> - <</if>> - <<if $PC.career == "escort">> - <<set _newPC.anus = 1>> - <<set _newPC.clothes = "a slutty outfit">> - <<set _newPC.intelligenceImplant = 15>> - <<elseif $PC.career == "servant">> - <<set _newPC.clothes = "a nice maid outfit">> - <<set _newPC.intelligenceImplant = 0>> - <</if>> - <<if def $PCWounded>> - <<set _newPC.majorInjury = $PCWounded>> - <<unset $PCWounded>> - <</if>> - <<if def $girls>> - <<if $girls == 1>> - <<set _newPC.rules.living = "spare">> - <<elseif $girls == 2>> - <<set _newPC.rules.living = "normal">> - <<else>> - <<set _newPC.rules.living = "luxurious">> - <</if>> - <<unset $girls>> - <</if>> - <<if def $playerGetsMilked>> - <<if $playerGetsMilked == 2>> - <<set $PC.rules.lactation = "sell">> - <<elseif $playerGetsMilked == 1>> - <<set $PC.rules.lactation = "maintain">> - <</if>> - <<unset $playerGetsMilked>> - <</if>> - - <<set WombInit(_newPC)>> - - <<set $PC = clone(_newPC)>> - Standardizing player object... Done!<br> -<</if>> - -<<run PCDatatypeCleanup()>> - -<<run BCReserveInit()>> - -<<if ndef $universalRulesImmobileSlavesMaintainMuscles>> - <<set $universalRulesImmobileSlavesMaintainMuscles = 0>> -<</if>> -<<if ndef $universalRulesChildrenBecomeBreeders>> - <<set $universalRulesChildrenBecomeBreeders = 0>> -<</if>> -<<if ndef $surnamesForbidden>> - <<set $surnamesForbidden = 0>> -<</if>> -<<if ndef $FSNamePref>> - <<set $FSNamePref = 0>> -<</if>> -<<if ndef $meshImplants>> - <<set $meshImplants = 0>> -<</if>> -<<if ndef $BasicWeightSMR>> - <<set $BasicWeightSMR = 0>> -<</if>> -<<if def $BasicTallSMR>> - <<unset $BasicTallSMR>> - <<set $BasicHeightSMR = 1>> -<</if>> -<<if def $BasicShortSMR>> - <<unset $BasicShortSMR>> - <<set $BasicHeightSMR = -1>> -<</if>> -<<if ndef $BasicHeightSMR>> - <<set $BasicHeightSMR = 0>> -<</if>> -<<if ndef $AdvancedHeightSMR>> - <<set $AdvancedHeightSMR = 0>> -<</if>> -<<if ndef $toysBoughtDildos>> - <<set $toysBoughtDildos = 0>> -<</if>> -<<if ndef $toysBoughtGags>> - <<set $toysBoughtGags = 0>> -<</if>> -<<if ndef $toysBoughtVaginalAttachments>> - <<set $toysBoughtVaginalAttachments = 0>> -<</if>> -<<if ndef $toysBoughtButtPlugs>> - <<set $toysBoughtButtPlugs = 0>> -<</if>> -<<if ndef $toysBoughtButtPlugTails>> - <<set $toysBoughtButtPlugTails = 0>> -<</if>> -<<if ndef $toysBoughtSmartVibes>> - <<set $toysBoughtSmartVibes = 0>> -<</if>> -<<if ndef $buckets>> - <<set $buckets = 0>> -<</if>> -<<if ndef $menstruation>> - <<set $menstruation = 0>> -<</if>> -<<if ndef $FCTVenable>> - <<set $FCTVenable = 1>> -<</if>> -<<if ndef $FCTVreceiver>> - <<set $FCTVreceiver = 0>> -<</if>> -<<if ndef $receiverAvailable>> - <<set $receiverAvailable = 0>> -<</if>> -<<if ndef $FCTVshow>> - <<set $FCTVshow = 0>> -<</if>> -<<if ndef $FCTVremote>> - <<set $FCTVremote = 0>> -<</if>> -<<if ndef $FCTVrate>> - <<set $FCTVrate = 2>> -<</if>> -<<if ndef $FCTVcount>> - <<set $FCTVcount = 0>> -<</if>> -<<if ndef $lastShow>> - <<set $lastShow = -1>> -<</if>> -<<if ndef $purchasedSagBGone>> - <<set $purchasedSagBGone = 0>> -<</if>> -<<if ndef $FCNNstation>> - <<set $FCNNstation = 0>> -<</if>> -<<if ndef $breederOrphanageTotal>> - <<set $breederOrphanageTotal = 0>> -<</if>> -<<if ndef $newDescriptions>> - <<set $newDescriptions = 0>> -<</if>> -<<if ndef $specialSlavesPriceOverride>> - <<set $specialSlavesPriceOverride = 0>> -<</if>> -<<if ndef $pregAccessibility>> - <<set $pregAccessibility = 0>> -<</if>> -<<if ndef $dickAccessibility>> - <<set $dickAccessibility = 0>> -<</if>> -<<if ndef $ballsAccessibility>> - <<set $ballsAccessibility = 0>> -<</if>> -<<if ndef $buttAccessibility>> - <<set $buttAccessibility = 0>> -<</if>> -<<if ndef $loliGrow>> - <<set $loliGrow = 0>> -<</if>> -<<if ndef $ageMode>> - <<set $ageMode = 0>> -<</if>> -<<if ndef $enema>> - <<set $enema = 0>> -<</if>> -<<if ndef $medicalEnema>> - <<set $medicalEnema = 0>> -<</if>> -<<if ndef $dairyPiping>> - <<set $dairyPiping = 0>> -<</if>> -<<if ndef $inflatedSlavesMilk>> - <<set $inflatedSlavesMilk = 0>> -<</if>> -<<if ndef $inflatedSlavesCum>> - <<set $inflatedSlavesCum = 0>> -<</if>> -<<if ndef $milkPipeline>> - <<set $milkPipeline = 0>> -<</if>> -<<if ndef $cumPipeline>> - <<set $cumPipeline = 0>> -<</if>> -<<if ndef $wcPiping>> - <<set $wcPiping = 0>> -<</if>> -<<if ndef $burstee>> - <<set $burstee = 0>> -<</if>> -<<if ndef $slaveDeath>> - <<set $slaveDeath = 0>> -<</if>> -<<if ndef $playerBred>> - <<set $playerBred = 0>> -<</if>> -<<if ndef $propOutcome>> - <<set $propOutcome = 0>> -<</if>> -<<if ndef $EliteSires>> - <<set $EliteSires = ["crazy", "futa", "moves", "preggo", "quick", "virgin"]>> -<</if>> -<<if ndef $startingPoint>> - <<set $startingPoint = -1>> -<</if>> -<<if ndef $raped>> - <<set $raped = -1>> -<</if>> -<<if ndef $familyTesting>> - <<set $familyTesting = 0>> -<</if>> -<<if ndef $children>> - <<set $children = []>> -<</if>> -<<if ndef $missingParentID>> - <<set $missingParentID = -10000>> -<</if>> -<<if def $startingSlaveRelative>> - <<unset $startingSlaveRelative>> -<</if>> -<<if ndef $mom>> - <<set $mom = 0>> -<</if>> -<<if def $animalParts>> - <<unset $animalParts = 0>> -<</if>> -<<if def $showBestiality>> - <<unset $showBestiality>> -<</if>> -<<if ndef $seeBestiality>> - <<set $seeBestiality = 0>> -<</if>> -<<if ndef $seePee>> - <<set $seePee = 1>> -<</if>> -<<if ndef $seeIncest>> - <<set $seeIncest = 1>> -<</if>> -<<if ndef $extremeUnderage>> - <<set $extremeUnderage = 0>> -<</if>> -<<if ndef $inbreeding>> - <<set $inbreeding = 1>> -<</if>> -<<if ndef $originOveride>> - <<set $originOveride = 0>> -<</if>> -<<if ndef $playerAging>> - <<set $playerAging = 2>> -<</if>> -<<if ndef $pregSpeedControl>> - <<set $pregSpeedControl = 0>> -<</if>> -<<if ndef $playerSurgery>> - <<set $playerSurgery = 0>> -<</if>> -<<if ndef $bodyswapAnnounced>> - <<set $bodyswapAnnounced = 0>> -<</if>> -<<if ndef $allowFamilyTitles>> - <<set $allowFamilyTitles = 0>> -<</if>> -<<if ndef $randShow>> - <<set $randShow = 0>> -<</if>> -<<if ndef $genePool>> - <<set $genePool = []>> -<</if>> -<<if ndef $useSummaryCache>> - <<set $useSummaryCache = true>> -<</if>> -<<if ndef $seeHyperPreg>> - <<set $seeHyperPreg = 0>> -<</if>> -<<if ndef $seePreg>> - <<set $seePreg = 1>> -<</if>> -<<if ndef $adamPrinciple>> - <<set $adamPrinciple = 0>> -<</if>> -<<if ndef $seeDicksAffectsPregnancy>> - <<set $seeDicksAffectsPregnancy = 1>> -<</if>> -<<if ndef $dangerousPregnancy>> - <<set $dangerousPregnancy = 1>> -<</if>> -<<if def $dangerousPregancy>> - <<unset $dangerousPregancy>> -<</if>> -<<if ndef $retainCareer>> - <<set $retainCareer = 1>> -<</if>> -<<if ndef $freshPC>> - <<set $freshPC = 0>> -<</if>> -<<if ndef $killChoice>> - <<set $killChoice = -1>> -<</if>> -<<if ndef $schoolroomRemodelBimbo>> - <<set $schoolroomRemodelBimbo = 0>> -<</if>> -<<if ndef $incubator>> - <<set $incubator = 0>> -<</if>> -<<if ndef $incubatorSlaves>> - <<set $incubatorSlaves = 0>> -<</if>> -<<if ndef $incubatorOrgans>> - <<set $incubatorOrgans = []>> -<</if>> -<<if ndef $incubatorOldID>> - <<set $incubatorOldID = 0>> -<</if>> -<<if ndef $incubatorUpgradeSpeed>> - <<set $incubatorUpgradeSpeed = 5>> -<</if>> -<<if ndef $incubatorUpgradeWeight>> - <<set $incubatorUpgradeWeight = 0>> -<</if>> -<<if ndef $incubatorUpgradeMuscles>> - <<set $incubatorUpgradeMuscles = 0>> -<</if>> -<<if ndef $incubatorUpgradeReproduction>> - <<set $incubatorUpgradeReproduction = 0>> -<</if>> -<<if ndef $incubatorUpgradeGrowthStims>> - <<set $incubatorUpgradeGrowthStims = 0>> -<</if>> -<<if ndef $incubatorUpgradeOrgans>> - <<set $incubatorUpgradeOrgans = 0>> -<</if>> -<<if ndef $incubatorImprintSetting>> - <<set $incubatorImprintSetting = 0>> -<</if>> -<<if ndef $incubatorWeightSetting>> - <<set $incubatorWeightSetting = 0>> -<</if>> -<<if ndef $incubatorMusclesSetting>> - <<set $incubatorMusclesSetting = 0>> -<</if>> -<<if ndef $incubatorReproductionSetting>> - <<set $incubatorReproductionSetting = 0>> -<</if>> -<<if ndef $incubatorGrowthStimsSetting>> - <<set $incubatorGrowthStimsSetting = 0>> -<</if>> -<<if ndef $reservedChildren>> - <<set $reservedChildren = 0>> -<</if>> -<<if ndef $tanks>> - <<set $tanks = []>> -<</if>> -/% Nursery Subsection %/ -<<if ndef $nursery>> - <<set $nursery = 0>> -<</if>> -<<if ndef $nIDNumber>> - <<set $nIDNumber = 1>> -<</if>> -<<if ndef $nurseryNannies>> - <<set $nurseryNannies = 0>> -<</if>> -<<if ndef $nurseryBabies>> - <<set $nurseryBabies = 0>> -<</if>> -<<if ndef $Matron>> - <<set $Matron = 0>> -<</if>> -<<if ndef $activeChild>> - <<set $activeChild = 0>> -<</if>> -<<if ndef $nannyInfluence>> - <<set $nannyInfluence = 0>> -<</if>> -<<if ndef $MatronInfluence>> - <<set $MatronInfluence = 0>> -<</if>> -<<if ndef $nurseryWeight>> - <<set $nurseryWeight = 0>> -<</if>> -<<if ndef $nurseryMuscles>> - <<set $nurseryMuscles = 0>> -<</if>> -<<if ndef $nurseryHormones>> - <<set $nurseryHormones = 0>> -<</if>> -<<if ndef $nurseryOrgans>> - <<set $nurseryOrgans = 0>> -<</if>> -<<if ndef $nurseryImprintSetting>> - <<set $nurseryImprintSetting = 0>> -<</if>> -<<if ndef $nurseryWeightSetting>> - <<set $nurseryWeightSetting = 0>> -<</if>> -<<if ndef $nurseryMusclesSetting>> - <<set $nurseryMusclesSetting = 0>> -<</if>> -<<if ndef $nurseryHormonesSetting>> - <<set $nurseryHormonesSetting = 0>> -<</if>> -<<if ndef $nurseryGrowthStimsSetting>> - <<set $nurseryGrowthStimsSetting = 0>> -<</if>> -<<if ndef $reservedChildrenNursery>> - <<set $reservedChildrenNursery = 0>> -<</if>> -<<if ndef $cribs>> - <<set $cribs = []>> -<</if>> -<<if ndef $cribsFreed>> - <<set $cribsFreed = []>> -<</if>> -<<if ndef $childSex>> - <<set $childSex = 0>> -<</if>> -<<if ndef $childProtectionAct>> - <<set $childProtectionAct = 1>> -<</if>> - -/% Farmyard Subsection %/ -<<if ndef $Farmer>> - <<set $Farmer = 0>> -<</if>> -<<if ndef $farmyard>> - <<set $farmyard = 0>> -<</if>> -<<if ndef $farmyardShowgirls>> - <<set $farmyardShowgirls = []>> -<</if>> -<<if ndef $farmyardFarmers>> - <<set $farmyardFarmers = []>> -<</if>> -<<if ndef $farmMenials>> - <<set $farmMenials = 0>> -<</if>> -<<if ndef $farmMenialsSpace>> - <<set $farmMenialsSpace = 0>> -<</if>> -<<if ndef $farmyardUpgrade>> - <<set $farmyardUpgrade = {pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0}>> -<</if>> -<<if def $farmyardUpgradeList>> - <<unset $farmyardUpgradeList = []>> -<</if>> -<<if ndef $farmyardCrops>> - <<set $farmyardCrops = 0>> -<</if>> -<<if ndef $farmyardKennels>> - <<set $farmyardKennels = 0>> -<</if>> -<<if ndef $farmyardStable>> - <<set $farmyardStable = 0>> -<</if>> -<<if ndef $farmyardCages>> - <<set $farmyardCages = 0>> -<</if>> -<<if ndef $farmyardLab>> - <<set $farmyardLab = 0>> -<</if>> -<<if ndef $farmyardLabUpgrades>> - <<set $farmyardLabUpgrades = {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}>> -<</if>> -<<if ndef $animalsBought>> - <<set $animalsBought = {}>> -<</if>> -<<set _animalsBought = ["canines", "hooved", "felines", "labradorRetrievers", "germanShepherds", "goldenRetrievers", "frenchBulldogs", "bulldogs", "beagles", "poodles", "rottweilers", "yorkshireTerriers", "siberianHuskies", "horses", "bulls", "pigs", "siameses", "persians", "maineCoons", "ragdolls", "bengals", "abbysinians", "birmans", "orientalShorthairs", "sphynxes", "russianBlues", "wolves", "foxes", "jackals", "dingos", "zebras", "cougars", "jaguars", "pumas", "lynx", "leopards", "lions", "tigers"]>> -<<run _animalsBought.forEach(function(species) { $animalsBought[species] = $animalsBought[species] || 0 ; })>> -<<if ndef $canines>> - <<set $canines = []>> -<</if>> -<<if ndef $hooved>> - <<set $hooved = []>> -<</if>> -<<if ndef $felines>> - <<set $felines = []>> -<</if>> -<<if def $boughtCanines>> - <<unset $boughtCanines>> -<</if>> -<<if def $boughtFelines>> - <<unset $boughtFelines>> -<</if>> -<<if def $defaultCanine>> - <<unset $defaultCanine = "wolf">> -<</if>> -<<if def $defaultHooved>> - <<unset $defaultHooved = "horse">> -<</if>> -<<if def $defaultFeline>> - <<unset $defaultFeline = "cougar">> -<</if>> -<<if def $defaultCaninePlural>> - <<unset $defaultCaninePlural = "wolves">> -<</if>> -<<if def $defaultHoovedPlural>> - <<unset $defaultHoovedPlural = "horses">> -<</if>> -<<if def $defaultFelinePlural>> - <<unset $defaultFelinePlural = "cougars">> -<</if>> -<<if ndef $activeCanine>> - <<set $activeCanine = 0>> -<</if>> -<<if ndef $activeHooved>> - <<set $activeHooved = 0>> -<</if>> -<<if ndef $activeFeline>> - <<set $activeFeline = 0>> -<</if>> -<<if def $boughtWolves>> - <<unset $boughtWolves>> -<</if>> -<<if def $boughtFoxes>> - <<unset $boughtFoxes>> -<</if>> -<<if def $boughtJackals>> - <<unset $boughtJackals>> -<</if>> -<<if def $boughtDingos>> - <<unset $boughtDingos>> -<</if>> -<<if def $boughtCougars>> - <<unset $boughtCougars>> -<</if>> -<<if def $boughtJaguars>> - <<unset $boughtJaguars>> -<</if>> -<<if def $boughtPumas>> - <<unset $boughtPumas>> -<</if>> -<<if def $boughtLynx>> - <<unset $boughtLynx>> -<</if>> -<<if def $boughtLeopards>> - <<unset $boughtLeopards>> -<</if>> -<<if def $boughtLions>> - <<unset $boughtLions>> -<</if>> -<<if def $boughtTigers>> - <<unset $boughtTigers>> -<</if>> - -<<if ndef $legendaryWombID>> - <<set $legendaryWombID = 0>> -<</if>> -<<if ndef $FSCreditCount>> - <<set $FSCreditCount = 5>> -<</if>> -<<if def $FSCreditCountString>> - <<unset $FSCreditCountString>> -<</if>> -<<if ndef $FSGotRepCredits>> - <<if $FSGotRepCreditSix == 1>> - <<set $FSGotRepCredits = 7>> - <<elseif $FSGotRepCreditFive == 1>> - <<set $FSGotRepCredits = 6>> - <<elseif $FSGotRepCreditFour == 1>> - <<set $FSGotRepCredits = 5>> - <<elseif $FSGotRepCreditThree == 1>> - <<set $FSGotRepCredits = 4>> - <<elseif $FSGotRepCreditTwo == 1>> - <<set $FSGotRepCredits = 3>> - <<elseif $FSGotRepCreditOne == 1>> - <<set $FSGotRepCredits = 2>> - <<elseif $FSAnnounced == 1>> - <<set $FSGotRepCredits = 1>> - <<else>> - <<set $FSGotRepCredits = 0>> - <</if>> -<</if>> -<<if def $FSGotRepCreditSix>> - <<unset $FSGotRepCreditSix>> -<</if>> -<<if def $FSGotRepCreditFive>> - <<unset $FSGotRepCreditFive>> -<</if>> -<<if def $FSGotRepCreditFour>> - <<unset $FSGotRepCreditFour>> -<</if>> -<<if def $FSGotRepCreditThree>> - <<unset $FSGotRepCreditThree>> -<</if>> -<<if def $FSGotRepCreditTwo>> - <<unset $FSGotRepCreditTwo>> -<</if>> -<<if def $FSGotRepCreditOne>> - <<unset $FSGotRepCreditOne>> -<</if>> -<<if ndef $makeDicks>> - <<set $makeDicks = 0>> -<</if>> -<<if ndef $showEconomicDetails>> - <<set $showEconomicDetails = 0>> -<</if>> -<<if def $assignFilter>> - <<unset $assignFilter>> -<</if>> -<<if ndef $personalAttention>> - <<set $personalAttention = "sex">> -<</if>> -<<if def $trainingRegimen>> - <<if typeof $personalAttention == "number">> - <<set $personalAttention = [{ID: $personalAttention, trainingRegimen: $trainingRegimen}]>> - <</if>> - <<unset $trainingRegimen, $personalAttentionChanged>> -<</if>> - -<<if ndef $huskSlaveOrdered>> - <<set $huskSlaveOrdered = 0>> -<</if>> -<<if ndef $huskSlave>> - <<set $huskSlave = new App.Entity.CustomSlaveOrder()>> -<</if>> -<<run App.Update.CustomSlaveOrder($huskSlave)>> -<<run App.Update.CustomSlaveOrder($customSlave)>> - -<<if ndef $pedo_mode>> - <<set $pedo_mode = 0>> -<</if>> -<<if ndef $one_time_age_overrides_pedo_mode>> - <<set $one_time_age_overrides_pedo_mode = 0>> -<</if>> -<<if ndef $minimumSlaveAge>> - <<set $minimumSlaveAge = 16>> -<</if>> -<<if ndef $fertilityAge>> - <<set $fertilityAge = 13>> -<</if>> -<<if ndef $potencyAge>> - <<set $potencyAge = 13>> -<</if>> -<<if ndef $activeSlaveOneTimeMinAge>> - <<set $activeSlaveOneTimeMinAge = 0>> -<</if>> -<<if ndef $activeSlaveOneTimeMaxAge>> - <<set $activeSlaveOneTimeMaxAge = 999>> -<</if>> -<<if ndef $oneTimeDisableDisability>> - <<set $oneTimeDisableDisability = 0>> -<</if>> -<<if ndef $AgePenalty>> - <<set $AgePenalty = 1>> -<</if>> -<<if ndef $precociousPuberty>> - <<set $precociousPuberty = 0>> -<</if>> -<<if ndef $targetAge>> - <<set $targetAge = $minimumSlaveAge>> -<</if>> -<<if ndef $disableLisping>> - <<set $disableLisping = 0>> -<</if>> -<<if ndef $cheatModeM>> - <<set $cheatModeM = 1>> -<</if>> -<<if ndef $experimental>> - <<set $experimental = { - nursery: 0, - food: 0, - animalOvaries: 0, - dinnerParty: 0 - }>> -<</if>> -<<if ndef $MercenariesMessageSent>> - <<set $MercenariesMessageSent = 0>> -<</if>> -<<if ndef $SpecialForcesMessageSent>> - <<set $SpecialForcesMessageSent = 0>> -<</if>> -<<if ndef $BodyguardHasSucessfullyRecivedSignal>> - <<set $BodyguardHasSucessfullyRecivedSignal = 0>> -<</if>> -<<if ndef $finalChoice>> - <<set $finalChoice = "none">> -<</if>> -<<if ndef $eliteTotal>> - <<set $eliteTotal = 12>> -<</if>> -<<if ndef $eliteDead>> - <<set $eliteDead = 0>> -<</if>> -<<if ndef $eliteVegetable>> - <<set $eliteVegetable = 0>> -<</if>> -<<if ndef $eliteFate>> - <<set $eliteFate = 0>> -<</if>> -<<if ndef $eliteFail>> - <<set $eliteFail = 0>> -<</if>> -<<if ndef $eliteFailTimer>> - <<set $eliteFailTimer = 0>> -<</if>> -<<if ndef $failedElite>> - <<set $failedElite = 0>> -<</if>> -<<if ndef $eugenicsFullControl>> - <<set $eugenicsFullControl = 0>> -<</if>> -<<if ndef $merchantFSWares>> - <<set $merchantFSWares = ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"]>> -<<elseif $merchantFSWares.length == 0>> - <<set $merchantFSWares.push("AssetExpansionistResearch")>> - <<set $merchantFSWares.push("GenderRadicalistResearch")>> - <<set $merchantFSWares.push("HedonisticDecadenceResearch")>> - <<set $merchantFSWares.push("SlaveProfessionalismResearch")>> - <<set $merchantFSWares.push("SlimnessEnthusiastResearch")>> - <<set $merchantFSWares.push("TransformationFetishistResearch")>> - <<set $merchantFSWares.push("YouthPreferentialistResearch")>> -<</if>> -<<if ndef $merchantIllegalWares>> - <<set $merchantIllegalWares = ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh"]>> -<<elseif $merchantIllegalWares.length == 0>> - <<set $merchantIllegalWares.push("childhoodFertilityInducedNCS")>> - <<set $merchantIllegalWares.push("UterineRestraintMesh")>> - <<set $merchantIllegalWares.push("RapidCellGrowthFormula")>> - <<set $merchantIllegalWares.push("PGHack")>> - <<set $merchantIllegalWares.push("sympatheticOvaries")>> - <<set $merchantIllegalWares.push("asexualReproduction")>> -<</if>> -<<if ndef $arcologies[0].childhoodFertilityInducedNCSResearch>> - <<set $arcologies[0].childhoodFertilityInducedNCSResearch = 0>> -<</if>> -<<if $arcologies[0].childFertilityInducedNCSResearch>> - <<unset $arcologies[0].childFertilityInducedNCSResearch>> -<</if>> -<<if ndef $UterineRestraintMesh>> - <<set $UterineRestraintMesh = 0>> -<</if>> -<<if ndef $RapidCellGrowthFormula>> - <<set $RapidCellGrowthFormula = 0>> -<</if>> -<<if ndef $PGHack>> - <<set $PGHack = 0>> -<</if>> -<<if ndef $adamPrinciple>> - <<set $adamPrinciple = 0>> -<</if>> -<<if ndef $showInches || $showInches === 0>> - <<set $showInches = 1>> -<</if>> -<<if ndef $showNumbers>> - <<set $showNumbers = 2>> -<</if>> -<<if ndef $showNumbersMax>> - <<set $showNumbersMax = 20>> -<</if>> -<<if def $showWardrobe>> - <<unset $showWardrobe>> -<</if>> -<<if def $showMainClothing>> - <<unset $showMainClothing>> -<</if>> -<<if ndef $surnameOrder>> - <<set $surnameOrder = 0>> -<</if>> -<<if ndef $prisonCircuit>> - <<set $prisonCircuit = ["low tier criminals", "gangs and smugglers", "white collar", "military prison"]>> - <<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>> -<</if>> -<<if $captureUpgradeRace === "">> - <<set $generalUpgradeBreaking = "unselected">> - <<set $generalUpgradeWeight = "unselected">> - <<set $generalUpgradeMuscle = "unselected">> - <<set $entrapmentUpgradeDevotionOne = "unselected">> - <<set $entrapmentUpgradeDevotionTwo = "unselected">> - <<set $entrapmentUpgradeIntelligence = "unselected">> - <<set $captureUpgradeGender = "unselected">> - <<set $surgicalUpgradeGenitalia = "unselected">> - <<set $captureUpgradeAge = "unselected">> - <<set $captureUpgradeRace = "unselected">> - <<set $trainingUpgradeAccent = "unselected">> - <<set $trainingUpgradeEducation = "unselected">> - <<set $trainingUpgradeSexEd = "unselected">> - <<set $surgicalUpgradeCosmetics = "unselected">> - <<set $surgicalUpgradeImplants = "unselected">> - <<set $drugUpgradeHormones = "unselected">> - <<set $drugUpgradeInjectionOne = "unselected">> - <<set $drugUpgradeInjectionTwo = "unselected">> -<</if>> -<<if ndef $traitorType>> - <<set $traitorType = "standard">> -<</if>> - -<<= App.SF.BC()>> - -<<if ndef $useSlaveSummaryTabs>> - <<set $useSlaveSummaryTabs = 0>> -<</if>> -<<if ndef $useSlaveSummaryOverviewTab>> - <<set $useSlaveSummaryOverviewTab = 0>> -<</if>> -<<if ndef $useSlaveListInPageJSNavigation>> - <<set $useSlaveListInPageJSNavigation = 0>> -<</if>> - -<<if ndef $arcologies[0].FSAztecRevivalist>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSAztecRevivalist = "unset", $arcologies[_bci].FSAztecRevivalistDecoration = 0>> - <</for>> - <<set $arcologies[0].FSAztecRevivalistLaw = 0, $arcologies[0].FSAztecRevivalistSMR = 0>> -<</if>> -<<if ndef $arcologies[0].FSHedonisticDecadence>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSHedonisticDecadence = "unset", $arcologies[_bci].FSHedonisticDecadenceDecoration = 0>> - <</for>> - <<set $arcologies[0].FSHedonisticDecadenceLaw = 0, $arcologies[0].FSHedonisticDecadenceLaw2 = 0, $arcologies[0].FSHedonisticDecadenceSMR = 0, $arcologies[0].FSHedonisticDecadenceResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSHedonisticDecadenceDietResearch>> - <<set $arcologies[0].FSHedonisticDecadenceDietResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSPhysicalIdealistStrongFat>> - <<set $arcologies[0].FSPhysicalIdealistStrongFat = 0>> -<</if>> -<<if ndef $arcologies[0].FSHedonisticDecadenceStrongFat>> - <<set $arcologies[0].FSHedonisticDecadenceStrongFat = 0>> -<</if>> -<<if ndef $arcologies[0].FSIntellectualDependency>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSIntellectualDependency = "unset", $arcologies[_bci].FSIntellectualDependencyDecoration = 0>> - <</for>> - <<set $arcologies[0].FSIntellectualDependencyLaw = 0, $arcologies[0].FSIntellectualDependencyLawBeauty = 0, $arcologies[0].FSIntellectualDependencySMR = 0, $arcologies[0].FSIntellectualDependencyResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSSlaveProfessionalism>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSSlaveProfessionalism = "unset", $arcologies[_bci].FSSlaveProfessionalismDecoration = 0>> - <</for>> - <<set $arcologies[0].FSSlaveProfessionalismLaw = 0, $arcologies[0].FSSlaveProfessionalismSMR = 0, $arcologies[0].FSSlaveProfessionalismResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSPetiteAdmiration>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSPetiteAdmiration = "unset", $arcologies[_bci].FSPetiteAdmirationDecoration = 0>> - <</for>> - <<set $arcologies[0].FSPetiteAdmirationLaw = 0, $arcologies[0].FSPetiteAdmirationLaw2 = 0, $arcologies[0].FSPetiteAdmirationSMR = 0, $arcologies[0].FSPetiteAdmirationResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSStatuesqueGlorification>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSStatuesqueGlorification = "unset", $arcologies[_bci].FSStatuesqueGlorificationDecoration = 0>> - <</for>> - <<set $arcologies[0].FSStatuesqueGlorificationLaw = 0, $arcologies[0].FSStatuesqueGlorificationLaw2 = 0, $arcologies[0].FSStatuesqueGlorificationSMR = 0, $arcologies[0].FSStatuesqueGlorificationResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSCummunism>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSCummunism = "unset", $arcologies[_bci].FSCummunismDecoration = 0>> - <</for>> - <<set $arcologies[0].FSCummunismResearch = 0>> -<</if>> -<<if ndef $arcologies[0].FSIncestFetishist>> - <<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<set $arcologies[_bci].FSIncestFetishist = "unset", $arcologies[_bci].FSIncestFetishistDecoration = 0>> - <</for>> - <<set $arcologies[0].FSIncestFetishistResearch = 0>> -<</if>> -<<for _bci = 0; _bci < $arcologies.length; _bci++>> - <<if $arcologies[_bci].FSHedonisticDecadence == 0>> - <<set $arcologies[_bci].FSHedonisticDecadence = "unset", $arcologies[_bci].FSHedonisticDecadenceDecoration = 0>> - <</if>> -<</for>> -<<if ndef $arcologies[0].FSPhysicalIdealistLaw>> - <<set $arcologies[0].FSPhysicalIdealistLaw = 0>> -<</if>> - -<<if ndef $FSPromenade>> - <<set $FSPromenade = {Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0}>> -<</if>> - -<<if ndef $arcologyUpgrade>> - <<set $arcologyUpgrade = {drones: 0, hydro: 0, apron: 0, grid: 0, spire: 0}>> - <<set $arcologyUpgrade.drones = ($AProsperityCap > 60) ? 1 : 0>> - <<set $arcologyUpgrade.hydro = ($AProsperityCap > 80) ? 1 : 0>> - <<set $arcologyUpgrade.apron = ($AProsperityCap > 100) ? 1 : 0>> - <<set $arcologyUpgrade.grid = ($AProsperityCap > 120) ? 1 : 0>> - <<set $arcologyUpgrade.spire = ($AProsperityCap > 240) ? 1 : 0>> -<</if>> - -<<if def $AMenials>> - <<set $ASlaves += Math.trunc($AMenials / 2)>> - <<unset $AMenials>> -<</if>> - -<<if def $helots>> - <<set $menials = $helots>> - <<unset $helots>> -<</if>> -<<if def $TradeShowHelots>> - <<set $TradeShowMenials = $TradeShowHelots>> - <<unset $TradeShowHelots>> -<</if>> - -<<if ndef $seeBuilding>> - <<set $seeBuilding = $seeArcology>> -<</if>> - -<<if def $year>> - <<unset $year>> -<</if>> -<<if def $day>> - <<unset $day>> -<</if>> -<<if def $month>> - <<unset $month>> -<</if>> - -<<if ndef $arcologies>> - <<set $arcologies = []>> - <<set $arcologies[0] = {name: "Arcology X-", direction: 0, government: 1, honeymoon: 0, prosperity: 50, FSSupremacist: "unset", FSSupremacistRace: 0, FSSubjugationist: "unset", FSSubjugationistRace: 0, FSGenderRadicalist: "unset", FSGenderFundamentalist: "unset", FSPaternalist: "unset", FSDegradationist: "unset", FSBodyPurist: "unset", FSTransformationFetishist: "unset", FSYouthPreferentialist: "unset", FSMaturityPreferentialist: "unset", FSSlimnessEnthusiast: "unset", FSAssetExpansionist: "unset", FSPastoralist: "unset", FSPhysicalIdealist: "unset", FSChattelReligionist: "unset", FSRomanRevivalist: "unset", FSEgyptianRevivalist: "unset", FSEdoRevivalist: "unset", FSArabianRevivalist: "unset", FSChineseRevivalist: "unset", FSNull: "unset", FSRepopulationFocus: "unset", FSRestart: "unset", FSHedonisticDecadence: "unset", FSIntellectualDependency: "unset", FSSlaveProfessionalism: "unset", FSPetiteAdmiration: "unset", FSStatuesqueGlorification: "unset", embargo: 1, embargoTarget: -1, influenceTarget: -1, influenceBonus: 0, rival: 0}>> -<</if>> - -<<if def $arcologyName>> - <<set $arcologies[0].name = $arcologyName>> - <<unset $arcologyName>> -<<elseif ndef $arcologies[0].name>> - <<set $arcologies[0].name = "Arcology X-4">> -<</if>> - -<<if ndef $arcologies[0].ownership>> - <<set $arcologies[0].ownership = 50>> -<</if>> -<<if ndef $arcologies[0].minority>> - <<set $arcologies[0].minority = 20>> -<</if>> -<<if ndef $arcologies[0].embargo>> - <<set $arcologies[0].embargo = 1>> -<</if>> -<<if ndef $arcologies[0].embargoTarget>> - <<set $arcologies[0].embargoTarget = -1>> -<</if>> -<<if ndef $arcologies[0].hackingEconomic>> - <<set $arcologies[0].hackingEconomic = 1>> -<</if>> -<<if ndef $arcologies[0].hackingEconomicTarget>> - <<set $arcologies[0].hackingEconomicTarget = -1>> -<</if>> -<<if ndef $arcologies[0].hackingReputationTarget>> - <<set $arcologies[0].hackingReputationTarget = -1>> -<</if>> -<<if ndef $arcologies[0].hackingReputation>> - <<set $arcologies[0].hackingReputation = 1>> -<</if>> -<<if ndef $arcologies[0].influenceTarget>> - <<set $arcologies[0].influenceTarget = -1>> -<</if>> -<<if ndef $arcologies[0].influenceBonus>> - <<set $arcologies[0].influenceBonus = -1>> -<</if>> -<<if ndef $arcologies[0].CyberEconomic>> - <<set $arcologies[0].CyberEconomic = 1>> -<</if>> -<<if ndef $arcologies[0].CyberEconomicTarget>> - <<set $arcologies[0].CyberEconomicTarget = -1>> -<</if>> -<<if ndef $arcologies[0].CyberReputation>> - <<set $arcologies[0].CyberReputation = 1>> -<</if>> -<<if ndef $arcologies[0].CyberReputationTarget>> - <<set $arcologies[0].CyberReputationTarget = -1>> -<</if>> -<<if ndef $arcologies[0].rival>> - <<set $arcologies[0].rival = 0>> -<</if>> -<<if ndef $arcologies[0].FSNull>> - <<set $arcologies[0].FSNull = "unset">> -<</if>> -<<if ndef $arcologies[0].FSRepopulationFocus>> - <<set $arcologies[0].FSRepopulationFocus = "unset">> -<</if>> -<<if ndef $arcologies[0].FSRepopulationFocusPregPolicy>> - <<set $arcologies[0].FSRepopulationFocusPregPolicy = 0>> -<</if>> -<<if ndef $arcologies[0].FSRepopulationFocusMilfPolicy>> - <<set $arcologies[0].FSRepopulationFocusMilfPolicy = 0>> -<</if>> -<<if ndef $arcologies[0].FSRepopulationFocusInterest>> - <<set $arcologies[0].FSRepopulationFocusInterest = 0>> -<</if>> -<<if ndef $arcologies[0].FSRestart>> - <<set $arcologies[0].FSRestart = "unset">> -<</if>> -<<if ndef $arcologies[0].FSEugenicsChastityPolicy>> - <<set $arcologies[0].FSEugenicsChastityPolicy = 0>> -<</if>> -<<if ndef $arcologies[0].FSEugenicsSterilizationPolicy>> - <<set $arcologies[0].FSEugenicsSterilizationPolicy = 0>> -<</if>> -<<if ndef $arcologies[0].FSEugenicsInterest>> - <<set $arcologies[0].FSEugenicsInterest = 0>> -<</if>> -<<if ndef $arcologies[0].PCminority>> - <<set $arcologies[0].PCminority = 0>> -<</if>> -<<if ndef $arcologies[0].demandFactor>> - <<set $arcologies[0].demandFactor = 250>> -<</if>> -<<if ndef $arcologies[0].leaderID>> - <<set $arcologies[0].leaderID = 0>> -<</if>> - -<<if (def $FSSupremacist) && $FSSupremacist != "unset">> - <<set $arcologies[0].FSSupremacist = $FSSupremacist>> - <<set $arcologies[0].FSSupremacistRace = $FSSupremacistRace>> - <<unset $FSSupremacist>> - <<unset $FSSupremacistRace>> -<<elseif ndef $arcologies[0].FSSupremacist>> - <<set $arcologies[0].FSSupremacist = "unset">> -<</if>> -<<if (def $FSSupremacistLawME) && $FSSupremacistLawME != 0>> - <<set $arcologies[0].FSSupremacistLawME = $FSSupremacistLawME>> - <<unset $FSSupremacistLawME>> -<<elseif ndef $arcologies[0].FSSupremacistLawME>> - <<set $arcologies[0].FSSupremacistLawME = 0>> -<</if>> -<<if $arcologies[0].FSSupremacistRace == "middle">> - <<set $arcologies[0].FSSupremacistRace = "middle eastern">> -<<elseif $arcologies[0].FSSupremacistRace == "pacific">> - <<set $arcologies[0].FSSupremacistRace = "pacific islander">> -<<elseif $arcologies[0].FSSupremacistRace == "southern">> - <<set $arcologies[0].FSSupremacistRace = "southern european">> -<<elseif $arcologies[0].FSSupremacistRace == "mixed">> - <<set $arcologies[0].FSSupremacistRace = "mixed race">> -<</if>> - -<<if (def $FSSubjugationist) && $FSSubjugationist != "unset">> - <<set $arcologies[0].FSSubjugationist = $FSSubjugationist>> - <<set $arcologies[0].FSSubjugationistRace = $FSSubjugationistRace>> - <<unset $FSSubjugationist>> - <<unset $FSSubjugationistRace>> -<<elseif ndef $arcologies[0].FSSubjugationist>> - <<set $arcologies[0].FSSubjugationist = "unset">> -<</if>> -<<if (def $FSSubjugationistLawME) && $FSSubjugationistLawME != 0>> - <<set $arcologies[0].FSSubjugationistLawME = $FSSubjugationistLawME>> - <<unset $FSSubjugationistLawME>> -<<elseif ndef $arcologies[0].FSSubjugationistLawME>> - <<set $arcologies[0].FSSubjugationistLawME = 0>> -<</if>> -<<if $arcologies[0].FSSubjugationistRace == "middle">> - <<set $arcologies[0].FSSubjugationistRace = "middle eastern">> -<<elseif $arcologies[0].FSSubjugationistRace == "pacific">> - <<set $arcologies[0].FSSubjugationistRace = "pacific islander">> -<<elseif $arcologies[0].FSSubjugationistRace == "southern">> - <<set $arcologies[0].FSSubjugationistRace = "southern european">> -<<elseif $arcologies[0].FSSubjugationistRace == "mixed">> - <<set $arcologies[0].FSSubjugationistRace = "mixed race">> -<</if>> - -<<if (def $FSDegradationist) && $FSDegradationist != "unset">> - <<set $arcologies[0].FSDegradationist = $FSDegradationist>> - <<unset $FSDegradationist>> -<<elseif ndef $arcologies[0].FSDegradationist>> - <<set $arcologies[0].FSDegradationist = "unset">> -<</if>> - -<<if (def $FSDegradationistLaw) && $FSDegradationistLaw != 0>> - <<set $arcologies[0].FSDegradationistLaw = $FSDegradationistLaw>> - <<unset $FSDegradationistLaw>> -<<elseif ndef $arcologies[0].FSDegradationistLaw>> - <<set $arcologies[0].FSDegradationistLaw = 0>> -<</if>> - -<<if (def $FSPaternalist) && $FSPaternalist != "unset">> - <<set $arcologies[0].FSPaternalist = $FSPaternalist>> - <<unset $FSPaternalist>> -<<elseif ndef $arcologies[0].FSPaternalist>> - <<set $arcologies[0].FSPaternalist = "unset">> -<</if>> - -<<if (def $FSPaternalistLaw) && $FSPaternalistLaw != 0>> - <<set $arcologies[0].FSPaternalistLaw = $FSPaternalistLaw>> - <<unset $FSPaternalistLaw>> -<<elseif ndef $arcologies[0].FSPaternalistLaw>> - <<set $arcologies[0].FSPaternalistLaw = 0>> -<</if>> - -<<if (def $FSGenderFundamentalist) && $FSGenderFundamentalist != "unset">> - <<set $arcologies[0].FSGenderFundamentalist = $FSGenderFundamentalist>> - <<unset $FSGenderFundamentalist>> -<<elseif ndef $arcologies[0].FSGenderFundamentalist>> - <<set $arcologies[0].FSGenderFundamentalist = "unset">> -<</if>> - -<<if (def $FSGenderFundamentalistSMR) && $FSGenderFundamentalistSMR != 0>> - <<set $arcologies[0].FSGenderFundamentalistSMR = $FSGenderFundamentalistSMR>> - <<unset $FSGenderFundamentalistSMR>> -<<elseif ndef $arcologies[0].FSGenderFundamentalistSMR>> - <<set $arcologies[0].FSGenderFundamentalistSMR = 0>> -<</if>> -<<if def $arcologies[0].FSGenderFundamentalistLaw>> - <<run delete $arcologies[0].FSGenderFundamentalistLaw>> -<</if>> - -<<if (def $FSGenderRadicalist) && $FSGenderRadicalist != "unset">> - <<set $arcologies[0].FSGenderRadicalist = $FSGenderRadicalist>> - <<unset $FSGenderRadicalist>> -<<elseif ndef $arcologies[0].FSGenderRadicalist>> - <<set $arcologies[0].FSGenderRadicalist = "unset">> -<</if>> -<<if def $FSGenderRadicalistLaw>> - <<unset $FSGenderRadicalistLaw>> -<</if>> -<<if ndef $arcologies[0].FSGenderRadicalistLawBeauty>> - <<set $arcologies[0].FSGenderRadicalistLawBeauty = 0>> -<</if>> -<<if ndef $arcologies[0].FSGenderRadicalistLawFuta>> - <<set $arcologies[0].FSGenderRadicalistLawFuta = 0>> -<</if>> -<<if def $arcologies[0].FSGenderRadicalistLawDicks>> - <<run delete $arcologies[0].FSGenderRadicalistLawDicks>> -<</if>> -<<if def $arcologies[0].FSGenderRadicalistSMR>> - <<run delete $arcologies[0].FSGenderRadicalistSMR>> -<</if>> - -<<if (def $FSBodyPurist) && $FSBodyPurist != "unset">> - <<set $arcologies[0].FSBodyPurist = $FSBodyPurist>> - <<unset $FSBodyPurist>> -<<elseif ndef $arcologies[0].FSBodyPurist>> - <<set $arcologies[0].FSBodyPurist = "unset">> -<</if>> - -<<if (def $FSBodyPuristLaw) && $FSBodyPuristLaw != 0>> - <<set $arcologies[0].FSBodyPuristLaw = $FSBodyPuristLaw>> - <<unset $FSBodyPuristLaw>> -<<elseif ndef $arcologies[0].FSBodyPuristLaw>> - <<set $arcologies[0].FSBodyPuristLaw = 0>> -<</if>> - -<<if (def $FSPhysicalIdealist) && $FSPhysicalIdealist != "unset">> - <<set $arcologies[0].FSPhysicalIdealist = $FSPhysicalIdealist>> - <<unset $FSPhysicalIdealist>> -<<elseif ndef $arcologies[0].FSPhysicalIdealist>> - <<set $arcologies[0].FSPhysicalIdealist = "unset">> -<</if>> - -<<if (def $FSPhysicalIdealistSMR) && $FSPhysicalIdealistSMR != 0>> - <<set $arcologies[0].FSPhysicalIdealistSMR = $FSPhysicalIdealistSMR>> - <<unset $FSPhysicalIdealistSMR>> -<<elseif ndef $arcologies[0].FSPhysicalIdealistSMR>> - <<set $arcologies[0].FSPhysicalIdealistSMR = 0>> -<</if>> - -<<if (def $FSTransformationFetishist) && $FSTransformationFetishist != "unset">> - <<set $arcologies[0].FSTransformationFetishist = $FSTransformationFetishist>> - <<unset $FSTransformationFetishist>> -<<elseif ndef $arcologies[0].FSTransformationFetishist>> - <<set $arcologies[0].FSTransformationFetishist = "unset">> -<</if>> - -<<if (def $FSTransformationFetishistSMR) && $FSTransformationFetishistSMR != 0>> - <<set $arcologies[0].FSTransformationFetishistSMR = $FSTransformationFetishistSMR>> - <<unset $FSTransformationFetishistSMR>> -<<elseif ndef $arcologies[0].FSTransformationFetishistSMR>> - <<set $arcologies[0].FSTransformationFetishistSMR = 0>> -<</if>> -<<if def $arcologies[0].FSTransformationFetishistLaw>> - <<run delete $arcologies[0].FSTransformationFetishistLaw>> -<</if>> - -<<if (def $FSAssetExpansionist) && $FSAssetExpansionist != "unset">> - <<set $arcologies[0].FSAssetExpansionist = $FSAssetExpansionist>> - <<unset $FSAssetExpansionist>> -<<elseif ndef $arcologies[0].FSAssetExpansionist>> - <<set $arcologies[0].FSAssetExpansionist = "unset">> -<</if>> - -<<if (def $FSAssetExpansionistSMR) && $FSAssetExpansionistSMR != 0>> - <<set $arcologies[0].FSAssetExpansionistSMR = $FSAssetExpansionistSMR>> - <<unset $FSAssetExpansionistSMR>> -<<elseif ndef $arcologies[0].FSAssetExpansionistSMR>> - <<set $arcologies[0].FSAssetExpansionistSMR = 0>> -<</if>> -<<if def $arcologies[0].FSAssetExpansionistLaw>> - <<run delete $arcologies[0].FSAssetExpansionistLaw>> -<</if>> - -<<if (def $FSSlimnessEnthusiast) && $FSSlimnessEnthusiast != "unset">> - <<set $arcologies[0].FSSlimnessEnthusiast = $FSSlimnessEnthusiast>> - <<unset $FSSlimnessEnthusiast>> -<<elseif ndef $arcologies[0].FSSlimnessEnthusiast>> - <<set $arcologies[0].FSSlimnessEnthusiast = "unset">> -<</if>> - -<<if (def $FSSlimnessEnthusiastSMR) && $FSSlimnessEnthusiastSMR != 0>> - <<set $arcologies[0].FSSlimnessEnthusiastSMR = $FSSlimnessEnthusiastSMR>> - <<unset $FSSlimnessEnthusiastSMR>> -<<elseif ndef $arcologies[0].FSSlimnessEnthusiastSMR>> - <<set $arcologies[0].FSSlimnessEnthusiastSMR = 0>> -<</if>> - -<<if (def $FSMaturityPreferentialist) && $FSMaturityPreferentialist != "unset">> - <<set $arcologies[0].FSMaturityPreferentialist = $FSMaturityPreferentialist>> - <<unset $FSMaturityPreferentialist>> -<<elseif ndef $arcologies[0].FSMaturityPreferentialist>> - <<set $arcologies[0].FSMaturityPreferentialist = "unset">> -<</if>> - -<<if (def $FSMaturityPreferentialistLaw) && $FSMaturityPreferentialistLaw != 0>> - <<set $arcologies[0].FSMaturityPreferentialistLaw = $FSMaturityPreferentialistLaw>> - <<unset $FSMaturityPreferentialistLaw>> -<<elseif ndef $arcologies[0].FSMaturityPreferentialistLaw>> - <<set $arcologies[0].FSMaturityPreferentialistLaw = 0>> -<</if>> - -<<if (def $FSYouthPreferentialist) && $FSYouthPreferentialist != "unset">> - <<set $arcologies[0].FSYouthPreferentialist = $FSYouthPreferentialist>> - <<unset $FSYouthPreferentialist>> -<<elseif ndef $arcologies[0].FSYouthPreferentialist>> - <<set $arcologies[0].FSYouthPreferentialist = "unset">> -<</if>> - -<<if (def $FSYouthPreferentialistLaw) && $FSYouthPreferentialistLaw != 0>> - <<set $arcologies[0].FSYouthPreferentialistLaw = $FSYouthPreferentialistLaw>> - <<unset $FSYouthPreferentialistLaw>> -<<elseif ndef $arcologies[0].FSYouthPreferentialistLaw>> - <<set $arcologies[0].FSYouthPreferentialistLaw = 0>> -<</if>> - -<<if (def $FSPastoralist) && $FSPastoralist != "unset">> - <<set $arcologies[0].FSPastoralist = $FSPastoralist>> - <<unset $FSPastoralist>> -<<elseif ndef $arcologies[0].FSPastoralist>> - <<set $arcologies[0].FSPastoralist = "unset">> -<</if>> - -<<if (def $FSPastoralistLaw) && $FSPastoralistLaw != 0>> - <<set $arcologies[0].FSPastoralistLaw = $FSPastoralistLaw>> - <<unset $FSPastoralistLaw>> -<<elseif ndef $arcologies[0].FSPastoralistLaw>> - <<set $arcologies[0].FSPastoralistLaw = 0>> -<</if>> - -<<if (def $FSChattelReligionist) && $FSChattelReligionist != "unset">> - <<set $arcologies[0].FSChattelReligionist = $FSChattelReligionist>> - <<unset $FSChattelReligionist>> -<<elseif ndef $arcologies[0].FSChattelReligionist>> - <<set $arcologies[0].FSChattelReligionist = "unset">> -<</if>> - -<<if (def $FSChattelReligionistLaw) && $FSChattelReligionistLaw != 0>> - <<set $arcologies[0].FSChattelReligionistLaw = $FSChattelReligionistLaw>> - <<unset $FSChattelReligionistLaw>> -<<elseif ndef $arcologies[0].FSChattelReligionistLaw>> - <<set $arcologies[0].FSChattelReligionistLaw = 0>> -<</if>> - -<<if (def $FSRomanRevivalist) && $FSRomanRevivalist != "unset">> - <<set $arcologies[0].FSRomanRevivalist = $FSRomanRevivalist>> - <<unset $FSRomanRevivalist>> -<<elseif ndef $arcologies[0].FSRomanRevivalist>> - <<set $arcologies[0].FSRomanRevivalist = "unset">> -<</if>> - -<<if (def $FSRomanRevivalistLaw) && $FSRomanRevivalistLaw != 0>> - <<set $arcologies[0].FSRomanRevivalistLaw = $FSRomanRevivalistLaw>> - <<unset $FSRomanRevivalistLaw>> -<<elseif ndef $arcologies[0].FSRomanRevivalistLaw>> - <<set $arcologies[0].FSRomanRevivalistLaw = 0>> -<</if>> - -<<if (def $FSEgyptianRevivalist) && $FSEgyptianRevivalist != "unset">> - <<set $arcologies[0].FSEgyptianRevivalist = $FSEgyptianRevivalist>> - <<unset $FSEgyptianRevivalist>> -<<elseif ndef $arcologies[0].FSEgyptianRevivalist>> - <<set $arcologies[0].FSEgyptianRevivalist = "unset">> -<</if>> - -<<if (def $FSEgyptianRevivalistLaw) && $FSEgyptianRevivalistLaw != 0>> - <<set $arcologies[0].FSEgyptianRevivalistLaw = $FSEgyptianRevivalistLaw>> - <<unset $FSEgyptianRevivalistLaw>> -<<elseif ndef $arcologies[0].FSEgyptianRevivalistLaw>> - <<set $arcologies[0].FSEgyptianRevivalistLaw = 0>> -<</if>> - -<<if ndef $arcologies[0].FSEgyptianRevivalistIncestPolicy>> - <<set $arcologies[0].FSEgyptianRevivalistIncestPolicy = 0>> -<</if>> -<<if ndef $arcologies[0].FSEgyptianRevivalistInterest>> - <<set $arcologies[0].FSEgyptianRevivalistInterest = 0>> -<</if>> - -<<if (def $FSEdoRevivalist) && $FSEdoRevivalist != "unset">> - <<set $arcologies[0].FSEdoRevivalist = $FSEdoRevivalist>> - <<unset $FSEdoRevivalist>> -<<elseif ndef $arcologies[0].FSEdoRevivalist>> - <<set $arcologies[0].FSEdoRevivalist = "unset">> -<</if>> - -<<if (def $FSEdoRevivalistLaw) && $FSEdoRevivalistLaw != 0>> - <<set $arcologies[0].FSEdoRevivalistLaw = $FSEdoRevivalistLaw>> - <<unset $FSEdoRevivalistLaw>> -<<elseif ndef $arcologies[0].FSEdoRevivalistLaw>> - <<set $arcologies[0].FSEdoRevivalistLaw = 0>> -<</if>> - -<<if (def $FSArabianRevivalist) && $FSArabianRevivalist != "unset">> - <<set $arcologies[0].FSArabianRevivalist = $FSArabianRevivalist>> - <<unset $FSArabianRevivalist>> -<<elseif ndef $arcologies[0].FSArabianRevivalist>> - <<set $arcologies[0].FSArabianRevivalist = "unset">> -<</if>> - -<<if (def $FSArabianRevivalistLaw) && $FSArabianRevivalistLaw != 0>> - <<set $arcologies[0].FSArabianRevivalistLaw = $FSArabianRevivalistLaw>> - <<unset $FSArabianRevivalistLaw>> -<<elseif ndef $arcologies[0].FSArabianRevivalistLaw>> - <<set $arcologies[0].FSArabianRevivalistLaw = 0>> -<</if>> - -<<if (def $FSChineseRevivalist) && $FSChineseRevivalist != "unset">> - <<set $arcologies[0].FSChineseRevivalist = $FSChineseRevivalist>> - <<unset $FSChineseRevivalist>> -<<elseif ndef $arcologies[0].FSChineseRevivalist>> - <<set $arcologies[0].FSChineseRevivalist = "unset">> -<</if>> - -<<if (def $FSChineseRevivalistLaw) && $FSChineseRevivalistLaw != 0>> - <<set $arcologies[0].FSChineseRevivalistLaw = $FSChineseRevivalistLaw>> - <<unset $FSChineseRevivalistLaw>> -<<elseif ndef $arcologies[0].FSChineseRevivalistLaw>> - <<set $arcologies[0].FSChineseRevivalistLaw = 0>> -<</if>> - -<<if def $arcologies[0].FSNullLaw>> - <<run delete $arcologies[0].FSNullLaw>> -<</if>> - -<<silently>> -<<include "MOD_Edit FS Cheat Datatype Cleanup">> -<<include "MOD_Edit Neighbor Arcology Cheat Datatype Cleanup">> -<</silently>> - -Setting missing global variables: - -<<if typeof $assistant == "number">> - <<run assistant.BC()>> -<<else>> - <<run assistant.object()>> -<</if>> - -<<if ndef $CulturalOpenness>> - <<set $CulturalOpenness = 0>> -<</if>> - -<<if ndef $displayAssignments>> - <<set $displayAssignments = 1>> -<</if>> - -<<if ndef $universalRulesImpregnation>> - <<set $universalRulesImpregnation = "none">> -<</if>> - -<<if ndef $abbreviateNationality>> - <<set $abbreviateNationality = 0>> -<</if>> - -<<if ndef $language>> - <<set $language = "English">> -<</if>> - -<<if ndef $terrain>> - <<set $terrain = "rural">> -<</if>> - -<<if ndef $nicaeaAnnounceable>> - <<set $nicaeaAnnounceable = 0>> -<</if>> -<<if ndef $nicaeaAnnounced>> - <<set $nicaeaAnnounced = 0>> -<</if>> -<<if ndef $nicaeaPreparation>> - <<set $nicaeaPreparation = 0>> -<</if>> -<<if ndef $nicaeaInvolvement>> - <<set $nicaeaInvolvement = -1>> -<</if>> -<<if ndef $nicaeaPower>> - <<set $nicaeaPower = 0>> -<</if>> -<<if ndef $nicaeaHeld>> - <<set $nicaeaHeld = 0>> -<</if>> - -<<if ndef $REFeminizationCheckinIDs>> - <<set $REFeminizationCheckinIDs = []>> -<</if>> -<<if ndef $REMILFCheckinIDs>> - <<set $REMILFCheckinIDs = []>> -<</if>> -<<if ndef $REOrientationCheckinIDs>> - <<set $REOrientationCheckinIDs = []>> -<</if>> -<<if ndef $REUglyCheckinIDs>> - <<set $REUglyCheckinIDs = []>> -<</if>> -<<if ndef $REButtholeCheckinIDs>> - <<set $REButtholeCheckinIDs = []>> -<</if>> -<<if ndef $REFutaSisterCheckinIDs>> - <<set $REFutaSisterCheckinIDs = []>> -<</if>> -<<if ndef $REReductionCheckinIDs>> - <<set $REReductionCheckinIDs = []>> -<</if>> -<<if def $RERelationshipSlave>> - <<unset $RERelationshipSlave>> -<</if>> -<<if ndef $dormitory>> - <<set $dormitory = 20>> -<</if>> -<<if ndef $dormitoryPopulation>> - <<set $dormitoryPopulation = 0>> -<</if>> -<<if ndef $rooms>> - <<set $rooms = 5>> -<</if>> -<<if ndef $roomsPopulation>> - <<set $roomsPopulation = 0>> -<</if>> - -<<if ndef $universalHGImpregnateMasterSuiteToggle>> - <<set $universalHGImpregnateMasterSuiteToggle = 0>> -<</if>> - -<<run FacilityDatatypeCleanup()>> - -<<if ndef $fighterIDs>> - <<set $fighterIDs = []>> -<</if>> -<<if ndef $pitVirginities>> - <<set $pitVirginities = 0>> -<</if>> -<<if ndef $pitBG>> - <<set $pitBG = 0>> -<</if>> -<<if ndef $slaveFightingBG>> - <<set $slaveFightingBG = 0>> -<</if>> -<<if ndef $pitAnimal>> - <<set $pitAnimal = 0>> -<</if>> -<<if ndef $pitAnimalType>> - <<set $pitAnimalType = 0>> -<</if>> - -<<if ndef $verboseDescriptions>> - <<set $verboseDescriptions = 0>> -<</if>> -<<if ndef $clothesBoughtBunny>> - <<set $clothesBoughtBunny = 0>> -<</if>> -<<if ndef $clothesBoughtConservative>> - <<set $clothesBoughtConservative = 0>> -<</if>> -<<if ndef $clothesBoughtChains>> - <<set $clothesBoughtChains = 0>> -<</if>> -<<if ndef $clothesBoughtWestern>> - <<set $clothesBoughtWestern = 0>> -<</if>> -<<if ndef $clothesBoughtOil>> - <<set $clothesBoughtOil = 0>> -<</if>> -<<if ndef $clothesBoughtHabit>> - <<set $clothesBoughtHabit = 0>> -<</if>> -<<if ndef $clothesBoughtToga>> - <<set $clothesBoughtToga = 0>> -<</if>> -<<if ndef $clothesBoughtKimono>> - <<set $clothesBoughtKimono = 0>> -<</if>> -<<if ndef $clothesBoughtHarem>> - <<set $clothesBoughtHarem = 0>> -<</if>> -<<if ndef $clothesBoughtQipao>> - <<set $clothesBoughtQipao = 0>> -<</if>> -<<if ndef $clothesBoughtEgypt>> - <<set $clothesBoughtEgypt = 0>> -<</if>> -<<if ndef $clothesBoughtBimbo>> - <<set $clothesBoughtBimbo = 0>> -<</if>> -<<if ndef $clothesBoughtCourtesan>> - <<set $clothesBoughtCourtesan = 0>> -<</if>> -<<if ndef $shoesBoughtHeels>> - <<set $shoesBoughtHeels = 0>> -<</if>> -<<if ndef $clothesBoughtPetite>> - <<set $clothesBoughtPetite = 0>> -<</if>> -<<if ndef $clothesBoughtMilitary>> - <<set $clothesBoughtMilitary = 0>> -<</if>> -<<if ndef $clothesBoughtCultural>> - <<set $clothesBoughtCultural = 0>> -<</if>> -<<if ndef $clothesBoughtMiddleEastern>> - <<set $clothesBoughtMiddleEastern = 0>> -<</if>> -<<if ndef $clothesBoughtPol>> - <<set $clothesBoughtPol = 0>> -<</if>> -<<if ndef $clothesBoughtCostume>> - <<set $clothesBoughtCostume = 0>> -<</if>> -<<if ndef $clothesBoughtPantsu>> - <<set $clothesBoughtPantsu = 0>> -<</if>> -<<if ndef $clothesBoughtCareer>> - <<set $clothesBoughtCareer = 0>> -<</if>> -<<if ndef $clothesBoughtDresses>> - <<set $clothesBoughtDresses = 0>> -<</if>> -<<if ndef $clothesBoughtBodysuits>> - <<set $clothesBoughtBodysuits = 0>> -<</if>> -<<if ndef $clothesBoughtCasual>> - <<set $clothesBoughtCasual = 0>> -<</if>> -<<if ndef $clothesBoughtUnderwear>> - <<set $clothesBoughtUnderwear = 0>> -<</if>> -<<if ndef $clothesBoughtSports>> - <<set $clothesBoughtSports = 0>> -<</if>> -<<if ndef $clothesBoughtPony>> - <<set $clothesBoughtPony = 0>> -<</if>> -<<if ndef $clothesBoughtSwimwear>> - <<set $clothesBoughtSwimwear = 0>> -<</if>> -<<if ndef $clothesBoughtMaternityDress>> - <<set $clothesBoughtMaternityDress = 0>> -<</if>> -<<if ndef $clothesBoughtMaternityLingerie>> - <<set $clothesBoughtMaternityLingerie = 0>> -<</if>> -<<if ndef $clothesBoughtLazyClothes>> - <<set $clothesBoughtLazyClothes = 0>> -<</if>> -<<if ndef $buckets>> - <<set $buckets = 0>> -<</if>> - -<<if ndef $universalRulesRest>> - <<set $universalRulesRest = 0>> -<</if>> -<<if ndef $universalRulesNewSlavesRA>> - <<set $universalRulesNewSlavesRA = 1>> -<</if>> - -<<if ndef $hormoneUpgradeMood>> - <<set $hormoneUpgradeMood = 0>> -<</if>> -<<if ndef $hormoneUpgradeShrinkage>> - <<set $hormoneUpgradeShrinkage = 0>> -<</if>> -<<if ndef $hormoneUpgradePower>> - <<set $hormoneUpgradePower = 0>> -<</if>> - -<<if ndef $schoolSuggestion>> - <<set $schoolSuggestion = 0>> -<</if>> - -<<if ndef $prostheticsUpgrade>> - <<set $prostheticsUpgrade = 0>> -<</if>> -<<if ndef $dispensaryUpgrade>> - <<set $dispensaryUpgrade = 0>> -<</if>> -<<if ndef $growthStim>> - <<set $growthStim = 0>> -<</if>> -<<if ndef $pubertyLength>> - <<set $pubertyLength = 5>> -<</if>> -<<if ndef $maxGrowthAge>> - <<set $maxGrowthAge = 24>> -<</if>> -<<if ndef $ImplantProductionUpgrade>> - <<set $ImplantProductionUpgrade = 0>> -<</if>> -<<if ndef $geneticMappingUpgrade>> - <<set $geneticMappingUpgrade = 0>> -<</if>> -<<if ndef $pregnancyMonitoringUpgrade>> - <<set $pregnancyMonitoringUpgrade = 0>> -<</if>> -<<if ndef $permaPregImplant>> - <<set $permaPregImplant = 0>> -<</if>> -<<if ndef $pubertyHormones>> - <<set $pubertyHormones = 0>> -<</if>> -<<if ndef $dietXXY>> - <<set $dietXXY = 0>> -<</if>> -<<if ndef $dietCleanse>> - <<set $dietCleanse = 0>> -<</if>> -<<if ndef $dietFertility>> - <<set $dietFertility = 0>> -<</if>> -<<if ndef $cumProDiet>> - <<set $cumProDiet = 0>> -<</if>> -<<if ndef $aphrodisiacUpgradeRefine>> - <<set $aphrodisiacUpgradeRefine = 0>> -<</if>> -<<if ndef $healthyDrugsUpgrade>> - <<set $healthyDrugsUpgrade = 0>> -<</if>> -<<if ndef $reproductionFormula>> - <<set $reproductionFormula = 0>> -<</if>> -<<if ndef $superFertilityDrugs>> - <<set $superFertilityDrugs = 0>> -<</if>> -<<if ndef $bellyImplants>> - <<set $bellyImplants = 0>> -<</if>> -<<if ndef $cervixImplants>> - <<set $cervixImplants = 0>> -<</if>> -<<if ndef $prostateImplants>> - <<set $prostateImplants = 0>> -<</if>> -<<if ndef $sympatheticOvaries>> - <<set $sympatheticOvaries = 0>> -<</if>> -<<if ndef $fertilityImplant>> - <<set $fertilityImplant = 0>> -<</if>> -<<if ndef $asexualReproduction>> - <<set $asexualReproduction = 0>> -<</if>> -<<if ndef $shelterSlaveGeneratedWeek || $shelterSlaveGeneratedWeek > $week>> - <<set $shelterSlaveGeneratedWeek = 0>> -<</if>> -<<if ndef $goodImageCampaign>> - <<set $goodImageCampaign = 0>> -<</if>> -<<if ndef $sexualOpeness>> - <<set $sexualOpeness = 0>> -<</if>> -<<if ndef $youngerOvaries>> - <<set $youngerOvaries = 0>> -<</if>> -<<if ndef $animalOvaries>> - <<set $animalOvaries = 0>> -<</if>> -<<if ndef $animalTesticles>> - <<set $animalTesticles = 0>> -<</if>> -<<if ndef $animalMpreg>> - <<set $animalMpreg = 0>> -<</if>> -<<if ndef $cloningSystem>> - <<set $cloningSystem = 0>> -<</if>> -<<if ndef $geneticFlawLibrary>> - <<set $geneticFlawLibrary = 0>> -<</if>> - -<<if ndef $pregInventor>> - <<set $pregInventor = 0>> -<</if>> -<<if ndef $pregInventorID>> - <<set $pregInventorID = 0>> -<</if>> -<<if ndef $pregInventions>> - <<set $pregInventions = 0>> -<</if>> -<<if ndef $traitorWeeks>> - <<set $traitorWeeks = 0>> -<</if>> -<<if def $taitorWeeks>> - <<set $traitorWeeks = $taitorWeeks>> - <<unset $taitorWeeks>> -<</if>> -<<if ndef $rivalGender>> - <<if ($rivalOwner > 0)>> - <<if random(0,99) <= $seeDicks>> - <<set $rivalGender = 2>> - <<else>> - <<set $rivalGender = 1>> - <</if>> - <<else>> - <<set $rivalGender = 0>> - <</if>> -<</if>> -<<if ndef $realRoyalties>> - <<set $realRoyalties = 0>> -<</if>> - -/* Job Fulfillment Center */ -<<if ndef $JFCOrder>> - <<set $JFCOrder = 0>> -<</if>> -<<if ndef $Role>> - <<set $Role = "">> -<</if>> - -<<if ndef $trinkets>> - <<set $trinkets = []>> - - <<if $PC.career == "wealth">> - <<set $trinkets.push("a collection of diplomas from expensive schools")>> - <<elseif $PC.career == "capitalist">> - <<set $trinkets.push("a framed low denomination piece of paper money from your native country")>> - <<elseif $PC.career == "mercenary">> - <<set $trinkets.push("a battered old assault rifle")>> - <<elseif $PC.career == "slaver">> - <<set $trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom")>> - <<elseif $PC.career == "engineer">> - <<set $trinkets.push("an artist's impression of an early arcology design")>> - <<elseif $PC.career == "medicine">> - <<set $trinkets.push("a framed postsurgical x-ray")>> - <<elseif $PC.career == "celebrity">> - <<set $trinkets.push("a framed copy of the first news story featuring yourself")>> - <<elseif $PC.career == "arcology owner">> - <<set $trinkets.push("a miniature model of your first arcology")>> - <<elseif $PC.career == "escort">> - <<set $trinkets.push("a copy of the first porno you starred in")>> - <<elseif $PC.career == "servant">> - <<set $trinkets.push("a framed picture of your late Master")>> - <<elseif $PC.career == "gang">> - <<set $trinkets.push("your favorite handgun, whose sight has instilled fear in many")>> - <<elseif $PC.career == "BlackHat">> - <<set $trinkets.push("a news clipping of your first successful live hack")>> - <</if>> -<</if>> - -<<if ndef $TSS>> - <<set $TSS = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $GRI>> - <<set $GRI = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $SCP>> - <<set $SCP = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $LDE>> - <<set $LDE = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $TGA>> - <<set $TGA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $TCR>> - <<set $TCR = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $TFS>> - <<set $TFS = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0, compromiseWeek: 0, farmUpgrade: 0}>> -<</if>> -<<if ndef $TFS.compromiseWeek>> - <<set $TFS.compromiseWeek = 0>> -<</if>> -<<if ndef $HA>> - <<set $HA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> -<<if ndef $NUL>> - <<set $NUL = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>> -<</if>> - -<<if ndef $birthee>> - <<set $birthee = 0>> -<</if>> - -<<if ndef $alwaysSubsidizeRep>> - <<set $alwaysSubsidizeRep = 0>> -<</if>> -<<if ndef $alwaysSubsidizeGrowth>> - <<set $alwaysSubsidizeGrowth = 0>> -<</if>> -<<if ndef $ProImmigrationCash>> - <<set $ProImmigrationCash = 0>> -<</if>> -<<if ndef $ProImmigrationRep>> - <<set $ProImmigrationRep = 0>> -<</if>> -<<if ndef $AntiImmigrationCash>> - <<set $AntiImmigrationCash = 0>> -<</if>> -<<if ndef $AntiImmigrationRep>> - <<set $AntiImmigrationRep = 0>> -<</if>> -<<if ndef $ProEnslavementCash>> - <<set $ProEnslavementCash = 0>> -<</if>> -<<if ndef $ProEnslavementRep>> - <<set $ProEnslavementRep = 0>> -<</if>> -<<if ndef $AntiEnslavementCash>> - <<set $AntiEnslavementCash = 0>> -<</if>> -<<if ndef $AntiEnslavementRep>> - <<set $AntiEnslavementRep = 0>> -<</if>> -<<if ndef $BasicSMR>> - <<set $BasicSMR = 1>> -<</if>> -<<if ndef $HealthInspectionSMR>> - <<set $HealthInspectionSMR = 0>> -<</if>> -<<if ndef $EducationSMR>> - <<set $EducationSMR = 0>> -<</if>> -<<if ndef $FrigiditySMR>> - <<set $FrigiditySMR = 0>> -<</if>> -<<if ndef $BasicBeautySMR>> - <<set $BasicBeautySMR = 0>> -<</if>> -<<if ndef $QualityBeautySMR>> - <<set $QualityBeautySMR = 0>> -<</if>> -<<if ndef $BasicWeightSMR>> - <<set $BasicWeightSMR = 0>> -<</if>> -<<if ndef $BasicIntelligenceSMR>> - <<set $BasicIntelligenceSMR = 0>> -<</if>> -<<if ndef $QualityIntelligenceSMR>> - <<set $QualityIntelligenceSMR = 0>> -<</if>> -<<if ndef $BasicHeightSMR>> - <<set $BasicHeightSMR = 0>> -<</if>> -<<if ndef $AdvancedHeightSMR>> - <<set $AdvancedHeightSMR = 0>> -<</if>> -<<if ndef $IntelligenceEugenicsSMR>> - <<set $IntelligenceEugenicsSMR = 0>> -<</if>> -<<if ndef $HeightEugenicsSMR>> - <<set $HeightEugenicsSMR = 0>> -<</if>> -<<if ndef $FaceEugenicsSMR>> - <<set $FaceEugenicsSMR = 0>> -<</if>> -<<if ndef $HonestySMR>> - <<set $HonestySMR = 0>> -<</if>> -<<if ndef $ProRefugees>> - <<set $ProRefugees = 0>> -<</if>> -<<if ndef $ProRecruitment>> - <<set $ProRecruitment = 0>> -<</if>> -<<if ndef $OralEncouragement>> - <<set $OralEncouragement = 0>> -<</if>> -<<if ndef $VaginalEncouragement>> - <<set $VaginalEncouragement = 0>> -<</if>> -<<if ndef $AnalEncouragement>> - <<set $AnalEncouragement = 0>> -<</if>> -<<if ndef $OralDiscouragement>> - <<set $OralDiscouragement = 0>> -<</if>> -<<if ndef $VaginalDiscouragement>> - <<set $VaginalDiscouragement = 0>> -<</if>> -<<if ndef $AnalDiscouragement>> - <<set $AnalDiscouragement = 0>> -<</if>> -<<if ndef $CashForRep>> - <<set $CashForRep = 0>> -<</if>> -<<if ndef $RepForCash>> - <<set $RepForCash = 0>> -<</if>> -<<if ndef $Cash4Babies>> - <<set $Cash4Babies = 0>> -<</if>> -<<if ndef $PAPublic>> - <<set $PAPublic = 0>> -<</if>> -<<if ndef $CoursingAssociation>> - <<set $CoursingAssociation = 0>> -<</if>> -<<if ndef $Lurcher>> - <<set $Lurcher = 0>> -<</if>> -<<if ndef $coursed>> - <<set $coursed = 0>> -<</if>> -<<if ndef $MixedMarriage>> - <<set $MixedMarriage = 0>> -<</if>> - -<<if ndef $expiree>> - <<set $expiree = 0>> -<</if>> -<<if ndef $retiree>> -<<set $retiree = 0>> - <</if>> -<<if ndef $retirementAge>> - <<set $retirementAge = 45>> -<</if>> -<<if ndef $customRetirementAge>> - <<set $customRetirementAge = 45>> -<</if>> -<<if ndef $customMenialRetirementAge>> - <<set $customMenialRetirementAge = 65>> -<</if>> -<<if ndef $retirementCum>> - <<set $retirementCum = 500000>> -<</if>> -<<if ndef $CustomRetirementAgePolicy>> - <<set $CustomRetirementAgePolicy = 0>> -<</if>> -<<if ndef $PhysicalRetirementAgePolicy>> - <<set $PhysicalRetirementAgePolicy = 0>> -<</if>> -<<if ndef $CumMilestoneRetirement>> - <<set $CumMilestoneRetirement = 0>> -<</if>> -<<if ndef $BioreactorRetirement>> - <<set $BioreactorRetirement = 0>> -<</if>> -<<if ndef $ArcadeRetirement>> - <<set $ArcadeRetirement = 0>> -<</if>> -<<if ndef $CitizenRetirement>> - <<set $CitizenRetirement = 0>> -<</if>> -<<if ndef $citizenRetirementMenials>> - <<set $citizenRetirementMenials = 0>> -<</if>> -<<if ndef $citizenRetirementTrigger>> - <<set $citizenRetirementTrigger = $CitizenRetirementTrigger || 0>> - <<unset $CitizenRetirementTrigger>> -<</if>> -<<if ndef $FSSupLawTrigger>> - <<set $FSSupLawTrigger = 0>> -<</if>> -<<if ndef $FSSubLawTrigger>> - <<set $FSSubLawTrigger = 0>> -<</if>> -<<if ndef $FSSlaveProfLawTrigger>> - <<set $FSSlaveProfLawTrigger = 0>> -<</if>> -<<if def $manuallyRetired>> - <<unset $manuallyRetired>> -<</if>> - -<<if ndef $justiceEvents>> - <<set $justiceEvents = ["indenture deal", "majority deal", "slave deal", "slave training", "virginity deal"]>> -<</if>> - -<<if (($ver.startsWith("0.6") && !$ver.startsWith("10.6")) || ($ver.startsWith("0.7")) || ($ver.startsWith("0.8")) || ($ver == "0.9"))>> - <<if $seeDicks == 2>> - <<set $seeDicks = 100>> - <<elseif $seeDicks == 1>> - <<set $seeDicks = 25>> - <</if>> -<</if>> -<<set $seeDicks = Math.clamp($seeDicks, 0, 100)>> - -<<if ndef $PC.ID>> - <<set $PC.ID = -1>> -<</if>> -<<if ndef $PC.counter.oral>> - <<set $PC.counter.oral = 0>> -<</if>> -<<if ndef $PC.counter.vaginal>> - <<set $PC.counter.vaginal = 0>> -<</if>> -<<if ndef $PC.counter.anal>> - <<set $PC.counter.anal = 0>> -<</if>> -<<if ndef $PC.counter.mammary>> - <<set $PC.counter.mammary = 0>> -<</if>> -<<if ndef $PC.counter.penetrative>> - <<set $PC.counter.penetrative = 0>> -<</if>> - -<<if !($ver.startsWith("0.10"))>> - <<if $PC.refreshment == "cigar">> - <<set $PC.refreshmentType = 0>> - <<else>> - <<set $PC.refreshmentType = 1>> - <</if>> -<</if>> -<<set WombInit($PC)>> - -<<if ndef $pornStars>> - <<set $studioFeed = 0>> - <<set $PCSlutContacts = 1>> - - /* create but don't populate (that happens later) */ - <<set $pornStars = {}>> -<</if>> - -/* migrate to new genre-driven pornstar object */ -<<if typeof $pornStars === "number">> - <<set _oldPornStars = $pornStars>> - - <<set $pornStars = {}>> - <<set $pornStars.general = { p1count: _oldPornStars, p3ID: $pornStarID }>> - <<set $pornStars.fuckdoll = { p1count: $pornStarFuckdolls, p3ID: $pornStarFuckdollID }>> - <<set $pornStars.rape = { p1count: $pornStarRapees, p3ID: $pornStarRapeID }>> - <<set $pornStars.preggo = { p1count: $pornStarPreggos, p3ID: $pornStarPreggoID }>> - <<set $pornStars.BBW = { p1count: $pornStarBBWs, p3ID: $pornStarBBWID }>> - <<set $pornStars.gainer = { p1count: $pornStarGainers, p3ID: $pornStarGainerID }>> - <<set $pornStars.stud = { p1count: $pornStarStuds, p3ID: $pornStarStudID }>> - <<set $pornStars.loli = { p1count: $pornStarLolis, p3ID: $pornStarLoliID }>> - <<set $pornStars.deepThroat = { p1count: $pornStarDeepThroats, p3ID: $pornStarDeepThroatID }>> - <<set $pornStars.struggleFuck = { p1count: $pornStarStruggleFucks, p3ID: $pornStarStruggleFuckID }>> - <<set $pornStars.painal = { p1count: $pornStarPainals, p3ID: $pornStarPainalID }>> - <<set $pornStars.tease = { p1count: $pornStarTeases, p3ID: $pornStarTeaseID }>> - <<set $pornStars.romantic = { p1count: $pornStarRomantics, p3ID: $pornStarRomanticID }>> - <<set $pornStars.pervert = { p1count: $pornStarPerverts, p3ID: $pornStarPervertID }>> - <<set $pornStars.caring = { p1count: $pornStarCarings, p3ID: $pornStarCaringID }>> - <<set $pornStars.unflinching = { p1count: $pornStarUnflinchings, p3ID: $pornStarUnflinchingID }>> - <<set $pornStars.sizeQueen = { p1count: $pornStarSizeQueens, p3ID: $pornStarSizeQueenID }>> - <<set $pornStars.neglectful = { p1count: $pornStarNeglectfuls, p3ID: $pornStarNeglectfulID }>> - <<set $pornStars.cumAddict = { p1count: $pornStarCumAddicts, p3ID: $pornStarCumAddictID }>> - <<set $pornStars.analAddict = { p1count: $pornStarAnalAddicts, p3ID: $pornStarAnalAddictID }>> - <<set $pornStars.attentionWhore = { p1count: $pornStarAttentionWhores, p3ID: $pornStarAttentionWhoreID }>> - <<set $pornStars.breastGrowth = { p1count: $pornStarBreastGrowths, p3ID: $pornStarBreastGrowthID }>> - <<set $pornStars.abusive = { p1count: $pornStarAbusives, p3ID: $pornStarAbusiveID }>> - <<set $pornStars.malicious = { p1count: $pornStarMalicious, p3ID: $pornStarMaliciousID }>> - <<set $pornStars.selfHating = { p1count: $pornStarSelfHatings, p3ID: $pornStarSelfHatingID }>> - <<set $pornStars.breeder = { p1count: $pornStarBreeders, p3ID: $pornStarBreederID }>> - <<set $pornStars.sub = { p1count: $pornStarSubs, p3ID: $pornStarSubID }>> - <<set $pornStars.cumSlut = { p1count: $pornStarCumSluts, p3ID: $pornStarCumSlutID }>> - <<set $pornStars.anal = { p1count: $pornStarAnals, p3ID: $pornStarAnalID }>> - <<set $pornStars.humiliation = { p1count: $pornStarHumiliations, p3ID: $pornStarHumiliationID }>> - <<set $pornStars.boobs = { p1count: $pornStarBoobs, p3ID: $pornStarBoobsID }>> - <<set $pornStars.dom = { p1count: $pornStarDoms, p3ID: $pornStarDomID }>> - <<set $pornStars.sadist = { p1count: $pornStarSadists, p3ID: $pornStarSadistID }>> - <<set $pornStars.masochist = { p1count: $pornStarMasochists, p3ID: $pornStarMasochistID }>> - <<set $pornStars.pregnancy = { p1count: $pornStarPregnancySluts, p3ID: $pornStarPregnancyID }>> - - /* Reset all the old porn type counts */ - <<unset $pornStarFuckdolls>> - <<unset $pornStarRapees>> - <<unset $pornStarPreggos>> - <<unset $pornStarBBWs>> - <<unset $pornStarGainers>> - <<unset $pornStarStuds>> - <<unset $pornStarLolis>> - <<unset $pornStarDeepThroats>> - <<unset $pornStarStruggleFucks>> - <<unset $pornStarPainals>> - <<unset $pornStarTeases>> - <<unset $pornStarRomantics>> - <<unset $pornStarPerverts>> - <<unset $pornStarCarings>> - <<unset $pornStarUnflinchings>> - <<unset $pornStarSizeQueens>> - <<unset $pornStarNeglectfuls>> - <<unset $pornStarCumAddicts>> - <<unset $pornStarAnalAddicts>> - <<unset $pornStarAttentionWhores>> - <<unset $pornStarBreastGrowths>> - <<unset $pornStarAbusives>> - <<unset $pornStarMalicious>> - <<unset $pornStarSelfHatings>> - <<unset $pornStarBreeders>> - <<unset $pornStarSubs>> - <<unset $pornStarCumSluts>> - <<unset $pornStarAnals>> - <<unset $pornStarHumiliations>> - <<unset $pornStarBoobs>> - <<unset $pornStarDoms>> - <<unset $pornStarSadists>> - <<unset $pornStarMasochists>> - <<unset $pornStarPregnancySluts>> - - /* Reset old level 3 prestige variables */ - <<unset $pornStarID>> - <<unset $pornStarFuckdollID>> - <<unset $pornStarRapeID>> - <<unset $pornStarPreggoID>> - <<unset $pornStarBBWID>> - <<unset $pornStarGainerID>> - <<unset $pornStarStudID>> - <<unset $pornStarLoliID>> - <<unset $pornStarDeepThroatID>> - <<unset $pornStarStruggleFuckID>> - <<unset $pornStarPainalID>> - <<unset $pornStarTeaseID>> - <<unset $pornStarRomanticID>> - <<unset $pornStarPervertID>> - <<unset $pornStarCaringID>> - <<unset $pornStarUnflinchingID>> - <<unset $pornStarSizeQueenID>> - <<unset $pornStarNeglectfulID>> - <<unset $pornStarCumAddictID>> - <<unset $pornStarAnalAddictID>> - <<unset $pornStarAttentionWhoreID>> - <<unset $pornStarBreastGrowthID>> - <<unset $pornStarAbusiveID>> - <<unset $pornStarMaliciousID>> - <<unset $pornStarSelfHatingID>> - <<unset $pornStarBreederID>> - <<unset $pornStarSubID>> - <<unset $pornStarCumSlutID>> - <<unset $pornStarAnalID>> - <<unset $pornStarHumiliationID>> - <<unset $pornStarBoobsID>> - <<unset $pornStarDomID>> - <<unset $pornStarSadistID>> - <<unset $pornStarMasochistID>> - <<unset $pornStarPregnancyID>> - -<</if>> - -/* make sure that any new genres get added correctly (and populate $pornStars for very old games) */ -<<for _genre range App.Porn.getAllGenres()>> - <<if ndef $pornStars[_genre.fameVar]>> - <<set $pornStars[_genre.fameVar] = { p1count: 0, p3ID: 0 }>> - <</if>> -<</for>> - -<<if $PCSlutContacts == 0>> - <<set $PCSlutContacts = 1>> -<</if>> - -<<if ndef $seeVectorArtHighlights>> - <<set $seeVectorArtHighlights = 1>> -<</if>> -<<if ndef $seeFaces>> - <<set $seeFaces = 1>> -<</if>> -<<if ndef $seeAvatar>> - <<set $seeAvatar = 1>> -<</if>> -<<if ndef $seeHeight>> - <<set $seeHeight = 0>> -<</if>> - -/* Economy Mod */ -<<if $economy == 0.5>> - <<set $economy = 200>> -<<elseif $economy == 1>> - <<set $economy = 100>> -<<elseif $economy == 1.5>> - <<set $economy = 67>> -<</if>> -/*<<if ndef $baseDifficulty>> - <<if $economy > 125>> - <<set $baseDifficulty = 1>> - <<elseif $economy > 100>> - <<set $baseDifficulty = 2>> - <<elseif $economy > 80>> - <<set $baseDifficulty = 3>> - <<elseif $economy > 67>> - <<set $baseDifficulty = 4>> - <<else>> - <<set $baseDifficulty = 5>> - <</if>> -<</if>> */ -<<if ndef $NPCSlaves>> - <<set $NPCSlaves = $ASlaves, - $ASlaves += $menials + $fuckdolls + $menialBioreactors>> -<</if>> -<<if (def $ACitizenLimit) || def $ASlaveLimit>> - <<unset $ACitizenLimit, $ASlaveLimit>> -<</if>> -<<if (def $welfare) || (def $slaveDemandU) || def $slaveDemandT|| (def $slaveProductivity) || (def $enslaveChance) || def $slaveExpiration>> - <<unset $welfare, $slaveDemandU, $slaveDemandT, $slaveProductivity, $enslaveChance, $slaveExpiration>> -<</if>> - -/*Corporation variables added*/ -<<if ndef $vanillaShareSplit>> - <<set $vanillaShareSplit = 1>> -<</if>> -<<if ndef $corpCashDividend>> - <<set $corpCashDividend = 0>> -<</if>> -<<if ndef $corpDiv>> - <<set $corpDiv = 0>> -<</if>> -<<if def $corpExpand>> - <<unset $corpExpand>> -<</if>> -<<if ndef $corpExpandToken>> - <<set $corpExpandToken = 0>> -<</if>> -<<if $corpExpandToken > 1>> - <<set $corpExpandToken = 1>> -<</if>> -<<if ndef $corpSpec>> - <<set $corpSpec = 0>> -<</if>> -<<if ndef $corpSpecToken>> - <<set $corpSpecToken = 0>> -<</if>> -<<if ndef $corpDivExtra>> - <<set $corpDivExtra = 0>> -<</if>> -<<if ndef $corpDivLegal>> - <<set $corpDivLegal = 0>> -<</if>> -<<if ndef $corpDivBreak>> - <<set $corpDivBreak = 0>> -<</if>> -<<if ndef $corpDivSurgery>> - <<set $corpDivSurgery = 0>> -<</if>> -<<if ndef $corpDivTrain>> - <<set $corpDivTrain = 0>> -<</if>> -<<if ndef $corpDivArcade>> - <<set $corpDivArcade = 0>> -<</if>> -<<if ndef $corpDivMenial>> - <<set $corpDivMenial = 0>> -<</if>> -<<if ndef $corpDivDairy>> - <<set $corpDivDairy = 0>> -<</if>> -<<if ndef $corpDivWhore>> - <<set $corpDivWhore = 0>> -<</if>> -<<if ndef $corpDivExtraDev>> - <<set $corpDivExtraDev = 0>> -<</if>> -<<if ndef $corpDivLegalDev>> - <<set $corpDivLegalDev = 0>> -<</if>> -<<if ndef $corpDivBreakDev>> - <<set $corpDivBreakDev = 0>> -<</if>> -<<if ndef $corpDivSurgeryDev>> - <<set $corpDivSurgeryDev = 0>> -<</if>> -<<if ndef $corpDivTrainDev>> - <<set $corpDivTrainDev = 0>> -<</if>> -<<if ndef $corpDivArcadeDev>> - <<set $corpDivArcadeDev = 0>> -<</if>> -<<if ndef $corpDivMenialDev>> - <<set $corpDivMenialDev = 0>> -<</if>> -<<if ndef $corpDivDairyDev>> - <<set $corpDivDairyDev = 0>> -<</if>> -<<if ndef $corpDivWhoreDev>> - <<set $corpDivWhoreDev = 0>> -<</if>> -<<if ndef $corpSpecRaces>> - <<set $corpSpecRaces = []>> -<</if>> -<<if def $corpEasy>> - <<unset $corpEasy>> -<</if>> -<<set $dividendTimer = $dividendTimer || 13>> -<<if ndef $corpEcon>> - <<set $corpEcon = 0>> -<</if>> - -/*Removing the old Corp from save*/ -<<if ndef $newCorp>> - <<set $newCorp = 1>> - <<set $corpIncorporated = 0>> - <<run cashX(Math.min(Math.trunc(($corpValue / ($publicShares + $personalShares)) * $personalShares), 1000000), "stocksTraded")>> /*Paying the player for his old corporation, so they can get the new one started with haste. It should perhaps have a message going with it*/ - <<set $mercenariesHelpCorp = 0>> - <<set $corpMarket = 0>> - <<unset $corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpProfit, $corpCash, $corpValue, $sharePrice, $oldSharePrice, $personalShares, $publicShares, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice, $generalUpgradeBreaking, $generalUpgradeWeight, $generalUpgradeMuscle, $entrapmentUpgradeDevotionOne, $entrapmentUpgradeDevotionTwo, $entrapmentUpgradeIntelligence, $captureUpgradeGender, $surgicalUpgradeGenitalia, $captureUpgradeAge, $captureUpgradeRace, $trainingUpgradeAccent, $trainingUpgradeEducation, $trainingUpgradeSexEd, $surgicalUpgradeCosmetics, $surgicalUpgradeImplants, $drugUpgradeHormones, $drugUpgradeInjectionOne, $drugUpgradeInjectionTwo>> - <<if def $sectors>> - <<for _i = 0; _i < $sectors.length; _i++>> - <<if $sectors[_i].type == "CorporateMarket">><<set $sectors[_i].type = "Markets">><<break>><</if>> - <</for>> - <</if>> -<</if>> - -/*Slave services and goods variables*/ -<<if ndef $publicFuckdolls>> - <<set $publicFuckdolls = 0>> -<</if>> -<<if def $lowerClassSexDemand>> - <<unset $lowerClassSexDemand>> -<</if>> -<<if ndef $classSatisfied>> - <<set $classSatisfied = {}>> -<</if>> -<<if def $lowerClassSatisfied>> - <<set $classSatisfied.lowerClass = $lowerClassSatisfied>> - <<unset $lowerClassSatisfied>> -<</if>> -<<if def $middleClassSexDemand>> - <<unset $middleClassSexDemand>> -<</if>> -<<if def $upperClassSexDemand>> - <<unset $upperClassSexDemand>> -<</if>> -<<if def $topClassSexDemand>> - <<unset $topClassSexDemand>> -<</if>> -<<if ndef $sexSubsidies>> - <<set $sexSubsidies = {}>> -<</if>> -<<if def $sexSubsidiesLC>> - <<set $sexSubsidies.lowerClass = $sexSubsidiesLC>> - <<unset $sexSubsidiesLC>> -<</if>> -<<if ndef $sexSupplyBarriers>> - <<set $sexSupplyBarriers = {}>> -<</if>> -<<if def $sexSupplyBarriersLC>> - <<set $sexSupplyBarriers.lowerClass = $sexSupplyBarriersLC>> - <<unset $sexSupplyBarriersLC>> -<</if>> -<<if ndef $arcadePrice>> - <<set $arcadePrice = 2>> -<</if>> -<<if ndef $clubSlaveSexAmount>> - <<set $clubSlaveSexAmount = 0>> -<</if>> - -<<if ndef $food>> - <<set $food = 50000>> -<</if>> -<<if ndef $foodLastWeek>> - <<set $foodLastWeek = 0>> -<</if>> -<<if ndef $foodTotal>> - <<set $foodTotal = 0>> -<</if>> -<<if ndef $foodProduced>> - <<set $foodProduced = 0>> -<</if>> -<<if ndef $foodStored>> - <<set $foodStored = 0>> -<</if>> -<<if ndef $foodCost>> - <<set $foodCost = 25>> -<</if>> -<<if ndef $foodMarket>> - <<set $foodMarket = 0>> -<</if>> -<<if ndef $foodRate>> - <<set $foodRate = {slave: 2, lower: 1.8, middle: 2, upper: 2.2, top: 2.4}>> -<</if>> -<<if ndef $foodConsumption>> - <<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>> /* total amount food consumed per week */ -<</if>> -<<if ndef $revealFoodEffects>> - <<set $revealFoodEffects = 0>> -<</if>> -<<if ndef $rations>> - <<set $rations = 0>> -<</if>> -<<if def $slaveRate>> - <<unset $slaveRate>> -<</if>> -<<if def $lowerRate>> - <<unset $lowerRate>> -<</if>> -<<if def $middleRate>> - <<unset $middleRate>> -<</if>> -<<if def $upperRate>> - <<unset $upperRate>> -<</if>> -<<if def $topRate>> - <<unset $topRate>> -<</if>> - -<<if ndef $lastWeeksCashIncome>> - <<setupLastWeeksCash>> -<</if>> -<<if ndef $lastWeeksRepIncome>> - <<setupLastWeeksRep>> -<</if>> - -<<run EconomyDatatypeCleanup()>> -<<run ArcologyDatatypeCleanup()>> - -Done! - -<br><br> -Setting missing slave variables: -/* Adding a new variable? Consider putting it in datatypeCleanupJS.tw instead of here */ -<<for _bci = 0; _bci < $slaves.length; _bci++>> - <<set _Slave = $slaves[_bci]>> - - <<if typeof _Slave != "object">> - <<set $slaves.deleteAt(_bci), _bci-->> - <<continue>> - <</if>> - - <<run App.Update.Slave(_Slave)>> - - <<set $slaves[_bci] = _Slave>> -<</for>> - -<br> Checking and fixing slave records... -<<for _Slave range $slaves>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> - <<run SlaveDatatypeCleanup(_Slave)>> - <<set _leaderIdx = $leaders.findIndex(function(s) { return s.ID === _Slave.ID; })>> - <<if _leaderIdx !== -1>> - <<set $leaders[_leaderIdx] = _Slave>> - <</if>> -<</for>> -<<if $hostage !== 0>> - <<run App.Update.Slave($hostage)>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup($hostage)>> - <<run SlaveDatatypeCleanup($hostage)>> -<</if>> -<<if def $slaveAfterRA>> - <<run App.Update.Slave($slaveAfterRA)>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup($slaveAfterRA)>> - <<run SlaveDatatypeCleanup($slaveAfterRA)>> -<</if>> -<<if $boomerangSlave !== 0>> - <<run App.Update.Slave($boomerangSlave)>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup($boomerangSlave)>> - <<run SlaveDatatypeCleanup($boomerangSlave)>> -<</if>> -<<if $traitor !== 0>> - <<run App.Update.Slave($traitor)>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup($traitor)>> - <<run SlaveDatatypeCleanup($traitor)>> -<</if>> -<<if ndef $assignmentRecords>> - <<set $assignmentRecords = {}>> -<</if>> - -Done<br> - -<<if $tanks.length > 0>> - Checking and fixing records for incubator tanks... - <<for _Slave range $tanks>> - <<run App.Update.Slave(_Slave)>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> - <<run SlaveDatatypeCleanup(_Slave, true)>> /* pass second argument as true so that slaveAgeDatatypeCleanup is not run */ - <</for>> - Done<br> -<</if>> - -<<if $cribs.length > 0>> - Checking and fixing records for nursery cribs... - <<for _Child range $cribs>> - <<if _Child.actualAge < 3>> - <<run App.Facilities.Nursery.InfantDatatypeCleanup(_Child)>> - <<else>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Child, true)>> - <<run App.Facilities.Nursery.ChildDatatypeCleanup(_Child)>> - <</if>> - <</for>> - <<set $cribsIndices = App.Facilities.Nursery.cribsToIndices()>> - Done<br> -<</if>> - -<<if $heroSlaves.length > 0>> - Checking and fixing special slave records... - <<for _Slave range $heroSlaves>> - <<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>> - /% No SlaveDatatypeCleanup() call as hero slaves are not SlaveState objects %/ - <</for>> - Done<br> -<</if>> - -<<if $releaseID === 1043>> - <<run $slaves.forEach(s => { s.skill.whoring = s.skill.whore/2; })>> - <<run $tanks.forEach(s => { s.skill.whoring = s.skill.whore/2; })>> - <<run $cribs.forEach(s => { s.skill.whoring = s.skill.whore/2; })>> - <<run $heroSlaves.forEach(hs => { - if (hs.hasOwnProperty("skill") && hs.skill.hasOwnProperty("whore")) { - hs.skill.whoring = hs.skill.whore; - delete hs.skill.whore; - } - });>> -<</if>> - - -<<set $slavesOriginal = []>> /* not used by pregmod */ - -Updating gene pool records: -<<for _bci = 0; _bci < $genePool.length; _bci++>> - <<set _Slave = $genePool[_bci]>> - - <<run App.Update.Slave(_Slave)>> - - <<if $genePool.map(function(s) { return s.ID; }).count(_Slave.ID) > 1>> /* first check for duplicate IDs, keep the first entry and delete the others */ - <<for _bci2 = _bci + 1; _bci2 < $genePool.length; _bci2++>> - <<if $genePool[_bci2].ID == _Slave.ID>> - <<set $genePool.deleteAt(_bci2), _bci2-->> - <</if>> - <</for>> - <</if>> - <<set _dontDeleteMe = 0>> - <<if def $slaveIndices[_Slave.ID]>> /* are we still in the $slaves array? */ - <<set _dontDeleteMe = 1>> - <</if>> - <<if $traitor != 0>> - <<if isImpregnatedBy($traitor, _Slave) || $traitor.ID == _Slave.ID>> /* did we impregnate the traitor, or are we the traitor? */ - <<set _dontDeleteMe = 1>> - <</if>> - <</if>> - <<if $boomerangSlave != 0>> - <<if isImpregnatedBy($boomerangSlave, _Slave) || $boomerangSlave.ID == _Slave.ID>> /* did we impregnate the boomerang, or are we the boomerang? */ - <<set _dontDeleteMe = 1>> - <</if>> - <</if>> - <<if isImpregnatedBy($PC, _Slave)>> /* did we impregnate the PC */ - <<set _dontDeleteMe = 1>> - <</if>> - <<if _dontDeleteMe == 0>> /* avoid going through this loop if possible */ - <<for _bci2 = 0; _bci2 < $slaves.length; _bci2++>> - <<if isImpregnatedBy($slaves[_bci2], _Slave)>> /* have we impregnated a slave on the slaves array? */ - <<set _dontDeleteMe = 1>> - <<break>> - <</if>> - <</for>> - <</if>> - <<if _dontDeleteMe == 0>> - <<set $genePool.deleteAt(_bci), _bci-->> - <<continue>> - <</if>> - - <<if ndef _Slave.origSkin>><<set _Slave.origSkin = _Slave.skin>><</if>> - <<if ndef _Slave.origRace>><<set _Slave.origRace = _Slave.race>><</if>> - - <<if $releaseID < 1059>> - <<if ndef _Slave.eyesImplant>> - <<set _Slave.eyesImplant = 0>> - <</if>> - <<if _Slave.origEye == "implant">> - <<set _Slave.eyesImplant = 1>> - <<set _oldEyes = $genePool.find(function(s) { return s.ID = _Slave.ID; })>> - <<set _Slave.origEye = _oldEyes.origEye>> - <</if>> - <<if _Slave.origEye == "none">> - <<set _Slave.eyes = -3>> - <<set _oldEyes = $genePool.find(function(s) { return s.ID = _Slave.ID; })>> - <<set _Slave.origEye = _oldEyes.origEye>> - <</if>> - <<if _Slave.eyeColor == "empty">> - <<set _Slave.eyeColor = _Slave.origEye>> - <<set _Slave.eyes = -4>> - <</if>> - <</if>> - - <<if ndef _Slave.custom>> <<set _Slave.custom = {}>> <</if>> - <<set _Slave.custom.tattoo = _Slave.customTat || "">> - <<set _Slave.custom.label = _Slave.custom.label || "">> - <<set _Slave.custom.desc = _Slave.custom.desc || "">> - <<set _Slave.custom.title = _Slave.custom.title || "">> - <<set _Slave.custom.titleLisp = _Slave.custom.titleLisp || "">> - <<set _Slave.custom.hairVector = _Slave.custom.hairVector || 0>> - <<set _Slave.custom.image = _Slave.custom.image || null>> - - <<run App.Entity.Utils.GenePoolRecordCleanup(_Slave)>> - <<set $genePool[_bci] = _Slave>> - -<</for>> - -<<if $nurseryNannies > 0>> - <<for _bci = 0; _bci < $cribs.length; _bci++>> - <<run App.Update.Slave($cribs[_bci])>> - <<set _nurseryChild = $cribs[_bci]>> - <</for>> -<</if>> - -<<set $AgeEffectOnTrainerPricingPC = 1>> -<<set $AgeEffectOnTrainerEffectivenessPC = 1>> -<<set $AgeTrainingUpperBoundPC = 14>> -<<set $AgeTrainingLowerBoundPC = 12>> -<<set $IsInPrimePC = 3>> -<<set $IsPastPrimePC = 5000>> - -<<HeroSlavesCleanup>> -<<run $heroSlaves.forEach(function(s) {if (s.pregType > 0 && Array.isArray(s.womb)) delete s.womb;})>> -<<set $activeSlave = BaseSlave()>> -<<set $baseHeroSlave = clone($activeSlave)>> -Done<br> - -Updating Rules Assistant data... -<<set $defaultRules = $defaultRules.map(rule => App.Entity.Utils.RARuleDatatypeCleanup(rule))>> -Done<br> - -/* Sec Exp */ -<<= App.SecExp.Check.general()>> -<<if $secExpEnabled == 1>> - <br> <<include "SecExpBackwardCompatibility">> -<</if>> - -<<if ndef $masteredXP>> - <<set $masteredXP = 200>> -<</if>> - -<<if $clubAdsSpending > 0 && $club == 0>> - <<set $clubAdsSpending = 0>> -<</if>> -<<if $brothelAdsSpending > 0 && $brothel == 0>> - <<set $brothelAdsSpending = 0>> -<</if>> - -<<if ndef $missingTable>> - <<set $missingTable = {}>> -<</if>> -<<if ndef $showMissingSlaves>> - <<set $showMissingSlaves = false>> -<</if>> -<<if ndef $showMissingSlavesSD>> - <<set $showMissingSlavesSD = false>> -<</if>> - -<<if ndef $postSexCleanUp>> - <<set $postSexCleanUp = 1>> -<</if>> - -<<if def $individualCosts>> - <<unset $individualCosts>> -<</if>> -<<if def $sissy>> - <<unset $sissy>> -<</if>> -<<if ((ndef $DefaultBirthDestination) || ($DefaultBirthDestination === "") || ($DefaultBirthDestination == "anywhere"))>> - <<set $DefaultBirthDestination = "individually decided fates">> -<</if>> -<<if ndef $abbreviateHormoneBalance>> - <<set $abbreviateHormoneBalance = 2>> -<</if>> -<<if def $skillIncrease>> - <<unset $skillIncrease>> -<</if>> - -<<if $releaseID < 1043>> - <<for _rule range $defaultRules>> - <<if _rule.condition.excludeSpecialSlaves>> - <<set _rule.condition.specialSlaves = 0>> - <<else>> - <<set _rule.condition.specialSlaves = -1>> - <</if>> - <<run delete _rule.condition.excludeSpecialSlaves>> - <</for>> -<</if>> - -<<if $releaseID < 1045>> -/* unify cybermod & vanilla */ -/* limbs */ -<<if def $limbs>> - <<set $adjustProsthetics = []>> - <<for _l range $limbs>> - <<switch _l.type>> - <<case "simple">> - <<set $adjustProsthetics.push({id: "basicL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>> - <<case "sex">> - <<set $adjustProsthetics.push({id: "sexL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>> - <<case "beauty">> - <<set $adjustProsthetics.push({id: "beautyL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>> - <<case "combat">> - <<set $adjustProsthetics.push({id: "combatL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>> - <<case "cyber">> - <<set $adjustProsthetics.push({id: "cyberneticL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>> - <</switch>> - <</for>> - <<unset $limbs>> -<</if>> -<<if def $limbsCompleted>> - <<set $adjustProstheticsCompleted = $limbsCompleted>> - <<unset $limbsCompleted>> -<</if>> - -/* lab */ -<<if ndef $researchLab>> - <<set $researchLab = { - aiModule: 1, - tasks: [], - maxSpace: 0, - hired: 0, - menials: 0, - }>> -<</if>> -<<if ndef $researchLab.level>> - <<set $researchLab.level = 0>> - <<if def $researchLab.built>> - <<if $researchLab.built == "true">> - <<set $researchLab.level = 1>> - <<if $prostheticsUpgrade == 0>> - <<set $prostheticsUpgrade = 1>> - <</if>> - <</if>> - <<run delete $researchLab.built>> - <</if>> -<</if>> -<<if ndef $researchLab.speed>> - <<set $researchLab.speed = (($researchLab.hired * 3) + $researchLab.menials) * $researchLab.aiModule>> -<</if>> -<<if ndef $researchLab.tasks>> - <<set $researchLab.tasks = []>> -<</if>> -<<if def $researchLab.research>> - <<if $researchLab.research != "none">> - <<switch $researchLab.research>> - <<case "Basic prosthetics interface">> - <<set _id = "interfaceP1">> - <<case "Advanced prosthetics interface">> - <<set _id = "interfaceP2">> - <<case "Basic prosthetic limbs">> - <<set _id = "basicL">> - <<case "Advanced sex limbs">> - <<set _id = "sexL">> - <<case "Advanced beauty limbs">> - <<set _id = "beautyL">> - <<case "Advanced combat limbs">> - <<set _id = "combatL">> - <<case "Cybernetic limbs">> - <<set _id = "cyberneticL">> - <<case "Ocular implants">> - <<set _id = "ocular">> - <<case "Cochlear implants">> - <<set _id = "cochlear">> - <<case "Electrolarynx">> - <<set _id = "electrolarynx">> - <</switch>> - <<set $researchLab.tasks.push({type: "research", id: _id, workLeft: $researchLab.productionTime})>> - <</if>> - <<run delete $researchLab.research>> -<</if>> -<<if def $researchLab.manufacture>> - <<if $researchLab.manufacture != "none">> - <<switch $researchLab.manufacture>> - <<case "Basic prosthetics interface">> - <<set _id = "interfaceP1">> - <<case "Advanced prosthetics interface">> - <<set _id = "interfaceP2">> - <<case "Basic prosthetic limbs">> - <<set _id = "basicL">> - <<case "Advanced sex limbs">> - <<set _id = "sexL">> - <<case "Advanced beauty limbs">> - <<set _id = "beautyL">> - <<case "Advanced combat limbs">> - <<set _id = "combatL">> - <<case "Cybernetic limbs">> - <<set _id = "cyberneticL">> - <<case "Ocular implants">> - <<set _id = "ocular">> - <<case "Cochlear implants">> - <<set _id = "cochlear">> - <<case "Electrolarynx">> - <<set _id = "electrolarynx">> - <</switch>> - <<set $researchLab.tasks.push({type: "craft", id: _id, workLeft: $researchLab.productionTime})>> - <</if>> - <<run delete $researchLab.manufacture>> -<</if>> -<<if def $researchLab.productionTime>> - <<run delete $researchLab.productionTime>> -<</if>> - -/* stockpile */ -<<if ndef $prosthetics>> - <<if ndef $stockpile>> - <<set $prosthetics = {}>> - <<run setup.prostheticIDs.forEach(function(id) { - $prosthetics[id] = {amount: 0, research: 0}; - })>> - <<else>> - <<if ndef $stockpile.cochlearImplant>> - <<set $stockpile.cochlearImplant = 0>> - <</if>> - <<if ndef $stockpile.electrolarynx>> - <<set $stockpile.electrolarynx = 0>> - <</if>> - <<if ndef $stockpile.interfacePTail>> - <<set $stockpile.interfacePTail = 0>> - <</if>> - <<if ndef $stockpile.modPTail>> - <<set $stockpile.modPTail = 0>> - <</if>> - <<if ndef $stockpile.warPTail>> - <<set $stockpile.warPTail = 0>> - <</if>> - <<if ndef $stockpile.sexPTail>> - <<set $stockpile.sexPTail = 0>> - <</if>> - <<set $prosthetics = { - interfaceP1: {amount: $stockpile.basicPLimbInterface, research: $researchLab.basicPLimbInterface}, - interfaceP2: {amount: $stockpile.advPLimbInterface, research: $researchLab.advPLimbInterface}, - basicL: {amount: $stockpile.basicPLimb, research: $researchLab.basicPLimb}, - sexL: {amount: $stockpile.advSexPLimb, research: $researchLab.advSexPLimb}, - beautyL: {amount: $stockpile.advGracePLimb, research: $researchLab.advGracePLimb}, - combatL: {amount: $stockpile.advCombatPLimb, research: $researchLab.advCombatPLimb}, - cyberneticL: {amount: $stockpile.cyberneticPLimb, research: $researchLab.cyberneticPLimb}, - ocular: {amount: $stockpile.ocularImplant, research: $researchLab.ocularImplant}, - cochlear: {amount: $stockpile.cochlearImplant, research: $researchLab.cochlearImplant}, - electrolarynx: {amount: $stockpile.electrolarynx, research: $researchLab.electrolarynx}, - interfaceTail: {amount: $stockpile.interfacePTail, research: 0}, - modT: {amount: $stockpile.modPTail, research: 0}, - combatT: {amount: $stockpile.warPTail, research: 0}, - sexT: {amount: $stockpile.sexPTail, research: 0}, - erectile: {amount: $stockpile.erectileImplant, research: $researchLab.erectileImplant} - }>> - <<run delete $stockpile>> - <<run delete $researchLab.basicPLimbInterface>> - <<run delete $researchLab.advPLimbInterface>> - <<run delete $researchLab.basicPLimb>> - <<run delete $researchLab.advSexPLimb>> - <<run delete $researchLab.advGracePLimb>> - <<run delete $researchLab.advCombatPLimb>> - <<run delete $researchLab.cyberneticPLimb>> - <<run delete $researchLab.ocularImplant>> - <<run delete $researchLab.cochlearImplant>> - <<run delete $researchLab.electrolarynx>> - <<run delete $researchLab.erectileImplant>> - <</if>> -<</if>> -<<if def $cyberMod>> - <<unset $cyberMod>> -<</if>> -/* unify cybermod & vanilla finished*/ - -<<if def $buyArcologyDirection>> - <<run delete $buyArcologyDirection>> -<</if>> -<<if def $sellArcologyDirection>> - <<run delete $sellArcologyDirection>> -<</if>> -<<if def $transaction>> - <<run delete $transaction>> -<</if>> - -<<unset $SlaveSummaryFiler>> -<</if>> /* release 1044 */ - -<<if $releaseID < 1047>> - <<if $loliGrow > 0>> - <<set $loliGrow = 1>> - <<else>> - <<set $loliGrow = 0>> - <</if>> -<</if>> - -<<if def $activeArcology>> - <<unset $activeArcology>> -<</if>> - -<<set $HackingSkillMultiplier = upgradeMultiplier('hacking')>> -<<set $upgradeMultiplierArcology = upgradeMultiplier('engineering')>> -<<set $upgradeMultiplierMedicine = upgradeMultiplier('medicine')>> -<<set $upgradeMultiplierTrade = upgradeMultiplier('trading')>> - -<<if ndef $sideBarOptions>> - <<set $sideBarOptions = {compact:1, Cash:1, Upkeep:1, SexSlaveCount:1, roomPop:1, Rep:1, GSP:1, Authority:1, Security:1, Crime:1}>> -<</if>> -<<if ndef $sideBarOptions.roomPop>> - <<set $sideBarOptions.roomPop = 1>> -<</if>> -<<if ndef $sideBarOptions.compact>> <<set $sideBarOptions.compact = 1>> <</if>> - -<<set $JobIDArray = resetJobIDArray()>> - -<<if $arcologies[0].FSSubjugationist !== "unset" && !Number.isFinite($arcologies[0].FSSubjugationist)>> - <<set $arcologies[0].FSSubjugationist = 10>> - <br>Fixed NaN FS value for FSSubjugationist -<</if>> -<<if $arcologies[0].FSGenderRadicalist !== "unset" && !Number.isFinite($arcologies[0].FSGenderRadicalist)>> - <<set $arcologies[0].FSGenderRadicalist = 10>> - <br>Fixed NaN FS value for FSGenderRadicalist -<</if>> -<<if $arcologies[0].FSRestart !== "unset" && !Number.isFinite($arcologies[0].FSRestart)>> - <<set $arcologies[0].FSRestart = 10>> - <br>Fixed NaN FS value for FSRestart -<</if>> -<<if $arcologies[0].FSRepopulationFocus !== "unset" && !Number.isFinite($arcologies[0].FSRepopulationFocus)>> - <<set $arcologies[0].FSRepopulationFocus = 10>> - <br>Fixed NaN FS value for FSRepopulationFocus -<</if>> -<<if $arcologies[0].FSSupremacist !== "unset" && !Number.isFinite($arcologies[0].FSSupremacist)>> - <<set $arcologies[0].FSSupremacist = 10>> - <br>Fixed NaN FS value for FSSupremacist -<</if>> -<<if $arcologies[0].FSBodyPurist !== "unset" && !Number.isFinite($arcologies[0].FSBodyPurist)>> - <<set $arcologies[0].FSBodyPurist = 10>> - <br>Fixed NaN FS value for FSBodyPurist -<</if>> -<<if $arcologies[0].FSPaternalist !== "unset" && !Number.isFinite($arcologies[0].FSPaternalist)>> - <<set $arcologies[0].FSPaternalist = 10>> - <br>Fixed NaN FS value for FSPaternalist -<</if>> -<<if $arcologies[0].FSSlimnessEnthusiast !== "unset" && !Number.isFinite($arcologies[0].FSSlimnessEnthusiast)>> - <<set $arcologies[0].FSSlimnessEnthusiast = 10>> - <br>Fixed NaN FS value for FSSlimnessEnthusiast -<</if>> -<<if $arcologies[0].FSGenderFundamentalist !== "unset" && !Number.isFinite($arcologies[0].FSGenderFundamentalist)>> - <<set $arcologies[0].FSGenderFundamentalist = 10>> - <br>Fixed NaN FS value for FSGenderFundamentalist -<</if>> -<<if $arcologies[0].FSMaturityPreferentialist !== "unset" && !Number.isFinite($arcologies[0].FSMaturityPreferentialist)>> - <<set $arcologies[0].FSMaturityPreferentialist = 10>> - <br>Fixed NaN FS value for FSMaturityPreferentialist -<</if>> -<<if $arcologies[0].FSYouthPreferentialist !== "unset" && !Number.isFinite($arcologies[0].FSYouthPreferentialist)>> - <<set $arcologies[0].FSYouthPreferentialist = 10>> - <br>Fixed NaN FS value for FSYouthPreferentialist -<</if>> -<<if $arcologies[0].FSTransformationFetishist !== "unset" && !Number.isFinite($arcologies[0].FSTransformationFetishist)>> - <<set $arcologies[0].FSTransformationFetishist = 10>> - <br>Fixed NaN FS value for FSTransformationFetishist -<</if>> -<<if $arcologies[0].FSHedonisticDecadence !== "unset" && !Number.isFinite($arcologies[0].FSHedonisticDecadence)>> - <<set $arcologies[0].FSHedonisticDecadence = 10>> - <br>Fixed NaN FS value for FSHedonisticDecadence -<</if>> -<<if $arcologies[0].FSPhysicalIdealist !== "unset" && !Number.isFinite($arcologies[0].FSPhysicalIdealist)>> - <<set $arcologies[0].FSPhysicalIdealist = 10>> - <br>Fixed NaN FS value for FSPhysicalIdealist -<</if>> -<<if $arcologies[0].FSPastoralist !== "unset" && !Number.isFinite($arcologies[0].FSPastoralist)>> - <<set $arcologies[0].FSPastoralist = 10>> - <br>Fixed NaN FS value for FSPastoralist -<</if>> -<<if $arcologies[0].FSAssetExpansionist !== "unset" && !Number.isFinite($arcologies[0].FSAssetExpansionist)>> - <<set $arcologies[0].FSAssetExpansionist = 10>> - <br>Fixed NaN FS value for FSAssetExpansionist -<</if>> -<<if $arcologies[0].FSDegradationist !== "unset" && !Number.isFinite($arcologies[0].FSDegradationist)>> - <<set $arcologies[0].FSDegradationist = 10>> - <br>Fixed NaN FS value for FSDegradationist -<</if>> -<<if $arcologies[0].FSRomanRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSRomanRevivalist)>> - <<set $arcologies[0].FSRomanRevivalist = 10>> - <br>Fixed NaN FS value for FSRomanRevivalist -<</if>> -<<if $arcologies[0].FSChattelReligionist !== "unset" && !Number.isFinite($arcologies[0].FSChattelReligionist)>> - <<set $arcologies[0].FSChattelReligionist = 10>> - <br>Fixed NaN FS value for FSChattelReligionist -<</if>> -<<if $arcologies[0].FSChineseRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSChineseRevivalist)>> - <<set $arcologies[0].FSChineseRevivalist = 10>> - <br>Fixed NaN FS value for FSChineseRevivalist -<</if>> -<<if $arcologies[0].FSArabianRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSArabianRevivalist)>> - <<set $arcologies[0].FSArabianRevivalist = 10>> - <br>Fixed NaN FS value for FSArabianRevivalist -<</if>> -<<if $arcologies[0].FSEdoRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSEdoRevivalist)>> - <<set $arcologies[0].FSEdoRevivalist = 10>> - <br>Fixed NaN FS value for FSEdoRevivalist -<</if>> -<<if $arcologies[0].FSEgyptianRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSEgyptianRevivalist)>> - <<set $arcologies[0].FSEgyptianRevivalist = 10>> - <br>Fixed NaN FS value for FSEgyptianRevivalist -<</if>> -<<if $arcologies[0].FSAztecRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSAztecRevivalist)>> - <<set $arcologies[0].FSAztecRevivalist = 10>> - <br>Fixed NaN FS value for FSAztecRevivalist -<</if>> -<<if $arcologies[0].FSIntellectualDependency !== "unset" && !Number.isFinite($arcologies[0].FSIntellectualDependency)>> - <<set $arcologies[0].FSIntellectualDependency = 10>> - <br>Fixed NaN FS value for FSIntellectualDependency -<</if>> -<<if $arcologies[0].FSSlaveProfessionalism !== "unset" && !Number.isFinite($arcologies[0].FSSlaveProfessionalism)>> - <<set $arcologies[0].FSSlaveProfessionalism = 10>> - <br>Fixed NaN FS value for FSSlaveProfessionalism -<</if>> -<<if $arcologies[0].FSPetiteAdmiration !== "unset" && !Number.isFinite($arcologies[0].FSPetiteAdmiration)>> - <<set $arcologies[0].FSPetiteAdmiration = 10>> - <br>Fixed NaN FS value for FSPetiteAdmiration -<</if>> -<<if $arcologies[0].FSStatuesqueGlorification !== "unset" && !Number.isFinite($arcologies[0].FSStatuesqueGlorification)>> - <<set $arcologies[0].FSStatuesqueGlorification = 10>> - <br>Fixed NaN FS value for FSStatuesqueGlorification -<</if>> -<<run App.Corporate.Backcompat() >> - -<<if $sortSlavesBy === "income" || $sortSlavesBy === "lastWeeksCashIncome">> - <<set $sortSlavesBy = "weeklyIncome">> -<</if>> - -<<if ndef $tooltipsEnabled>> - <<set $tooltipsEnabled = 0>> -<</if>> - -<<set _newOrgans = []>> -<<run $organs.forEach(o => { - if (o.type === "eyes") { - _newOrgans.push({type: "leftEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID}); - _newOrgans.push({type: "rightEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID}); - } else { - _newOrgans.push(o); - } -})>> -<<set $organs = _newOrgans>> - -<<set _newOrgans = []>> -<<run $completedOrgans.forEach(o => { - if (o.type === "eyes") { - _newOrgans.push({type: "leftEye", ID: o.ID}); - _newOrgans.push({type: "rightEye", ID: o.ID}); - } else { - _newOrgans.push(o); - } -})>> -<<set $completedOrgans = _newOrgans>> - -<<if def $organsCompleted>> - <<unset $organsCompleted>> -<</if>> - -<<if ($PC.customTitle == "")>> - <<set $PC.customTitle = undefined, $PC.customTitleLisp = undefined>> -<</if>> - -<<if ndef $building>> - <<if def $sectors>> - <<run App.Update.sectorsToBuilding()>> - <<else>> - <<set $building = App.Arcology.defaultBuilding()>> - <</if>> -<</if>> - -<<if ndef $slavePanelStyle>> - <<set $slavePanelStyle = $lineSeparations>> -<</if>> - -/* leave this at the bottom of BC */ -<<if $releaseID < App.Version.release>> - <<set $releaseID = App.Version.release>> -<</if>> -/* reset NaNArray after BC is run */ -<<set $NaNArray = findNaN()>> diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index 590f069749ede3135875b8fd24446b12f77ec39b..5595f0200ba1f28fd460cc89c1710c4069079a29 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -799,14 +799,14 @@ $menialBioreactors -= _expirationBR>> <<if $arcologies[0].honeymoon > 0>> <<set _honeymoon = 10 * $arcologies[0].honeymoon>> <</if>> -<<set $oldVisitors = $visitors, +<<set _oldVisitors = $visitors, $visitors = Math.trunc((($arcologies[0].prosperity + _FSScore * 5 + _honeymoon) * _transportHub * _terrain * _crime) * ($localEcon / 100))>> <<if $visitors < 50>> <<set $visitors = normalRandInt(50, 2)>> <</if>> <<if isNaN($visitors)>> <br>@@.red;Visitors is NaN, report this issue!@@ - <<set $visitors = $oldVisitors>> + <<set $visitors = _oldVisitors>> <</if>> <br>@@.green;<<print $visitors>> traders and tourists@@ visited your arcology this week. diff --git a/src/uncategorized/initRules.tw b/src/uncategorized/initRules.tw index 6c38817e0aa0a4160d23a8d03ec92c8849d76c62..bf4b5a1d76aa497178465653052c1dbfb4ae8f8d 100644 --- a/src/uncategorized/initRules.tw +++ b/src/uncategorized/initRules.tw @@ -1,7 +1,6 @@ :: Init Rules <<silently>> -<<set $defaultRules = []>> <<set _activeRule = emptyDefaultRule()>> <<set _activeRule.name = "Obedient Slaves">> diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index 1bb4a6ff0ffc8adff0df75c3e7a1039d72d761cc..3ab4871a051ce622581ea41c32e0eb51bcc3d4c9 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -292,35 +292,35 @@ <<set _seed = random(1,10)>> <<if $week < 25>> <<if _seed > 4>> - <<set $weatherToday = $niceWeather.random()>> + <<set $weatherToday = App.Data.weather.nice.random()>> <<else>> - <<set $weatherToday = $lightWeather.random()>> + <<set $weatherToday = App.Data.weather.light.random()>> <</if>> <<elseif $week < 50>> <<if _seed > 4>> - <<set $weatherToday = $niceWeather.random()>> + <<set $weatherToday = App.Data.weather.nice.random()>> <<elseif _seed > 2>> - <<set $weatherToday = $lightWeather.random()>> + <<set $weatherToday = App.Data.weather.light.random()>> <<else>> - <<set $weatherToday = $heavyWeather.random()>> + <<set $weatherToday = App.Data.weather.heavy.random()>> <</if>> <<elseif $week < 75>> <<if _seed > 6>> - <<set $weatherToday = $niceWeather.random()>> + <<set $weatherToday = App.Data.weather.nice.random()>> <<elseif _seed > 3>> - <<set $weatherToday = $lightWeather.random()>> + <<set $weatherToday = App.Data.weather.light.random()>> <<else>> - <<set $weatherToday = $heavyWeather.random()>> + <<set $weatherToday = App.Data.weather.heavy.random()>> <</if>> <<else>> <<if _seed > 8>> - <<set $weatherToday = $niceWeather.random()>> + <<set $weatherToday = App.Data.weather.nice.random()>> <<elseif _seed > 6>> - <<set $weatherToday = $lightWeather.random()>> + <<set $weatherToday = App.Data.weather.light.random()>> <<elseif _seed > 2>> - <<set $weatherToday = $heavyWeather.random()>> + <<set $weatherToday = App.Data.weather.heavy.random()>> <<else>> - <<set $weatherToday = $extremeWeather.random()>> + <<set $weatherToday = App.Data.weather.extreme.random()>> <</if>> <</if>> diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw index 9eb5b09156549f54a51a2b3c846ca8ecd042a1d2..2b07f23227b2be8349786d65dd3ed0567737200c 100644 --- a/src/uncategorized/randomNonindividualEvent.tw +++ b/src/uncategorized/randomNonindividualEvent.tw @@ -777,7 +777,7 @@ <<set $events.push("RE relative recruiter")>> <<set $recruiterSlave = $recruiterSlave.ID>> <<break>> - <<else>> /* no matching slave object in the slavesOriginal array -- bug? */ + <<else>> /* no matching slave object in the array -- bug? */ <<set $i = $slaveIndices[$recruiterSlave.ID]>> <<set $slaves[$i].canRecruit = 0>> <<set $recruiterSlave = -1>> diff --git a/src/uncategorized/slaveMarkets.tw b/src/uncategorized/slaveMarkets.tw index 8aa8fd387d2bf7e62e6acd7563bc8c8482ae5523..219e66cc40a73d5316a0b1c80cad05cd5f092fa7 100644 --- a/src/uncategorized/slaveMarkets.tw +++ b/src/uncategorized/slaveMarkets.tw @@ -141,7 +141,7 @@ You visit the slave markets off the arcology plaza. It's always preferable to ex 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])>> <<if _opinion != 0>> - <<set _slaveCost -= Math.trunc(_slaveCost*$opinion*0.05)>> + <<set _slaveCost -= Math.trunc(_slaveCost*_opinion*0.05)>> <<if _opinion > 2>> Your cultural ties with '' $arcologies[$numArcology].name'' helps keep the price reasonable. <<elseif _opinion < -2>>