 	exitThread := false
 	isResuming := false
 
-	local startTime := A_TickCount
+	local startRunTime := A_TickCount
 	
 	local isInitiated := false
 	local isClickerRunning := false

		; Ascend or keep farming?
		if (zone > 10 and zone > previousZone and mod(zone-4, 5) = 0 and gameMode = "PROGRESSING") {
			; Progressing @ zone before boss?
			elapsedZoneTime := timeBetweenZones(zone-1, zone)
			zoneTimeIncrease := (elapsedZoneTime - previousZoneTime) / previousZoneTime

			if (zoneTimeIncrease > 2.0) {
				logVariable("previousZoneTime", previousZoneTime,, "TRACE")
				logVariable("elapsedZoneTime", elapsedZoneTime,, "TRACE")
				showTraceSplash("zoneTimeIncrease = " . zoneTimeIncrease . " @ Lvl " . zone)
			}

			previousZone := zone
			previousZoneTime := elapsedZoneTime

			; Calculate average monster kill time for the previous zone
			secPerMonster := elapsedZoneTime / (10.0 + kumawakamaru)
			; Fast enough to kill next boss easily?
			if (secPerMonster >= farmMonsterKillTime and zoneTimeIncrease < 2.5) {
				showDebugSplash("Lvl " . zone-1 . " -> " . zone . " - Avg monster kill time: " . round(secPerMonster, 2))
				; No! Time to ascend?
				if (secPerMonster >= maxMonsterKillTime and zone > estimatedAscendLevel) {

		; Progressing?
		if (mod(t, progressCheckDelay) = 0) {
			if (!locateImage(imgProgression) and gameMode != "FARMING") {
				if (++bossFailCounter < 2) {
					showDebugSplash("Try boss one more time...")
					setProgressionMode()
				} else {
					if (zone > estimatedAscendLevel) {
						triggerAscension("Stuck at high level boss")
						break
					} else {
						startFarming()
					}
				}
			}
		}
