# cikl

!!----------------------------------------------------------------------------
!! Time calculations

day += 1
week += 1
hour -= 24

if day > monthsEnd[month]:
	day -= monthsEnd[month]
	month += 1

	if month > 12: month = 1 & year += 1

	!!MJ: Dont think that one is needed. But it was in the original loop.
	if month < 1: month = 1

	$month = $monthName[month]
end

!!MJ: Dont think that one is needed. But it was here already.
if day <= 0:day = 1

if week > 7:
	:loopweek
	week -= 7
	husbandrink = 0

	if military = 1:military = 0

	if week > 7:jump 'loopweek'
end

!!----------------------------------------------------------------------------

!!Fame call to update all the fame variables
gs 'fame'

!!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
	if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
	gs 'pornschedule', 'schedule'
end

!!acting strings to set available jobs
if casting = 1:
	acting_string1 = rand(10000000000,199999999999)
	acting_string2 = rand(10000000000,199999999999)
end

gs 'daystart'
dynamic $hypnoDaychange

!!phone reset for bf
ringA = 0
ringB = 0
ringC = 0

if BuyHous = 2 and ArendHouseSL <= 0: ArendHouseSL = 0 & BuyHous = 0 & housr = 0
if BuyHous = 2 and ArendHouseSL > 0: ArendHouseSL -= 1

!!Appearance Age
vidageday -= 1
if vidageday <= 0:
	vidageday = 360
	vidage += 1
end
!!Birthday
age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1

if workDolgDay > 0: workDolgDay -= 1
if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
if husband > 0: husbanday += 1
if husband > 10 and husbanday > 0: husband -= 15
if fingal > 0: fingal -= 1

if husbandMark = 1 and husband <= 10:
	husbizvradd = 0
	husbharmin = 0
	husbandMark = 0
	husband = 0
	divorced += 1

	if KFOnLineReaga > 0:KFOnLineReaga -= 1

	'<b><font color="red">Your husband has filed for a divorce.</font></b>'
end

if katjaPreg = 0 and month >= 2:
	if schoool_year = 2001 and year > 2016:
		katjaPreg = 1
	elseif schoool_year = 2000 and year > 2017:
		katjaPreg = 1
	end
end

!! after having surgery you will be in recuperation for a few days

if surgeryday ! '':
	if daystart - 7 <= surgeryday:
		dailyhealthimprov = (daystart - surgeryday) * 50
		pcs_health = dailyhealthimprov
		recuperation = 1
	else
		killvar 'recuperation'
		killvar 'dailyhealthimprov'
	end
end

!!Street events daily reset
streetevent_hour = -2

!!Clothing stock and price randomizers
Clothingstock = rand (0,23)
i = 1
:loopprice
Clothingstock[i] = rand (0,500)
i += 1
if i <= 147:jump 'loopprice'

!!underwear rng
cheap_panty_number = rand(1,37)
cheap_bra_number = rand(1,19)

if coatH[defaultcoat] <= 0: defaultcoat = 0

!!------------------------------------------------------------------------------------------------------------
!!	Bimbo
!!------------------------------------------------------------------------------------------------------------
!!A Succubus cannot be a Bimbo
if succubusflag = 1 and bimbo > 0: bimbo -= succublvl * 2

!!Bonus from clothing and shoes
if succubusflag = 0 and $cheatBimbo ! '<b>ON</b>':
	if bimbocl = 1:
		bimbocl = 0
		bimbo += 2
	end
	if bimbosh = 1:
		bimbosh = 0
		bimbo += 1
	end
else
	bimbocl = 0
end

!!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
if bimbo > 0 or bimbolevel > 0:
    if bimbo < 10:
        bimbo -= 1
    elseif bimbo < 20:
    	bimbolevel = 1
    elseif bimbo < 30:
    	bimbolevel = 2
    else
        bimbolevel = 3
    end
end

if bimbo >= 40: bimbo = 40

!!Bimbo levels. They use custom variables so they wont permanently change character stats
if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 4)
if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = (pcs_intel / 3)

!!Succubus Level & hunger calcs 
if succubusflag = 1:

	cheatHealth = 1
	dynamic $cheatmenu['std_cure']

!!	A Succubus cannot be a Bimbo
	if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40

!!	Hunger handling
	if sucxpsnapshot >= succubxp: succhungry += 1
	sucxpsnapshot = succubxp
	if succubxp < 0: succubxp = 0

!!	Level handling
	if succubxp < 60:
		succublvl = 1
		$sucself1 = 'that feeling'
		sucstorecap = 0
		if bimbolevel <= 0: supnatvnesh = 1
	elseif succubxp < 150:
		succublvl = 2
		$sucself1 = 'the power'
		sucstorecap = 0
		if bimbolevel <= 0: supnatvnesh = 3
	elseif succubxp < 270:
		succublvl = 3
		$sucself1 = 'your other self'
		sucstorecap = 100
		if bimbolevel <= 0: supnatvnesh = 6
	else
		succublvl = 4
		$sucself1 = 'your true self'
		sucstorecap = 200
		if bimbolevel <= 0: supnatvnesh = 10
	end

	if sucskill >= 2 and succublvl >= 2: sucstorecap += 100
	if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10

	if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1)
	if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1)
	if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1)
	if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1)
	if react_muta < (succublvl - 1): react_muta = (succublvl - 1)
	if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1)
	if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1)
	if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1)

	if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2):
		if pcs_stren < 250: stren_exp += 20 & sucexcess -= 10
		if pcs_agil < 250: agil_exp += 20 & sucexcess -= 10
		if pcs_vital < 250: vital_exp += 20 & sucexcess -= 10
		if pcs_intel < 250: intel_exp += 20 & sucexcess -= 10
		if pcs_react < 250: react_exp += 20 & sucexcess -= 10
		if pcs_sprt < 250: sprt_exp += 20 & sucexcess -= 10
		if pcs_chrsm < 250: chrsm_exp += 20 & sucexcess -= 10
		if pcs_prcptn < 250: prcptn_exp += 20 & sucexcess -= 10
		if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10
		if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2
!!		This is to drive the Succubus vidage into the max appearance range
		if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4
		if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4
		if vidageday >= 720 and vidage > 28:
			vidageday -= 360
			vidage -= 1
		end
		if sucexcess > sucstorecap: sucexcess = sucstorecap
	elseif sucexcess < 0 and succhungry < 0:
		succhungry += 1
		if (0 - sucexcess) < (10 * succublvl):
			sucexcess = 0
		else
			sucexcess += (10 * succublvl)
		end
	end
	if sucexcess < 0: sucpowzeroed += 1
	if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1
	
!!	This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability
	if sucskill >= 4:
		if pcs_vag - 2 >= 13:
			pcs_vag -= 2
		elseif pcs_vag + 2 <= 13:
			pcs_vag += 2
		end
		if pcs_ass - 2 >= 8:
			pcs_ass -= 2
		elseif pcs_ass + 2 <= 8:
			pcs_ass += 2
		end
	end
end

!!Bimbo second half, after Succubus so changes there can be reflected here if still bimbo and Succubus
!!Checks how often sex has occured in the last 24 hours and for drops in bimbo score, for calculating withdrawal
if bimbolevel >= 1:
	bimbo += ((stat['vaginal'] + stat['bj'] + stat['anal']) - snapshotX) - 3
	if bimbo > snapshotY:
		bimbowithdrawal = 0
	else
		bimbowithdrawal += 1
	end
end

if bimbo < 0: bimbo = 0
snapshotX = (stat['vaginal'] + stat['bj'] + stat['anal'])
snapshotY = bimbo

!!------------------------------------------------------------------------------------------------------------

if defcurly = 0 and curly > 0:curly -= 1
if defcurly = 1:
	if straight > 0: straight -= 1
	if straight = 0: curly = 2147483647
end

! WD: Added daily reduction of braids for Maruda Hair Mod
if hbraids > 0: hbraids -= 1


pcs_sweat += 2

if pcs_tan > 0: pcs_tan -= 1

if prezikmsg = 2: prezikmsg = 3

!!------------------------------------------------------------------------------------------------------------
!!	Birth control
!!------------------------------------------------------------------------------------------------------------
!!	Birth Control Management variables
!!
!!	tabletkimm		: The modifier for the current mood of the MC.
!!	tabletkiap		: Autopill factor affecting the liklihood you took your pill as you should have
!!	tabletkipt		: Pill Dicipline Take increase
!!	tabletkipi		: Pill Dicipline Dont take increase
!!	tabletkicpd		: Current MC Pill Dicipline
!!	tabletkichday	: Current day that the Birth Control is being evaluated for
!!	tabletkicheck	: If the birth control is automatically handled
!!	tabletki		: How many packages of Birth Control Pills there are
!!	tabletkiold		: Total number packages of expired pills
!!	tabletkifake	: Total number packages of fake/counterfeit pills
!!	tabletkirej		: Total number packages of factory rejected pills
!!	tabletkifert	: Total number packages of subsituted fertility pills
!!	tabletkisug		: Total number packages of sugar pills
!!	pillsleft		: Total number packages of pills in current package
!!	tabletkishot	: The flag for being on the Birth Control shot.
!!	pillcon			: The number for the current birth control chemical level.
!!	pilldays		: The number of consecutive days (you believe) you have taken your pill

if Luth > 225 and placebopart <= 0: placebopart = 8
placebopart -= 1

if tabletkishot <= 0: pillcon -= 1000 & pillcon2 -= 1000
if pillcon < 0:	pillcon = 0
if pillcon2 < 0: pillcon2 = 0

if tabletkicheck = 2:
	if tabletkishot ! 0:
		!!cycle = 1
		mesec = 0
		if rand(0,1000) = 1000:
			EggRH = rand(20,80)
		else
			EggRH = 0
		end
		FocH = EggRH
	end
	if tabletkishot <= 0:
		pillcon -= 29000
		pillcon2 -= 29000
		if tabletkishot < 0: tabletkishot = 0
	end
	if shotdays = -8:
		tabletkicheck = 0
		shotdue = 0
		'Your birth control shot is no longer protecting you.'
	elseif shotdays <= 0:
		if shotdays = 0: 
			shotdue = 7
		else
			shotdue -= 1
		end
		'The chemicals regulating your fertility cycle are wearing off, you need to get your shot in <<shotdue>> days.'
	elseif shotdays > 1 and shotdays < 5:
		'You are due for a birth control shot soon if you do not get one, you might get pregnant.'
	elseif shotdays = 1:
		'Your birth control shot is due for renewal tomorrow.'
	end

	if shotdays > -100:shotdays -=1
	if tabletkishot > 0:tabletkishot -= 1
end

tabletkipd += tabletkipi
tabletkipi = 0
tabletkipt = 0
if tabletkicheck = 1:
	if tabletki = 0 and pillsleft[ptype] = 0:
		tabletkicheck = 0
		'You are out of birth control pills.'
		tabletkipi = -5
	elseif tabletki = 0 and pillsleft[ptype] = 28:
		'You have just opened your last package of birth control pills. You need to buy more.'
	elseif tabletki = 0 and pillsleft[ptype] <= 5:	
		'You are running out of birth control pills, you only have a few left.'
	end
end

if tabletkicheck = 1 and tabletkichday < daystart:
	tabletkichday = daystart
	tabletkimm = (100*(pcs_willpwr / willpowermax)) + pcs_mood
	if pcs_sleep < 10:
		tabletkimm -= (100- (pcs_sleep * 10))
	end
	if pcs_willpwr < willpowermax / 4:
		tabletkimm = tabletkimm / 4
	elseif pcs_mood < 10:
		tabletkimm = tabletkimm / 2
	end
	tabletkiap = tabletkimm
	tabletkiap += (pcs_intel * 4) + (pcs_sprt * 2) + (age * 3)
	tabletkiap -= ((kid * 30) + (abort * 2) - (tabletkipd * ((60 - age) / 10)))
	temprand = rand(0,(200 + (tabletkimm - ((100 - pcs_sprt) * 3))))
	tabletkiap += temprand
	if tabletkiap < 300:
		if tabletkipd > -10:
			if pcs_willpwr < willpowermax / 4:
				pilldaychk = 0
				'You stare at your package of birth control pills, you know you should take one but you can''t quite work up enough effort to care.'
			elseif pcs_mood < 10:
				pilldaychk = 0
				'You stare at your package of birth control pills, but you don''t open it.'
			elseif pcs_sleep < 10:
				pilldaychk = 0
				'You fumble with your birth control pills, trying to get a pill out. You finally give up too tired to manage it.'
			else
				pilldaychk = 0
				'You just realized you forgot to take your birth control pill today.'
			end
		end
		tabletkipt = 2
		tabletkipi = -4
	else
		if tabletkiap < 350:
			temprand = rand(0,5)
		else
			temprand = rand(0,1000)
		end
		if temprand = 0:
			temprand = rand(0,1)
			if temprand = 0:
				gs 'din_bad','takepill'
				tabletkipt = -2
				tabletkipi = 1
			else
				tabletkipt = 3
				tabletkipi = -3
			end

			if tabletkipd > -10:
				pilldaychk = 0
				'You find yourself holding the bottle of birth control pills, you cannot remember if you took one or not.'
			end
			if tabletkipd > 0:
				if rand(0,9) = 0:
					if tabletkipt < 0:
						pilldaychk = 0
						'You don''t think you have taken your pill today.'
					else
						pilldaychk = 1
						'You think you have taken your pill today.'
					end
				else
					if tabletkipt > 0:
						pilldaychk = 0
						'You don''t think you have taken your pill today.'
					else
						pilldaychk = 1
						'You think you have taken your pill today.'
					end
				end
			end
		else
			'You take your birth control pill for the day.'
			pilldaychk = 1
			gs 'din_bad','takepill'
			if rand(0,7) = 0 and tabletkiday >= (daystart - 1): tabletkipd += 1
			tabletkiday = daystart
			tabletkipt = 0
			tabletkipi = 0
		end
	end		
elseif tabletkicheck = 0:
	if tabletkiday >= (daystart - 1) and tabletkipt = 0 and rand(0,7) = 0: tabletkipt = 1
	if pillcon > 0 and tabletkipi = 0 and rand(0,3) and (tabletkiday + 15) > daystart = 0: tabletkipi = -1
end

if pilldaychk = 1:
	pilldays += 1
else
	pilldays -= 1
end

pilldaychk = 0
if pilldays > 18: pilldays = 18
if pilldays < 0: pilldays = 0
!!
$MenCal[] = $str(cycle)
if ArrSize('$MenCal') = 30: killvar '$MenCal',0


!!------------------------------------------------------------------------------------------------------------

if lashair ! 1:
	pcs_leghair += 1
	pcs_pubes += 1
end

if age < 18 and rand (0,2) = 0 and pcs_leghair > 0: pcs_leghair -= 1

if pcs_breath = 1:pcs_breath = 0

if cheatNoEat = 1 and dounspell = 1:fat += 15

!!STD check
if SifacOnce = 1:Sifilis += 1
if GerpesOnce = 1:Gerpes += 1
if TriperOnce = 1:
	if Triper > 0: 
		Triper += 1
	end
	if TriperOral > 0:
		TriperOral += 1
	end
	If TriperOral > 14 and TriperNapr = 0:
		if rand(TriperOral,100) > 80:
		TriperOral = 0
		if Triper = 0:TriperOnce = 0
		TriperOralSigns = 0
		end
	end
end
if KandidozOnce = 1:Kandidoz += 1

VeneraN = 0

if VeneraOnce > 0:VeneraOnce = 0
if SifacOnce = 1:VeneraN += 1
if GerpesOnce = 1:VeneraN += 1
if TriperOnce = 1:VeneraN += 1

Venera = VeneraN

if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
	if anusK < 0:anusK = 0
	if anusK < ashrinkdays:anusK += 1
	if anusK >= ashrinkdays:pcs_ass -= ashrink & anusK = 0
	if pcs_ass < 0: pcs_ass = 0
end
if pcs_vag > 10 and vshrink > 0:
	if vaginaK < 0:vaginaK = 0
	if vaginaK < vshrinkdays:vaginaK += 1
	if vaginaK >= vshrinkdays:vaginaK = 0 & pcs_vag -= vshrink
end

lipkoef -= rand(0,1)
if lipkoef <= 0: lipkoef = 0

if Enable_autotampon = 0 and isprok = 1:isprok = 0 & 'You threw away your used tampon.'
if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'

if preg = 1:
	pregtime = pregchem / 24

	if pregtimes = 0:pregtimes = 1

elseif preg = 2 and pregminut < totminut:
	if Enable_nogameover = 0 :
		cla
		*clr
		over = 4
		MSG '<center><b>A horrible pain shoots through your body.</b></center>'
		xgt 'gameover'
		exit
	else
		MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
		pregminut = totminut + 1440
	end
elseif preg = 0:
	KILLVAR 'pregTalkBrother'
	KILLVAR 'pregTalkSister'
	KILLVAR 'pregTalkFather'
	!{KILLVAR 'pregTalkFamily' -- Do not kill this (Abortion talk).}
	KILLVAR 'pregTalkMom'
	KILLVAR 'pregTalk'
	KILLVAR 'pregTalkNat'
	KILLVAR 'pregTalkKatja'
	KILLVAR 'pregTalkAlbina'
	KILLVAR 'pregTalkPC'          
	KILLVAR 'pregTalkStarlets'
	KILLVAR 'pregTalkvball'
	KILLVAR 'pregTalkTrack'
	killvar 'pregtalkStarlets'
	killvar 'pregtalkvball'
	killvar 'pregtime'
	killvar 'knowpreg'
	killvar 'denypreg'
	killvar '$wombthfath'
end

!!------------------------------------------------------------------------------------------------------------
!!	Arousal
!!------------------------------------------------------------------------------------------------------------

if magikDostup = 0:
	if pcs_horny < 100:pcs_horny += pcs_vag
else
	if pcs_vag = 0:
		razeba = 0

		if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
		if pcs_horny > 50:pcs_horny -= 25
	elseif pcs_vag > 0:
		if pregtimes = 0:
			if age < 18:
				razeba = 1

				if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
				if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
				if pcs_horny >= 80:pcs_horny -= 20
			elseif age >= 18 and age < 21:
				razeba = 2

				if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
				if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
				if pcs_horny >= 80:pcs_horny -= 10
			elseif age >= 21 and age < 25:
				razeba = 3

				if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
				if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
				if pcs_horny >= 80:pcs_horny -= 5
			elseif age >= 25 and age < 30:
				razeba = 4

				if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
				if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
				if pcs_horny >= 80:pcs_horny -= 5
			elseif age >= 30:
				razeba = 5

				if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
				if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
				if pcs_horny >= 80:pcs_horny += 1
			end
		elseif pregtimes > 0:
			if preg = 0:
				razeba = 5

				if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
				if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
				if pcs_horny >= 80:pcs_horny += 1
			elseif preg > 0:
				razeba = 6

				if pcs_horny < 100:pcs_horny += pregtime / 10
			end
		end
	end
end

if pcs_horny < 0:pcs_horny = 0

!!------------------------------------------------------------------------------------------------------------

!!Exhibitionism

if exhibition_outdoors > 0:
	if pcs_exhibition > 90:
		exhibition_outdoors = exhibition_outdoors * 3
	elseif pcs_exhibition > 75:
		exhibition_outdoors = exhibition_outdoors * 5 / 2
	elseif pcs_exhibition > 60:
		exhibition_outdoors = exhibition_outdoors * 2
	elseif pcs_exhibition > 30:
		exhibition_outdoors = exhibition_outdoors * 3 / 2
	end

	if exhibition_outdoors <= 5:
		exhibition_exp += rand(3,6)
	elseif exhibition_outdoors <= 10:
		exhibition_exp += rand(5,9)
	elseif exhibition_outdoors <= 15:
		exhibition_exp += rand(7,12)
	elseif exhibition_outdoors <= 20:
		exhibition_exp += rand(9,15)
	elseif exhibition_outdoors <= 25:
		exhibition_exp += rand(12,20)
	elseif exhibition_outdoors <= 30:
		exhibition_exp += rand(16,25)
	elseif exhibition_outdoors <= 35:
		exhibition_exp += rand(20,30)
	elseif exhibition_outdoors <= 40:
		exhibition_exp += rand(25,40)
	elseif exhibition_outdoors <= 50:
		exhibition_exp += rand(35,50)
	elseif exhibition_outdoors <= 65:
		exhibition_exp += rand(50,75)
	else
		exhibition_exp += rand(70,100)
	end
end

exhibition_outdoors = 0

if pcs_exhibition = 0:
	if exhibition_exp >= 5: pcs_exhibition = 1 & exhibition_exp -= 5
else
!!Intentional double to add up to 2 points
	if exhibition_exp >= 5 * pcs_exhibition / 2: exhibition_exp -= 5 * pcs_exhibition / 2 & pcs_exhibition += 1
	if exhibition_exp >= 5 * pcs_exhibition / 2: exhibition_exp -= 5 * pcs_exhibition / 2 & pcs_exhibition += 1
end	
if pcs_exhibition > 50 and exhibitionQW < 3: pcs_exhibition = 50

!counter for Dimka avoidance
if dimaFilm = 1 and dimaRudeBlock = 0:
	nodimkaK += 1
	DimkaWarnedToday = 0
end

!!------------------------------------------------------------------------------------------------------------

!!Fame degradation
gs 'fame', 'deg'

!!Traits
gs 'traits', 'overnight'


!!------------------------------------------------------------------------------------------------------------
!!	Maruda hair mod
!!------------------------------------------------------------------------------------------------------------
!! Max. Hair length 600mm, or 60cm, which should be somewhere in the lower back area.
!! Hair grows 1mm each day, it takes 20 months (1 month = 30 days) to regrow the hair from 0.
if pcs_hairlng < 1001 and hairgrowcht = 0:pcs_hairlng += 1

if pcs_haircol ! nathcol: 
	dyefade -=1
	if dyefade < 0: dyefade = 0
	if dyefade > 0 and dyefade < 7: dyevmod = 5
	if dyefade = 0: dyevmod = 15
end
	
if hscrunch > 0:
	hscrunchrand = rand(1, 100)

	if hscrunchrand <= 8:hscrunch -= 1
end

!!------------------------------------------------------------------------------------------------------------

!! Clothing wear and tear
gs 'starenie'

!! Underwear cleaning at home
if tanwork = 1 or (StoryLine = 1 and ParHomeBlock = 0): gs 'underwear', 'cleaning'

if nark > 60:
	nark = 60
elseif nark > 30:
	nark -= 3
elseif nark > 0:
	nark -= 1
end

if pregtime > 10:fat += 1

!!------------------------------------------------------------------------------------------------------------
!!	Pain
!!------------------------------------------------------------------------------------------------------------

if pain['head'] > 0:pain['head'] -= rand(1,3)
if pain['hair'] > 0:pain['hair'] -= rand(1,3)
if pain['ears'] > 0:pain['ears'] -= rand(1,3)
if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
if pain['nose'] > 0:pain['nose'] -= rand(1,3)
if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
if pain['lips'] > 0:pain['lips'] -= rand(1,3)
if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
if pain['throat'] > 0:pain['throat'] -= rand(1,3)
if pain['neck'] > 0:pain['neck'] -= rand(1,3)
if pain['back'] > 0:pain['back'] -= rand(1,3)
if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
if pain['hips'] > 0:pain['hips'] -= rand(1,3)
if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
if pain['legL'] > 0:pain['legL'] -= rand(1,3)
if pain['legR'] > 0:pain['legR'] -= rand(1,3)
if pain['feet'] > 0:pain['feet'] -= rand(1,3)
if pain['toes'] > 0:pain['toes'] -= rand(1,3)
if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
if pain['armL'] > 0:pain['armL'] -= rand(1,3)
if pain['armR'] > 0:pain['armR'] -= rand(1,3)
if pain['hands'] > 0:pain['hands'] -= rand(1,3)
if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
if pain['chest'] > 0:pain['chest'] -= rand(1,3)
if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
if pain['labia'] > 0:pain['labia'] -= rand(1,3)
if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)

if painpub = 2:
	if painpubday + 5 < daystart:
		$painpub = 'Your vulva is painfully sore.'
		painpub = 1
		painpubday = daystart
	elseif painpubday + 5 >= daystart:
		$painpub = 'Your vulva is painfully sore.'
	end
elseif painpub = 1:
	if painpubday + 5 < daystart:
		$painpub = ''
		painpub = 0
		painpubday = daystart
	elseif painpubday + 5 >= daystart:
		$painpub = 'Your vulva is a little sore.'
	end
end

!!---- Calculation of lash extension degradation and false lash removal
if pcs_lashes > 2:
	if lashextensionstyle >= 1:
		lashextensionduration -= 1
		if lashextensionduration >= 1 and lashextensionduration <= 4:
			'It''s time for you to do your maintenance on your lash extensions; you should go to the salon or you risk growing them all out.'
		end
		if lashextensionduration <= 0:
			'You waited too long to do maintenance on your lash extensions; there''s too little there to notice or work with at this point.'
			pcs_lashes = pcs_naturallashes
			killvar lashextensionstyle
			killvar lashextensionduration
			killvar lashextensionnew			
		end
	end
	if false_lashes > 0:
		false_lashes -= 1
		if false_lashes = 0:
			'Your false lashes came off in the night; there''s no recovering them now.'
			pcs_lashes = pcs_naturallashes
		else
			'Somehow, your lashes managed to stay attached throughout the night. You might be able to get away with wearing them another day straight.'
		end
	end
end
	

prezikProver += 1
if pirs_pain_ton > 0:pirs_pain_ton -= 1
if shorthair = 1:
	shorthairday += 1
	if shorthairday >= 45:shorthairday = 0 & shorthair = 0
end
!!------------------------------------------------------------------------------------------------------------

if KatjaOTN > 0:
	if KatjaHorny > 0 and KatjaLust < 40:KatjaHorny -= rand(1, 3)
	if KatjaLust >= 40:KatjaHorny += rand(1, 3)
	if KatjaHorny < 0:KatjaHorny = 0
	if KatjaHorny >= 100:KatjaHorny = 0 & KatjaMastr += 1 & KatjaLust += 1
end

if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1

!!------------------------------------------------------------------------------------------------------------
!!	Generation
!!------------------------------------------------------------------------------------------------------------
if NPCnum < 290:
	NPCnow = NPCnum
	NPCnum += rand(1, 3)
	gs 'npc'
elseif NPCnum < 300:
	NPCnow = NPCnum
	NPCnum += 1
	gs 'npc'
end

!!------------------------------------------------------------------------------------------------------------

if kanikuli = 0:pcs_grades -= 1
dmishaevent = 0

if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
if GspravkaT = 1:Gspravka -= 1
if IvanPodstavaQW = 2 and PodpiskaNeviezd = 30:IvanPodstavaQW = 3
if IvanPodstavaQW = 2 and PodpiskaNeviezd > 0 and PodpiskaNeviezd < 30:PodpiskaNeviezd += 1

gs 'stat_sklattrib', 'daycall'

if dounspell = 1:
	if strenbuf > 90:
		strenbuf -= 2
	elseif strenbuf > 80:
		strenbuf -= 1
	end

	if vitalbuf > 90:
		vitalbuf -= 2
	elseif vitalbuf > 80:
		vitalbuf -= 1
	end

	if strenbuf > pcs_stren: strenbuf -= 1
	if strenbuf < pcs_stren: strenbuf += 1
	if vitalbuf > pcs_vital: vitalbuf -= 1
	if vitalbuf < pcs_vital: vitalbuf += 1
	if agilbuf > pcs_agil: agilbuf -= 1
	if agilbuf < pcs_agil: agilbuf += 1
else
	gs 'body_shape'
end


if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)

inWorkYoungShop = 0
husbandsexday = 0
borsexkol = 0
givisexday = 0

if shantsr > 0:
	pay = shantsr * 5000
	karta += pay
	shantsr = 0
end

if shantbog > 0:
	:shantftb
	shantftbgrand = rand(0, 10)
	if shantftbgrand > 2:
		shantpopala += 1
		shantbog -= 1
		if shantbog > 0:jump 'shantftb'
	elseif shantftbgrand <= 2:
		karta += 30000
		shantbog -= 1
		if shantbog > 0:jump 'shantftb'
	end
end

petersexday = 0
klismaday1 = 0

!! Resetting relationships that go over the max

:toptemprel
if temprel < 250:
	temprel +=1
	if npc_rel['A'+'<<temprel>>'] > 100:npc_rel['A'+'<<temprel>>'] = 100
	jump 'toptemprel'
end
killvar 'temprel'
!!------------------------------------------------------------------------------------------------------------
!!	Banking
!!------------------------------------------------------------------------------------------------------------

!!MJ: Add some (daily) interest to the bank account.
!!Not very realistic but wont make anyone too rich.

if bankAccount = 1:
	kartatotal = karta
	:kartaloop
	if kartatotal > 20000000:
		kartacount += 1
		largekarta[kartacount] = 20000000
		kartatotal -= 20000000
		jump 'kartaloop'
	else 
		largekarta[0] = kartatotal
	end
	if karta >= 2000000:
		!! yearly interest of 2.3% recalculated into daily interest = 0.006% daily
		intrate = 60
	elseif karta >= 0:
		!! yearly interest of 1.15% recalculated into daily interest = 0.003% daily	
		intrate = 30
	else
		!! yearly overdraft interest of 20% recalculated into daily interest = 0.055% daily		
		intrate = 550
	end
	:intloop
	if kartacount > 0:
		smallmoneypos += (largekarta[kartacount] * intrate)
		if smallmoneypos >= 1000000 or smallmoneypos <= -1000000: karta += smallmoneypos / 1000000 & smallmoneypos = smallmoneypos mod 1000000
		largekarta[kartacount] = 0
		kartacount -= 1
		jump 'intloop'
	else
		smallmoneypos += (largekarta[0] * intrate)
		largekarta[0] = 0
		if kartacount ! 0: kartacount = 0
	end

	if smallmoneypos >= 1000000 or smallmoneypos <= -1000000:
		karta += smallmoneypos / 1000000
		smallmoneypos = smallmoneypos mod 1000000
	end

	if atmDeposit > 0 and atmDepositDate <= daystart:
		karta += atmDeposit
		atmDeposit = 0
	end
end

!!------------------------------------------------------------------------------------------------------------
!!	Payments
!!------------------------------------------------------------------------------------------------------------

if day = 25:
	!! meynold payment
	if mey_vika_qw >= 35 and mey_tamara_help_count >= 10 and mey_tamara_qw_end = 0:
		money += 10000
		'<b><font color=green>For your efforts aunt Tamara gave you 10000 rubles</font></b>'
		mey_tamara_help_count = 0
	end

	if PersSecWork = 1 and PersSecWorkTimes > 0 and paydaybistrosec = 0:
		Pay = PersSecWorkTimes * 2500
		PersSecWorkTimes = 0
		karta += Pay
		paydaybistrosec = 1
		'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
	end

	if workKafe = 1 and paydayKafe = 0:
		paydayKafe = 1
		pay = smenaKafe * 600
		karta += pay
		smenaKafe = 0
		'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a waitress in a cafe.</font></b>'
	end

	if workhosp = 1 and nopaypoly = 0:
		pay = smena * 1000
		karta += pay
		smena = 0
		nopaypoly = 1
		'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in the clinic.</font></b>'
	end

	if worksalon = 1 and nopaysalon = 0:
		pay = smena * 800
		karta += pay
		smena = 0
		nopaysalon = 1
		'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in a beauty salon.</font></b>'
	end

	if tanwork = 1 and nopaytanwork = 0:
		nopaytanwork = 1
		karta += 25000
		'<b><font color="green">Your salary of 25,000 <b>₽</b> has been paid into your bank account for your work as a house maid.</font></b>'
	end

	if workSec = 1 and paydaySec = 0:
		paydaySec = 1
		pay = sekDay * 800

		if officebestslut >= 3:pay += 20000
		karta += pay
		sekDay = 0
		'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
	end

	if workFabrika = 1:
		pay = smenaFabrika * 400
		smenaFabrika = 0
		karta += pay
		'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job at the garment factory.</font></b>'
	end

	if husband > 0 and paydayHusb = 0:
		paydayHusb = 1

		if husbFin = 0:huspay = 15000
		if husbFin = 1:huspay = 25000
		if husbFin = 2:huspay = 40000

		karta += huspay
		'<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
	end

	if stipuha = 1 and stipuhaday = 0:stipuhaday = 1 & karta += 1200 & '<b><font color="green">You have received 1,200 <b>₽</b> scholarship.</font></b>'
	if housr = 1 and haday = 0 and BuyHous = 0:haday = 1 & money -= 3000 & '<b><font color="red">You paid 3,000 <b>₽</b> for your apartment.</font></b>'

	if housr = 1 and electroday = 0:
		electroday = 1
		if elektro >= 800:elektro = 800 + rand(0, 100)

		money -= elektro
		'<b><font color="red">You paid <<elektro>> for electricity.</font></b>'
	end

	if housr = 1 and kabel > 0 and kabelday = 0:kabelday = 1 & money -= 300 & '<b><font color="red">You have paid 300 <b>₽</b> for cable TV.</font></b>'
end

if day ! 25:
	if paydayHusb = 1:paydayHusb = 0
	if workKafe = 1 and paydayKafe = 1:paydayKafe = 0
	if workSec = 1 and paydaySec = 1:paydaySec = 0
	if housr = 1 and haday = 1 and BuyHous = 0:haday = 0
	if housr = 1 and electroday = 1:electroday = 0
	if housr = 1 and kabel > 0 and kabelday = 1:kabelday = 0
	if stipuhaday = 1:stipuhaday = 0
	if nopaytanwork = 1:nopaytanwork = 0
	if nopaypoly = 1:nopaypoly = 0
	if nopaysalon = 1:nopaysalon = 0
	if paydaybistrosec = 1:paydaybistrosec = 0
end

if sdaday = day and sdamonth = month and housr = 0:
	housr = 1
	'<b><font color="red">Your tenants have moved out and your apartment is now vacant.</font></b>'
	!msg 'Your tenants have moved out and your apartment is now vacant.'
end

!!------------------------------------------------------------------------------------------------------------


killvar 'holyday'
killvar 'kanikuli'

!!sisboyparty
!!-1 - don''t go to the party
!!0 - don''t know about parties
!!1 - knows about the parties
!!2 - agreed to go to the party
!!3 - Missed the party

if storyline = 1:
!!Party refresh if you didn''t see sis
	if week = 1 and sisboyparty ! 2:
		if sisboyparty = -1: sisboyparty = 1

		if sisboypartyQW >= 2 and sisboyparty > 0:
			sisboyparty_day = daystart + rand(3,5)
		end
	end
	
	if sisboyparty = 2 and sisboyparty_day > daystart: sisboyparty = 3

!!missed graduation
	if month = 5 and day = 26:
		if schoool_year = 2001 and year = 2018 and kanikuli ! 7:
			grad_miss = daystart + 1
		elseif schoool_year = 2000 and year = 2017 and kanikuli ! 7:
			grad_miss = daystart + 1
		end
	end

	if SchoolAtestat = 0:	
		if month = 12 and day > 25:
			if day < 31: 
				$holyday = '<b>Winter Break in <<32-day>> days.</b>'
			else
				$holyday = '<b>Winter Break starts tomorrow.</b>'
			end
		elseif month = 1 and day <= 15:
			kanikuli = 2
			if day < 13: 
				$holyday = '<b>Winter Break.</b>'
			elseif day < 15: 
				$holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
			else
				$holyday = '<b>Last day of Winter Break.</b>'
			end
		elseif month = 3 and day > 13:
			if day < 19: 
				$holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
			elseif day = 19: 
				$holyday = '<b>Spring Break starts tomorrow.</b>'
			elseif day >= 20 and day <= 26: 
				kanikuli = 3
				if day < 24: 
					$holyday = '<b>Spring Break.</b>'
				elseif day < 26: 
					$holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
				else 
					$holyday = '<b>Last day of Spring Break.</b>'
				end
			end
		elseif month = 5:
			if ( (schoool_year = 2000 and year = 2017) or (schoool_year = 2001 and year = 2018) ) and day >= 19 and day <= 25:
				if day = 25: 
					kanikuli = 6
					$holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
				elseif day = 24:
					$holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
				else
					$holyday = '<b>Your graduation is in <<26-day>> days.</b>'
				end
			elseif day >= 25:
				if day = 31: 
					$holyday = '<b>Summer Break starts tomorrow.</b>'
				else
					$holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
				end
			end
		elseif month = 6 or month = 7 or month = 8:
			kanikuli = 4
			if month = 8 and day >= 25:
				if day = 31:
					$holyday = '<b>Last day of Summer Break.</b>'
				else
					$holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
				end
			else
				$holyday = '<b>Summer Break.</b>'
			end
		elseif month = 10 and day >= 29:
			$holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
		elseif month = 11:
			if day < 3: 
				$holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
			elseif day = 3:
				$holyday = '<b>Autumn Break starts tomorrow.</b>'
			elseif day < 6:
				kanikuli = 1
				$holyday = '<b>Autumn Break.</b>'
			elseif day < 11:
				kanikuli = 1
				$holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
			elseif day = 11:
				kanikuli = 1
				$holyday = '<b>Last day of Autumn Break.</b>'
			end
		end
	end
end

killvar 'natholi'
if month = 1 and day >= 1 and day <= 8:
	$natholi = 'New Year holidays'
	natholi = 1
	if day = 1:$natholi += ', New Year'
	if day = 7:$natholi += ', Christmas'
end
if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
if natholi = 1:
	if $holyday ! '': $holyday += '<br>'
	$holiday += $natholi
end

if bcream_used >= 1:
    bcream_used = 0
    temp = rand(0,5)
    nbsize += temp
    if temp > 0:'Feels like your breasts have grown slightly.'
end
if steroid_dose >= 1:
    if lashair < 1:
        pcs_pubes += steroid_dose
        pcs_leghair += steroid_dose
    end
    steroid_dose = 0
end
if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
if aphrodisiac_timer ! 0:aphrodisiac_timer  = 0

if mentats_dose = 1:
    mentats_dose = 0
elseif mentats_dose > 1:
    pain['head'] += 20 * mentats_dose
    mentats_dose = 0
end
if breastpumped = 0 and breastcount > 0: breastcount -= 1
if breastpumped = 1: breastpumped = 0

!!Appearance base calculation call
gs 'body_shape', 'basebeautycalc'

!! vovan, from 1.2.5
hanters_check = 0
mushroom_pickers = 0
horse_river = 0
haying_time = 0
mira_go_river = 0
forestpicnic = 0
if Mira_no > 0: Mira_no -= 1
if Mira_no < 0: Mira_no = 0
if catout ! 0: catout = 0
if feedcat ! 0: feedcat = 0

loc_count = ARRSIZE('$CloLosLoc')
i = loc_count - 1
:loopCloLoc	
	$CloLoc = $CloLosLoc[i]
	CloLostOn = CloLosDay[$CloLoc]
	if CloLostOn + RAND(7,14) < daystart :		
		gs 'clothing', 'recover_lost_clothes', $CloLoc, 2			
	end
	i -=1
if i > -1 :jump 'loopCloLoc'

--- cikl ---------------------------------

