From 53a6c64c8c1ddb7de5fdea6f199ac957a72cc26a Mon Sep 17 00:00:00 2001
From: x <okp57855@psoxs.com>
Date: Sun, 16 Sep 2018 16:01:30 +1200
Subject: [PATCH] Minor pre-compile script tweaking and a fix for #252213.

---
 devTools/AutoGitVersionUploadBackground.sh    | 12 +++---
 src/js/SFJS.tw                                | 10 +++++
 .../SecForceEX/SpecialForceUpgradeTree.tw     | 37 ++++++++++++++++---
 src/uncategorized/SFMBarracks.tw              |  4 +-
 4 files changed, 49 insertions(+), 14 deletions(-)

diff --git a/devTools/AutoGitVersionUploadBackground.sh b/devTools/AutoGitVersionUploadBackground.sh
index 3e3a0438237..daab2796e9c 100755
--- a/devTools/AutoGitVersionUploadBackground.sh
+++ b/devTools/AutoGitVersionUploadBackground.sh
@@ -1,12 +1,12 @@
 #!/bin/sh Additional packages required: meg	MEGAcmd and git
-V=-1 RD=/Root/FC LD=/tmp/FC U=anon@anon.anon P=13245 Branch=git@ssh.gitgud.io:pregmodfan/fc-pregmod.git ; echo "Fresh clone?" && read VN && clear && mega-login $U $P > /dev/null
+RD=/Root/FC LD=/tmp/FC U=anon@anon.anon P=13245 Branch=git@ssh.gitgud.io:pregmodfan/fc-pregmod.git ; echo "Fresh clone?" && read VN && clear && mega-login $U $P > /dev/null
 while true; do
-	if [[ $VN == y||$VN == yes ]]; then V=2 && mkdir $LD ; git clone -q $Branch $LD && cd $LD/ && git remote add upstream $Branch
-	elif [[ ($VN == n||$VN == no) || $V == 0 ]]; then cd $LD/ && git fetch -q upstream
-		if  [ `git rev-list HEAD...upstream/pregmod-master --count` != 0 ]; then git pull -q && V=1
+	if [[ $VN == y||$VN == yes ]]; then V=2 && mkdir $LD ; git clone -q $Branch $LD && cd $LD/
+	elif [[ ($VN == n||$VN == no) || $V = 0 ]]; then cd $LD/ && git fetch -q
+		if  [ `git rev-list HEAD...origin/pregmod-master --count` != 0 ]; then git pull -q && V=1
 		fi #Check is a slight tweak of https://stackoverflow.com/a/17192101
 	fi
-	if [[ ($V == 2||$V == 1) || $VN == na ]]; then rm bin/*.html ; ./compile > /dev/null && minify -o bin/FC_pregmod.html bin/FC_pregmod.html && mv bin/FC_pregmod.html "bin/FC-pregmod-$(git log -1 --format='%cd' --date='format:%d-%m-%Y-%H-%M')-$(git log -n1 --abbrev-commit|grep -m1 commit|sed 's/commit //')".html && mega-put bin/*.html FC/ && mega-ls $RD|sed -n '1!p'|sort -r|tail -n +11|paste -sd " " -|xargs mega-rm > /dev/null && V=0
+	if [[ ($V = 2||$V = 1) || $VN == na ]]; then rm bin/*.html ; ./compile > /dev/null && minify -o bin/FC_pregmod.html bin/FC_pregmod.html && mv bin/FC_pregmod.html "bin/FC-pregmod-$(git log -1 --format='%cd' --date='format:%d-%m-%Y-%H-%M')-$(git log -n1 --abbrev-commit|grep -m1 commit|sed 's/commit //')".html && mega-put bin/*.html FC/ && megals -u $U -p $P /Root/FC|sed -n '1!p'|sort -r|tail -n +11|paste -sd " " -|xargs megarm -u $U -p $P > /dev/null && V=0
 	fi
-	clear && sleep 30m
+	clear && sleep 15m
 done 
\ No newline at end of file
diff --git a/src/js/SFJS.tw b/src/js/SFJS.tw
index 160a233c743..088553bec9a 100644
--- a/src/js/SFJS.tw
+++ b/src/js/SFJS.tw
@@ -39,3 +39,13 @@ window.HSM = function() {
 	else if (State.variables.PC.hacking >= 100)
 		return .75;
 	}
+
+window.TierTwoUnlockCalc = function() {
+	const V = State.variables;
+	if (V.securityForceInfantryPower > 5) V.securityForceInfantryPower = 5;
+	if (V.securityForceArcologyUpgrades > 5) V.securityForceArcologyUpgrades = 5;
+	if (V.securityForceVehiclePower > 5) V.securityForceVehiclePower = 5;
+	if (V.securityForceDronePower > 5) V.securityForceDronePower = 5;
+	if (V.securityForceStimulantPower > 5) V.securityForceStimulantPower = 5;
+	if (V.securityForceAircraftPower > 5) V.securityForceAircraftPower = 5;
+}
\ No newline at end of file
diff --git a/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw b/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw
index e3d4e54293e..c7b3a5dd58a 100644
--- a/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw
+++ b/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw
@@ -1,33 +1,48 @@
 :: SpecialForceUpgradeTree
 
 <<silently>>
-<<set _Barracks = $securityForceArcologyUpgrades>>
 	<<set _BarracksMax = 16>>
+	<<set $securityForceArcologyUpgrades = Math.clamp($securityForceArcologyUpgrades, 0 , _BarracksMax)>>
+	<<set _Barracks = $securityForceArcologyUpgrades>>
 
-<<set _SupportFacility = $SupportFacility>>
+	
 	<<set _SupportFacilityMax = 1>>
+	<<set $SupportFacility = Math.clamp($SupportFacility, 0 , _SupportFacilityMax)>>
+	<<set _SupportFacility = $SupportFacility>>
 
-<<set _Armoury = $securityForceInfantryPower>>
 	<<set _ArmouryMax = 12>>
+	<<set $securityForceInfantryPower = Math.clamp($securityForceInfantryPower, 0 , _ArmouryMax)>>
+	<<set _Armoury = $securityForceInfantryPower>>
 
-<<set _StimulantLab = $securityForceStimulantPower>>
 	<<set _StimulantLabMax = 10>>
+	<<set $securityForceStimulantPower = Math.clamp($securityForceStimulantPower, 0 , _StimulantLabMax)>>
+	<<set _StimulantLab = $securityForceStimulantPower>>
 
 <<set _Garage = $securityForceVehiclePower+$securityForceHeavyBattleTank>>
 	<<set _LightAndMediumVehiclesMax = 8>>
+		<<set $securityForceVehiclePower = Math.clamp($securityForceVehiclePower, 0 , _LightAndMediumVehiclesMax)>>
 	<<set _HeavyBattleTankMax = 3>>
+		<<set $securityForceHeavyBattleTank = Math.clamp($securityForceHeavyBattleTank, 0 , _HeavyBattleTankMax)>>
 <<set _GarageMax = _LightAndMediumVehiclesMax+_HeavyBattleTankMax>>
+<<set _Garage = Math.clamp(_Garage, 0 , _GarageMax)>>
 
 <<set _Hangar = $securityForceAircraftPower+$securityForceSpacePlanePower+$securityForceFortressZeppelin+$securityForceAC130+$securityForceHeavyTransport>>
 	<<set _AircraftMax = 10>>
+		<<set $securityForceAircraftPower = Math.clamp($securityForceAircraftPower, 0 , _AircraftMax)>>
 	<<set _SpacePlaneMax = 12>>
+		<<set $securityForceSpacePlanePower = Math.clamp($securityForceSpacePlanePower, 0 , _SpacePlaneMax)>>
 	<<set _FortressZeppelinMax = 4>>
+		<<set $securityForceFortressZeppelin = Math.clamp($securityForceFortressZeppelin, 0 , _FortressZeppelinMax)>>
 	<<set _AC130Max = 6>>
+		<<set $securityForceAC130 = Math.clamp($securityForceAC130, 0 , _AC130Max)>>
 	<<set _heavyTransportMax = 4>>
+		<<set $securityForceHeavyTransport = Math.clamp($securityForceHeavyTransport, 0 , _heavyTransportMax)>>
 <<set _HangarMax = _AircraftMax+_SpacePlaneMax+_FortressZeppelinMax+_AC130Max+_heavyTransportMax>>
+<<set _Hangar = Math.clamp(_Hangar, 0 , _HangarMax)>>
 
-<<set _DroneBay = $securityForceDronePower>>
 	<<set _DroneBayMax = 8>>
+<<set $securityForceDronePower = Math.clamp($securityForceDronePower, 0 , _DroneBayMax)>>
+<<set _DroneBay = $securityForceDronePower>>
 
 /* Launch Bay */
 	<<if $PC.hacking >= 75>>
@@ -37,8 +52,12 @@
 		<<set _SatelliteMax = 20>>
 		<<set _GiantRobotMax = 15>>
 	<</if>>
+	<<set $securityForceSatellitePower = Math.clamp($securityForceSatellitePower , 0 ,	_SatelliteMax)>>
+	<<set $securityForceGiantRobot = Math.clamp($securityForceGiantRobot , 0 ,	_GiantRobotMax)>>
 	<<set _MissileSiloMax = 3>>
+		<<set $securityForceMissileSilo = Math.clamp($securityForceMissileSilo , 0 ,	_MissileSiloMax)>>
 	<<set _LaunchBayNO = $securityForceSatellitePower+$securityForceGiantRobot+$securityForceMissileSilo, _LaunchBayNOMax = _SatelliteMax+_GiantRobotMax+_MissileSiloMax>>
+<<set _LaunchBayNO = Math.clamp(_LaunchBayNO , 0 ,	_LaunchBayNOMax)>>
 
 	<<set _LaunchBayO = $securityForceSatellitePower>> 
 	<<if $PC.hacking >= 75>>
@@ -46,7 +65,8 @@
 	<<else>>
 		<<set _LaunchBayOMax = 20>>
 	<</if>>
-
+	<<set _LaunchBayO = Math.clamp(_LaunchBayO , 0 ,	_LaunchBayOMax)>>
+	
 	<<set _AircraftCarrierMax = 6>>
 	<<if $PC.hacking >= 75>>
 		<<set _SubmarineMax = 7>>
@@ -54,6 +74,9 @@
 		<<set _SubmarineMax = 6>>
 	<</if>>
 	<<set _HeavyAmphibiousTransportMax = 6>>
+	<<set $securityForceAircraftCarrier = Math.clamp($securityForceAircraftCarrier , 0 ,	_AircraftCarrierMax)>>
+	<<set $securityForceSubmarine = Math.clamp($securityForceSubmarine , 0 ,	_SubmarineMax)>>
+	<<set $securityForceHeavyAmphibiousTransport = Math.clamp($securityForceHeavyAmphibiousTransport , 0 ,	_HeavyAmphibiousTransportMax)>>
 <<set _NavalYardMax = _AircraftCarrierMax+_SubmarineMax+_HeavyAmphibiousTransportMax>>
 
 <<set _maxNO = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayNOMax+_SupportFacilityMax>>
@@ -63,10 +86,12 @@
 	<<set $SFNO = _Barracks+_Armoury+_StimulantLab+_Garage+_Hangar+_DroneBay+_LaunchBayNO+_SupportFacility>>
 	<<set _max = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayNOMax+_SupportFacilityMax>>
 	<<set $SFO = 0>>
+	<<set $SFNO = Math.clamp($SFNO , 0, _max)>>
 <<elseif $terrain == "oceanic" || $terrain == "marine">>
 	<<set _NavalYard = $securityForceAircraftCarrier+$securityForceSubmarine+$securityForceHeavyAmphibiousTransport>>
 	<<set $SFO = _Barracks+_Armoury+_StimulantLab+_Garage+_Hangar+_DroneBay+_LaunchBayO+_NavalYard+_SupportFacility>>
 	<<set _max = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayOMax+_NavalYardMax+_SupportFacilityMax>>
 	<<set $SFNO = 0>>
+	<<set $SFO = Math.clamp($SFO , 0, _max)>>
 <</if>>
 <</silently>>
diff --git a/src/uncategorized/SFMBarracks.tw b/src/uncategorized/SFMBarracks.tw
index 58d4f58f55a..579927ed7ab 100644
--- a/src/uncategorized/SFMBarracks.tw
+++ b/src/uncategorized/SFMBarracks.tw
@@ -140,8 +140,8 @@
 	<br>//$securityForceName is fully equipped and upgraded - nothing else can be done.//
 <</if>>
 
-<<if $TierTwoUnlock == 0>>
-	<br>You have <<print (30-$SFAO)>> upgrades left before you can move unlock the next tier. ''StimulantLab:'' _StimulantLab/5 ''Barracks:'' _Barracks/5 ''Garage:'' $securityForceVehiclePower/5 ''Armoury:'' _Armoury/5 ''DroneBay:'' _DroneBay/5 ''Airforce:'' $securityForceAircraftPower/5
+<<if $TierTwoUnlock == 0>> <<= TierTwoUnlockCalc()>>
+	<br>You have <<print (30-$SFAO)>> upgrades left before you can move unlock the next tier. ''StimulantLab:'' $securityForceStimulantPower/5 ''Barracks:'' $securityForceArcologyUpgrades/5 ''Garage:'' $securityForceVehiclePower/5 ''Armoury:'' $securityForceInfantryPower/5 ''DroneBay:'' $securityForceDronePower/5 ''Airforce:'' $securityForceAircraftPower/5
 	<<if $securityForceVehiclePower == 5>> <<set _T1FullUpgradesGarage = "True">> <</if>> <<if $securityForceAircraftPower == 5>> <<set _T1FullUpgradesAirforce = "True">> <</if>> <<if 30-$SFAO == 0>> <<set $TierTwoUnlock = 1>> <</if>>
 <</if>>
 <<if $securityForceGiftToken == 1>>
-- 
GitLab