From f69294f52f4b1fc25c7ef8936391d9d3862f78c2 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Mon, 23 Nov 2020 16:20:14 -0500
Subject: [PATCH] convert nextWeek and its children to js

---
 src/endWeek/nextWeek/nextWeek.js      | 524 +++++++++++++++++++++
 src/endWeek/nextWeek/nextWeek.tw      |   5 +
 src/endWeek/nextWeek/weather.js       | 653 ++++++++++++++++++++++++++
 src/pregmod/widgets/pregmodWidgets.tw |  37 --
 src/uncategorized/nextWeek.tw         | 322 -------------
 src/uncategorized/weather.tw          | 653 --------------------------
 6 files changed, 1182 insertions(+), 1012 deletions(-)
 create mode 100644 src/endWeek/nextWeek/nextWeek.js
 create mode 100644 src/endWeek/nextWeek/nextWeek.tw
 create mode 100644 src/endWeek/nextWeek/weather.js
 delete mode 100644 src/uncategorized/nextWeek.tw
 delete mode 100644 src/uncategorized/weather.tw

diff --git a/src/endWeek/nextWeek/nextWeek.js b/src/endWeek/nextWeek/nextWeek.js
new file mode 100644
index 00000000000..e8477eb7804
--- /dev/null
+++ b/src/endWeek/nextWeek/nextWeek.js
@@ -0,0 +1,524 @@
+App.EndWeek.nextWeek = function() {
+	V.HackingSkillMultiplier = upgradeMultiplier('hacking');
+	V.upgradeMultiplierArcology = upgradeMultiplier('engineering');
+	V.upgradeMultiplierMedicine = upgradeMultiplier('medicine');
+	V.upgradeMultiplierTrade = upgradeMultiplier('trading');
+
+	if (V.rivalOwner !== 0) {
+		const _rival = V.arcologies.find(function(s) { return s.rival === 1; });
+		if (_rival) {
+			V.rivalOwner = _rival.prosperity;
+		}
+	}
+
+	if (V.playerAging !== 0) {
+		V.PC.birthWeek += 1;
+		if (V.PC.ovaryAge >= 47 && V.PC.ovaries === 1 && (V.PC.preg === -1 || V.PC.preg === 0)) {
+			V.PC.preg = -2;
+		}
+		if (V.PC.birthWeek >= 52) {
+			V.PC.birthWeek = 0;
+			if (V.playerAging === 2) {
+				V.PC.physicalAge++;
+				V.PC.actualAge++;
+				V.PC.visualAge++;
+				V.PC.ovaryAge++;
+				agePCEffects();
+			}
+		}
+	}
+	if (V.menstruation === 1) {
+	} else if (V.PC.geneticQuirks.superfetation === 2 && V.PC.womb.length > 0) {
+		if (V.PC.fertPeak === 0) {
+			V.PC.fertPeak = 1;
+		}
+		V.PC.fertPeak--;
+	} else if (V.PC.fertPeak !== 0) {
+		V.PC.fertPeak = 0;
+	}
+
+	// Adding random changes to the economy
+	if (V.difficultySwitch === 1) {
+		const _globalEconSeed = random(1, 100);
+		if (_globalEconSeed > 98) {
+			V.economy += 2;
+		} else if (_globalEconSeed > 85) {
+			V.economy += 1;
+		} else if (_globalEconSeed <= 2) {
+			V.economy -= 2;
+		} else if (_globalEconSeed <= 25 + V.econRate * 10) {
+			V.economy -= 1;
+		}
+		if (V.economy < 20) {
+			V.economy = 20;
+		}
+		const _localEconSeed = random(1, 100);
+		if (V.localEcon <= (V.economy + V.econAdvantage)) {
+			if (_localEconSeed > 95) {
+				V.localEcon += 2;
+			} else if (_localEconSeed > 50) {
+				V.localEcon += 1;
+			} else if (_localEconSeed <= 1) {
+				V.localEcon -= 2;
+			} else if (_localEconSeed <= 10) {
+				V.localEcon -= 1;
+			}
+		} else if (V.localEcon <= (V.economy + V.econAdvantage + 5)) {
+			if (_localEconSeed > 98) {
+				V.localEcon += 2;
+			} else if (_localEconSeed > 66) {
+				V.localEcon += 1;
+			} else if (_localEconSeed <= 2) {
+				V.localEcon -= 2;
+			} else if (_localEconSeed <= 33) {
+				V.localEcon -= 1;
+			}
+		} else if (_localEconSeed > 99) {
+			V.localEcon += 2;
+		} else if (_localEconSeed > 90) {
+			V.localEcon += 1;
+		} else if (_localEconSeed <= 5) {
+			V.localEcon -= 2;
+		} else if (_localEconSeed <= 50) {
+			V.localEcon -= 1;
+		}
+		if (V.localEcon < 20) {
+			V.localEcon = 20;
+		}
+
+		if (V.experimental.food === 1) {
+			if (V.localEcon > 100) {
+				V.farmyardFoodCost = Math.max(5 / (1 + (Math.trunc(1000 - 100000 / V.localEcon) / 10) / 100), 3.125);
+			} else if (V.localEcon === 100) {
+				V.farmyardFoodCost = 5;
+			} else {
+				V.farmyardFoodCost = Math.min(5 * (1 + 1.5 * Math.sqrt(Math.trunc(100000 / V.localEcon - 1000) / 10) / 100), 6.5);
+			}
+		}
+		V.foodCost = Math.trunc(2500 / V.localEcon);
+		V.drugsCost = Math.trunc(10000 / V.localEcon);
+		V.rulesCost = Math.trunc(10000 / V.localEcon);
+		V.modCost = Math.trunc(5000 / V.localEcon);
+		V.surgeryCost = Math.trunc(30000 / (V.localEcon * (V.PC.career === "medicine" ? 2 : 1)));
+	}
+
+	V.arcologies[0].prosperity = Math.clamp(V.arcologies[0].prosperity, 1, V.AProsperityCap);
+
+	V.averageTrust = 0;
+	V.averageDevotion = 0;
+	let _slavesContributing = 0, _OldHG = -1, _NewHG = -1;
+	if (V.studio === 1) {
+		for (const _genre of App.Porn.getAllGenres()) {
+			V.pornStars[_genre.fameVar].p1count = 0;
+		}
+	}
+	for (const slave of V.slaves) {
+		if (slave.hasOwnProperty("curBabies")) {
+			delete slave.curBabies;
+		}
+		ageSlaveWeeks(slave);
+		if (slave.indenture > 0) {
+			slave.indenture -= 1;
+		}
+		if (slave.induceLactation > 0) {
+			slave.induceLactation--;
+		}
+		if (slave.lactation === 1) {
+			if (slave.lactationDuration === 1) {
+				slave.boobsMilk = 10 * slave.lactationAdaptation;
+				slave.boobs += slave.boobsMilk;
+			}
+		}
+		if (V.menstruation === 1) {
+		} else if (slave.geneticQuirks.superfetation === 2 && slave.womb.length > 0) {
+			if (slave.fertPeak === 0) {
+				slave.fertPeak = 1;
+			}
+			slave.fertPeak--;
+		} else if (slave.fertPeak !== 0) {
+			slave.fertPeak = 0;
+		}
+		slave.trust = Number(slave.trust.toFixed(1));
+		slave.devotion = Number(slave.devotion.toFixed(1));
+		slave.oldDevotion = slave.devotion;
+		slave.oldTrust = slave.trust;
+		slave.minorInjury = 0;
+		if (slave.sentence > 1) {
+			slave.sentence -= 1;
+		} else if (slave.sentence === 1) {
+			removeJob(slave, slave.assignment);
+		}
+		if (slave.weekAcquired < 0) {
+			slave.weekAcquired = 0;
+		}
+		if (slave.relationship === 0) {
+			slave.relationshipTarget = 0;
+		}
+		if (slave.rivalry === 0) {
+			slave.rivalryTarget = 0;
+		} else if (slave.rivalry < 0) {
+			slave.rivalryTarget = 0;
+			slave.rivalry = 0;
+		}
+		if (slave.vagina < 0) {
+			slave.vaginalAccessory = "none";
+			slave.chastityVagina = 0;
+			slave.vaginaPiercing = 0;
+		}
+		if (slave.dick === 0) {
+			slave.dickAccessory = "none";
+			slave.chastityPenis = 0;
+			slave.dickTat = 0;
+			slave.dickPiercing = 0;
+		}
+		/* I don't trust these */
+		if (!hasAnyArms(slave)) {
+			slave.armsTat = 0;
+			slave.nails = 0;
+			slave.armAccessory = "none";
+		}
+		if (!hasAnyLegs(slave)) {
+			slave.heels = 0;
+			slave.shoes = "none";
+			slave.legAccessory = "none";
+			slave.legsTat = 0;
+		}
+		/* irregular leptin production weight gain/loss setter */
+		if (slave.geneticQuirks.wGain === 2 && slave.geneticQuirks.wLoss === 2) {
+			slave.weightDirection = either(-1, 1);
+		} else if (slave.geneticQuirks.wGain === 2) {
+			slave.weightDirection = 1;
+		} else if (slave.geneticQuirks.wLoss === 2) {
+			slave.weightDirection = -1;
+		} else {
+			slave.weightDirection = 0;
+		}
+		/* Fix some possible floating point rounding errors, and bring precision to one decimal place. */
+		SlaveStatClamp(slave);
+		slave.energy = Math.clamp(slave.energy.toFixed(1), 0, 100);
+		slave.attrXY = Math.clamp(slave.attrXY.toFixed(1), 0, 100);
+		slave.attrXX = Math.clamp(slave.attrXX.toFixed(1), 0, 100);
+		if (slave.fetishStrength > 95) {
+			slave.fetishStrength = 100;
+		} else {
+			slave.fetishStrength = Math.clamp(slave.fetishStrength.toFixed(1), 0, 100);
+		}
+		slave.weight = Math.clamp(slave.weight.toFixed(1), -100, 200);
+		slave.butt = Number(slave.butt.toFixed(1));
+		slave.muscles = Math.clamp(slave.muscles.toFixed(1), -100, 100);
+		slave.face = Math.clamp(slave.face.toFixed(1), -100, 100);
+		slave.lips = Math.clamp(slave.lips.toFixed(1), 0, 100);
+		slave.skill.oral = Math.clamp(slave.skill.oral.toFixed(1), 0, 100);
+		slave.skill.vaginal = Math.clamp(slave.skill.vaginal.toFixed(1), 0, 100);
+		slave.skill.anal = Math.clamp(slave.skill.anal.toFixed(1), 0, 100);
+		slave.skill.whoring = Math.clamp(slave.skill.whoring.toFixed(1), 0, 100);
+		slave.skill.entertainment = Math.clamp(slave.skill.entertainment.toFixed(1), 0, 100);
+		slave.lactationAdaptation = Math.clamp(slave.lactationAdaptation.toFixed(1), 0, 100);
+		slave.intelligenceImplant = Number(slave.intelligenceImplant.toFixed(1), 0, 30);
+		slave.prematureBirth = 0;
+		if (V.HGSuiteEquality === 1 && V.HeadGirlID !== 0 && slave.devotion > 50) {
+			if (slave.assignment === "live with your Head Girl") {
+				_NewHG = _i;
+			} else if ((slave.ID === V.HeadGirlID)) {
+				_OldHG = _i;
+			}
+		}
+		/* AVERAGE VALUES UPDATE */
+		if (assignmentVisible(slave)) {
+			V.averageTrust += slave.trust;
+			V.averageDevotion += slave.devotion;
+			_slavesContributing++;
+		} else if ((slave.assignment !== "be confined in the cellblock") && (slave.assignment !== "be confined in the arcade") && ((slave.assignment !== "work in the dairy") || (V.dairyRestraintsSetting < 2)) && slave.assignment !== "labor in the production line") {
+			V.averageTrust += slave.trust * 0.5;
+			V.averageDevotion += slave.devotion * 0.5;
+			_slavesContributing += 0.5;
+		}
+		if (V.studio === 1) {
+			const _activeGenres = App.Porn.getAllGenres().filter((g) => slave.porn.fame[g.fameVar] > 0);
+			for (const _genre of _activeGenres) {
+				V.pornStars[_genre.fameVar].p1count++;
+			}
+		}
+		if (slave.choosesOwnAssignment > 0) {
+			assignJob(slave, "choose her own job");
+		}
+	}
+	if (_slavesContributing !== 0) {
+		V.averageTrust = V.averageTrust / _slavesContributing;
+		V.averageDevotion = V.averageDevotion / _slavesContributing;
+	}
+	V.enduringTrust = (V.averageTrust + (V.enduringTrust * 3)) / 4;
+	V.enduringDevotion = (V.averageDevotion + (V.enduringDevotion * 3)) / 4;
+
+	if (_OldHG !== -1 && _NewHG !== -1) {
+		const _oldTimeInGrade = V.HGTimeInGrade;
+		/* preserve time in grade during HG swaps */
+		if (V.personalAttention === "HG") {
+			/* keep removeJob from clearing PC HG supporting. */
+			_keepHelpingHG = 1;
+		}
+		removeJob(V.slaves[_NewHG], "live with your Head Girl");
+		assignJob(V.slaves[_OldHG], "live with your Head Girl");
+		assignJob(V.slaves[_NewHG], "be your Head Girl");
+		V.slaves[_NewHG].diet = "healthy";
+		V.HGTimeInGrade = _oldTimeInGrade;
+		if (_keepHelpingHG) {
+			V.personalAttention = "HG";
+		}
+	}
+
+	const _toSearch = V.PC.refreshment.toLowerCase();
+	if (_toSearch.indexOf("fertility") !== -1) {
+		V.PC.forcedFertDrugs = 1;
+	} else if (V.PC.forcedFertDrugs > 0) {
+		V.PC.forcedFertDrugs--;
+	}
+
+	if (V.FCTV.receiver > 0) {
+		if (V.FCTV.pcViewership.frequency !== -1) {
+			V.FCTV.pcViewership.count++;
+			if (V.FCTV.pcViewership.count >= V.FCTV.pcViewership.frequency) {
+				V.FCTV.pcViewership.count = 0;
+			}
+		}
+	}
+
+	V.week++;
+
+	if (V.playerSurgery > 0) {
+		V.playerSurgery--;
+	}
+
+	if (V.secExpEnabled > 0) {
+		if (V.foughtThisWeek === 1) {
+			V.foughtThisWeek = 0;
+		}
+
+		if (V.SecExp.buildings.riotCenter && V.SecExp.buildings.riotCenter.sentUnitCooldown > 0) {
+			V.SecExp.buildings.riotCenter.sentUnitCooldown--;
+		}
+		if (V.SecExp.proclamation.cooldown > 0) {
+			V.SecExp.proclamation.cooldown--;
+		}
+	}
+
+	App.EndWeek.weather();
+
+	if (V.boomerangWeeks) {
+		V.boomerangWeeks++;
+	} else {
+		V.boomerangSlave = 0;
+	}
+	if (V.traitorWeeks) {
+		V.traitorWeeks++;
+	}
+
+	V.thisWeeksFSWares = V.merchantFSWares.randomMany(2);
+	V.thisWeeksIllegalWares = V.merchantIllegalWares.randomMany(1);
+	V.prisonCircuitIndex++;
+	if (V.prisonCircuitIndex >= V.prisonCircuit.length) {
+		V.prisonCircuitIndex = 0;
+	}
+
+	V.coursed = 0;
+	V.prestigeAuctioned = 0;
+	V.eliteAuctioned = 0;
+	V.shelterSlave = 0;
+	V.shelterSlaveBought = 0;
+	V.slaveMarketLimit = 10 + (V.rep / 1000);
+	V.slavesSeen = 0;
+	V.slavesSacrificedThisWeek = 0;
+
+	if (V.pit) {
+		V.pit.fought = false;
+	}
+
+	/* These are variables that either should be made into _temp vars or should be Zeroed out once done with them instead of here. This can also interfere with debugging or hide NaN's as zeroing things out would clear a NaN. Also could stop from NaN's getting worse? */
+	/* Integer and float variables. No real need to zero them out but doesn't hurt to have them in a known state, though this might mask variables NaN'ing out. Takes up the least amount of Memory besides a "" string. */
+	V.i = 0;
+	V.j = 0;
+	V.averageProsperity = 0;
+	V.motherSlave = -1;
+	V.daughterSlave = -1;
+	V.devMother = -1;
+	V.devDaughter = -1;
+	V.alphaTwin = -1;
+	V.betaTwin = -1;
+	V.youngerSister = -1;
+	V.olderSister = -1;
+	V.boobsID = -1;
+	V.boobsInterestTargetID = -1;
+	V.buttslutID = -1;
+	V.buttslutInterestTargetID = -1;
+	V.cumslutID = -1;
+	V.cumslutInterestTargetID = -1;
+	V.humiliationID = -1;
+	V.humiliationInterestTargetID = -1;
+	V.sadistID = -1;
+	V.sadistInterestTargetID = -1;
+	V.masochistID = -1;
+	V.masochistInterestTargetID = -1;
+	V.domID = -1;
+	V.dominantInterestTargetID = -1;
+	V.subID = -1;
+	V.submissiveInterestTargetID = -1;
+	V.shelterGirlID = -1;
+
+	/* Other arrays */
+	V.events = [];
+	V.RESSevent = [];
+	V.RESSTRevent = [];
+	V.RETSevent = [];
+	V.RECIevent = [];
+	V.RecETSevent = [];
+	V.REFIevent = [];
+	V.REFSevent = [];
+	V.PESSevent = [];
+	V.PETSevent = [];
+	V.FSAcquisitionEvents = [];
+	V.FSNonconformistEvents = [];
+	V.REAnalCowgirlSubIDs = [];
+	V.REButtholeCheckinIDs = [];
+	V.recruit = [];
+	V.RETasteTestSubIDs = [];
+	V.rebelSlaves = [];
+	V.REBoobCollisionSubIDs = [];
+	V.REIfYouEnjoyItSubIDs = [];
+	V.RESadisticDescriptionSubIDs = [];
+	V.REShowerForceSubIDs = [];
+	V.RECockmilkInterceptionIDs = [];
+	V.REInterslaveBeggingIDs = [];
+	V.eligibleSlaves = [];
+
+	/* Slave Objects using 0 instead of null. Second most memory eaten up. */
+	V.activeSlave = 0;
+	V.eventSlave = 0;
+	V.subSlave = 0;
+	V.milkTap = 0;
+	V.relation = 0;
+	V.relative = 0;
+	V.relative2 = 0;
+
+	/* Slave Objects that never get zeroed so null them here. Second most memory eaten up. */
+	V.beforeGingering = null;
+
+	/* Strings Memory varies. */
+	V.buyer = "";
+	V.desc = "";
+	V.event = "";
+	V.goto = "";
+	V.malefactor = "";
+	/* Done with zeroing out, what should be for the most part Temps */
+
+	if (V.autosave !== 0) {
+		Save.autosave.save("Week Start Autosave");
+	}
+
+	if (V.SF.Toggle && V.SF.FS.Tension > 100) {
+		if (V.rep > 17500) {
+			V.rep = 17500;
+		}
+	}
+	V.NaNArray = findNaN();
+
+	function agePCEffects() {
+		switch (V.PC.actualAge) {
+			case 3:
+				V.AgeTrainingLowerBoundPC = 18;
+				V.AgeTrainingUpperBoundPC = 20;
+				V.AgeEffectOnTrainerPricingPC = .1;
+				V.AgeEffectOnTrainerEffectivenessPC = .1;
+				break;
+			case 4:
+				V.AgeTrainingLowerBoundPC = 17;
+				V.AgeTrainingUpperBoundPC = 19;
+				V.AgeEffectOnTrainerPricingPC = .15;
+				V.AgeEffectOnTrainerEffectivenessPC = .15;
+				break;
+			case 5:
+				V.AgeTrainingLowerBoundPC = 16;
+				V.AgeTrainingUpperBoundPC = 18;
+				V.AgeEffectOnTrainerPricingPC = .35;
+				V.AgeEffectOnTrainerEffectivenessPC = .35;
+				break;
+			case 6:
+				V.AgeTrainingLowerBoundPC = 15;
+				V.AgeTrainingUpperBoundPC = 17;
+				V.AgeEffectOnTrainerPricingPC = .55;
+				V.AgeEffectOnTrainerEffectivenessPC = .55;
+				break;
+			case 7:
+				V.AgeTrainingLowerBoundPC = 14;
+				V.AgeTrainingUpperBoundPC = 16;
+				V.AgeEffectOnTrainerPricingPC = .75;
+				V.AgeEffectOnTrainerEffectivenessPC = .75;
+				break;
+			case 8:
+				V.AgeTrainingLowerBoundPC = 13;
+				V.AgeTrainingUpperBoundPC = 15;
+				V.AgeEffectOnTrainerPricingPC = .85;
+				V.AgeEffectOnTrainerEffectivenessPC = .85;
+				break;
+			case 9:
+				V.AgeTrainingLowerBoundPC = 12;
+				V.AgeTrainingUpperBoundPC = 14;
+				V.AgeEffectOnTrainerPricingPC = 1.00;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.00;
+				break;
+			case 10:
+				V.AgeTrainingLowerBoundPC = 11;
+				V.AgeTrainingUpperBoundPC = 13;
+				V.AgeEffectOnTrainerPricingPC = 1.0005;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.0005;
+				break;
+			case 11:
+				V.AgeTrainingLowerBoundPC = 10;
+				V.AgeTrainingUpperBoundPC = 12;
+				V.AgeEffectOnTrainerPricingPC = 1.01;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.01;
+				break;
+			case 12:
+				V.AgeTrainingLowerBoundPC = 9;
+				V.AgeTrainingUpperBoundPC = 11;
+				V.AgeEffectOnTrainerPricingPC = 1.02;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.02;
+				break;
+			case 13:
+				V.AgeTrainingLowerBoundPC = 8;
+				V.AgeTrainingUpperBoundPC = 10;
+				V.AgeEffectOnTrainerPricingPC = 1.03;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.03;
+				break;
+			case 14:
+				V.AgeTrainingLowerBoundPC = 7;
+				V.AgeTrainingUpperBoundPC = 9;
+				V.AgeEffectOnTrainerPricingPC = 1.04;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.04;
+				break;
+			case 15:
+				V.AgeTrainingLowerBoundPC = 6;
+				V.AgeTrainingUpperBoundPC = 8;
+				V.AgeEffectOnTrainerPricingPC = 1.05;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.05;
+				break;
+			case 16:
+				V.AgeTrainingLowerBoundPC = 5;
+				V.AgeTrainingUpperBoundPC = 7;
+				V.AgeEffectOnTrainerPricingPC = 1.06;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.06;
+				break;
+			case 17:
+				V.AgeTrainingLowerBoundPC = 4;
+				V.AgeTrainingUpperBoundPC = 6;
+				V.AgeEffectOnTrainerPricingPC = 1.07;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.07;
+				break;
+			case 18:
+				V.AgeTrainingLowerBoundPC = 3;
+				V.AgeTrainingUpperBoundPC = 5;
+				V.AgeEffectOnTrainerPricingPC = 1.08;
+				V.AgeEffectOnTrainerEffectivenessPC = 1.08;
+				break;
+		}
+	}
+};
diff --git a/src/endWeek/nextWeek/nextWeek.tw b/src/endWeek/nextWeek/nextWeek.tw
new file mode 100644
index 00000000000..0502b990daf
--- /dev/null
+++ b/src/endWeek/nextWeek/nextWeek.tw
@@ -0,0 +1,5 @@
+:: Next Week [nobr]
+
+<<run App.EndWeek.nextWeek()>>
+
+<<goto "Main">>
diff --git a/src/endWeek/nextWeek/weather.js b/src/endWeek/nextWeek/weather.js
new file mode 100644
index 00000000000..84f5f286a17
--- /dev/null
+++ b/src/endWeek/nextWeek/weather.js
@@ -0,0 +1,653 @@
+App.EndWeek.weather = function() {
+	if (V.weatherRemaining === 0) {
+		if (V.continent === "Africa") {
+			V.weatherType = either(1, 1, 1, 1, 1, 2, 3, 4, 4, 5, 6, 6);
+		} else if (V.continent === "Asia") {
+			V.weatherType = either(1, 2, 2, 2, 2, 3, 4, 4, 5, 6);
+		} else if (V.continent === "Australia") {
+			V.weatherType = either(1, 1, 1, 2, 2, 2, 3, 4, 4, 5, 6);
+		} else if (V.continent === "Western Europe") {
+			V.weatherType = either(1, 2, 2, 3, 4, 5, 5, 6);
+		} else if (V.continent === "Central Europe") {
+			V.weatherType = either(1, 2, 3, 4, 5, 5, 5, 6);
+		} else if (V.continent === "Scandinavia") {
+			V.weatherType = either(1, 2, 3, 4, 5, 5, 5, 5, 5, 6);
+		} else if (V.continent === "Eastern Europe") {
+			V.weatherType = either(1, 2, 3, 4, 4, 5, 5, 5, 6);
+		} else if (V.continent === "Southern Europe") {
+			V.weatherType = either(1, 1, 1, 2, 2, 3, 4, 4, 5, 6);
+		} else if (V.continent === "Brazil") {
+			V.weatherType = either(1, 1, 2, 3, 3, 3, 4, 4, 5, 6);
+		} else if (V.continent === "Japan") {
+			V.weatherType = either(1, 2, 2, 2, 3, 4, 4, 5, 6, 6);
+		} else if (V.continent === "Middle East") {
+			V.weatherType = either(1, 1, 1, 1, 1, 2, 3, 4, 4, 5, 6);
+		} else if (V.continent === "North America") {
+			V.weatherType = either(1, 2, 3, 3, 4, 5, 6, 6, 6);
+		} else if (V.continent === "South America") {
+			V.weatherType = either(1, 1, 2, 3, 3, 3, 4, 4, 5, 6);
+		} else if (V.terrain === "oceanic") {
+			V.weatherType = either(1, 2, 2, 2, 2, 2, 3, 4, 5, 6);
+		}
+		V.weatherRemaining = random(3, 6);
+	}
+
+	if (V.weatherLastWeek === 0) {
+		V.weatherLastWeek = 1;
+	}
+
+	const _seed = random(1, 10);
+	if (V.weatherType === 1) {
+		if (V.week < 25) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 1) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 2) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 3) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 1) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 2) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 3) {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 3) {
+			if (_seed > 5) {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 1) {
+			if (_seed > 8) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 2) {
+			if (_seed > 7) {
+				V.weatherToday = App.Data.weather.hotnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 5) {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 3) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.hotlight.random();
+				V.weatherLastWeek = 2;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.hotextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 4) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.hotheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.hotextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		}
+	} else if (V.weatherType === 2) {
+		if (V.week < 25) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 1) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 2) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 3) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 1) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 2) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 3) {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 3) {
+			if (_seed > 5) {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 1) {
+			if (_seed > 8) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 2) {
+			if (_seed > 7) {
+				V.weatherToday = App.Data.weather.windynice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 5) {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 3) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.windylight.random();
+				V.weatherLastWeek = 2;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.windyextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 4) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.windyheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.windyextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		}
+	} else if (V.weatherType === 3) {
+		if (V.week < 25) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 1) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 2) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 3) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 1) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 2) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 3) {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 3) {
+			if (_seed > 5) {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 1) {
+			if (_seed > 8) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 2) {
+			if (_seed > 7) {
+				V.weatherToday = App.Data.weather.smokynice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 5) {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 3) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.smokylight.random();
+				V.weatherLastWeek = 2;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.smokyextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 4) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.smokyheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.smokyextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		}
+	} else if (V.weatherType === 4) {
+		if (V.week < 25) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 1) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 2) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 3) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 1) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 2) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 3) {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 3) {
+			if (_seed > 5) {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 1) {
+			if (_seed > 8) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 2) {
+			if (_seed > 7) {
+				V.weatherToday = App.Data.weather.toxicnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 5) {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 3) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.toxiclight.random();
+				V.weatherLastWeek = 2;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.toxicextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 4) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.toxicheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.toxicextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		}
+	} else if (V.weatherType === 5) {
+		if (V.week < 25) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 1) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 2) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 3) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 1) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 2) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 3) {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 3) {
+			if (_seed > 5) {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 1) {
+			if (_seed > 8) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 2) {
+			if (_seed > 7) {
+				V.weatherToday = App.Data.weather.coldnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 5) {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 3) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.coldlight.random();
+				V.weatherLastWeek = 2;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.coldextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 4) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.coldheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.coldextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		}
+	} else if (V.weatherType === 6) {
+		if (V.week < 25) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 1) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 2) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 50 && V.weatherLastWeek === 3) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 1) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 2) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 3) {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week < 75 && V.weatherLastWeek === 3) {
+			if (_seed > 5) {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 1) {
+			if (_seed > 8) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 2) {
+			if (_seed > 7) {
+				V.weatherToday = App.Data.weather.tectonicnice.random();
+				V.weatherLastWeek = 1;
+			} else if (_seed > 5) {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 3) {
+			if (_seed > 6) {
+				V.weatherToday = App.Data.weather.tectoniclight.random();
+				V.weatherLastWeek = 2;
+			} else if (_seed > 2) {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		} else if (V.week > 75 && V.weatherLastWeek === 4) {
+			if (_seed > 4) {
+				V.weatherToday = App.Data.weather.tectonicheavy.random();
+				V.weatherLastWeek = 3;
+			} else {
+				V.weatherToday = App.Data.weather.tectonicextreme.random();
+				V.weatherLastWeek = 4;
+			}
+		}
+	}
+};
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 2fba417568b..afe4adaf368 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -145,40 +145,3 @@
 	<<set _WifeALisp = lispReplace(_WifeA)>>
 	<<set _WivesALisp = lispReplace(_WivesA)>>
 <</widget>>
-
-<<widget "AgePCEffects">>
-<<switch $PC.actualAge>>
-<<case 3>>
-	<<set $AgeTrainingLowerBoundPC = 18, $AgeTrainingUpperBoundPC = 20, $AgeEffectOnTrainerPricingPC = .1, $AgeEffectOnTrainerEffectivenessPC = .1>>
-<<case 4>>
-	<<set $AgeTrainingLowerBoundPC = 17, $AgeTrainingUpperBoundPC = 19, $AgeEffectOnTrainerPricingPC = .15, $AgeEffectOnTrainerEffectivenessPC = .15>>
-<<case 5>>
-	<<set $AgeTrainingLowerBoundPC = 16, $AgeTrainingUpperBoundPC = 18, $AgeEffectOnTrainerPricingPC = .35, $AgeEffectOnTrainerEffectivenessPC = .35>>
-<<case 6>>
-	<<set $AgeTrainingLowerBoundPC = 15, $AgeTrainingUpperBoundPC = 17, $AgeEffectOnTrainerPricingPC = .55, $AgeEffectOnTrainerEffectivenessPC = .55>>
-<<case 7>>
-	<<set $AgeTrainingLowerBoundPC = 14, $AgeTrainingUpperBoundPC = 16, $AgeEffectOnTrainerPricingPC = .75, $AgeEffectOnTrainerEffectivenessPC = .75>>
-<<case 8>>
-	<<set $AgeTrainingLowerBoundPC = 13, $AgeTrainingUpperBoundPC = 15, $AgeEffectOnTrainerPricingPC = .85, $AgeEffectOnTrainerEffectivenessPC = .85>>
-<<case 9>>
-	<<set $AgeTrainingLowerBoundPC = 12, $AgeTrainingUpperBoundPC = 14, $AgeEffectOnTrainerPricingPC = 1.00, $AgeEffectOnTrainerEffectivenessPC = 1.00>>
-<<case 10>>
-	<<set $AgeTrainingLowerBoundPC = 11, $AgeTrainingUpperBoundPC = 13, $AgeEffectOnTrainerPricingPC = 1.0005, $AgeEffectOnTrainerEffectivenessPC = 1.0005>>
-<<case 11>>
-	<<set $AgeTrainingLowerBoundPC = 10, $AgeTrainingUpperBoundPC = 12, $AgeEffectOnTrainerPricingPC = 1.01, $AgeEffectOnTrainerEffectivenessPC = 1.01>>
-<<case 12>>
-	<<set $AgeTrainingLowerBoundPC = 9, $AgeTrainingUpperBoundPC = 11, $AgeEffectOnTrainerPricingPC = 1.02, $AgeEffectOnTrainerEffectivenessPC = 1.02>>
-<<case 13>>
-	<<set $AgeTrainingLowerBoundPC = 8, $AgeTrainingUpperBoundPC = 10, $AgeEffectOnTrainerPricingPC = 1.03, $AgeEffectOnTrainerEffectivenessPC = 1.03>>
-<<case 14>>
-	<<set $AgeTrainingLowerBoundPC = 7, $AgeTrainingUpperBoundPC = 9, $AgeEffectOnTrainerPricingPC = 1.04, $AgeEffectOnTrainerEffectivenessPC = 1.04>>
-<<case 15>>
-	<<set $AgeTrainingLowerBoundPC = 6, $AgeTrainingUpperBoundPC = 8, $AgeEffectOnTrainerPricingPC = 1.05, $AgeEffectOnTrainerEffectivenessPC = 1.05>>
-<<case 16>>
-	<<set $AgeTrainingLowerBoundPC = 5, $AgeTrainingUpperBoundPC = 7, $AgeEffectOnTrainerPricingPC = 1.06, $AgeEffectOnTrainerEffectivenessPC = 1.06>>
-<<case 17>>
-	<<set $AgeTrainingLowerBoundPC = 4, $AgeTrainingUpperBoundPC = 6, $AgeEffectOnTrainerPricingPC = 1.07, $AgeEffectOnTrainerEffectivenessPC = 1.07>>
-<<case 18>>
-	<<set $AgeTrainingLowerBoundPC = 3, $AgeTrainingUpperBoundPC = 5, $AgeEffectOnTrainerPricingPC = 1.08, $AgeEffectOnTrainerEffectivenessPC = 1.08>>
-<</switch>>
-<</widget>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
deleted file mode 100644
index 4eed4de160a..00000000000
--- a/src/uncategorized/nextWeek.tw
+++ /dev/null
@@ -1,322 +0,0 @@
-:: Next Week [nobr]
-
-<<set $HackingSkillMultiplier = upgradeMultiplier('hacking')>>
-<<set $upgradeMultiplierArcology = upgradeMultiplier('engineering')>>
-<<set $upgradeMultiplierMedicine = upgradeMultiplier('medicine')>>
-<<set $upgradeMultiplierTrade = upgradeMultiplier('trading')>>
-
-<<if $rivalOwner != 0>>
-	<<set _rival = $arcologies.find(function(s) { return s.rival == 1; })>>
-	<<if def _rival>>
-		<<set $rivalOwner = _rival.prosperity>>
-	<</if>>
-<</if>>
-
-<<if $playerAging != 0>>
-	<<set $PC.birthWeek += 1>>
-	<<if $PC.ovaryAge >= 47 && $PC.ovaries == 1 && ($PC.preg == -1 || $PC.preg == 0)>>
-		<<set $PC.preg = -2>>
-	<</if>>
-	<<if $PC.birthWeek >= 52>>
-		<<set $PC.birthWeek = 0>>
-		<<if $playerAging == 2>>
-			<<set $PC.physicalAge++, $PC.actualAge++, $PC.visualAge++, $PC.ovaryAge++>>
-			<<AgePCEffects>>
-		<</if>>
-	<</if>>
-<</if>>
-<<if $menstruation == 1>>
-<<elseif $PC.geneticQuirks.superfetation == 2 && $PC.womb.length > 0>>
-	<<if $PC.fertPeak == 0>>
-		<<set $PC.fertPeak = 1>>
-	<</if>>
-	<<set $PC.fertPeak-->>
-<<elseif $PC.fertPeak != 0>>
-	<<set $PC.fertPeak = 0>>
-<</if>>
-
-/*Adding random changes to the economy*/
-<<if $difficultySwitch == 1>>
-	<<set _globalEconSeed = random(1,100)>>
-	<<if _globalEconSeed > 98>>
-		<<set $economy += 2>>
-	<<elseif _globalEconSeed > 85>>
-		<<set $economy += 1>>
-	<<elseif _globalEconSeed <= 2>>
-		<<set $economy -= 2>>
-	<<elseif _globalEconSeed <= 25 + $econRate * 10>>
-		<<set $economy -= 1>>
-	<</if>>
-	<<if $economy < 20>>
-		<<set $economy = 20>>
-	<</if>>
-	<<set _localEconSeed = random(1,100)>>
-	<<if $localEcon <= ($economy + $econAdvantage)>>
-		<<if _localEconSeed > 95>>
-			<<set $localEcon += 2>>
-		<<elseif _localEconSeed > 50>>
-			<<set $localEcon += 1>>
-		<<elseif _localEconSeed <= 1>>
-			<<set $localEcon -= 2>>
-		<<elseif _localEconSeed <= 10>>
-			<<set $localEcon -= 1>>
-		<</if>>
-	<<elseif $localEcon <= ($economy + $econAdvantage + 5)>>
-		<<if _localEconSeed > 98>>
-			<<set $localEcon += 2>>
-		<<elseif _localEconSeed > 66>>
-			<<set $localEcon += 1>>
-		<<elseif _localEconSeed <= 2>>
-			<<set $localEcon -= 2>>
-		<<elseif _localEconSeed <= 33>>
-			<<set $localEcon -= 1>>
-		<</if>>
-	<<elseif _localEconSeed > 99>>
-		<<set $localEcon += 2>>
-	<<elseif _localEconSeed > 90>>
-		<<set $localEcon += 1>>
-	<<elseif _localEconSeed <= 5>>
-		<<set $localEcon -= 2>>
-	<<elseif _localEconSeed <= 50>>
-		<<set $localEcon -= 1>>
-	<</if>>
-	<<if $localEcon < 20>>
-		<<set $localEcon = 20>>
-	<</if>>
-
-	<<if $experimental.food == 1>>
-		<<if $localEcon > 100>>
-			<<set $farmyardFoodCost = Math.max(5 / (1 + (Math.trunc(1000-100000/$localEcon)/10)/100), 3.125)>>
-		<<elseif $localEcon == 100>>
-			<<set $farmyardFoodCost = 5 >>
-		<<else>>
-			<<set $farmyardFoodCost = Math.min(5 * (1 + 1.5 * Math.sqrt(Math.trunc(100000/$localEcon-1000)/10)/100), 6.5)>>
-		<</if>>
-	<</if>>
-	<<set $foodCost = Math.trunc(2500/$localEcon)>>
-	<<set $drugsCost = Math.trunc(10000/$localEcon)>>
-	<<set $rulesCost = Math.trunc(10000/$localEcon)>>
-	<<set $modCost = Math.trunc(5000/$localEcon)>>
-	<<set $surgeryCost = Math.trunc(30000/($localEcon * ($PC.career === "medicine" ? 2 : 1)))>>
-<</if>>
-
-<<set $arcologies[0].prosperity = Math.clamp($arcologies[0].prosperity, 1, $AProsperityCap)>>
-
-<<set $averageTrust = 0, $averageDevotion = 0, _slavesContributing = 0, _OldHG = -1, _NewHG = -1, _SL = $slaves.length>>
-<<if $studio == 1>>
-	<<for _genre range App.Porn.getAllGenres()>>
-		<<set $pornStars[_genre.fameVar].p1count = 0>>
-	<</for>>
-<</if>>
-<<for _i = 0; _i < _SL; _i++>>
-	<<if def $slaves[_i].curBabies>>
-		<<run delete $slaves[_i].curBabies>>
-	<</if>>
-	<<run ageSlaveWeeks($slaves[_i])>>
-	<<if $slaves[_i].indenture > 0>>
-		<<set $slaves[_i].indenture -= 1>>
-	<</if>>
-	<<if $slaves[_i].induceLactation > 0>>
-		<<set $slaves[_i].induceLactation-->>
-	<</if>>
-	<<if ($slaves[_i].lactation == 1)>>
-		<<if $slaves[_i].lactationDuration == 1>>
-			<<set $slaves[_i].boobsMilk = 10*$slaves[_i].lactationAdaptation>>
-			<<set $slaves[_i].boobs += $slaves[_i].boobsMilk>>
-		<</if>>
-	<</if>>
-	<<if $menstruation == 1>>
-	<<elseif $slaves[_i].geneticQuirks.superfetation == 2 && $slaves[_i].womb.length > 0>>
-		<<if $slaves[_i].fertPeak == 0>>
-			<<set $slaves[_i].fertPeak = 1>>
-		<</if>>
-		<<set $slaves[_i].fertPeak-->>
-	<<elseif $slaves[_i].fertPeak != 0>>
-		<<set $slaves[_i].fertPeak = 0>>
-	<</if>>
-	<<set $slaves[_i].trust = Number($slaves[_i].trust.toFixed(1)), $slaves[_i].devotion = Number($slaves[_i].devotion.toFixed(1))>>
-	<<set $slaves[_i].oldDevotion = $slaves[_i].devotion, $slaves[_i].oldTrust = $slaves[_i].trust, $slaves[_i].minorInjury = 0>>
-	<<if $slaves[_i].sentence > 1>>
-		<<set $slaves[_i].sentence -= 1>>
-	<<elseif $slaves[_i].sentence == 1>>
-		<<= removeJob($slaves[_i], $slaves[_i].assignment)>>
-	<</if>>
-	<<if $slaves[_i].weekAcquired < 0>>
-		<<set $slaves[_i].weekAcquired = 0>>
-	<</if>>
-	<<if $slaves[_i].relationship == 0>>
-		<<set $slaves[_i].relationshipTarget = 0>>
-	<</if>>
-	<<if $slaves[_i].rivalry == 0>>
-		<<set $slaves[_i].rivalryTarget = 0>>
-	<<elseif $slaves[_i].rivalry < 0>>
-		<<set $slaves[_i].rivalryTarget = 0, $slaves[_i].rivalry = 0>>
-	<</if>>
-	<<if $slaves[_i].vagina < 0>>
-		<<set $slaves[_i].vaginalAccessory = "none", $slaves[_i].chastityVagina = 0, $slaves[_i].vaginaPiercing = 0>>
-	<</if>>
-	<<if $slaves[_i].dick == 0>>
-		<<set $slaves[_i].dickAccessory = "none", $slaves[_i].chastityPenis = 0, $slaves[_i].dickTat = 0, $slaves[_i].dickPiercing = 0>>
-	<</if>>
-	/* I don't trust these */
-	<<if !hasAnyArms($slaves[_i])>>
-		<<set $slaves[_i].armsTat = 0, $slaves[_i].nails = 0, $slaves[_i].armAccessory = "none">>
-	<</if>>
-	<<if !hasAnyLegs($slaves[_i])>>
-		<<set $slaves[_i].heels = 0, $slaves[_i].shoes = "none", $slaves[_i].legAccessory = "none", $slaves[_i].legsTat = 0>>
-	<</if>>
-	/* irregular leptin production weight gain/loss setter */
-	<<if $slaves[_i].geneticQuirks.wGain == 2 && $slaves[_i].geneticQuirks.wLoss == 2>>
-		<<set $slaves[_i].weightDirection = either(-1, 1)>>
-	<<elseif $slaves[_i].geneticQuirks.wGain == 2>>
-		<<set $slaves[_i].weightDirection = 1>>
-	<<elseif $slaves[_i].geneticQuirks.wLoss == 2>>
-		<<set $slaves[_i].weightDirection = -1>>
-	<<else>>
-		<<set $slaves[_i].weightDirection = 0>>
-	<</if>>
-	/% Fix some possible floating point rounding errors, and bring precision to one decimal place. %/
-	<<run SlaveStatClamp($slaves[_i])>>
-	<<set $slaves[_i].energy = Math.clamp($slaves[_i].energy.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].attrXY = Math.clamp($slaves[_i].attrXY.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].attrXX = Math.clamp($slaves[_i].attrXX.toFixed(1), 0, 100)>>
-	<<if $slaves[_i].fetishStrength > 95>>
-		<<set $slaves[_i].fetishStrength = 100>>
-	<<else>>
-		<<set $slaves[_i].fetishStrength = Math.clamp($slaves[_i].fetishStrength.toFixed(1), 0, 100)>>
-	<</if>>
-	<<set $slaves[_i].weight = Math.clamp($slaves[_i].weight.toFixed(1), -100, 200)>>
-	<<set $slaves[_i].butt = Number($slaves[_i].butt.toFixed(1))>>
-	<<set $slaves[_i].muscles = Math.clamp($slaves[_i].muscles.toFixed(1), -100, 100)>>
-	<<set $slaves[_i].face = Math.clamp($slaves[_i].face.toFixed(1), -100, 100)>>
-	<<set $slaves[_i].lips = Math.clamp($slaves[_i].lips.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].skill.oral = Math.clamp($slaves[_i].skill.oral.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].skill.vaginal = Math.clamp($slaves[_i].skill.vaginal.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].skill.anal = Math.clamp($slaves[_i].skill.anal.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].skill.whoring = Math.clamp($slaves[_i].skill.whoring.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].skill.entertainment = Math.clamp($slaves[_i].skill.entertainment.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].lactationAdaptation = Math.clamp($slaves[_i].lactationAdaptation.toFixed(1), 0, 100)>>
-	<<set $slaves[_i].intelligenceImplant = Number($slaves[_i].intelligenceImplant.toFixed(1), 0, 30)>>
-	<<set $slaves[_i].prematureBirth = 0>>
-	<<if ($HGSuiteEquality == 1) && ($HeadGirlID != 0) && ($slaves[_i].devotion > 50)>>
-		<<if ($slaves[_i].assignment == "live with your Head Girl")>>
-			<<set _NewHG = _i>>
-		<<elseif ($slaves[_i].ID == $HeadGirlID)>>
-			<<set _OldHG = _i>>
-		<</if>>
-	<</if>>
-	/* AVERAGE VALUES UPDATE */
-	<<if assignmentVisible($slaves[_i])>>
-		<<set $averageTrust += $slaves[_i].trust, $averageDevotion += $slaves[_i].devotion, _slavesContributing++>>
-	<<elseif ($slaves[_i].assignment != "be confined in the cellblock") && ($slaves[_i].assignment != "be confined in the arcade") && (($slaves[_i].assignment != "work in the dairy") || ($dairyRestraintsSetting < 2)) && $slaves[_i].assignment != "labor in the production line">>
-		<<set $averageTrust += $slaves[_i].trust*0.5, $averageDevotion += $slaves[_i].devotion*0.5, _slavesContributing += 0.5>>
-	<</if>>
-	<<if $studio == 1>>
-		<<set _activeGenres = App.Porn.getAllGenres().filter((g) => $slaves[_i].porn.fame[g.fameVar] > 0)>>
-		<<for _genre range _activeGenres>>
-			<<set $pornStars[_genre.fameVar].p1count++>>
-		<</for>>
-	<</if>>
-	<<if $slaves[_i].choosesOwnAssignment > 0>>
-		<<= assignJob($slaves[_i], "choose her own job")>>
-	<</if>>
-<</for>>
-<<if _slavesContributing != 0>>
-	<<set $averageTrust = $averageTrust/_slavesContributing>>
-	<<set $averageDevotion = $averageDevotion/_slavesContributing>>
-<</if>>
-<<set $enduringTrust = ($averageTrust+($enduringTrust*3))/4>>
-<<set $enduringDevotion = ($averageDevotion+($enduringDevotion*3))/4>>
-
-<<if (_OldHG != -1) && (_NewHG != -1)>>
-	<<set _oldTimeInGrade = $HGTimeInGrade>> /* preserve time in grade during HG swaps */
-	<<if $personalAttention == "HG">>
-		/* keep removeJob from clearing PC HG supporting. */
-		<<set _keepHelpingHG = 1>>
-	<</if>>
-	<<= removeJob($slaves[_NewHG], "live with your Head Girl")>>
-	<<= assignJob($slaves[_OldHG], "live with your Head Girl")>>
-	<<= assignJob($slaves[_NewHG], "be your Head Girl")>>
-	<<set $slaves[_NewHG].diet = "healthy", $HGTimeInGrade = _oldTimeInGrade>>
-	<<if _keepHelpingHG>>
-		<<set $personalAttention = "HG">>
-	<</if>>
-<</if>>
-
-<<set _toSearch = $PC.refreshment.toLowerCase()>>
-<<if _toSearch.indexOf("fertility") != -1>>
-	<<set $PC.forcedFertDrugs = 1>>
-<<elseif $PC.forcedFertDrugs > 0>>
-	<<set $PC.forcedFertDrugs-->>
-<</if>>
-
-<<if $FCTV.receiver > 0>>
-	<<if $FCTV.pcViewership.frequency != -1>>
-		<<set $FCTV.pcViewership.count++>>
-		<<if $FCTV.pcViewership.count >= $FCTV.pcViewership.frequency>>
-			<<set $FCTV.pcViewership.count = 0>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<set $week++>>
-
-<<if $playerSurgery > 0>>
-	<<set $playerSurgery-->>
-<</if>>
-
-<<if $secExpEnabled > 0>>
-	<<if $foughtThisWeek == 1>>
-		<<set $foughtThisWeek = 0>>
-	<</if>>
-
-	<<if $SecExp.buildings.riotCenter && $SecExp.buildings.riotCenter.sentUnitCooldown > 0>>
-		<<set $SecExp.buildings.riotCenter.sentUnitCooldown-->>
-	<</if>>
-	<<if $SecExp.proclamation.cooldown > 0>>
-		<<set $SecExp.proclamation.cooldown-->>
-	<</if>>
-<</if>>
-
-<<include "Weather">>
-
-<<if $boomerangWeeks>><<set $boomerangWeeks++>><<else>><<set $boomerangSlave = 0>><</if>>
-<<if $traitorWeeks>><<set $traitorWeeks++>><</if>>
-
-<<set $thisWeeksFSWares = $merchantFSWares.randomMany(2)>>
-<<set $thisWeeksIllegalWares = $merchantIllegalWares.randomMany(1)>>
-<<set $prisonCircuitIndex++>><<if $prisonCircuitIndex >= $prisonCircuit.length>><<set $prisonCircuitIndex = 0>><</if>>
-
-<<set $coursed = 0, $prestigeAuctioned = 0, $eliteAuctioned = 0, $shelterSlave = 0, $shelterSlaveBought = 0, $slaveMarketLimit = 10 + ($rep / 1000), $slavesSeen = 0, $slavesSacrificedThisWeek = 0>>
-
-<<if $pit>>
-	<<set $pit.fought = false>>
-<</if>>
-
-/% These are variables that either should be made into _temp vars or should be Zeroed out once done with them instead of here. This can also interfere with debugging or hide NaN's as zeroing things out would clear a NaN. Also could stop from NaN's getting worse? %/
-/% Integer and float variables. No real need to zero them out but doesn't hurt to have them in a known state, though this might mask variables NaN'ing out. Takes up the least amount of Memory besides a "" string. %/
-<<set $i = 0, $j = 0, $averageProsperity = 0, $motherSlave = -1, $daughterSlave = -1, $devMother = -1, $devDaughter = -1, $alphaTwin = -1, $betaTwin = -1, $youngerSister = -1, $olderSister = -1>>
-<<set $boobsID = -1, $boobsInterestTargetID = -1, $buttslutID = -1, $buttslutInterestTargetID = -1, $cumslutID = -1, $cumslutInterestTargetID = -1, $humiliationID = -1, $humiliationInterestTargetID = -1, $sadistID = -1, $sadistInterestTargetID = -1, $masochistID = -1, $masochistInterestTargetID = -1, $domID = -1, $dominantInterestTargetID = -1, $subID = -1, $submissiveInterestTargetID = -1, $shelterGirlID = -1>>
-
-/% Other arrays %/
-<<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $RecETSevent = [], $REFIevent = [], $REFSevent = [], $PESSevent = [], $PETSevent = [], $FSAcquisitionEvents = [], $FSNonconformistEvents = [], $REAnalCowgirlSubIDs = [], $REButtholeCheckinIDs = [], $recruit = [], $RETasteTestSubIDs = [], $rebelSlaves = [], $REBoobCollisionSubIDs = [], $REIfYouEnjoyItSubIDs = [], $RESadisticDescriptionSubIDs = [], $REShowerForceSubIDs = [], $RECockmilkInterceptionIDs = [], $REInterslaveBeggingIDs = [], $eligibleSlaves = []>>
-
-/% Slave Objects using 0 instead of null. Second most memory eaten up. %/
-<<set $activeSlave = 0, $eventSlave = 0, $subSlave = 0, $milkTap = 0, $relation = 0, $relative = 0, $relative2 = 0>>
-
-/% Slave Objects that never get zeroed so null them here. Second most memory eaten up. %/
-<<set $beforeGingering = null>>
-
-/% Strings Memory varies. %/
-<<set $buyer = "", $desc = "", $event = "", $goto = "", $malefactor = "">>
-/% Done with zeroing out, what should be for the most part Temps %/
-
-<<if $autosave != 0>>
-	<<script>>Save.autosave.save("Week Start Autosave")<</script>>
-<</if>>
-
-<<if $SF.Toggle && $SF.FS.Tension > 100>>
-	<<if ($rep > 17500)>> <<set $rep = 17500>> <</if>>
-<</if>>
-<<set $NaNArray = findNaN()>>
-<<goto "Main">>
diff --git a/src/uncategorized/weather.tw b/src/uncategorized/weather.tw
deleted file mode 100644
index 1e8378086e2..00000000000
--- a/src/uncategorized/weather.tw
+++ /dev/null
@@ -1,653 +0,0 @@
-:: Weather [nobr]
-
-<<if $weatherRemaining == 0>>
-<<if $continent == "Africa">>
-<<set $weatherType = either(1, 1, 1, 1, 1, 2, 3, 4, 4, 5, 6, 6)>>
-<<elseif $continent == "Asia">>
-<<set $weatherType = either(1, 2, 2, 2, 2, 3, 4, 4, 5, 6)>>
-<<elseif $continent == "Australia">>
-<<set $weatherType = either(1, 1, 1, 2, 2, 2, 3, 4, 4, 5, 6)>>
-<<elseif $continent == "Western Europe">>
-<<set $weatherType = either(1, 2, 2, 3, 4, 5, 5, 6)>>
-<<elseif $continent == "Central Europe">>
-<<set $weatherType = either(1, 2, 3, 4, 5, 5, 5, 6)>>
-<<elseif $continent == "Scandinavia">>
-<<set $weatherType = either(1, 2, 3, 4, 5, 5, 5, 5, 5, 6)>>
-<<elseif $continent == "Eastern Europe">>
-<<set $weatherType = either(1, 2, 3, 4, 4, 5, 5, 5, 6)>>
-<<elseif $continent == "Southern Europe">>
-<<set $weatherType = either(1, 1, 1, 2, 2, 3, 4, 4, 5, 6)>>
-<<elseif $continent == "Brazil">>
-<<set $weatherType = either(1, 1, 2, 3, 3, 3, 4, 4, 5, 6)>>
-<<elseif $continent == "Japan">>
-<<set $weatherType = either(1, 2, 2, 2, 3, 4, 4, 5, 6, 6)>>
-<<elseif $continent == "Middle East">>
-<<set $weatherType = either(1, 1, 1, 1, 1, 2, 3, 4, 4, 5, 6)>>
-<<elseif $continent == "North America">>
-<<set $weatherType = either(1, 2, 3, 3, 4, 5, 6, 6, 6)>>
-<<elseif $continent == "South America">>
-<<set $weatherType = either(1, 1, 2, 3, 3, 3, 4, 4, 5, 6)>>
-<<elseif $terrain === "oceanic">>
-<<set $weatherType = either(1, 2, 2, 2, 2, 2, 3, 4, 5, 6)>>
-<</if>>
-<<set $weatherRemaining = random (3,6)>>
-<</if>>
-
-<<if $weatherLastWeek == 0>>
-<<set $weatherLastWeek = 1>>
-<</if>>
-
-<<set _seed = random(1,10)>>
-<<if $weatherType == 1>>
-<<if $week < 25>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 1>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 2>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 3>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 1>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 2>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 3>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 3>>
-	<<if _seed > 5>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 1>>
-	<<if _seed > 8>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 2>>
-	<<if _seed > 7>>
-		<<set $weatherToday = App.Data.weather.hotnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 5>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 3>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.hotlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 4>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.hotheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.hotextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<</if>>
-<<elseif $weatherType == 2>>
-<<if $week < 25>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 1>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 2>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 3>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 1>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 2>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 3>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 3>>
-	<<if _seed > 5>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 1>>
-	<<if _seed > 8>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 2>>
-	<<if _seed > 7>>
-		<<set $weatherToday = App.Data.weather.windynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 5>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 3>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.windylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 4>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.windyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.windyextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<</if>>
-<<elseif $weatherType == 3>>
-<<if $week < 25>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 1>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 2>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 3>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 1>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 2>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 3>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 3>>
-	<<if _seed > 5>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 1>>
-	<<if _seed > 8>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 2>>
-	<<if _seed > 7>>
-		<<set $weatherToday = App.Data.weather.smokynice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 5>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 3>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.smokylight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 4>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.smokyheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.smokyextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<</if>>
-<<elseif $weatherType == 4>>
-<<if $week < 25>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 1>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 2>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 3>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 1>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 2>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 3>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 3>>
-	<<if _seed > 5>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 1>>
-	<<if _seed > 8>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 2>>
-	<<if _seed > 7>>
-		<<set $weatherToday = App.Data.weather.toxicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 5>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 3>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.toxiclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 4>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.toxicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.toxicextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<</if>>
-<<elseif $weatherType == 5>>
-<<if $week < 25>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 1>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 2>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 3>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 1>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 2>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 3>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 3>>
-	<<if _seed > 5>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 1>>
-	<<if _seed > 8>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 2>>
-	<<if _seed > 7>>
-		<<set $weatherToday = App.Data.weather.coldnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 5>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 3>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.coldlight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 4>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.coldheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.coldextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<</if>>
-<<elseif $weatherType == 6>>
-<<if $week < 25>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 1>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 2>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 50 && $weatherLastWeek == 3>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 1>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 2>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 3>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week < 75 && $weatherLastWeek == 3>>
-	<<if _seed > 5>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 1>>
-	<<if _seed > 8>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 2>>
-	<<if _seed > 7>>
-		<<set $weatherToday = App.Data.weather.tectonicnice.random()>>
-		<<set $weatherLastWeek = 1>>
-	<<elseif _seed > 5>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 3>>
-	<<if _seed > 6>>
-		<<set $weatherToday = App.Data.weather.tectoniclight.random()>>
-		<<set $weatherLastWeek = 2>>
-	<<elseif _seed > 2>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<<elseif $week > 75 && $weatherLastWeek == 4>>
-	<<if _seed > 4>>
-		<<set $weatherToday = App.Data.weather.tectonicheavy.random()>>
-		<<set $weatherLastWeek = 3>>
-	<<else>>
-		<<set $weatherToday = App.Data.weather.tectonicextreme.random()>>
-		<<set $weatherLastWeek = 4>>
-	<</if>>
-<</if>>
-<</if>>
\ No newline at end of file
-- 
GitLab