# 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]
!! new years party calculation
temp = func('shortgs','dow',year,12,31)
if temp < 6:
nyp_day = 31
elseif temp = 6:
nyp_day = 30
else
nyp_day = 29
end
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
!!modelling job check
if model_week ! (daystart - week) / 7:model_job_week = 0
!!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
!!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
'Your husband has filed for a divorce.'
end
if katjaPreg = 0 and month >= 2:
if school_year = 2001 and year > 2016:
katjaPreg = 1
elseif school_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'
if coatH[defaultcoat] <= 0: defaultcoat = 0
!! Abortion and pregnancy recovery resets if finished
if abortionbirthdate ! 0 and daystart - abortionbirthdate > 24: abortionbirthdate = 0
if pregbirthdate ! 0 and daystart - pregbirthdate > 73: pregbirthdate = 0
!!------------------------------------------------------------------------------------------------------------
!! Bimbo
!!------------------------------------------------------------------------------------------------------------
!!Bonus from clothing and shoes
if succubusflag = 0 and cheatBimbo = 0:
if bimbocl = 1:
snapshotY += 2
end
if bimbosh = 1:
snapshotY += 1
end
else
bimbocl = 0
end
if cheatBimbo = 0: bimbo += snapshotY
!!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 won''t 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)
!!A Succubus cannot be a Bimbo
if succubusflag = 1:
if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40
elseif bimbolevel >= 1:
!!Checks how often sex has occured in the last 24 hours and for drops in bimbo score, for calculating withdrawal
if 4 > snapshotY + (stat['vaginal'] + stat['bj'] + stat['anal']) - snapshotX:
bimbowithdrawal += 1
else
bimbowithdrawal = 0
end
end
if bimbo < 0: bimbo = 0
snapshotX = (stat['vaginal'] + stat['bj'] + stat['anal'])
snapshotY = 0
!!------------------------------------------------------------------------------------------------------------
!! Exhibitionism
!!------------------------------------------------------------------------------------------------------------
if pcs_exhib > 0 or exhibitionist_lvl > 0:
if pcs_exhib < 10:
pcs_exhib -= 1
elseif pcs_exhib < 20:
exhibitionist_lvl = 1
elseif pcs_exhib < 30:
exhibitionist_lvl = 2
else
exhibitionist_lvl = 3
end
end
!!Inhibition increases from wearing revealing clothing
if exhibition_outdoors > 0:
if pcs_inhib > 90:
exhibition_outdoors = exhibition_outdoors * 3
elseif pcs_inhib > 75:
exhibition_outdoors = exhibition_outdoors * 5 / 2
elseif pcs_inhib > 60:
exhibition_outdoors = exhibition_outdoors * 2
elseif pcs_inhib > 30:
exhibition_outdoors = exhibition_outdoors * 3 / 2
end
if exhibition_outdoors <= 5:
inhib_exp += rand(3,6)
elseif exhibition_outdoors <= 10:
inhib_exp += rand(5,9)
elseif exhibition_outdoors <= 15:
inhib_exp += rand(7,12)
elseif exhibition_outdoors <= 20:
inhib_exp += rand(9,15)
elseif exhibition_outdoors <= 25:
inhib_exp += rand(12,20)
elseif exhibition_outdoors <= 30:
inhib_exp += rand(16,25)
elseif exhibition_outdoors <= 35:
inhib_exp += rand(20,30)
elseif exhibition_outdoors <= 40:
inhib_exp += rand(25,40)
elseif exhibition_outdoors <= 50:
inhib_exp += rand(35,50)
elseif exhibition_outdoors <= 65:
inhib_exp += rand(50,75)
else
inhib_exp += rand(70,100)
end
end
exhibition_outdoors = 0
!!------------------------------------------------------------------------------------------------------------
!! Succubus
!!------------------------------------------------------------------------------------------------------------
!!Succubus Level & hunger calcs
if succubusflag = 1:
cheatHealth = 1
dynamic $cheatmenu['std_cure']
!! 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
!!------------------------------------------------------------------------------------------------------------
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 > (LutH_Max-75) 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 <> 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) = 0 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') = 60: 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 'A horrible pain shoots through your body.'
xgt 'gameover'
exit
else
MSG'You should die for giving birth unprepared, but Cheat Mode keeps you Alive.'
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
!!------------------------------------------------------------------------------------------------------------
!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'
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
!!Counter for dimka/igor date
if igor_DimaNos = 2 or igor_DimaNos = 3: $igor_DimaNos_day += 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
!!remove degradation for inhibition
inhib_flr = inhib_lvl
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)
!!Pussy_Kats job settings
inWorkYoungShop = 0
if week = 1 and young_shop_work = 100: young_shop_work = 1
if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
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'+'<>'] > 100:npc_rel['A'+'<>'] = 100
jump 'toptemprel'
end
killvar 'temprel'
!!------------------------------------------------------------------------------------------------------------
!! Banking
!!------------------------------------------------------------------------------------------------------------
!!MJ: Add some (daily) interest to the bank account.
!!Not very realistic but won''t 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['mey_vika_qw'] >= 35 and mey_tamara['help_count'] < 10 and mey_tamara['qw_end'] = 0:
karta += 10000
'For your efforts aunt Tamara gave you 10,000 rubles'
mey_tamara['help_count'] = 0
elseif mey_vika['mey_vika_qw'] >= 35 and mey_tamara['help_count'] >= 10 and mey_tamara['qw_end'] = 0:
karta += 15000
'For your efforts aunt Tamara gave you 15,000 rubles'
mey_tamara['help_count'] = 0
end
if PersSecWork = 1 and PersSecWorkTimes > 0 and paydaybistrosec = 0:
Pay = PersSecWorkTimes * 1250
PersSecWorkTimes = 0
karta += Pay
paydaybistrosec = 1
'Your salary of <> ₽ has been paid into your bank account for your job as a secretary.'
end
if workKafe = 1 and paydayKafe = 0:
paydayKafe = 1
pay = smenaKafe * 600
karta += pay
smenaKafe = 0
'Your salary of <> ₽ has been paid into your bank account for your job as a waitress in a cafe.'
end
if workhosp = 1 and nopaypoly = 0:
pay = smena * 1000
karta += pay
smena = 0
nopaypoly = 1
'Your salary of <> ₽ has been paid into your bank account for your work in the clinic.'
end
if worksalon = 1 and nopaysalon = 0:
pay = smenaSalon * 1560
karta += pay
smenaSalon = 0
nopaysalon = 1
'Your salary of <> ₽ has been paid into your bank account for your work in a beauty salon.'
end
if tanwork = 1 and nopaytanwork = 0:
nopaytanwork = 1
karta += 10000
'Your salary of 10,000 ₽ has been paid into your bank account for your work as a house maid.'
end
if workSec = 1 and paydaySec = 0:
paydaySec = 1
pay = sekDay * 800
if officebestslut >= 3:pay += 10000
karta += pay
sekDay = 0
'Your salary of <> ₽ has been paid into your bank account for your job as a secretary.'
end
if workFabrika = 1:
pay = smenaFabrika * 420
smenaFabrika = 0
karta += pay
'Your salary of <> ₽ has been paid into your bank account for your job at the garment factory.'
end
if husband > 0 and paydayHusb = 0:
paydayHusb = 1
if husbFin = 0:huspay = 20000
if husbFin = 1:huspay = 30000
if husbFin = 2:huspay = 40000
karta += huspay
'Your husband has paid <> ₽ into your bank account.'
end
if stipuha = 1 and stipuhaday = 0:stipuhaday = 1 & karta += 1200 & 'You have received 1,200 ₽ scholarship.'
! Utilities for all apartments.
if (home_owned[1] = 1 or home_owned[1] = 2 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 0:
gs 'housing', 'util'
if bankAccount = 1 and karta >= elektro:
'<> ₽ for utilities, has been automatically deducted from your bank account.'
electroday = 1
if elektro >= 2000:
elektro = 2000 + rand(0, 100)
karta -= elektro * hcount_util
end
elseif bankAccount = 1 and karta + bankDebtLimit >= elektro:
'<> ₽ for utilities, has been automatically deducted from your bank account and overdraw facility. Please contact your bank.'
electroday = 1
if elektro >= 2000:
elektro = 2000 + rand(0, 100)
karta -= elektro * hcount_util
end
elseif bankAccount = 0 and money >= elektro:
'You currently do not have a bank account setup for automatic utilities payments. <> ₽ has been deducted from your cash holdings.'
electroday = 1
if elektro >= 2000:
elektro = 2000 + rand(0, 100)
money -= elektro * hcount_util
end
else
'Your card was declined during automatic debit of <> ₽, for automatic utilities payment.'
end
end
! Cable for all apartments
if kabel > 0 and kabelday = 0:
gs 'housing', 'cable'
if bankAccount = 1 and karta >= (300 * hcount_cable):
'300 ₽ has been deducted from your bank account, for you cable TV subscription.'
kabelday = 1
karta -= 300 * hcount_cable
'Your card was declined during automatic debit of 300 ₽ for cable TV subscription.'
elseif bankAccount = 1 and karta + bankDebtLimit >= (300 * hcount_cable):
'300 ₽ has been deducted from your bank account and overdraw facility, for you cable TV subscription.'
kabelday = 1
karta -= 300 * hcount_cable
elseif bankAccount = 0 and money >= (300 * hcount_cable):
'You currently do not have a bank account setup for automatic payment of your cable TV subscription. 300 ₽ has been deducted from your cash holdings.'
kabelday = 1
money -= 300 * hcount_cable
else
'Your card was declined during automatic debit of 300 ₽ for cable TV subscription.'
end
end
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 (home_owned[1] = 1 or home_owned[4] > 0) and haday = 1:haday = 0
if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 1:electroday = 0
if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 3) 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 home_owned[1] = 3:
home_owned[1] = 2
'Your tenants have moved out and your apartment is now vacant.'
!msg 'Your tenants have moved out and your apartment is now vacant.'
end
!!----------------------------------------
!! Rent
!!----------------------------------------
if home_owned[1] = 1 or home_owned[4] > 0:
gs 'housing', 'rent'
! Rent for the city apartment
if home_owned[1] = 1:
if ArendHouseSL <= 2:
!From bank
if bankAccount = 1 and karta >= home_rent[1]:
'Your rent payment of <> ₽ for your city apartment, has automatically been deducted from your bank account.'
karta -= home_rent[1]
ArendHouseSL += ArendHouseSL_due
elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[1]:
'Your rent payment of <> ₽ for your city apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.'
karta -= home_rent[1]
ArendHouseSL += ArendHouseSL_due
elseif bankAccount = 0:
'You currently do not have a bank account setup for automatic rent deduction of <> ₽ for your city apartment. To avoid eviction, please make manual payment as soon as possible.'
else
nl
'Your card was declined during automatic rent deduction of <> ₽ for your city apartment. To avoid eviction, please rectify as soon as possible.'
end
end
end
! Rent for the Pushkin apartment
if home_owned[4] > 0:
if ArendHouseSL4 <= 2:
!From bank
if bankAccount = 1 and karta >= home_rent[4]:
'Your rent payment of <> ₽ for your Pushkin apartment, has automatically been deducted from your bank account.'
karta -= home_rent[4]
ArendHouseSL4 += ArendHouseSL4_due
elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[4]:
'Your rent payment of <> ₽ for your Pushkin apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.'
karta -= home_rent[4]
ArendHouseSL4 += ArendHouseSL4_due
elseif bankAccount = 0:
'You currently do not have a bank account setup for automatic rent deduction of <> ₽ for your Pushkin apartment. To avoid eviction, please make manual payment as soon as possible.'
else
nl
'Your card was declined during automatic rent deduction of <> ₽ for your Pushkin apartment. To avoid eviction, please rectify as soon as possible.'
end
end
end
end
if home_owned[1] = 1 and ArendHouseSL <= 0: ArendHouseSL = 0 & home_owned[1] = 0
if home_owned[4] > 0 and ArendHouseSL4 <= 0: ArendHouseSL4 = 0 & home_owned[4] = 0
if home_owned[1] = 1: ArendHouseSL -= 1
if home_owned[4] > 0: ArendHouseSL4 -= 1
!!------------------------------------------------------------------------------------------------------------
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 + 1 < daystart: sisboyparty = 3
!!missed graduation
if month = 5 and day = 26:
if school_year = 2001 and year = 2018 and kanikuli ! 7:
grad_miss = daystart + 1
elseif school_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 = 'Winter Break in <<32-day>> days.'
else
$holyday = 'Winter Break starts tomorrow.'
end
elseif month = 1 and day <= 15:
kanikuli = 2
if day < 13:
$holyday = 'Winter Break.'
elseif day < 15:
$holyday = 'Winter Break ends in <<16-day>> days.'
else
$holyday = 'Last day of Winter Break.'
end
elseif month = 3 and day > 13:
if day < 19:
$holyday = 'Spring Break starts in <<20-day>> days.'
elseif day = 19:
$holyday = 'Spring Break starts tomorrow.'
elseif day >= 20 and day <= 26:
kanikuli = 3
if day < 24:
$holyday = 'Spring Break.'
elseif day < 26:
$holyday = 'Spring Break ends in <<27-day>> days.'
else
$holyday = 'Last day of Spring Break.'
end
end
elseif month = 5:
if ( (school_year = 2000 and year = 2017) or (school_year = 2001 and year = 2018) ) and day >= 19 and day <= 25:
if day = 25:
kanikuli = 6
$holyday = 'Your graduation is today. Be there by 8:00.'
elseif day = 24:
$holyday = 'Your graduation is tomorrow. Be there by 8:00.'
else
$holyday = 'Your graduation is in <<26-day>> days.'
end
elseif day >= 25:
if day = 31:
$holyday = 'Summer Break starts tomorrow.'
else
$holyday = 'Summer Break starts in <<32-day>> days.'
end
end
elseif month = 6 or month = 7 or month = 8:
kanikuli = 4
if month = 8 and day >= 25:
if day = 31:
$holyday = 'Last day of Summer Break.'
else
$holyday = 'Summer Break ends in <<32-day>> days.'
end
else
$holyday = 'Summer Break.'
end
elseif month = 10 and day >= 29:
$holyday = 'Autumn Break starts in <<35-day>> days.'
elseif month = 11:
if day < 3:
$holyday = 'Autumn Break starts in <<4-day>> days.'
elseif day = 3:
$holyday = 'Autumn Break starts tomorrow.'
elseif day < 6:
kanikuli = 1
$holyday = 'Autumn Break.'
elseif day < 11:
kanikuli = 1
$holyday = 'Autumn Break ends in <<12-day>> days.'
elseif day = 11:
kanikuli = 1
$holyday = 'Last day of Autumn Break.'
end
end
end
!!Brother''s dick growth as he gets older
kolka_dick_month = daystart/30
if kolka_dick_month > daystart/30 and npc_dick['A34'] < 26: npc_dick['A34'] += 1
if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
$npc_thdick['A34'] = 'well proportioned'
elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:
$npc_thdick['A34'] = 'thick'
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 += '
'
$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
!!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'
if vidageday > 1080: vidageday = 1080
if blizoruk < 10: blizoruk -= 1
if blizoruk < 100: blizoruk -= rand(0,1)
if blizoruk < 0: blizoruk = 0
--- cikl ---------------------------------