# cikl !!------------------------------------------------------------------------------------------------------------ !! Masseuse Job (MUST COME BEFORE DAY CHANGES) !!------------------------------------------------------------------------------------------------------------ if masseuse['jobtype'] < 1: masseuse['<>_shift_1'] = 0 masseuse['<>_shift_2'] = 0 masseuse['<>_shift_3'] = 0 end if (masseuse['<>_shift_1'] ! 0 or masseuse['<>_shift_2'] ! 0 or masseuse['<>_shift_3'] ! 0) and masseuse['last_worked_day'] ! daystart: masseuse['missed_shift2'] = 1 end !!---------------------------------------------------------------------------- !! Time calculations day += 1 week += 1 hour -= 24 if day > monthsEnd[month]: day -= monthsEnd[month] month += 1 !! Changing the year at new year and making sure February have the correct number of days. if month > 12: month = 1 year += 1 if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0): monthsend[2] = 29 else monthsend[2] = 28 end end !!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 ciklNewWeek = 0 if week > 7: odd_week = iif(odd_week,0,1) ciklNewWeek = 1 :loopweek week -= 7 husbandrink = 0 if military = 1:military = 0 if week > 7:jump 'loopweek' end gs 'daystart' !!---------------------------------------------------------------------------- !!Fame call to update all the fame variables gs 'fame' !!Cycle stats for Contacts gs 'telefon', 'DailyStatRefresh', ciklNewWeek !!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 !!------------------------------------------------------------------------------------------------------------ !! Job Stuff !!------------------------------------------------------------------------------------------------------------ !! masseuse paycheck if masseuse['weeks_pay'] > 0 and week = 5:masseuse['paycheck'] = 1 if masseuse['jobtype'] > 0 and week = 5 and masseuse['weeks_pay'] > 0: masseuse['payday'] = 1 end if week = 7 and masseuse['schedule_update'] ! daystart: gs 'masseuse_schedule','schedule_reset' !!modelling 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 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 birthday = day and birthmonth = month and model['age'] > 0:model['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 and year > 2016: katjaPreg = 1 !! 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 dyneval ('RESULT = <<$coatworntype>>_coats_h[<>]') <= 0: $coatworntype = 'none' !! 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 !!------------------------------------------------------------------------------------------------------------ !! Nympho !!------------------------------------------------------------------------------------------------------------ !! Reserved for nympho trait if nymphosex_flag = 1: end nymphosex_flag = 0 !!------------------------------------------------------------------------------------------------------------ !! Bimbo !!------------------------------------------------------------------------------------------------------------ !!bimbo flag set in stat_display if bimbo clothing, shoes and makeup are worn at same time if succubusflag = 0 and cheatBimbo = 0 and bimbo_flag = 1: bimbo += 1 !!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: if bimbo_flag = 0: bimbo -= 2 end 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 flag and adds withdrawal if 0 if bimbo_flag = 0: bimbowithdrawal += 1 else bimbowithdrawal = 0 end end if bimbo < 0: bimbo = 0 !! flag reset bimbo_flag = 0 !!------------------------------------------------------------------------------------------------------------ !! Butt slut !!------------------------------------------------------------------------------------------------------------ if orgasm_anal > orgasm_anal[1]: buttslut_exp += 1 else buttslut_exp -= 1 end orgasm_anal[1] = orgasm_anal if orgasm_anal >= 10 and traits['buttslut_lvl'] = 0: traits['buttslut_lvl'] = 1 if traits['buttslut_exp'] >= 15 and traits['buttslut_lvl'] = 1: traits['buttslut_lvl'] = 2 & traits['buttslut_exp'] = 0 if traits['buttslut_exp'] >= 50 and traits['buttslut_lvl'] = 2: traits['buttslut_lvl'] = 3 if traits['buttslut_exp'] <= 0 and traits['buttslut_lvl'] = 3: traits['buttslut_lvl'] = 2 & traits['buttslut_exp'] = 0 !!------------------------------------------------------------------------------------------------------------ !! Exhibitionism !!------------------------------------------------------------------------------------------------------------ if pcs_exhib > 0 or exhibitionist_lvl > 0: if pcs_exhib < 10: pcs_exhib -= 1 elseif pcs_exhib < 50: exhibitionist_lvl = 1 elseif pcs_exhib < 100 or exhibitionQW < 3: exhibitionist_lvl = 2 elseif exhibitionQW > 2: 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 salo < 60: salo += 2 sucexcess -= 10 elseif salo > 60: salo -= 2 sucexcess -= 10 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 gs 'sweat', 'add', 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 from shot (2) or pill (1) !! 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 if birth_control['implant_status'] > 0: 'Your birth control shot is no longer protecting you.' end elseif shotdays <= 0: if shotdays = 0: shotdue = 7 else shotdue -= 1 end if birth_control['implant_status'] > 0: 'The chemicals regulating your fertility cycle are wearing off, you need to get your shot in <> days.' end elseif shotdays > 1 and shotdays < 5 and birth_control['implant_status'] = 0: 'You are due for a birth control shot soon if you do not get one, you might get pregnant.' elseif shotdays = 1 and birth_control['implant_status'] = 0: 'Your birth control shot is due for renewal tomorrow.' end if shotdays > -100:shotdays -=1 if tabletkishot > 0:tabletkishot -= 1 end !! birth_control['implant_status'] !! 0: No implant !! 3: Implant (more than 30 days left) !! 2: Implant (less than 30 days left) !! 1: Empty implant if birth_control['implant_status'] > 1: pcs_skin += rand(0,1) pillcon += ((pillcon + 15000) / 25) + 4000 if pillcon > 40000: pillcon = 40000 pillcon2 += ((pillcon2 + 15000) / 25) + 4000 if pillcon2 > 40000: pillcon2 = 40000 birth_control['implant_timer'] -= 1 if (birth_control['implant_timer'] - 1090) > 0: gs 'pain', '<<(birth_control[''implant_timer''] - 1090)*2>>', 'armL', 'ache' elseif birth_control['implant_timer'] > 0 and birth_control['implant_timer'] < 30: birth_control['implant_status'] = 2 'Your birth control implant is only good for <> more'+iif(birth_control['implant_timer'] = 1, 'day.', 'days.') elseif birth_control['implant_timer'] < 0: birth_control['implant_status'] = 1 'You should renew or remove your birth control implant.' end elseif birth_control['implant_status'] = 1: 'You should renew or remove your birth control implant.' 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 if pillcon > 38000: birth_control['safe'] = 1 else birth_control['safe'] = 0 end if pillcon2 > 38000: birth_control['think_safe'] = 1 else birth_control['think_safe'] = 0 end $MenCal[] = $str(cycle) if ArrSize('$MenCal') = 60: killvar '$MenCal',0 !!------------------------------------------------------------------------------------------------------------ if lashair ! 1: pcs_leghair += 1 !!Pubic hair growth at 1/2 per night if pcs_pubes['growth'] > 1: pcs_pubes['growth'] = 0 pcs_pubes += 1 end pcs_pubes['growth'] += 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 !!Trauma decay if mood_trauma > 0: mood_trauma -= 1 !!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 Venera = 0 if SifacOnce = 1: Venera += 1 if GerpesOnce = 1: Venera += 1 if TriperOnce = 1: Venera += 1 if pcs_ass > 1 and ashrink > 0 and analplugIN = 0: if daystart mod(ashrinkdays) = 0: pcs_ass -= ashrink if pcs_ass < 0: pcs_ass = 0 end if pcs_vag > 10 and vshrink > 0: if daystart mod(vshrinkdays) = 0: pcs_vag -= vshrink if pcs_vag < 0: pcs_vag = 0 end lipkoef -= rand(0,1) if lipkoef <= 0: lipkoef = 0 if isprok = 1 or isprokp = 1: isprok_lastday = 1 else isprok_lastday = 0 end 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: gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A14' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A16' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A23' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A28' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A29' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A33' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A34' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A69' gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A131' !{killvar 'pregTalkFamily' -- Do not kill this (Abortion talk).} killvar 'pcs_pregtalk' killvar 'pregTalk' 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 += pregchem / 240 end end end end if pcs_horny < 0:pcs_horny = 0 !!------------------------------------------------------------------------------------------------------------ !reset Natasha Belova''s clothes if NatbelQW['seethroughwearing'] = 1: NatbelQW['seethroughwearing'] = 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 !!pubic hair colouring !! pcs_pubecol = natural colour !! pcs_pubecol[1] = flag for saveupdate !! pcs_pubecol[2] = actual colour !! pcs_pubecol[3] = countdown timer for dye if pcs_pubecol[2] ! pcs_pubecol: pcs_pubecol[3] -=1 if pcs_pubecol[3] < 0: pcs_pubecol[3] = 0 if pcs_pubecol[3] = 0: pcs_pubecol[2] = pcs_pubecol end if pcs_pubes < 2: pcs_pubecol[2] = pcs_pubecol if hscrunch > 0: hscrunchrand = rand(1, 100) if hscrunchrand <= 8:hscrunch -= 1 end !!------------------------------------------------------------------------------------------------------------ !! Clothing wear and tear gs 'starenie' !!cocaine reduction if nark > 60: nark = 60 elseif nark > 30: nark -= 3 elseif nark > 0: nark -= 1 end if pregchem > 240: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 !!Reseting if Katja have seen you are not wearing panties at the disco if katja_disco_end > 0: katja_disco_end = 0 if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1 !!Making Sonia''s fall progress if the player do not see the scenes at the disco, by making it such that if at a Sunday her fall have not advanced this weekend it will automatically advance. if storyline = 1 and week = 7 and soniaPS = 0 and month > 9 and daystart >= soniafallDay + 6: if soniafall < 7: soniafallDay = daystart -1 soniafall += 1 else soniaPS = 1 soniaPSdays = daystart npc_grupTipe['A25'] = 5 $npc_notes['A25'] = 'Ever since Sonia inadvertently got way too drunk and gave five guys including Vitek and his friends a simultaneous blowjob near the disco, her reputation in Pavlovsk has been in shambles. The girls in her class all give her the silent treatment, pretending she does not exist. Meanwhile, the guys all treat her like a cheap whore and regularly ask (or sometimes even demand) sex from her, knowing she doesn''t have the strength to say no.' end end dmishaevent = 0 if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0 if GspravkaT = 1:Gspravka -= 1 if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] = 30:BurgerQW['IlyQW'] = 3 if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] > 0 and BurgerQW['IlyQWPoliceDayCount'] < 30:BurgerQW['IvanQWPoliceDayCount'] += 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 !!ugly duckling start becoming a swan if uglyduck_flag = 1 and hotcat >= 5: killvar 'uglyduck_flag' gs 'npc_relationship', 'socialgroup_setting_boys', 10, 10, 10, 10, 0, 0 grupvalue[1] += 100 old_grupvalue[1] += 100 end !! Resetting relationships that go over the max :toptemprel if temprel < aarraynumber: 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 BurgerQW['Secretary'] = 1 and BurgerQW['SecretaryTimesWorked'] > 0 and paydaybistrosec = 0: Pay = BurgerQW['SecretaryTimesWorked'] * 1250 BurgerQW['SecretaryTimesWorked'] = 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 * 1500 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 * 600 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 func('uniutil', 'scholarship' , 'is_active') and scholarshipday = 0: scholarshipday = 1 karta += func('uniutil', 'scholarship', 'get') 'You have received '+func('uniutil', 'scholarship', 'get')+' from your scholarship.' end ! 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 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 scholarshipday = 1:scholarshipday = 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' killvar 'pcs_ate' killvar 'pcs_drank' !! THIS IS THE OLD SYSTEM. Only keeping this in while it''s still in use as reference for the old variables, otherwise THESE VALUES ARE NOT THE CORRECT ONES FOR NEW VARIABLES !!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 !!suspension ends if suspended['day'] = daystart: suspended['on'] = 0 if storyline = 1: !!Party refresh if you didn''t see sis if week = 1 and sisboyparty ! 2: if sisterQW['party'] = -1: sisterQW['party'] = 0 if sisboypartyQW >= 2 and sisboyparty > 0: sisboyparty_day = daystart + rand(3,5) end end if sisboyparty = 2 and sisboyparty_day + 1 < daystart: sisboyparty = 3 if SchoolAtestat = 0 and SchoolBlock = 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 year = 2017: if day = 25: kanikuli = 6 SchoolAtestat = -1 $holyday = 'Your graduation is today. Be there by 8:00.' elseif day = 24: $holyday = 'Your graduation is tomorrow. Be there by 8:00.' elseif day >= 19: $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 !! start inc 'I put it here because I want to reset these variables during the summer, they are related to cheerleading and it is useful just in case that PC will be part of the team for more than one year.' killvar 'first_time_outside_in_cold_weather' killvar 'first_time_doing_basketball' killvar 'first_time_spring_football_match' !! end inc 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 if kanikuli = 0 and week < 6: if week = 1: !!The start and end values for i have to be changed if more female schoolgirl npcs are added to the game i = 11 :hotcat_calc_jump i += 1 if hotcat_rating['A<>'] = 0: jump 'hotcat_calc_jump' switch_rand = rand(1,100) if hotcat_movement['A<>'] = 0 and switch_rand < 21: hotcat_rating['A<>'] -= 1 hotcat_movement['A<>'] -= 1 elseif hotcat_movement['A<>'] = 0 and switch_rand > 80: hotcat_rating['A<>'] += 1 hotcat_movement['A<>'] += 1 elseif hotcat_movement['A<>'] = 1 and switch_rand > 40: hotcat_rating['A<>'] -= 1 hotcat_movement['A<>'] -= 1 elseif hotcat_movement['A<>'] = -1 and switch_rand > 40: hotcat_rating['A<>'] += 1 hotcat_movement['A<>'] += 1 end if i < 145: jump 'hotcat_calc_jump' killvar 'i' killvar 'switch_rand' end !! Resetting the late flag if late = 1: late = 0 end !!Social grup changes !!Change from relatonship with other students. gs 'gschool_socialchg', 'group_student_rel_change' !!Decay for the school groups if grupvalue[1] > 0: grupvalue[1] -= rand(0,1) else grupvalue[1] = 0 end if grupvalue[2] > 0: grupvalue[2] -= rand(0,1) else grupvalue[2] = 0 end if grupvalue[3] > 0: grupvalue[3] -= rand(0,1) else grupvalue[3] = 0 end if grupvalue[4] > 0: grupvalue[4] -= rand(0,1) else grupvalue[4] = 0 end !!Maximum increase for grupvalues is 10 and max decay is 30 if oldgrupvalue_set = 0: oldgrupvalue_set = 1 old_grupvalue[1] = grupvalue[1] old_grupvalue[2] = grupvalue[2] old_grupvalue[3] = grupvalue[3] old_grupvalue[4] = grupvalue[4] else if old_grupvalue[1] + 10 < grupvalue[1]: grupvalue[1] = old_grupvalue[1] + 10 if old_grupvalue[2] + 10 < grupvalue[2]: grupvalue[2] = old_grupvalue[2] + 10 if old_grupvalue[3] + 10 < grupvalue[3]: grupvalue[3] = old_grupvalue[3] + 10 if old_grupvalue[4] + 10 < grupvalue[4]: grupvalue[4] = old_grupvalue[4] + 10 if old_grupvalue[1] - 30 > grupvalue[1]: grupvalue[1] = old_grupvalue[1] - 30 if old_grupvalue[2] - 30 > grupvalue[2]: grupvalue[2] = old_grupvalue[2] - 30 if old_grupvalue[3] - 30 > grupvalue[3]: grupvalue[3] = old_grupvalue[3] - 30 if old_grupvalue[4] - 30 > grupvalue[4]: grupvalue[4] = old_grupvalue[4] - 30 end !!Limit to max school group values if grupvalue[1] > 1000: grupvalue[1] = 1000 if grupvalue[2] > 1000: grupvalue[2] = 1000 if grupvalue[3] > 1000: grupvalue[3] = 1000 if grupvalue[4] > 1000: grupvalue[4] = 1000 old_grupvalue[1] = grupvalue[1] old_grupvalue[2] = grupvalue[2] old_grupvalue[3] = grupvalue[3] old_grupvalue[4] = grupvalue[4] elseif SchoolAtestat = -1: if home_owned[2] = 0: $holyday = 'You missed your graduation. You could pick up your diploma at the school.' else $holyday = 'You missed your graduation. Maybe your mother picked up your diploma.' end end !!Brother''s dick growth as he gets older !Commented out till some future time !if kolka_dick_day + 30 < daystart and npc_dick['A34'] < 26: ! kolka_dick_day = daystart ! npc_dick['A34'] += 1 !end !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 if kanikuli = 0 and week = 1: lernHome = 0 if class['first_grade_check'] > 0: gs 'grades', 'calculate_grade', 'school' gs 'grades', 'assing_grade_description', 'school' else i = 0 :grade_loop dynamic 'class[''school_<<$class_list_name[i]>>_weekly_grade_gain''] = 0' i +=1 if ARRSIZE('class_list_institution') > i: jump 'grade_loop' 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 += '
' $holyday += $natholi end !!------------------------------------------------------------------------------------------------------------------------ !!Setting the the weeks in the university semester and makeing sure that the gades are calculated at the right times if university['enrolled_in_semester'] > university['semester_passed'] and university['semester_week'] = 0 and (month = 8 or month = 1) and (day - week) >= 20: university['semester_week'] = -1 end if week = 1: if university['semester_week'] = -1: university['semester_week'] = 1 elseif university['semester_week'] > 0 and university['semester_week'] < 15: university['semester_week'] += 1 gs 'grades', 'calculate_grade', 'uni_<<$university[''enrolled_in'']>>_semester_<>' gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<>' elseif university['semester_week'] = 15: university['semester_week'] = 0 university['exam_week'] = 1 gs 'grades', 'calculate_grade', 'uni_<<$university[''enrolled_in'']>>_semester_<>' gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<>' elseif university['exam_week'] = 1: university['exam_week'] = 2 elseif university['exam_week'] = 2: university['exam_week'] = 0 end end !!------------------------------------------------------------------------------------------------------------------------ if bcream_used >= 1: bcream_used = 0 temp = rand(0,max(nbsize-genbsize+5,5)) / max(nbsize-genbsize,1) if temp > 0: temp = 1 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 hunters_check = 0 mushroom_pickers = 0 mira_go_river = 0 forestpicnic = 0 if Mira_no > 0: Mira_no -= 1 if Mira_no < 0: Mira_no = 0 !! new grandparent chore stuff, for 0.8.0 if gadstay = 1 and lost_girl = 0: if daystart > (grandmaQW['last_day_helped'] + 3) and daystart > (grandpaQW['last_day_helped'] + 3): if (daystart - grandmaQW['last_day_helped']) <= (daystart - grandpaQW['last_day_helped']): 'You haven''t helped your grandparents with any chores in <> days. You should help out more regularly to stay on your grandparents'' good side.' else 'You haven''t helped your grandparents with any chores in <> days. You should help out more regularly to stay on your grandparents'' good side.' end grandmaQW['help_amount'] -= 1 end end !! disappointing grandma if grandmaQW['chore_clean_floor'] = 1 or grandmaQW['chore_clean_floor'] = 2: grandmaQW['chore_clean_floor'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_wash_clothes'] = 1 or grandmaQW['chore_wash_clothes'] = 2: grandmaQW['chore_wash_clothes'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_milk_cow'] = 1 or grandmaQW['chore_milk_cow'] = 2: grandmaQW['chore_milk_cow'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_groceries'] = 1 or grandmaQW['chore_groceries'] = 2: grandmaQW['chore_groceries'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_can_mushrooms'] = 1 or grandmaQW['chore_can_mushrooms'] = 2: grandmaQW['chore_can_mushrooms'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_can_berries'] = 1 or grandmaQW['chore_can_berries'] = 2: grandmaQW['chore_can_berries'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_can_veggies'] = 1 or grandmaQW['chore_can_veggies'] = 2: grandmaQW['chore_can_veggies'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_feed_chickens'] = 1 or grandmaQW['chore_feed_chickens'] = 2: grandmaQW['chore_feed_chickens'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_work_in_garden'] = 1 or grandmaQW['chore_work_in_garden'] = 2: grandmaQW['chore_work_in_garden'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_water_garden'] = 1 or grandmaQW['chore_water_garden'] = 2: grandmaQW['chore_water_garden'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_collect_strawberries'] = 1 or grandmaQW['chore_collect_strawberries'] = 2: grandmaQW['chore_collect_strawberries'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_collect_fruit'] = 1 or grandmaQW['chore_collect_fruit'] = 2: grandmaQW['chore_collect_fruit'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_harvest_garden'] = 1 or grandmaQW['chore_harvest_garden'] = 2: grandmaQW['chore_harvest_garden'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_gather_mushrooms'] = 1 or grandmaQW['chore_gather_mushrooms'] = 2: grandmaQW['chore_gather_mushrooms'] = 0 grandmaQW['chore_mushroom_quantity'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_gather_berries'] = 1 or grandmaQW['chore_gather_berries'] = 2: grandmaQW['chore_gather_berries'] = 0 grandmaQW['chore_berry_quantity'] = 0 grandmaQW['disappointment'] = 1 elseif grandmaQW['chore_gather_both'] = 1 or grandmaQW['chore_gather_both'] = 2: grandmaQW['chore_gather_both'] = 0 grandmaQW['chore_mushroom_quantity'] = 0 grandmaQW['chore_berry_quantity'] = 0 grandmaQW['disappointment'] = 1 end !! disappointing grandpa if grandpaQW['chore_fetch_firewood'] = 1 or grandpaQW['chore_fetch_firewood'] = 2: grandpaQW['chore_fetch_firewood'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_feed_horse'] = 1 or grandpaQW['chore_feed_horse'] = 2: grandpaQW['chore_feed_horse'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_feed_cow'] = 1 or grandpaQW['chore_feed_cow'] = 2: grandpaQW['chore_feed_cow'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_clean_yard'] = 1 or grandpaQW['chore_clean_yard'] = 2: grandpaQW['chore_clean_yard'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_feed_boar'] = 1 or grandpaQW['chore_feed_boar'] = 2: grandpaQW['chore_feed_boar'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_bathe_horse'] = 1 or grandpaQW['chore_bathe_horse'] = 2: grandpaQW['chore_bathe_horse'] = 0 grandpaQW['chore_bathe_horse_prog'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_brush_horse'] = 1 or grandpaQW['chore_brush_horse'] = 2: grandpaQW['chore_brush_horse'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_lead_horse_to_field'] = 1 or grandpaQW['chore_lead_horse_to_field'] = 2: grandpaQW['chore_lead_horse_to_field'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_herd_cattle'] = 1 or grandpaQW['chore_herd_cattle'] = 2: grandpaQW['chore_herd_cattle'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_lead_cow_to_field'] = 1 or grandpaQW['chore_lead_cow_to_field'] = 2: grandpaQW['chore_lead_cow_to_field'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_gather_mushrooms'] = 1 or grandpaQW['chore_gather_mushrooms'] = 2: grandpaQW['chore_gather_mushrooms'] = 0 grandpaQW['chore_mushroom_quantity'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_gather_berries'] = 1 or grandpaQW['chore_gather_berries'] = 2: grandpaQW['chore_gather_berries'] = 0 grandpaQW['chore_berry_quantity'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_gather_both'] = 1 or grandpaQW['chore_gather_both'] = 2: grandpaQW['chore_gather_both'] = 0 grandpaQW['chore_mushroom_quantity'] = 0 grandpaQW['chore_berry_quantity'] = 0 grandpaQW['disappointment'] = 1 elseif grandpaQW['chore_bale_hay'] = 1 or grandpaQW['chore_bale_hay'] = 2: grandpaQW['chore_bale_hay'] = 0 grandpaQW['disappointment'] = 1 end !! grandparents use root cellar if boletus_stored > 0: boletus_stored -= rand(0,1) if bilberry_stored > 0: bilberry_stored -= rand(0,1) if boletus_stored < 0: boletus_stored = 0 if bilberry_stored < 0: bilberry_stored = 0 !! end of new grandparent chore stuff, for 0.8.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 !!------------------------------------------------------------------------------------------------------------------------ !!array cleaning moving potential fathers from C to B array and cleaning C array !First look is there any cum in the womb,when womb is empty random genereted npc record are cleaningare deleted ! mid($npclastgenerated[0],2,9) number of the last random created npcs norandomdads = 1 !checking if Sveta have children or babies if arrsize('$ChildFath') > 0: !Yes she have... cheking if random NPC is the dady !'Sveta have <<$ChildFath>> children' childtmp = 0 :childloop if mid($ChildFath[childtmp],1,1) = 'C': !yes child is from random genereted npc norandomdads = 0 else !child is not from random genereted npc childtmp += 1 if childtmp < arrsize('$ChildFath'): jump 'childloop' end end number = 0 !checking if there is some cum in womb. if arrsize('$cumarrnam') > 0: !there is cum in womb :cleaning_records_cum $tmp = 'C' + '<>' cum_number = 0 :cumloop !look if cum in womb is from random created npc if($tmp = $cumarrnam[cum_number]): !'cum from <<$tmp>> is in the womb' number +=1 if number < mid($npclastgenerated[0],2,9): jump 'cleaning_records_cum' else cum_number += 1 if cum_number < arrsize('$cumarrnam'): jump 'cumloop' else !'no cum in woomb from <<$tmp>>' if norandomdads = 1: !no random dads If npc_pers[$tmp] ! '': gs 'npccleanc',$tmp else !some children are from random genereted npc !checking if selected npc is a dady childtmp = 0 :childloop3 if $ChildFath[childtmp] = $tmp: !selected npc is father of the child, he will stay in record or now !moving npc from C array to B array, gs 'npcpreservec',$tmp number += 1 if number < mid($npclastgenerated[0],2,9): jump 'cleaning_records_cum' else !child is not from random genereted npc childtmp += 1 if childtmp < arrsize('$ChildFath'): jump 'childloop3' else !children are not from seleted random npc, we are cleaning his redords gs 'npccleanc',$tmp number += 1 if number < mid($npclastgenerated[0],2,9): jump 'cleaning_records_cum' end end end end end else !there is no cum in womb, cleaning random created npc redords if norandomdads = 0: :cleaning_with_babies $tmp = 'C' + '<>' !cheking if random NPC is the dady childtmp2 = 0 :childloop2 if $ChildFath[childtmp2] = $tmp: !selected random NPC is dady selected child gs 'npcpreservec', $tmp number +=1 if number < mid($npclastgenerated[0],2,9): jump 'cleaning_with_babies' else !selected random NPC is not dady selected child childtmp2 += 1 if childtmp2 < arrsize('$ChildFath'): jump 'childloop2' else !selected random npc is not any child dady gs 'npccleanc',$tmp number += 1 if number < mid($npclastgenerated[0],2,9): jump 'cleaning_with_babies' end end else !she have no children or babies, and no cum freom random npc !'cleaning random NPC records' :cleaning_no_babies $tmp = 'C' + '<>' !'clining <<$tmp>>' gs 'npccleanc',$tmp number += 1 if number < mid($npclastgenerated[0],2,9): jump 'cleaning_no_babies' end end killvar '$tmp' killvar 'number' killvar 'childtmp2' killvar 'childtmp' killvar 'norandomdads' !!------------------------------------------------------------------------------------------------------------ !!-------------Family schedule variables---------------------------------------------------------------------- !! 23 = kitchen !! 24 = Living room !! 25 = bathroom !! 26 = Svetas room if week = 6: momclean1 = rand(23,26) else momclean1 = rand(23,24) end if rand(0,1) = 0: momclean2 = 23 else momclean2 = 25 end !!-------------Therapist Route schedule variables---------------------------------------------------------------------- !! 23 = kitchen !! 24 = Living room !! 25 = bathroom !! 26 = Master''s room if therapistWantsSlave > 0: annaclean1 = rand(23,26) if rand(0,1) = 0: momclean2 = 23 else momclean2 = 25 end end !!------------------------------------------------------------------------------------------------------------ !!---------- School related schedule ------------------------------------------------------------------------- starlets_on = iif( ( (week = 5 and odd_week = 0) or (week = 1 or week = 3 or week >= 6) ) and natholi = 0,1,0) cheerleaders_on = iif( ( (week = 5 and odd_week = 1) or (week = 2 or week = 4) ) and (natholi = 0 and (month >9 or month <6)) ,1,0) if starlets['late_message'] = 1: starlets['late_message'] = 0 !!------------------------------------------------------------------------------------------------------------ !!---------- Starlet Content --------------------------------------------------------------------------------- if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0: if starlets_practice = daystart - 1: starlets_missed = 1 starlets_practice = 0 end if starlets_on = 1: starlets_practice = daystart end if month = 9 and day = 16 and AlbinaQW['ParkRally'] = 0: AlbinaQW['ParkRally'] = 1 if month = 10 and day = 16 and AlbinaQW['ParkRally'] = 1: AlbinaQW['ParkRally'] = 2 if month = 11 and day = 19 and (AlbinaQW['StarletsJoined'] <= 0 or (AlbinaQW['StarletsJoined'] = 1 and npc_pregtalk['A23'] = 1)) and AlbinaQW['StarletsShutDown'] = 0: AlbinaQW['StarletsShutDown'] = 1 !!------------------------------------------------------------------------------------------------------------ !!-------------Music career related variables and calculations------------------------------------------------ !! How many hours a day can Sveta perform. It maxes out at 3. !! Using the actual skill level, not the one modified by Attributes because that is more realistic for this. ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal ml_performance['performed_minutes'] = 0 !! Checking for missed guitar lesson if ml_guitarlesson['nextlesson'] < daystart and ml_guitarlesson['lessonday'] ! 8: ml_guitarlesson['lessonday'] = 8 end !! Calculating the fame increase from the uploaded songs and removing ones that do not effect fame anymore to keep the !! data at a sane level if ml_onlinesongcount > 0: i = 0 j = -1 :looponlinesongs !! this so every song counts only every 7 days and only for a limited number of weeks if ml_onlinesong_freshness[i] > 0: j += 1 ml_tempsong_freshness[j] = ml_onlinesong_sfreshness[i] ml_tempsong_lastcalcday[j] = ml_onlinesong_lastcalcday[i] ml_tempsong_hotcat[j] = ml_onlinesong_hotcat[i] ml_tempsong_skilllevel[j] = ml_onlinesong_skilllevel[i] ml_tempsong_uploaded[j] = ml_onlinesong_uploaded[i] *nl if ml_tempsong_lastcalcday[j] <= (daystart - 7) and ml_tempsong_uploaded = 1: gs 'fame', 'city', 'music', rand(0, ml_tempsong_freshness[j]/100) ml_tempsong_freshness[j] -= 10 ml_tempsong_lastcalcday[j] = daystart end end i += 1 if i < ml_onlinesongcount: jump 'looponlinesongs' killvar 'ml_onlinesong_freshness' killvar 'ml_onlinesong_lastcalcday' killvar 'ml_onlinesong_hotcat' killvar 'ml_onlinesong_skilllevel' killvar 'ml_onlinesong_uploaded' i = 0 if j >= 0: :looprebuildsongs ml_onlinesong_freshness[i] = ml_tempsong_freshness[i] ml_onlinesong_hotcat[i] = ml_tempsong_hotcat[i] ml_onlinesong_lastcalcday[i] = ml_tempsong_lastcalcday[i] ml_onlinesong_skilllevel[i] = ml_tempsong_skilllevel[i] ml_onlinesong_uploaded[i] = ml_tempsong_uploaded[i] i += 1 if i <= j: jump 'looprebuildsongs' end killvar 'ml_tempsong_freshness' killvar 'ml_tempsong_lastcalcday' killvar 'ml_tempsong_hotcat' killvar 'ml_tempsong_skilllevel' killvar 'ml_tempsong_uploaded' end !! Repertoire quality decay if no practice is done if ml_performance['set_lastpracticeday'] ! (daystart-1): repertoire_quality -= 2 --- cikl ---------------------------------