cikl.qsrc 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634
  1. # cikl
  2. !!------------------------------------------------------------------------------------------------------------
  3. !! Masseuse Job (MUST COME BEFORE DAY CHANGES)
  4. !!------------------------------------------------------------------------------------------------------------
  5. if masseuse['jobtype'] < 1:
  6. masseuse['<<week>>_shift_1'] = 0
  7. masseuse['<<week>>_shift_2'] = 0
  8. masseuse['<<week>>_shift_3'] = 0
  9. end
  10. if (masseuse['<<week>>_shift_1'] ! 0 or masseuse['<<week>>_shift_2'] ! 0 or masseuse['<<week>>_shift_3'] ! 0) and masseuse['last_worked_day'] ! daystart:
  11. masseuse['missed_shift2'] = 1
  12. end
  13. !!----------------------------------------------------------------------------
  14. !! Time calculations
  15. day += 1
  16. week += 1
  17. hour -= 24
  18. if day > monthsEnd[month]:
  19. day -= monthsEnd[month]
  20. month += 1
  21. !! Changing the year at new year and making sure February have the correct number of days.
  22. if month > 12:
  23. month = 1
  24. year += 1
  25. if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0):
  26. monthsend[2] = 29
  27. else
  28. monthsend[2] = 28
  29. end
  30. end
  31. !!MJ: Dont think that one is needed. But it was in the original loop.
  32. if month < 1: month = 1
  33. $month = $monthName[month]
  34. !! new years party calculation
  35. temp = func('shortgs','dow',year,12,31)
  36. if temp < 6:
  37. nyp_day = 31
  38. elseif temp = 6:
  39. nyp_day = 30
  40. else
  41. nyp_day = 29
  42. end
  43. end
  44. !!MJ: Dont think that one is needed. But it was here already.
  45. if day <= 0:day = 1
  46. ciklNewWeek = 0
  47. if week > 7:
  48. odd_week = iif(odd_week,0,1)
  49. ciklNewWeek = 1
  50. :loopweek
  51. week -= 7
  52. husbandrink = 0
  53. if military = 1:military = 0
  54. if week > 7:jump 'loopweek'
  55. end
  56. gs 'daystart'
  57. !!----------------------------------------------------------------------------
  58. !!Fame call to update all the fame variables
  59. gs 'fame'
  60. !!Cycle stats for Contacts
  61. gs 'telefon', 'DailyStatRefresh', ciklNewWeek
  62. !!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
  63. if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
  64. if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
  65. gs 'pornschedule', 'schedule'
  66. end
  67. !!------------------------------------------------------------------------------------------------------------
  68. !! Job Stuff
  69. !!------------------------------------------------------------------------------------------------------------
  70. !! masseuse paycheck
  71. if masseuse['weeks_pay'] > 0 and week = 5:masseuse['paycheck'] = 1
  72. if masseuse['jobtype'] > 0 and week = 5 and masseuse['weeks_pay'] > 0:
  73. masseuse['payday'] = 1
  74. end
  75. if week = 7 and masseuse['schedule_update'] ! daystart: gs 'masseuse_schedule','schedule_reset'
  76. !!modelling check
  77. if model_week ! (daystart - week) / 7:model_job_week = 0
  78. !!acting strings to set available jobs
  79. if casting = 1:
  80. acting_string1 = rand(10000000000,199999999999)
  81. acting_string2 = rand(10000000000,199999999999)
  82. end
  83. dynamic $hypnoDaychange
  84. !!phone reset for bf
  85. ringA = 0
  86. ringB = 0
  87. ringC = 0
  88. !!Appearance Age
  89. vidageday -= 1
  90. if vidageday <= 0:
  91. vidageday = 360
  92. vidage += 1
  93. end
  94. !!Birthday
  95. age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
  96. if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
  97. if birthday = day and birthmonth = month and model['age'] > 0:model['age'] += 1
  98. if workDolgDay > 0: workDolgDay -= 1
  99. if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
  100. if husband > 0: husbanday += 1
  101. if husband > 10 and husbanday > 0: husband -= 15
  102. if fingal > 0: fingal -= 1
  103. if husbandMark = 1 and husband <= 10:
  104. husbizvradd = 0
  105. husbharmin = 0
  106. husbandMark = 0
  107. husband = 0
  108. divorced += 1
  109. if KFOnLineReaga > 0:KFOnLineReaga -= 1
  110. '<b><font color="red">Your husband has filed for a divorce.</font></b>'
  111. end
  112. !! after having surgery you will be in recuperation for a few days
  113. if surgeryday ! '':
  114. if daystart - 7 <= surgeryday:
  115. dailyhealthimprov = (daystart - surgeryday) * 50
  116. pcs_health = dailyhealthimprov
  117. recuperation = 1
  118. else
  119. killvar 'recuperation'
  120. killvar 'dailyhealthimprov'
  121. end
  122. end
  123. !!Street events daily reset
  124. streetevent_hour = -2
  125. !!Clothing stock and price randomizers
  126. Clothingstock = rand (0,23)
  127. i = 1
  128. :loopprice
  129. Clothingstock[i] = rand (0,500)
  130. i += 1
  131. if i <= 147:jump 'loopprice'
  132. if dyneval ('RESULT = <<$coatworntype>>_coats_h[<<coatwornnumber>>]') <= 0: $coatworntype = 'none'
  133. !! Abortion and pregnancy recovery resets if finished
  134. if abortionbirthdate ! 0 and daystart - abortionbirthdate > 24: abortionbirthdate = 0
  135. if pregbirthdate ! 0 and daystart - pregbirthdate > 73: pregbirthdate = 0
  136. !!------------------------------------------------------------------------------------------------------------
  137. !! Nympho
  138. !!------------------------------------------------------------------------------------------------------------
  139. !! Reserved for nympho trait
  140. if nymphosex_flag = 1:
  141. end
  142. nymphosex_flag = 0
  143. !!------------------------------------------------------------------------------------------------------------
  144. !! Bimbo
  145. !!------------------------------------------------------------------------------------------------------------
  146. !!bimbo flag set in stat_display if bimbo clothing, shoes and makeup are worn at same time
  147. if succubusflag = 0 or CheatBimbo2 = 1:
  148. if cheatBimbo = 0 and bimbo_flag = 1:
  149. bimbo += 1
  150. end
  151. end
  152. !!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
  153. if bimbo > 0 or bimbolevel > 0:
  154. if bimbo < 10:
  155. if bimbo_flag = 0:
  156. bimbo -= 2
  157. end
  158. elseif bimbo < 20:
  159. bimbolevel = 1
  160. elseif bimbo < 30:
  161. bimbolevel = 2
  162. else
  163. bimbolevel = 3
  164. end
  165. end
  166. if bimbo >= 40: bimbo = 40
  167. !!Bimbo levels. They use custom variables so they won''t permanently change character stats
  168. if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
  169. if CheatBimbo3 = 0:
  170. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
  171. if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 4)
  172. if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = (pcs_intel / 3)
  173. elseif CheatBimbo3 = 1:
  174. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = 0
  175. if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = 0
  176. if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = 0
  177. end
  178. !!A Succubus cannot be a Bimbo
  179. if succubusflag = 1:
  180. if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40
  181. elseif bimbolevel >= 1:
  182. !!Checks flag and adds withdrawal if 0
  183. if bimbo_flag = 0:
  184. bimbowithdrawal += 1
  185. else
  186. bimbowithdrawal = 0
  187. end
  188. end
  189. if bimbo < 0: bimbo = 0
  190. !! flag reset
  191. bimbo_flag = 0
  192. !!------------------------------------------------------------------------------------------------------------
  193. !! Butt slut
  194. !!------------------------------------------------------------------------------------------------------------
  195. if orgasm_anal > orgasm_anal[1]:
  196. if traits['buttslut_lvl'] > 0: traits['buttslut_exp'] += orgasm_anal - orgasm_anal[1]
  197. else
  198. if traits['buttslut_exp'] > 1: traits['buttslut_exp'] -= 1
  199. end
  200. orgasm_anal[1] = orgasm_anal
  201. if orgasm_anal > 10 and traits['buttslut_lvl'] = 0: traits['buttslut_lvl'] = 1
  202. if traits['buttslut_exp'] >= 15 and traits['buttslut_lvl'] = 1: traits['buttslut_lvl'] = 2 & traits['buttslut_exp'] = 0
  203. if traits['buttslut_exp'] >= 50 and traits['buttslut_lvl'] = 2: traits['buttslut_lvl'] = 3
  204. if traits['buttslut_exp'] <= 0 and traits['buttslut_lvl'] = 3: traits['buttslut_lvl'] = 2 & traits['buttslut_exp'] = 0
  205. !!------------------------------------------------------------------------------------------------------------
  206. !! Exhibitionism
  207. !!------------------------------------------------------------------------------------------------------------
  208. if pcs_exhib > 0 or exhibitionist_lvl > 0:
  209. if pcs_exhib < 10:
  210. pcs_exhib -= 1
  211. elseif pcs_exhib < 50:
  212. exhibitionist_lvl = 1
  213. elseif pcs_exhib < 100 or exhibitionQW < 3:
  214. exhibitionist_lvl = 2
  215. elseif exhibitionQW > 2:
  216. exhibitionist_lvl = 3
  217. end
  218. end
  219. !!Inhibition increases from wearing revealing clothing
  220. if exhibition_outdoors > 0:
  221. if pcs_inhib > 90:
  222. exhibition_outdoors = exhibition_outdoors * 3
  223. elseif pcs_inhib > 75:
  224. exhibition_outdoors = exhibition_outdoors * 5 / 2
  225. elseif pcs_inhib > 60:
  226. exhibition_outdoors = exhibition_outdoors * 2
  227. elseif pcs_inhib > 30:
  228. exhibition_outdoors = exhibition_outdoors * 3 / 2
  229. end
  230. if exhibition_outdoors <= 5:
  231. inhib_exp += rand(3,6)
  232. elseif exhibition_outdoors <= 10:
  233. inhib_exp += rand(5,9)
  234. elseif exhibition_outdoors <= 15:
  235. inhib_exp += rand(7,12)
  236. elseif exhibition_outdoors <= 20:
  237. inhib_exp += rand(9,15)
  238. elseif exhibition_outdoors <= 25:
  239. inhib_exp += rand(12,20)
  240. elseif exhibition_outdoors <= 30:
  241. inhib_exp += rand(16,25)
  242. elseif exhibition_outdoors <= 35:
  243. inhib_exp += rand(20,30)
  244. elseif exhibition_outdoors <= 40:
  245. inhib_exp += rand(25,40)
  246. elseif exhibition_outdoors <= 50:
  247. inhib_exp += rand(35,50)
  248. elseif exhibition_outdoors <= 65:
  249. inhib_exp += rand(50,75)
  250. else
  251. inhib_exp += rand(70,100)
  252. end
  253. end
  254. exhibition_outdoors = 0
  255. !!------------------------------------------------------------------------------------------------------------
  256. !! Succubus Level & hunger calcs
  257. !!------------------------------------------------------------------------------------------------------------
  258. if succubusflag = 1: gs 'succubus','cikl'
  259. !!------------------------------------------------------------------------------------------------------------
  260. if defcurly = 0 and curly > 0:curly -= 1
  261. if defcurly = 1:
  262. if straight > 0: straight -= 1
  263. if straight = 0: curly = 2147483647
  264. end
  265. ! WD: Added daily reduction of braids for Maruda Hair Mod
  266. if hbraids > 0: hbraids -= 1
  267. gs 'sweat', 'add', 2
  268. if pcs_tan > 0: pcs_tan -= 1
  269. if prezikmsg = 2: prezikmsg = 3
  270. gs 'fertility', 'birth_control'
  271. !!------------------------------------------------------------------------------------------------------------
  272. if lashair ! 1:
  273. pcs_leghair += 1
  274. !!Pubic hair growth at 1/2 per night
  275. if pcs_pubes['growth'] > 1:
  276. pcs_pubes['growth'] = 0
  277. pcs_pubes += 1
  278. end
  279. pcs_pubes['growth'] += 1
  280. end
  281. if age < 18 and rand (0,2) = 0 and pcs_leghair > 0: pcs_leghair -= 1
  282. if pcs_breath = 1:pcs_breath = 0
  283. if cheatNoEat = 1 and dounspell = 1:fat += 15
  284. !!Trauma decay
  285. if mood_trauma > 0: mood_trauma -= 1
  286. !!STD check
  287. if SifacOnce = 1:Sifilis += 1
  288. if GerpesOnce = 1:Gerpes += 1
  289. if TriperOnce = 1:
  290. if Triper > 0:
  291. Triper += 1
  292. end
  293. if TriperOral > 0:
  294. TriperOral += 1
  295. end
  296. If TriperOral > 14 and TriperNapr = 0:
  297. if rand(TriperOral,100) > 80:
  298. TriperOral = 0
  299. if Triper = 0:TriperOnce = 0
  300. TriperOralSigns = 0
  301. end
  302. end
  303. end
  304. if KandidozOnce = 1:Kandidoz += 1
  305. Venera = 0
  306. if SifacOnce = 1: Venera += 1
  307. if GerpesOnce = 1: Venera += 1
  308. if TriperOnce = 1: Venera += 1
  309. if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
  310. if daystart mod(ashrinkdays) = 0: pcs_ass -= ashrink
  311. if pcs_ass < 0: pcs_ass = 0
  312. end
  313. if pcs_vag > 10 and vshrink > 0:
  314. if daystart mod(vshrinkdays) = 0: pcs_vag -= vshrink
  315. if pcs_vag < 0: pcs_vag = 0
  316. end
  317. lipkoef -= rand(0,1)
  318. if lipkoef <= 0: lipkoef = 0
  319. if isprok = 1 or isprokp = 1:
  320. isprok_lastday = 1
  321. else
  322. isprok_lastday = 0
  323. end
  324. if Enable_autotampon = 0 and isprok = 1: isprok = 0 & 'You threw away your used tampon.'
  325. if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
  326. if preg = 1:
  327. pregtime = pregchem / 24
  328. if pregtimes = 0:pregtimes = 1
  329. elseif preg = 2 and pregminut < totminut:
  330. if Enable_nogameover = 0 :
  331. cla
  332. *clr
  333. over = 4
  334. MSG '<center><b>A horrible pain shoots through your body.</b></center>'
  335. xgt 'gameover'
  336. exit
  337. else
  338. MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
  339. pregminut = totminut + 1440
  340. end
  341. elseif preg = 0:
  342. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A14'
  343. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A16'
  344. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A23'
  345. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A28'
  346. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A29'
  347. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A33'
  348. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A34'
  349. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A69'
  350. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A131'
  351. !{killvar 'pregTalkFamily' -- Do not kill this (Abortion talk).}
  352. killvar 'pcs_pregtalk'
  353. killvar 'pregTalk'
  354. killvar 'pregtime'
  355. killvar 'knowpreg'
  356. killvar 'denypreg'
  357. killvar '$wombthfath'
  358. end
  359. !!------------------------------------------------------------------------------------------------------------
  360. !! Arousal
  361. !!------------------------------------------------------------------------------------------------------------
  362. if magikDostup = 0:
  363. if pcs_horny < 100:pcs_horny += pcs_vag
  364. else
  365. if pcs_vag = 0:
  366. razeba = 0
  367. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
  368. if pcs_horny > 50:pcs_horny -= 25
  369. elseif pcs_vag > 0:
  370. if pregtimes = 0:
  371. if age < 18:
  372. razeba = 1
  373. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
  374. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
  375. if pcs_horny >= 80:pcs_horny -= 20
  376. elseif age >= 18 and age < 21:
  377. razeba = 2
  378. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
  379. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
  380. if pcs_horny >= 80:pcs_horny -= 10
  381. elseif age >= 21 and age < 25:
  382. razeba = 3
  383. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
  384. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
  385. if pcs_horny >= 80:pcs_horny -= 5
  386. elseif age >= 25 and age < 30:
  387. razeba = 4
  388. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
  389. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
  390. if pcs_horny >= 80:pcs_horny -= 5
  391. elseif age >= 30:
  392. razeba = 5
  393. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  394. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  395. if pcs_horny >= 80:pcs_horny += 1
  396. end
  397. elseif pregtimes > 0:
  398. if preg = 0:
  399. razeba = 5
  400. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  401. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  402. if pcs_horny >= 80:pcs_horny += 1
  403. elseif preg > 0:
  404. razeba = 6
  405. if pcs_horny < 100:pcs_horny += pregchem / 240
  406. end
  407. end
  408. end
  409. end
  410. if pcs_horny < 0:pcs_horny = 0
  411. !!------------------------------------------------------------------------------------------------------------
  412. !reset Natasha Belova''s clothes
  413. if NatbelQW['seethroughwearing'] = 1: NatbelQW['seethroughwearing'] = 0
  414. !!------------------------------------------------------------------------------------------------------------
  415. !counter for Dimka avoidance
  416. if dimaFilm = 1 and dimaRudeBlock = 0:
  417. nodimkaK += 1
  418. DimkaWarnedToday = 0
  419. end
  420. !!------------------------------------------------------------------------------------------------------------
  421. !!Fame degradation
  422. gs 'fame', 'deg'
  423. !!Traits
  424. gs 'traits', 'overnight'
  425. !!------------------------------------------------------------------------------------------------------------
  426. !! Maruda hair mod
  427. !!------------------------------------------------------------------------------------------------------------
  428. !! Max. Hair length 600mm, or 60cm, which should be somewhere in the lower back area.
  429. !! Hair grows 1mm each day, it takes 20 months (1 month = 30 days) to regrow the hair from 0.
  430. if pcs_hairlng < 1001 and hairgrowcht = 0:pcs_hairlng += 1
  431. if pcs_haircol ! nathcol:
  432. dyefade -=1
  433. if dyefade < 0: dyefade = 0
  434. if dyefade > 0 and dyefade < 7: dyevmod = 5
  435. if dyefade = 0: dyevmod = 15
  436. end
  437. !!pubic hair colouring
  438. !! pcs_pubecol = natural colour
  439. !! pcs_pubecol[1] = flag for saveupdate
  440. !! pcs_pubecol[2] = actual colour
  441. !! pcs_pubecol[3] = countdown timer for dye
  442. if pcs_pubecol[2] ! pcs_pubecol:
  443. pcs_pubecol[3] -=1
  444. if pcs_pubecol[3] < 0: pcs_pubecol[3] = 0
  445. if pcs_pubecol[3] = 0: pcs_pubecol[2] = pcs_pubecol
  446. end
  447. if pcs_pubes < 2: pcs_pubecol[2] = pcs_pubecol
  448. if hscrunch > 0:
  449. hscrunchrand = rand(1, 100)
  450. if hscrunchrand <= 8:hscrunch -= 1
  451. end
  452. !!------------------------------------------------------------------------------------------------------------
  453. !! Clothing wear and tear
  454. gs 'starenie'
  455. !!cocaine reduction
  456. if nark > 60:
  457. nark = 60
  458. elseif nark > 30:
  459. nark -= 3
  460. elseif nark > 0:
  461. nark -= 1
  462. end
  463. if pregchem > 240:fat += 1
  464. !!------------------------------------------------------------------------------------------------------------
  465. !! Pain
  466. !!------------------------------------------------------------------------------------------------------------
  467. if pain['head'] > 0:pain['head'] -= rand(1,3)
  468. if pain['hair'] > 0:pain['hair'] -= rand(1,3)
  469. if pain['ears'] > 0:pain['ears'] -= rand(1,3)
  470. if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
  471. if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
  472. if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
  473. if pain['nose'] > 0:pain['nose'] -= rand(1,3)
  474. if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
  475. if pain['lips'] > 0:pain['lips'] -= rand(1,3)
  476. if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
  477. if pain['throat'] > 0:pain['throat'] -= rand(1,3)
  478. if pain['neck'] > 0:pain['neck'] -= rand(1,3)
  479. if pain['back'] > 0:pain['back'] -= rand(1,3)
  480. if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
  481. if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
  482. if pain['hips'] > 0:pain['hips'] -= rand(1,3)
  483. if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
  484. if pain['legL'] > 0:pain['legL'] -= rand(1,3)
  485. if pain['legR'] > 0:pain['legR'] -= rand(1,3)
  486. if pain['feet'] > 0:pain['feet'] -= rand(1,3)
  487. if pain['toes'] > 0:pain['toes'] -= rand(1,3)
  488. if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
  489. if pain['armL'] > 0:pain['armL'] -= rand(1,3)
  490. if pain['armR'] > 0:pain['armR'] -= rand(1,3)
  491. if pain['hands'] > 0:pain['hands'] -= rand(1,3)
  492. if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
  493. if pain['chest'] > 0:pain['chest'] -= rand(1,3)
  494. if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
  495. if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
  496. if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
  497. if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
  498. if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
  499. if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
  500. if pain['labia'] > 0:pain['labia'] -= rand(1,3)
  501. if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
  502. if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
  503. if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
  504. if painpub = 2:
  505. if painpubday + 5 < daystart:
  506. $painpub = 'Your vulva is painfully sore.'
  507. painpub = 1
  508. painpubday = daystart
  509. elseif painpubday + 5 >= daystart:
  510. $painpub = 'Your vulva is painfully sore.'
  511. end
  512. elseif painpub = 1:
  513. if painpubday + 5 < daystart:
  514. $painpub = ''
  515. painpub = 0
  516. painpubday = daystart
  517. elseif painpubday + 5 >= daystart:
  518. $painpub = 'Your vulva is a little sore.'
  519. end
  520. end
  521. !!---- Calculation of lash extension degradation and false lash removal
  522. if pcs_lashes > 2:
  523. if lashextensionstyle >= 1:
  524. lashextensionduration -= 1
  525. if lashextensionduration >= 1 and lashextensionduration <= 4:
  526. '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.'
  527. end
  528. if lashextensionduration <= 0:
  529. 'You waited too long to do maintenance on your lash extensions; there''s too little there to notice or work with at this point.'
  530. pcs_lashes = pcs_naturallashes
  531. killvar 'lashextensionstyle'
  532. killvar 'lashextensionduration'
  533. killvar 'lashextensionnew'
  534. end
  535. end
  536. if false_lashes > 0:
  537. false_lashes -= 1
  538. if false_lashes = 0:
  539. 'Your false lashes came off in the night; there''s no recovering them now.'
  540. pcs_lashes = pcs_naturallashes
  541. else
  542. 'Somehow, your lashes managed to stay attached throughout the night. You might be able to get away with wearing them another day straight.'
  543. end
  544. end
  545. end
  546. prezikProver += 1
  547. if pirs_pain_ton > 0:pirs_pain_ton -= 1
  548. if shorthair = 1:
  549. shorthairday += 1
  550. if shorthairday >= 45:shorthairday = 0 & shorthair = 0
  551. end
  552. !!------------------------------------------------------------------------------------------------------------
  553. !!Keeping Christina hating Sveta
  554. gs 'Zvereva_events', 'cikl'
  555. !!Updating Katja''s variables.
  556. gs 'katjaHomeTalk', 'cikl'
  557. if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1
  558. !!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.
  559. gs 'soniadisco', 'cikl'
  560. dmishaevent = 0
  561. if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
  562. if GspravkaT = 1:Gspravka -= 1
  563. if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] = 30:BurgerQW['IlyQW'] = 3
  564. if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] > 0 and BurgerQW['IlyQWPoliceDayCount'] < 30:BurgerQW['IvanQWPoliceDayCount'] += 1
  565. !!remove degradation for inhibition
  566. inhib_flr = inhib_lvl
  567. gs 'stat_sklattrib', 'daycall'
  568. if dounspell = 1:
  569. if strenbuf > 90:
  570. strenbuf -= 2
  571. elseif strenbuf > 80:
  572. strenbuf -= 1
  573. end
  574. if vitalbuf > 90:
  575. vitalbuf -= 2
  576. elseif vitalbuf > 80:
  577. vitalbuf -= 1
  578. end
  579. if strenbuf > pcs_stren: strenbuf -= 1
  580. if strenbuf < pcs_stren: strenbuf += 1
  581. if vitalbuf > pcs_vital: vitalbuf -= 1
  582. if vitalbuf < pcs_vital: vitalbuf += 1
  583. if agilbuf > pcs_agil: agilbuf -= 1
  584. if agilbuf < pcs_agil: agilbuf += 1
  585. else
  586. gs 'body_shape'
  587. end
  588. if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
  589. !!Pussy_Kats job settings
  590. inWorkYoungShop = 0
  591. if week = 1 and young_shop_work = 100: young_shop_work = 1
  592. if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
  593. if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
  594. husbandsexday = 0
  595. borsexkol = 0
  596. givisexday = 0
  597. if shantsr > 0:
  598. pay = shantsr * 5000
  599. karta += pay
  600. shantsr = 0
  601. end
  602. if shantbog > 0:
  603. :shantftb
  604. shantftbgrand = rand(0, 10)
  605. if shantftbgrand > 2:
  606. shantpopala += 1
  607. shantbog -= 1
  608. if shantbog > 0:jump 'shantftb'
  609. elseif shantftbgrand <= 2:
  610. karta += 30000
  611. shantbog -= 1
  612. if shantbog > 0:jump 'shantftb'
  613. end
  614. end
  615. petersexday = 0
  616. klismaday1 = 0
  617. !!ugly duckling start becoming a swan
  618. if uglyduck_flag = 1 and hotcat >= 5:
  619. killvar 'uglyduck_flag'
  620. gs 'npc_relationship', 'socialgroup_setting_boys', 10, 10, 10, 10, 0, 0
  621. grupvalue[1] += 100
  622. old_grupvalue[1] += 100
  623. end
  624. !! Resetting relationships that go over the max
  625. :toptemprel
  626. if temprel < aarraynumber:
  627. temprel +=1
  628. if npc_rel['A'+'<<temprel>>'] > 100:npc_rel['A'+'<<temprel>>'] = 100
  629. jump 'toptemprel'
  630. end
  631. killvar 'temprel'
  632. !!------------------------------------------------------------------------------------------------------------
  633. !! Banking
  634. !!------------------------------------------------------------------------------------------------------------
  635. !!MJ: Add some (daily) interest to the bank account.
  636. !!Not very realistic but won''t make anyone too rich.
  637. if bankAccount = 1:
  638. kartatotal = karta
  639. :kartaloop
  640. if kartatotal > 20000000:
  641. kartacount += 1
  642. largekarta[kartacount] = 20000000
  643. kartatotal -= 20000000
  644. jump 'kartaloop'
  645. else
  646. largekarta[0] = kartatotal
  647. end
  648. if karta >= 2000000:
  649. !! yearly interest of 2.3% recalculated into daily interest = 0.006% daily
  650. intrate = 60
  651. elseif karta >= 0:
  652. !! yearly interest of 1.15% recalculated into daily interest = 0.003% daily
  653. intrate = 30
  654. else
  655. !! yearly overdraft interest of 20% recalculated into daily interest = 0.055% daily
  656. intrate = 550
  657. end
  658. :intloop
  659. if kartacount > 0:
  660. smallmoneypos += (largekarta[kartacount] * intrate)
  661. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000: karta += smallmoneypos / 1000000 & smallmoneypos = smallmoneypos mod 1000000
  662. largekarta[kartacount] = 0
  663. kartacount -= 1
  664. jump 'intloop'
  665. else
  666. smallmoneypos += (largekarta[0] * intrate)
  667. largekarta[0] = 0
  668. if kartacount ! 0: kartacount = 0
  669. end
  670. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000:
  671. karta += smallmoneypos / 1000000
  672. smallmoneypos = smallmoneypos mod 1000000
  673. end
  674. if atmDeposit > 0 and atmDepositDate <= daystart:
  675. karta += atmDeposit
  676. atmDeposit = 0
  677. end
  678. end
  679. !!------------------------------------------------------------------------------------------------------------
  680. !! Payments
  681. !!------------------------------------------------------------------------------------------------------------
  682. if day = 25:
  683. !! meynold payment
  684. if mey_vika['mey_vika_qw'] >= 35 and mey_tamara['help_count'] < 10 and mey_tamara['qw_end'] = 0:
  685. karta += 10000
  686. '<b><font color=green>For your efforts aunt Tamara gave you 10,000 rubles</font></b>'
  687. mey_tamara['help_count'] = 0
  688. elseif mey_vika['mey_vika_qw'] >= 35 and mey_tamara['help_count'] >= 10 and mey_tamara['qw_end'] = 0:
  689. karta += 15000
  690. '<b><font color=green>For your efforts aunt Tamara gave you 15,000 rubles</font></b>'
  691. mey_tamara['help_count'] = 0
  692. end
  693. if BurgerQW['Secretary'] = 1 and BurgerQW['SecretaryTimesWorked'] > 0 and paydaybistrosec = 0:
  694. Pay = BurgerQW['SecretaryTimesWorked'] * 1250
  695. BurgerQW['SecretaryTimesWorked'] = 0
  696. karta += Pay
  697. paydaybistrosec = 1
  698. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
  699. end
  700. if workKafe = 1 and paydayKafe = 0:
  701. paydayKafe = 1
  702. pay = smenaKafe * 600
  703. karta += pay
  704. smenaKafe = 0
  705. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a waitress in a cafe.</font></b>'
  706. end
  707. if workhosp = 1 and nopaypoly = 0:
  708. pay = smena * 1000
  709. karta += pay
  710. smena = 0
  711. nopaypoly = 1
  712. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in the clinic.</font></b>'
  713. end
  714. if worksalon = 1 and nopaysalon = 0:
  715. pay = smenaSalon * 1560
  716. karta += pay
  717. smenaSalon = 0
  718. nopaysalon = 1
  719. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in a beauty salon.</font></b>'
  720. end
  721. if tanwork = 1 and nopaytanwork = 0:
  722. nopaytanwork = 1
  723. karta += 10000
  724. '<b><font color="green">Your salary of 10,000 <b>₽</b> has been paid into your bank account for your work as a house maid.</font></b>'
  725. end
  726. if workSec = 1 and paydaySec = 0:
  727. paydaySec = 1
  728. pay = sekDay * 1500
  729. karta += pay
  730. sekDay = 0
  731. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
  732. end
  733. if workFabrika = 1:
  734. pay = smenaFabrika * 600
  735. smenaFabrika = 0
  736. karta += pay
  737. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job at the garment factory.</font></b>'
  738. end
  739. if husband > 0 and paydayHusb = 0:
  740. paydayHusb = 1
  741. if husbFin = 0:huspay = 20000
  742. if husbFin = 1:huspay = 30000
  743. if husbFin = 2:huspay = 40000
  744. karta += huspay
  745. '<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
  746. end
  747. if func('uniutil', 'scholarship' , 'is_active') and scholarshipday = 0:
  748. scholarshipday = 1
  749. karta += func('uniutil', 'scholarship', 'get')
  750. '<b><font color="green">You have received '+func('uniutil', 'scholarship', 'get')+' <b>₽</b> from your scholarship.</font></b>'
  751. end
  752. ! Utilities for all apartments.
  753. if (home_owned[1] = 1 or home_owned[1] = 2 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 0:
  754. gs 'housing', 'util'
  755. if bankAccount = 1 and karta >= elektro:
  756. '<b><font color="green"><<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account.</font></b>'
  757. electroday = 1
  758. if elektro >= 2000:
  759. elektro = 2000 + rand(0, 100)
  760. karta -= elektro * hcount_util
  761. end
  762. elseif bankAccount = 1 and karta + bankDebtLimit >= elektro:
  763. '<b><font color="green"><<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account and overdraw facility. Please contact your bank.</font></b>'
  764. electroday = 1
  765. if elektro >= 2000:
  766. elektro = 2000 + rand(0, 100)
  767. karta -= elektro * hcount_util
  768. end
  769. elseif bankAccount = 0 and money >= elektro:
  770. '<b><font color="red">You currently do not have a bank account setup for automatic utilities payments. <<elektro>> <b>₽</b> has been deducted from your cash holdings.</font></b>'
  771. electroday = 1
  772. if elektro >= 2000:
  773. elektro = 2000 + rand(0, 100)
  774. money -= elektro * hcount_util
  775. end
  776. else
  777. '<b><font color="red">Your card was declined during automatic debit of <<elektro>> <b>₽</b>, for automatic utilities payment.</font></b>'
  778. end
  779. end
  780. ! Cable for all apartments
  781. if kabel > 0 and kabelday = 0:
  782. gs 'housing', 'cable'
  783. if bankAccount = 1 and karta >= (300 * hcount_cable):
  784. '<b><font color="green">300 <b>₽</b> has been deducted from your bank account, for you cable TV subscription.</font></b>'
  785. kabelday = 1
  786. karta -= 300 * hcount_cable
  787. elseif bankAccount = 1 and karta + bankDebtLimit >= (300 * hcount_cable):
  788. '<b><font color="green">300 <b>₽</b> has been deducted from your bank account and overdraw facility, for you cable TV subscription.</font></b>'
  789. kabelday = 1
  790. karta -= 300 * hcount_cable
  791. elseif bankAccount = 0 and money >= (300 * hcount_cable):
  792. '<b><font color="red">You currently do not have a bank account setup for automatic payment of your cable TV subscription. 300 <b>₽</b> has been deducted from your cash holdings.</font></b>'
  793. kabelday = 1
  794. money -= 300 * hcount_cable
  795. else
  796. '<b><font color="red">Your card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
  797. end
  798. end
  799. end
  800. if day ! 25:
  801. if paydayHusb = 1:paydayHusb = 0
  802. if workKafe = 1 and paydayKafe = 1:paydayKafe = 0
  803. if workSec = 1 and paydaySec = 1:paydaySec = 0
  804. if (home_owned[1] = 1 or home_owned[4] > 0) and haday = 1:haday = 0
  805. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 1:electroday = 0
  806. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 3) and kabel > 0 and kabelday = 1:kabelday = 0
  807. if scholarshipday = 1:scholarshipday = 0
  808. if nopaytanwork = 1:nopaytanwork = 0
  809. if nopaypoly = 1:nopaypoly = 0
  810. if nopaysalon = 1:nopaysalon = 0
  811. if paydaybistrosec = 1:paydaybistrosec = 0
  812. end
  813. if sdaday = day and sdamonth = month and home_owned[1] = 3:
  814. home_owned[1] = 2
  815. '<b><font color="red">Your tenants have moved out and your apartment is now vacant.</font></b>'
  816. !msg 'Your tenants have moved out and your apartment is now vacant.'
  817. end
  818. !!----------------------------------------
  819. !! Rent
  820. !!----------------------------------------
  821. if home_owned[1] = 1 or home_owned[4] > 0:
  822. gs 'housing', 'rent'
  823. ! Rent for the city apartment
  824. if home_owned[1] = 1:
  825. if ArendHouseSL <= 2:
  826. !From bank
  827. if bankAccount = 1 and karta >= home_rent[1]:
  828. '<b><font color="green">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account.</font></b>'
  829. karta -= home_rent[1]
  830. ArendHouseSL += ArendHouseSL_due
  831. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[1]:
  832. '<b><font color="green">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.</font></b>'
  833. karta -= home_rent[1]
  834. ArendHouseSL += ArendHouseSL_due
  835. elseif bankAccount = 0:
  836. '<b><font color="red">You currently do not have a bank account setup for automatic rent deduction of <<home_rent[1]>> <b>₽</b> for your city apartment. To avoid eviction, please make manual payment as soon as possible.</font></b>'
  837. else
  838. nl
  839. '<b><b><font color="red">Your card was declined during automatic rent deduction of <<home_rent[1]>> <b>₽</b> for your city apartment. To avoid eviction, please rectify as soon as possible.</font></b>'
  840. end
  841. end
  842. end
  843. ! Rent for the Pushkin apartment
  844. if home_owned[4] > 0:
  845. if ArendHouseSL4 <= 2:
  846. !From bank
  847. if bankAccount = 1 and karta >= home_rent[4]:
  848. '<b><font color="green">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account.</font></b>'
  849. karta -= home_rent[4]
  850. ArendHouseSL4 += ArendHouseSL4_due
  851. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[4]:
  852. '<b><font color="green">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.</font></b>'
  853. karta -= home_rent[4]
  854. ArendHouseSL4 += ArendHouseSL4_due
  855. elseif bankAccount = 0:
  856. '<b><font color="red">You currently do not have a bank account setup for automatic rent deduction of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment. To avoid eviction, please make manual payment as soon as possible.</font></b>'
  857. else
  858. nl
  859. '<b><b><font color="red">Your card was declined during automatic rent deduction of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment. To avoid eviction, please rectify as soon as possible.</font></b>'
  860. end
  861. end
  862. end
  863. end
  864. if home_owned[1] = 1 and ArendHouseSL <= 0: ArendHouseSL = 0 & home_owned[1] = 0
  865. if home_owned[4] > 0 and ArendHouseSL4 <= 0: ArendHouseSL4 = 0 & home_owned[4] = 0
  866. if home_owned[1] = 1: ArendHouseSL -= 1
  867. if home_owned[4] > 0: ArendHouseSL4 -= 1
  868. !!------------------------------------------------------------------------------------------------------------
  869. killvar 'holyday'
  870. killvar 'kanikuli'
  871. killvar 'pcs_ate'
  872. killvar 'pcs_drank'
  873. !! 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
  874. !!sisboyparty
  875. !!-1 - don''t go to the party
  876. !!0 - don''t know about parties
  877. !!1 - knows about the parties
  878. !!2 - agreed to go to the party
  879. !!3 - Missed the party
  880. !!suspension ends
  881. if suspended['day'] = daystart: suspended['on'] = 0
  882. if storyline = 1:
  883. !!Party refresh if you didn''t see sis
  884. if week = 1 and sisboyparty ! 2:
  885. if sisterQW['party'] = -1: sisterQW['party'] = 0
  886. if sisboypartyQW >= 2 and sisboyparty > 0:
  887. sisboyparty_day = daystart + rand(3,5)
  888. end
  889. end
  890. if sisboyparty = 2 and sisboyparty_day + 1 < daystart: sisboyparty = 3
  891. if SchoolAtestat = 0 and SchoolBlock = 0:
  892. if month = 12 and day > 25:
  893. if day < 31:
  894. $holyday = '<b>Winter Break in <<32-day>> days.</b>'
  895. else
  896. $holyday = '<b>Winter Break starts tomorrow.</b>'
  897. end
  898. elseif month = 1 and day <= 15:
  899. kanikuli = 2
  900. if day < 13:
  901. $holyday = '<b>Winter Break.</b>'
  902. elseif day < 15:
  903. $holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
  904. else
  905. $holyday = '<b>Last day of Winter Break.</b>'
  906. end
  907. elseif month = 3 and day > 13:
  908. if day < 19:
  909. $holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
  910. elseif day = 19:
  911. $holyday = '<b>Spring Break starts tomorrow.</b>'
  912. elseif day >= 20 and day <= 26:
  913. kanikuli = 3
  914. if day < 24:
  915. $holyday = '<b>Spring Break.</b>'
  916. elseif day < 26:
  917. $holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
  918. else
  919. $holyday = '<b>Last day of Spring Break.</b>'
  920. end
  921. end
  922. elseif month = 5:
  923. if year = 2017:
  924. if day = 25:
  925. kanikuli = 6
  926. SchoolAtestat = -1
  927. $holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
  928. elseif day = 24:
  929. $holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
  930. elseif day >= 19:
  931. $holyday = '<b>Your graduation is in <<26-day>> days.</b>'
  932. end
  933. elseif day >= 25:
  934. if day = 31:
  935. $holyday = '<b>Summer Break starts tomorrow.</b>'
  936. else
  937. $holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
  938. end
  939. end
  940. elseif month = 6 or month = 7 or month = 8:
  941. kanikuli = 4
  942. if month = 8 and day >= 25:
  943. if day = 31:
  944. $holyday = '<b>Last day of Summer Break.</b>'
  945. else
  946. $holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
  947. end
  948. else
  949. $holyday = '<b>Summer Break.</b>'
  950. end
  951. !! 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.'
  952. killvar 'first_time_outside_in_cold_weather'
  953. killvar 'first_time_doing_basketball'
  954. killvar 'first_time_spring_football_match'
  955. !! end inc
  956. elseif month = 10 and day >= 29:
  957. $holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
  958. elseif month = 11:
  959. if day < 3:
  960. $holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
  961. elseif day = 3:
  962. $holyday = '<b>Autumn Break starts tomorrow.</b>'
  963. elseif day < 6:
  964. kanikuli = 1
  965. $holyday = '<b>Autumn Break.</b>'
  966. elseif day < 11:
  967. kanikuli = 1
  968. $holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
  969. elseif day = 11:
  970. kanikuli = 1
  971. $holyday = '<b>Last day of Autumn Break.</b>'
  972. end
  973. end
  974. if kanikuli = 0 and week < 6:
  975. if week = 1:
  976. !!The start and end values for i have to be changed if more female schoolgirl npcs are added to the game
  977. i = 11
  978. :hotcat_calc_jump
  979. i += 1
  980. if hotcat_rating['A<<i>>'] = 0: jump 'hotcat_calc_jump'
  981. switch_rand = rand(1,100)
  982. if hotcat_movement['A<<i>>'] = 0 and switch_rand < 21:
  983. hotcat_rating['A<<i>>'] -= 1
  984. hotcat_movement['A<<i>>'] -= 1
  985. elseif hotcat_movement['A<<i>>'] = 0 and switch_rand > 80:
  986. hotcat_rating['A<<i>>'] += 1
  987. hotcat_movement['A<<i>>'] += 1
  988. elseif hotcat_movement['A<<i>>'] = 1 and switch_rand > 40:
  989. hotcat_rating['A<<i>>'] -= 1
  990. hotcat_movement['A<<i>>'] -= 1
  991. elseif hotcat_movement['A<<i>>'] = -1 and switch_rand > 40:
  992. hotcat_rating['A<<i>>'] += 1
  993. hotcat_movement['A<<i>>'] += 1
  994. end
  995. if i < 145: jump 'hotcat_calc_jump'
  996. killvar 'i'
  997. killvar 'switch_rand'
  998. end
  999. !! Resetting the late flag
  1000. if late = 1: late = 0
  1001. end
  1002. !!Social grup changes
  1003. !!Change from relatonship with other students.
  1004. gs 'gschool_socialchg', 'group_student_rel_change'
  1005. !!Decay for the school groups
  1006. if grupvalue[1] > 0:
  1007. grupvalue[1] -= rand(0,1)
  1008. else
  1009. grupvalue[1] = 0
  1010. end
  1011. if grupvalue[2] > 0:
  1012. grupvalue[2] -= rand(0,1)
  1013. else
  1014. grupvalue[2] = 0
  1015. end
  1016. if grupvalue[3] > 0:
  1017. grupvalue[3] -= rand(0,1)
  1018. else
  1019. grupvalue[3] = 0
  1020. end
  1021. if grupvalue[4] > 0:
  1022. grupvalue[4] -= rand(0,1)
  1023. else
  1024. grupvalue[4] = 0
  1025. end
  1026. !!Maximum increase for grupvalues is 10 and max decay is 30
  1027. if oldgrupvalue_set = 0:
  1028. oldgrupvalue_set = 1
  1029. old_grupvalue[1] = grupvalue[1]
  1030. old_grupvalue[2] = grupvalue[2]
  1031. old_grupvalue[3] = grupvalue[3]
  1032. old_grupvalue[4] = grupvalue[4]
  1033. else
  1034. if old_grupvalue[1] + 10 < grupvalue[1]: grupvalue[1] = old_grupvalue[1] + 10
  1035. if old_grupvalue[2] + 10 < grupvalue[2]: grupvalue[2] = old_grupvalue[2] + 10
  1036. if old_grupvalue[3] + 10 < grupvalue[3]: grupvalue[3] = old_grupvalue[3] + 10
  1037. if old_grupvalue[4] + 10 < grupvalue[4]: grupvalue[4] = old_grupvalue[4] + 10
  1038. if old_grupvalue[1] - 30 > grupvalue[1]: grupvalue[1] = old_grupvalue[1] - 30
  1039. if old_grupvalue[2] - 30 > grupvalue[2]: grupvalue[2] = old_grupvalue[2] - 30
  1040. if old_grupvalue[3] - 30 > grupvalue[3]: grupvalue[3] = old_grupvalue[3] - 30
  1041. if old_grupvalue[4] - 30 > grupvalue[4]: grupvalue[4] = old_grupvalue[4] - 30
  1042. end
  1043. !!Limit to max school group values
  1044. if grupvalue[1] > 1000: grupvalue[1] = 1000
  1045. if grupvalue[2] > 1000: grupvalue[2] = 1000
  1046. if grupvalue[3] > 1000: grupvalue[3] = 1000
  1047. if grupvalue[4] > 1000: grupvalue[4] = 1000
  1048. old_grupvalue[1] = grupvalue[1]
  1049. old_grupvalue[2] = grupvalue[2]
  1050. old_grupvalue[3] = grupvalue[3]
  1051. old_grupvalue[4] = grupvalue[4]
  1052. elseif SchoolAtestat = -1:
  1053. if home_owned[2] = 0:
  1054. $holyday = '<b>You missed your graduation. You could pick up your diploma at the school.</b>'
  1055. else
  1056. $holyday = '<b>You missed your graduation. Maybe your mother picked up your diploma.</b>'
  1057. end
  1058. end
  1059. !!Brother''s dick growth as he gets older
  1060. !Commented out till some future time
  1061. !if kolka_dick_day + 30 < daystart and npc_dick['A34'] < 26:
  1062. ! kolka_dick_day = daystart
  1063. ! npc_dick['A34'] += 1
  1064. !end
  1065. !if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
  1066. ! $npc_thdick['A34'] = 'well proportioned'
  1067. !elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:
  1068. ! $npc_thdick['A34'] = 'thick'
  1069. !end
  1070. !! Calcualting the increase/decreas of the grade each week.
  1071. gs 'gschool', 'weekly grade update'
  1072. end
  1073. killvar 'natholi'
  1074. if month = 1 and day >= 1 and day <= 8:
  1075. $natholi = 'New Year holidays'
  1076. natholi = 1
  1077. if day = 1:$natholi += ', New Year'
  1078. if day = 7:$natholi += ', Christmas'
  1079. end
  1080. if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
  1081. if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
  1082. if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
  1083. if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
  1084. if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
  1085. if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
  1086. if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
  1087. if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
  1088. if natholi = 1:
  1089. if $holyday ! '': $holyday += '<br>'
  1090. $holyday += $natholi
  1091. end
  1092. !!------------------------------------------------------------------------------------------------------------------------
  1093. !!Setting the the weeks in the university semester and makeing sure that the gades are calculated at the right times
  1094. gs 'uni_lessons', 'cikl'
  1095. !!------------------------------------------------------------------------------------------------------------------------
  1096. if bcream_used >= 1:
  1097. bcream_used = 0
  1098. temp = rand(0,max(nbsize-genbsize+5,5)) / max(nbsize-genbsize,1)
  1099. if temp > 0: temp = 1
  1100. nbsize += temp
  1101. if temp > 0:'Feels like your breasts have grown slightly.'
  1102. end
  1103. if steroid_dose >= 1:
  1104. if lashair < 1:
  1105. pcs_pubes += steroid_dose
  1106. pcs_leghair += steroid_dose
  1107. end
  1108. steroid_dose = 0
  1109. end
  1110. if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
  1111. if aphrodisiac_timer ! 0:aphrodisiac_timer = 0
  1112. if mentats_dose = 1:
  1113. mentats_dose = 0
  1114. elseif mentats_dose > 1:
  1115. pain['head'] += 20 * mentats_dose
  1116. mentats_dose = 0
  1117. end
  1118. !!Appearance base calculation call
  1119. gs 'body_shape', 'basebeautycalc'
  1120. !! vovan, from 1.2.5
  1121. hunters_check = 0
  1122. mushroom_pickers = 0
  1123. mira_go_river = 0
  1124. forestpicnic = 0
  1125. if Mira_no > 0: Mira_no -= 1
  1126. if Mira_no < 0: Mira_no = 0
  1127. !! new grandparent chore stuff, for 0.8.0
  1128. if gadstay = 1 and lost_girl = 0:
  1129. if daystart > (grandmaQW['last_day_helped'] + 3) and daystart > (grandpaQW['last_day_helped'] + 3):
  1130. if (daystart - grandmaQW['last_day_helped']) <= (daystart - grandpaQW['last_day_helped']):
  1131. 'You haven''t helped your grandparents with any chores in <<daystart - grandmaQW[''last_day_helped'']>> days. You should help out more regularly to stay on your grandparents'' good side.'
  1132. else
  1133. 'You haven''t helped your grandparents with any chores in <<daystart - grandpaQW[''last_day_helped'']>> days. You should help out more regularly to stay on your grandparents'' good side.'
  1134. end
  1135. grandmaQW['help_amount'] -= 1
  1136. end
  1137. end
  1138. !! disappointing grandma
  1139. if grandmaQW['chore_clean_floor'] = 1 or grandmaQW['chore_clean_floor'] = 2:
  1140. grandmaQW['chore_clean_floor'] = 0
  1141. grandmaQW['disappointment'] = 1
  1142. elseif grandmaQW['chore_wash_clothes'] = 1 or grandmaQW['chore_wash_clothes'] = 2:
  1143. grandmaQW['chore_wash_clothes'] = 0
  1144. grandmaQW['disappointment'] = 1
  1145. elseif grandmaQW['chore_milk_cow'] = 1 or grandmaQW['chore_milk_cow'] = 2:
  1146. grandmaQW['chore_milk_cow'] = 0
  1147. grandmaQW['disappointment'] = 1
  1148. elseif grandmaQW['chore_groceries'] = 1 or grandmaQW['chore_groceries'] = 2:
  1149. grandmaQW['chore_groceries'] = 0
  1150. grandmaQW['disappointment'] = 1
  1151. elseif grandmaQW['chore_can_mushrooms'] = 1 or grandmaQW['chore_can_mushrooms'] = 2:
  1152. grandmaQW['chore_can_mushrooms'] = 0
  1153. grandmaQW['disappointment'] = 1
  1154. elseif grandmaQW['chore_can_berries'] = 1 or grandmaQW['chore_can_berries'] = 2:
  1155. grandmaQW['chore_can_berries'] = 0
  1156. grandmaQW['disappointment'] = 1
  1157. elseif grandmaQW['chore_can_veggies'] = 1 or grandmaQW['chore_can_veggies'] = 2:
  1158. grandmaQW['chore_can_veggies'] = 0
  1159. grandmaQW['disappointment'] = 1
  1160. elseif grandmaQW['chore_feed_chickens'] = 1 or grandmaQW['chore_feed_chickens'] = 2:
  1161. grandmaQW['chore_feed_chickens'] = 0
  1162. grandmaQW['disappointment'] = 1
  1163. elseif grandmaQW['chore_work_in_garden'] = 1 or grandmaQW['chore_work_in_garden'] = 2:
  1164. grandmaQW['chore_work_in_garden'] = 0
  1165. grandmaQW['disappointment'] = 1
  1166. elseif grandmaQW['chore_water_garden'] = 1 or grandmaQW['chore_water_garden'] = 2:
  1167. grandmaQW['chore_water_garden'] = 0
  1168. grandmaQW['disappointment'] = 1
  1169. elseif grandmaQW['chore_collect_strawberries'] = 1 or grandmaQW['chore_collect_strawberries'] = 2:
  1170. grandmaQW['chore_collect_strawberries'] = 0
  1171. grandmaQW['disappointment'] = 1
  1172. elseif grandmaQW['chore_collect_fruit'] = 1 or grandmaQW['chore_collect_fruit'] = 2:
  1173. grandmaQW['chore_collect_fruit'] = 0
  1174. grandmaQW['disappointment'] = 1
  1175. elseif grandmaQW['chore_harvest_garden'] = 1 or grandmaQW['chore_harvest_garden'] = 2:
  1176. grandmaQW['chore_harvest_garden'] = 0
  1177. grandmaQW['disappointment'] = 1
  1178. elseif grandmaQW['chore_gather_mushrooms'] = 1 or grandmaQW['chore_gather_mushrooms'] = 2:
  1179. grandmaQW['chore_gather_mushrooms'] = 0
  1180. grandmaQW['chore_mushroom_quantity'] = 0
  1181. grandmaQW['disappointment'] = 1
  1182. elseif grandmaQW['chore_gather_berries'] = 1 or grandmaQW['chore_gather_berries'] = 2:
  1183. grandmaQW['chore_gather_berries'] = 0
  1184. grandmaQW['chore_berry_quantity'] = 0
  1185. grandmaQW['disappointment'] = 1
  1186. elseif grandmaQW['chore_gather_both'] = 1 or grandmaQW['chore_gather_both'] = 2:
  1187. grandmaQW['chore_gather_both'] = 0
  1188. grandmaQW['chore_mushroom_quantity'] = 0
  1189. grandmaQW['chore_berry_quantity'] = 0
  1190. grandmaQW['disappointment'] = 1
  1191. end
  1192. !! disappointing grandpa
  1193. if grandpaQW['chore_fetch_firewood'] = 1 or grandpaQW['chore_fetch_firewood'] = 2:
  1194. grandpaQW['chore_fetch_firewood'] = 0
  1195. grandpaQW['disappointment'] = 1
  1196. elseif grandpaQW['chore_feed_horse'] = 1 or grandpaQW['chore_feed_horse'] = 2:
  1197. grandpaQW['chore_feed_horse'] = 0
  1198. grandpaQW['disappointment'] = 1
  1199. elseif grandpaQW['chore_feed_cow'] = 1 or grandpaQW['chore_feed_cow'] = 2:
  1200. grandpaQW['chore_feed_cow'] = 0
  1201. grandpaQW['disappointment'] = 1
  1202. elseif grandpaQW['chore_clean_yard'] = 1 or grandpaQW['chore_clean_yard'] = 2:
  1203. grandpaQW['chore_clean_yard'] = 0
  1204. grandpaQW['disappointment'] = 1
  1205. elseif grandpaQW['chore_feed_boar'] = 1 or grandpaQW['chore_feed_boar'] = 2:
  1206. grandpaQW['chore_feed_boar'] = 0
  1207. grandpaQW['disappointment'] = 1
  1208. elseif grandpaQW['chore_bathe_horse'] = 1 or grandpaQW['chore_bathe_horse'] = 2:
  1209. grandpaQW['chore_bathe_horse'] = 0
  1210. grandpaQW['chore_bathe_horse_prog'] = 0
  1211. grandpaQW['disappointment'] = 1
  1212. elseif grandpaQW['chore_brush_horse'] = 1 or grandpaQW['chore_brush_horse'] = 2:
  1213. grandpaQW['chore_brush_horse'] = 0
  1214. grandpaQW['disappointment'] = 1
  1215. elseif grandpaQW['chore_lead_horse_to_field'] = 1 or grandpaQW['chore_lead_horse_to_field'] = 2:
  1216. grandpaQW['chore_lead_horse_to_field'] = 0
  1217. grandpaQW['disappointment'] = 1
  1218. elseif grandpaQW['chore_herd_cattle'] = 1 or grandpaQW['chore_herd_cattle'] = 2:
  1219. grandpaQW['chore_herd_cattle'] = 0
  1220. grandpaQW['disappointment'] = 1
  1221. elseif grandpaQW['chore_lead_cow_to_field'] = 1 or grandpaQW['chore_lead_cow_to_field'] = 2:
  1222. grandpaQW['chore_lead_cow_to_field'] = 0
  1223. grandpaQW['disappointment'] = 1
  1224. elseif grandpaQW['chore_gather_mushrooms'] = 1 or grandpaQW['chore_gather_mushrooms'] = 2:
  1225. grandpaQW['chore_gather_mushrooms'] = 0
  1226. grandpaQW['chore_mushroom_quantity'] = 0
  1227. grandpaQW['disappointment'] = 1
  1228. elseif grandpaQW['chore_gather_berries'] = 1 or grandpaQW['chore_gather_berries'] = 2:
  1229. grandpaQW['chore_gather_berries'] = 0
  1230. grandpaQW['chore_berry_quantity'] = 0
  1231. grandpaQW['disappointment'] = 1
  1232. elseif grandpaQW['chore_gather_both'] = 1 or grandpaQW['chore_gather_both'] = 2:
  1233. grandpaQW['chore_gather_both'] = 0
  1234. grandpaQW['chore_mushroom_quantity'] = 0
  1235. grandpaQW['chore_berry_quantity'] = 0
  1236. grandpaQW['disappointment'] = 1
  1237. elseif grandpaQW['chore_bale_hay'] = 1 or grandpaQW['chore_bale_hay'] = 2:
  1238. grandpaQW['chore_bale_hay'] = 0
  1239. grandpaQW['disappointment'] = 1
  1240. end
  1241. !! grandparents use root cellar
  1242. if boletus_stored > 0: boletus_stored -= rand(0,1)
  1243. if bilberry_stored > 0: bilberry_stored -= rand(0,1)
  1244. if boletus_stored < 0: boletus_stored = 0
  1245. if bilberry_stored < 0: bilberry_stored = 0
  1246. !! end of new grandparent chore stuff, for 0.8.0
  1247. if catout ! 0: catout = 0
  1248. if feedcat ! 0: feedcat = 0
  1249. loc_count = ARRSIZE('$CloLosLoc')
  1250. i = loc_count - 1
  1251. :loopCloLoc
  1252. $CloLoc = $CloLosLoc[i]
  1253. CloLostOn = CloLosDay[$CloLoc]
  1254. if CloLostOn + RAND(7,14) < daystart :
  1255. gs 'clothing', 'recover_lost_clothes', $CloLoc, 2
  1256. end
  1257. i -=1
  1258. if i > -1 :jump 'loopCloLoc'
  1259. if vidageday > 1080: vidageday = 1080
  1260. if blizoruk < 10: blizoruk -= 1
  1261. if blizoruk < 100: blizoruk -= rand(0,1)
  1262. if blizoruk < 0: blizoruk = 0
  1263. !!------------------------------------------------------------------------------------------------------------------------
  1264. !!C and b array cleaning
  1265. if InSleep = 1: gs 'npc','cleanarrays'
  1266. !!------------------------------------------------------------------------------------------------------------
  1267. !!-------------Family schedule variables----------------------------------------------------------------------
  1268. !! 23 = kitchen
  1269. !! 24 = Living room
  1270. !! 25 = bathroom
  1271. !! 26 = Svetas room
  1272. if week = 6:
  1273. momclean1 = rand(23,26)
  1274. else
  1275. momclean1 = rand(23,24)
  1276. end
  1277. if rand(0,1) = 0:
  1278. momclean2 = 23
  1279. else
  1280. momclean2 = 25
  1281. end
  1282. !!-------------Therapist Route schedule variables----------------------------------------------------------------------
  1283. !! 23 = kitchen
  1284. !! 24 = Living room
  1285. !! 25 = bathroom
  1286. !! 26 = Master''s room
  1287. if therapistWantsSlave > 0:
  1288. annaclean1 = rand(23,26)
  1289. end
  1290. !!------------------------------------------------------------------------------------------------------------
  1291. !!-------------Family Dog----------------------------------------------------------------------
  1292. if $status['dog'] ! 'blocked' and rex['owned'] = 1:
  1293. rex['timer_day'] = daystart
  1294. !!Daily decay
  1295. rex['relationship'] -= 1
  1296. !!Chores
  1297. if cheat['dog_rel'] = 0 and rex['gadukino_day'] ! daystart:
  1298. npc_rel['A29'] -= iif(rex['count_walk'] + rex['count_feed'] = 0, -1, (rex['count_walk'] + rex['count_feed']))
  1299. rex['relationship'] -= iif(rex['count_walk'] + rex['count_feed'] = 0, -1, (rex['count_walk'] + rex['count_feed']))
  1300. end
  1301. rex['count_run'] = 0
  1302. rex['count_walk'] = rex['count_walk_base']
  1303. rex['timer_walk'] = 0
  1304. rex['count_feed'] = rex['count_feed_base']
  1305. rex['timer_feed'] = 0
  1306. if week = 1:
  1307. if cheat['dog_rel'] = 0:
  1308. npc_rel['A29'] -= rex['count_bath']
  1309. rex['relationship'] -= (rex['count_bath'] * 5)
  1310. end
  1311. rex['count_bath'] = rex['count_bath_base']
  1312. end
  1313. end
  1314. !!------------------------------------------------------------------------------------------------------------
  1315. !!---------- School related schedule -------------------------------------------------------------------------
  1316. starlets_on = iif( ( (week = 5 and odd_week = 0) or (week = 1 or week = 3 or week >= 6) ) and natholi = 0,1,0)
  1317. 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)
  1318. if starlets['late_message'] = 1: starlets['late_message'] = 0
  1319. !!------------------------------------------------------------------------------------------------------------
  1320. !!---------- Starlet Content ---------------------------------------------------------------------------------
  1321. if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0:
  1322. if starlets_practice = daystart - 1:
  1323. starlets_missed = 1
  1324. starlets_practice = 0
  1325. end
  1326. if starlets_on = 1: starlets_practice = daystart
  1327. end
  1328. if month = 9 and day = 16 and AlbinaQW['ParkRally'] = 0: AlbinaQW['ParkRally'] = 1
  1329. if month = 10 and day = 16 and AlbinaQW['ParkRally'] = 1: AlbinaQW['ParkRally'] = 2
  1330. 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
  1331. !!------------------------------------------------------------------------------------------------------------
  1332. !!-------------Music career related variables and calculations------------------------------------------------
  1333. !! How many hours a day can Sveta perform. It maxes out at 3.
  1334. !! Using the actual skill level, not the one modified by Attributes because that is more realistic for this.
  1335. ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal
  1336. ml_performance['performed_minutes'] = 0
  1337. !! Checking for missed guitar lesson
  1338. if ml_guitarlesson['nextlesson'] < daystart and ml_guitarlesson['lessonday'] ! 8:
  1339. ml_guitarlesson['lessonday'] = 8
  1340. end
  1341. !! Calculating the fame increase from the uploaded songs and removing ones that do not effect fame anymore to keep the
  1342. !! data at a sane level
  1343. if ml_onlinesongcount > 0:
  1344. i = 0
  1345. j = -1
  1346. :looponlinesongs
  1347. !! this so every song counts only every 7 days and only for a limited number of weeks
  1348. if ml_onlinesong_freshness[i] > 0:
  1349. j += 1
  1350. ml_tempsong_freshness[j] = ml_onlinesong_sfreshness[i]
  1351. ml_tempsong_lastcalcday[j] = ml_onlinesong_lastcalcday[i]
  1352. ml_tempsong_hotcat[j] = ml_onlinesong_hotcat[i]
  1353. ml_tempsong_skilllevel[j] = ml_onlinesong_skilllevel[i]
  1354. ml_tempsong_uploaded[j] = ml_onlinesong_uploaded[i]
  1355. *nl
  1356. if ml_tempsong_lastcalcday[j] <= (daystart - 7) and ml_tempsong_uploaded = 1:
  1357. gs 'fame', 'city', 'music', rand(0, ml_tempsong_freshness[j]/100)
  1358. ml_tempsong_freshness[j] -= 10
  1359. ml_tempsong_lastcalcday[j] = daystart
  1360. end
  1361. end
  1362. i += 1
  1363. if i < ml_onlinesongcount: jump 'looponlinesongs'
  1364. killvar 'ml_onlinesong_freshness'
  1365. killvar 'ml_onlinesong_lastcalcday'
  1366. killvar 'ml_onlinesong_hotcat'
  1367. killvar 'ml_onlinesong_skilllevel'
  1368. killvar 'ml_onlinesong_uploaded'
  1369. i = 0
  1370. if j >= 0:
  1371. :looprebuildsongs
  1372. ml_onlinesong_freshness[i] = ml_tempsong_freshness[i]
  1373. ml_onlinesong_hotcat[i] = ml_tempsong_hotcat[i]
  1374. ml_onlinesong_lastcalcday[i] = ml_tempsong_lastcalcday[i]
  1375. ml_onlinesong_skilllevel[i] = ml_tempsong_skilllevel[i]
  1376. ml_onlinesong_uploaded[i] = ml_tempsong_uploaded[i]
  1377. i += 1
  1378. if i <= j: jump 'looprebuildsongs'
  1379. end
  1380. killvar 'ml_tempsong_freshness'
  1381. killvar 'ml_tempsong_lastcalcday'
  1382. killvar 'ml_tempsong_hotcat'
  1383. killvar 'ml_tempsong_skilllevel'
  1384. killvar 'ml_tempsong_uploaded'
  1385. end
  1386. !! Repertoire quality decay if no practice is done
  1387. if ml_performance['set_lastpracticeday'] ! (daystart-1): repertoire_quality -= 2
  1388. --- cikl ---------------------------------