cikl.qsrc 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211
  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 = day in this month
  16. !! week = day in the week. 1 == Monday
  17. !! hour = Full hour in this day
  18. day += 1
  19. week += 1
  20. hour -= 24
  21. if day > monthsEnd[month]:
  22. day -= monthsEnd[month]
  23. month += 1
  24. !! Changing the year at new year and making sure February have the correct number of days.
  25. if month > 12:
  26. month = 1
  27. year += 1
  28. if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0):
  29. monthsend[2] = 29
  30. else
  31. monthsend[2] = 28
  32. end
  33. end
  34. !!MJ: Don''t think that one is needed. But it was in the original loop.
  35. if month < 1: month = 1
  36. $month = $monthName[month]
  37. !! new years party calculation
  38. temp = func('shortgs','dow',year,12,31)
  39. if temp < 6:
  40. nyp_day = 31
  41. elseif temp = 6:
  42. nyp_day = 30
  43. else
  44. nyp_day = 29
  45. end
  46. end
  47. !!MJ: Don''t think that one is needed. But it was here already.
  48. if day <= 0:day = 1
  49. ciklNewWeek = 0
  50. if week > 7:
  51. odd_week = iif(odd_week,0,1)
  52. ciklNewWeek = 1
  53. :loopweek
  54. week -= 7
  55. husbandrink = 0
  56. if military = 1:military = 0
  57. if week > 7:jump 'loopweek'
  58. end
  59. gs 'daystart'
  60. gs 'yearstart'
  61. !!----------------------------------------------------------------------------
  62. !!Fame call to update all the fame variables
  63. gs 'fame'
  64. !!Cycle stats for Contacts
  65. gs 'telefon', 'DailyStatRefresh', ciklNewWeek
  66. !!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
  67. if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
  68. if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
  69. gs 'pornschedule', 'schedule'
  70. end
  71. !! set the time when the SMS will be send
  72. gs 'booty_call', 'scheduler'
  73. booty_call_time['daystart'] = daystart
  74. !!------------------------------------------------------------------------------------------------------------
  75. !! Job Stuff
  76. !!------------------------------------------------------------------------------------------------------------
  77. !! masseuse paycheck
  78. if masseuse['weeks_pay'] > 0 and week = 5:masseuse['paycheck'] = 1
  79. if masseuse['jobtype'] > 0 and week = 5 and masseuse['weeks_pay'] > 0:
  80. masseuse['payday'] = 1
  81. end
  82. if week = 7 and masseuse['schedule_update'] ! daystart: gs 'masseuse_schedule','schedule_reset'
  83. !!modelling check
  84. if model_week ! (daystart - week) / 7:model_job_week = 0
  85. !!acting strings to set available jobs
  86. if casting = 1:
  87. acting_string1 = rand(10000000,199999999)
  88. acting_string2 = rand(10000000,199999999)
  89. end
  90. dynamic $hypnoDaychange
  91. !!phone reset for bf
  92. ringA = 0
  93. ringB = 0
  94. ringC = 0
  95. !!Appearance Age
  96. vidageday -= 1
  97. if vidageday <= 0:
  98. vidageday = 360
  99. vidage += 1
  100. end
  101. !!Birthday
  102. age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
  103. if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
  104. if birthday = day and birthmonth = month and model['age'] > 0:model['age'] += 1
  105. if workDolgDay > 0: workDolgDay -= 1
  106. if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
  107. if husband > 0: husbanday += 1
  108. if husband > 10 and husbanday > 0: husband -= 15
  109. if fingal > 0: fingal -= 1
  110. if husbandMark = 1 and husband <= 10:
  111. husbizvradd = 0
  112. husbharmin = 0
  113. husbandMark = 0
  114. husband = 0
  115. divorced += 1
  116. if KFOnLineReaga > 0:KFOnLineReaga -= 1
  117. '<b><font color="red">Your husband has filed for a divorce.</font></b>'
  118. end
  119. !! after having surgery you will be in recuperation for a few days
  120. if surgeryday ! '':
  121. if daystart - 7 <= surgeryday:
  122. dailyhealthimprov = (daystart - surgeryday) * 50
  123. pcs_health = dailyhealthimprov
  124. recuperation = 1
  125. else
  126. killvar 'recuperation'
  127. killvar 'dailyhealthimprov'
  128. end
  129. end
  130. !!Street events daily reset
  131. streetevent_hour = -2
  132. !!Clothing stock and price randomizers
  133. Clothingstock = rand (0,23)
  134. i = 1
  135. :loopprice
  136. Clothingstock[i] = rand (0,500)
  137. i += 1
  138. if i <= 147:jump 'loopprice'
  139. if dyneval ('RESULT = <<$coatworntype>>_coats_h[<<coatwornnumber>>]') <= 0: $coatworntype = 'none'
  140. !! Abortion and pregnancy recovery resets if finished
  141. if abortionbirthdate ! 0 and daystart - abortionbirthdate > 24: abortionbirthdate = 0
  142. if pregbirthdate ! 0 and daystart - pregbirthdate > 73: pregbirthdate = 0
  143. !!------------------------------------------------------------------------------------------------------------
  144. !! Nympho
  145. !!------------------------------------------------------------------------------------------------------------
  146. !! Reserved for nympho trait
  147. if nymphosex_flag = 1:
  148. end
  149. nymphosex_flag = 0
  150. !!------------------------------------------------------------------------------------------------------------
  151. !! Bimbo
  152. !!------------------------------------------------------------------------------------------------------------
  153. !!bimbo flag set in stat_display if bimbo clothing, shoes and makeup are worn at same time
  154. if succubusflag = 0 or CheatBimbo2 = 1:
  155. if cheatBimbo = 0 and bimbo_flag = 1:
  156. bimbo += 1
  157. end
  158. end
  159. !!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
  160. if bimbo > 0 or bimbolevel > 0:
  161. if bimbo < 10:
  162. if bimbo_flag = 0:
  163. bimbo -= 2
  164. end
  165. elseif bimbo < 20:
  166. bimbolevel = 1
  167. elseif bimbo < 30:
  168. bimbolevel = 2
  169. else
  170. bimbolevel = 3
  171. end
  172. end
  173. if bimbo >= 40: bimbo = 40
  174. !!Bimbo levels. They use custom variables so they won''t permanently change character stats
  175. if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
  176. if CheatBimbo2 = 0:
  177. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
  178. if bimbolevel = 2: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 4)
  179. if bimbolevel = 3: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 3)
  180. elseif CheatBimbo2 = 1:
  181. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = 0
  182. if bimbolevel = 2: supnatvnesh = 2 & bimbostupidity = 0
  183. if bimbolevel = 3: supnatvnesh = 4 & bimbostupidity = 0
  184. end
  185. !!A Succubus cannot be a Bimbo
  186. if succubusflag = 1 and CheatBimbo3 = 0:
  187. if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40
  188. elseif bimbolevel >= 1:
  189. !!Checks flag and adds withdrawal if 0
  190. if bimbo_flag = 0:
  191. bimbowithdrawal += 1
  192. else
  193. bimbowithdrawal = 0
  194. end
  195. end
  196. if bimbo < 0: bimbo = 0
  197. !! flag reset
  198. bimbo_flag = 0
  199. !!------------------------------------------------------------------------------------------------------------
  200. !! Butt slut
  201. !!------------------------------------------------------------------------------------------------------------
  202. if orgasm_anal > orgasm_anal[1]:
  203. if pcs_traits['buttslut_lvl'] > 0: pcs_traits['buttslut_exp'] += orgasm_anal - orgasm_anal[1]
  204. else
  205. if pcs_traits['buttslut_exp'] > 1: pcs_traits['buttslut_exp'] -= 1
  206. end
  207. orgasm_anal[1] = orgasm_anal
  208. if orgasm_anal > 10 and pcs_traits['buttslut_lvl'] = 0: pcs_traits['buttslut_lvl'] = 1
  209. if pcs_traits['buttslut_exp'] >= 15 and pcs_traits['buttslut_lvl'] = 1: pcs_traits['buttslut_lvl'] = 2 & pcs_traits['buttslut_exp'] = 0
  210. if pcs_traits['buttslut_exp'] >= 50 and pcs_traits['buttslut_lvl'] = 2: pcs_traits['buttslut_lvl'] = 3
  211. if pcs_traits['buttslut_exp'] <= 0 and pcs_traits['buttslut_lvl'] = 3: pcs_traits['buttslut_lvl'] = 2 & pcs_traits['buttslut_exp'] = 0
  212. !!------------------------------------------------------------------------------------------------------------
  213. !! Exhibitionism
  214. !!------------------------------------------------------------------------------------------------------------
  215. if pcs_exhib > 0 or exhibitionist_lvl > 0:
  216. if pcs_exhib < 10:
  217. pcs_exhib -= 1
  218. elseif pcs_exhib < 50:
  219. exhibitionist_lvl = 1
  220. elseif pcs_exhib < 100 or exhibitionQW < 3:
  221. exhibitionist_lvl = 2
  222. elseif exhibitionQW > 2:
  223. exhibitionist_lvl = 3
  224. end
  225. end
  226. !!Inhibition increases from wearing revealing clothing
  227. if exhibition_outdoors > 0:
  228. if pcs_inhib > 90:
  229. exhibition_outdoors = exhibition_outdoors * 3
  230. elseif pcs_inhib > 75:
  231. exhibition_outdoors = exhibition_outdoors * 5 / 2
  232. elseif pcs_inhib > 60:
  233. exhibition_outdoors = exhibition_outdoors * 2
  234. elseif pcs_inhib > 30:
  235. exhibition_outdoors = exhibition_outdoors * 3 / 2
  236. end
  237. if exhibition_outdoors <= 5:
  238. inhib_exp += rand(3,6)
  239. elseif exhibition_outdoors <= 10:
  240. inhib_exp += rand(5,9)
  241. elseif exhibition_outdoors <= 15:
  242. inhib_exp += rand(7,12)
  243. elseif exhibition_outdoors <= 20:
  244. inhib_exp += rand(9,15)
  245. elseif exhibition_outdoors <= 25:
  246. inhib_exp += rand(12,20)
  247. elseif exhibition_outdoors <= 30:
  248. inhib_exp += rand(16,25)
  249. elseif exhibition_outdoors <= 35:
  250. inhib_exp += rand(20,30)
  251. elseif exhibition_outdoors <= 40:
  252. inhib_exp += rand(25,40)
  253. elseif exhibition_outdoors <= 50:
  254. inhib_exp += rand(35,50)
  255. elseif exhibition_outdoors <= 65:
  256. inhib_exp += rand(50,75)
  257. else
  258. inhib_exp += rand(70,100)
  259. end
  260. end
  261. exhibition_outdoors = 0
  262. !!------------------------------------------------------------------------------------------------------------
  263. !! Everything is new again
  264. !!------------------------------------------------------------------------------------------------------------
  265. !!Trait ''Everything is new again'', gained from the sg_tg start
  266. if $start_type = 'sg_tg' and daystart = 85: gs 'traits', 'dbl_exp_lvl'
  267. !!------------------------------------------------------------------------------------------------------------
  268. !! Succubus Level & hunger calcs
  269. !!------------------------------------------------------------------------------------------------------------
  270. if succubusflag = 1: gs 'succubus','cikl'
  271. !!------------------------------------------------------------------------------------------------------------
  272. if defcurly = 0 and curly > 0:curly -= 1
  273. if defcurly = 1:
  274. if straight > 0: straight -= 1
  275. if straight = 0: curly = 2147483647
  276. end
  277. ! WD: Added daily reduction of braids for Maruda Hair Mod
  278. if hbraids > 0: hbraids -= 1
  279. gs 'sweat', 'add', 2
  280. if pcs_tan > 0: pcs_tan -= 1
  281. if prezikmsg = 2: prezikmsg = 3
  282. gs 'fertility', 'birth_control'
  283. if birth_control['think_safe'] = 1:
  284. stat['forgot_bc_pill'] = 0
  285. elseif pilldaychk < daystart - 1 and pilldaychk > daystart - 5 and pillcon2 > 0:
  286. stat['forgot_birth_control_pill'] = 1
  287. !! stat['forget_bc_count'] += 1
  288. end
  289. stat['safe_day'] = 0
  290. stat['probably_safe_day'] = 0
  291. stat['dangerous_day'] = 0
  292. if cycle > 3:
  293. stat['safe_day'] = 1
  294. elseif cycle = 0 or cycle = 3:
  295. stat['probably_safe_day'] = 1
  296. else
  297. stat['dangerous_day'] = 1
  298. end
  299. !!------------------------------------------------------------------------------------------------------------
  300. if pcs_breath = 1:pcs_breath = 0
  301. if cheatNoEat = 1 and dounspell = 1:fat += 15
  302. !!Trauma decay
  303. if mood_trauma > 0: mood_trauma -= 1
  304. !!STD check
  305. if SifacOnce = 1:Sifilis += 1
  306. if GerpesOnce = 1:Gerpes += 1
  307. if TriperOnce = 1:
  308. if Triper > 0:
  309. Triper += 1
  310. end
  311. if TriperOral > 0:
  312. TriperOral += 1
  313. end
  314. If TriperOral > 14 and TriperNapr = 0:
  315. if rand(TriperOral,100) > 80:
  316. TriperOral = 0
  317. if Triper = 0:TriperOnce = 0
  318. TriperOralSigns = 0
  319. end
  320. end
  321. end
  322. if KandidozOnce = 1:Kandidoz += 1
  323. Venera = 0
  324. if SifacOnce = 1: Venera += 1
  325. if GerpesOnce = 1: Venera += 1
  326. if TriperOnce = 1: Venera += 1
  327. !! Fail safe
  328. if ashrinkdays = 0: ashrinkdays = 6
  329. if vshrinkdays = 0: vshrinkdays = 6
  330. if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
  331. if daystart mod(ashrinkdays) = 0: pcs_ass -= ashrink
  332. if pcs_ass < 0: pcs_ass = 0
  333. end
  334. if pcs_vag > 10 and vshrink > 0:
  335. if daystart mod(vshrinkdays) = 0: pcs_vag -= vshrink
  336. if pcs_vag < 0: pcs_vag = 0
  337. end
  338. lipkoef -= rand(0,1)
  339. if lipkoef <= 0: lipkoef = 0
  340. if isprok = 1 or isprokp = 1:
  341. isprok_lastday = 1
  342. else
  343. isprok_lastday = 0
  344. end
  345. if Enable_autotampon = 0 and isprok = 1: isprok = 0 & 'You threw away your used tampon.'
  346. if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
  347. if preg = 1:
  348. pregtime = pregchem / 24
  349. if pregtimes = 0:pregtimes = 1
  350. elseif preg = 2 and pregminut < totminut:
  351. if Enable_nogameover = 0 :
  352. cla
  353. *clr
  354. over = 4
  355. MSG '<center><b>A horrible pain shoots through your body.</b></center>'
  356. xgt 'gameover'
  357. exit
  358. else
  359. MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
  360. pregminut = totminut + 1440
  361. end
  362. elseif preg = 0:
  363. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A14'
  364. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A16'
  365. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A23'
  366. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A28'
  367. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A29'
  368. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A33'
  369. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A34'
  370. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A69'
  371. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A131'
  372. !{killvar 'pregTalkFamily' -- Do not kill this (Abortion talk).}
  373. killvar 'pcs_pregtalk'
  374. killvar 'pregTalk'
  375. killvar 'pregtime'
  376. killvar 'knowpreg'
  377. killvar 'denypreg'
  378. killvar '$wombthfath'
  379. end
  380. !!------------------------------------------------------------------------------------------------------------
  381. !! Arousal
  382. !!------------------------------------------------------------------------------------------------------------
  383. if $start_type[1] ! 'nomagic':
  384. if pcs_horny < 100:pcs_horny += pcs_vag
  385. else
  386. if stat['think_virgin'] = 1:
  387. razeba = 0
  388. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
  389. if pcs_horny > 50:pcs_horny -= 25
  390. elseif stat['think_virgin'] = 0:
  391. if pregtimes = 0:
  392. if age < 18:
  393. razeba = 1
  394. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
  395. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
  396. if pcs_horny >= 80:pcs_horny -= 20
  397. elseif age >= 18 and age < 21:
  398. razeba = 2
  399. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
  400. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
  401. if pcs_horny >= 80:pcs_horny -= 10
  402. elseif age >= 21 and age < 25:
  403. razeba = 3
  404. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
  405. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
  406. if pcs_horny >= 80:pcs_horny -= 5
  407. elseif age >= 25 and age < 30:
  408. razeba = 4
  409. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
  410. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
  411. if pcs_horny >= 80:pcs_horny -= 5
  412. elseif age >= 30:
  413. razeba = 5
  414. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  415. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  416. if pcs_horny >= 80:pcs_horny += 1
  417. end
  418. elseif pregtimes > 0:
  419. if preg = 0:
  420. razeba = 5
  421. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  422. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  423. if pcs_horny >= 80:pcs_horny += 1
  424. elseif preg > 0:
  425. razeba = 6
  426. if pcs_horny < 100:pcs_horny += pregchem / 240
  427. end
  428. end
  429. end
  430. end
  431. if pcs_horny < 0:pcs_horny = 0
  432. !!------------------------------------------------------------------------------------------------------------
  433. !reset Natasha Belova''s clothes
  434. if NatbelQW['seethroughwearing'] = 1: NatbelQW['seethroughwearing'] = 0
  435. !!------------------------------------------------------------------------------------------------------------
  436. !counter for Dimka avoidance
  437. if dimaFilm = 1 and dimaRudeBlock = 0:
  438. nodimkaK += 1
  439. DimkaWarnedToday = 0
  440. end
  441. !!------------------------------------------------------------------------------------------------------------
  442. !!Fame degradation
  443. gs 'fame', 'deg'
  444. !!Traits
  445. gs 'traits', 'overnight'
  446. !!------------------------------------------------------------------------------------------------------------
  447. !! Clothing wear and tear
  448. gs 'starenie'
  449. !!cocaine reduction
  450. if nark > 60:
  451. nark = 60
  452. elseif nark > 30:
  453. nark -= 3
  454. elseif nark > 0:
  455. nark -= 1
  456. end
  457. if pregchem > 240:fat += 1
  458. !!------------------------------------------------------------------------------------------------------------
  459. !! Pain
  460. !!------------------------------------------------------------------------------------------------------------
  461. if pain['head'] > 0:pain['head'] -= rand(1,3)
  462. if pain['hair'] > 0:pain['hair'] -= rand(1,3)
  463. if pain['ears'] > 0:pain['ears'] -= rand(1,3)
  464. if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
  465. if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
  466. if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
  467. if pain['nose'] > 0:pain['nose'] -= rand(1,3)
  468. if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
  469. if pain['lips'] > 0:pain['lips'] -= rand(1,3)
  470. if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
  471. if pain['throat'] > 0:pain['throat'] -= rand(1,3)
  472. if pain['neck'] > 0:pain['neck'] -= rand(1,3)
  473. if pain['back'] > 0:pain['back'] -= rand(1,3)
  474. if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
  475. if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
  476. if pain['hips'] > 0:pain['hips'] -= rand(1,3)
  477. if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
  478. if pain['legL'] > 0:pain['legL'] -= rand(1,3)
  479. if pain['legR'] > 0:pain['legR'] -= rand(1,3)
  480. if pain['feet'] > 0:pain['feet'] -= rand(1,3)
  481. if pain['toes'] > 0:pain['toes'] -= rand(1,3)
  482. if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
  483. if pain['armL'] > 0:pain['armL'] -= rand(1,3)
  484. if pain['armR'] > 0:pain['armR'] -= rand(1,3)
  485. if pain['hands'] > 0:pain['hands'] -= rand(1,3)
  486. if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
  487. if pain['chest'] > 0:pain['chest'] -= rand(1,3)
  488. if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
  489. if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
  490. if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
  491. if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
  492. if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
  493. if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
  494. if pain['labia'] > 0:pain['labia'] -= rand(1,3)
  495. if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
  496. if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
  497. if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
  498. if painpub = 2:
  499. if painpubday + 5 < daystart:
  500. $painpub = 'Your vulva is painfully sore.'
  501. painpub = 1
  502. painpubday = daystart
  503. elseif painpubday + 5 >= daystart:
  504. $painpub = 'Your vulva is painfully sore.'
  505. end
  506. elseif painpub = 1:
  507. if painpubday + 5 < daystart:
  508. $painpub = ''
  509. painpub = 0
  510. painpubday = daystart
  511. elseif painpubday + 5 >= daystart:
  512. $painpub = 'Your vulva is a little sore.'
  513. end
  514. end
  515. prezikProver += 1
  516. if pirs_pain_ton > 0:pirs_pain_ton -= 1
  517. if shorthair = 1:
  518. shorthairday += 1
  519. if shorthairday >= 45:shorthairday = 0 & shorthair = 0
  520. end
  521. !!------------------------------------------------------------------------------------------------------------
  522. !!Resetting the counter for relationship modifications that are limited in how many time a day they can be applied.
  523. killvar 'npc_rel_daily'
  524. !!Resetting the counters for npc reactions after certain time periods have passed.
  525. gs 'npc_reactions', 'cikl'
  526. !! Setting the day for nerd game nights
  527. gs 'nerd_game_night', 'cikl'
  528. !!Keeping Christina hating Sveta
  529. gs 'Zvereva_events', 'cikl'
  530. !!if Vitek''s ex he never forgives her
  531. if kotovLoveQW = -1:
  532. gs 'npc_relationship', 'set', 'A9', '0'
  533. end
  534. !!Updating Katja''s variables.
  535. gs 'katja_procedural', 'cikl'
  536. if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1
  537. !!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.
  538. gs 'soniadisco', 'cikl'
  539. dmishaevent = 0
  540. if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
  541. if GspravkaT = 1:Gspravka -= 1
  542. if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] = 30:BurgerQW['IlyQW'] = 3
  543. if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] > 0 and BurgerQW['IlyQWPoliceDayCount'] < 30:BurgerQW['IvanQWPoliceDayCount'] += 1
  544. !!Remove degradation for inhibition
  545. inhib_flr = inhib_lvl
  546. gs 'stat_sklattrib', 'daycall'
  547. !Update body measurements and base appearnce
  548. gs 'body', 'DailyUpdate'
  549. gs 'AppearanceSystem', 'UpdateBaseAppearnce'
  550. gs 'body_desc'
  551. if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
  552. !!Pussy_Kats job settings
  553. inWorkYoungShop = 0
  554. if week = 1 and young_shop_work = 100: young_shop_work = 1
  555. if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
  556. if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
  557. husbandsexday = 0
  558. borsexkol = 0
  559. givisexday = 0
  560. if shantsr > 0:
  561. pay = shantsr * 5000
  562. karta += pay
  563. shantsr = 0
  564. end
  565. if shantbog > 0:
  566. :shantftb
  567. shantftbgrand = rand(0, 10)
  568. if shantftbgrand > 2:
  569. shantpopala += 1
  570. shantbog -= 1
  571. if shantbog > 0:jump 'shantftb'
  572. elseif shantftbgrand <= 2:
  573. karta += 30000
  574. shantbog -= 1
  575. if shantbog > 0:jump 'shantftb'
  576. end
  577. end
  578. petersexday = 0
  579. klismaday1 = 0
  580. !!ugly duckling start becoming a swan
  581. if uglyduck_flag = 1 and hotcat >= 5:
  582. killvar 'uglyduck_flag'
  583. gs 'npc_relationship', 'socialgroup_setting_boys', 10, 10, 10, 10, 0, 0
  584. grupvalue[1] += 100
  585. old_grupvalue[1] += 100
  586. end
  587. !! Resetting relationships that go over the max
  588. :toptemprel
  589. if temprel < aarraynumber:
  590. temprel +=1
  591. if npc_rel['A'+'<<temprel>>'] > 100:npc_rel['A'+'<<temprel>>'] = 100
  592. jump 'toptemprel'
  593. end
  594. killvar 'temprel'
  595. gs 'bank', 'cikl'
  596. killvar 'holyday'
  597. killvar 'kanikuli'
  598. killvar 'pcs_ate'
  599. killvar 'pcs_drank'
  600. !! 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
  601. !!sisboyparty
  602. !!-1 - don''t go to the party
  603. !!0 - don''t know about parties
  604. !!1 - knows about the parties
  605. !!2 - agreed to go to the party
  606. !!3 - Missed the party
  607. !!Suspension ends
  608. if suspended['day'] = daystart: suspended['on'] = 0
  609. if mid($start_type,1,2) = 'sg':
  610. !!Party refresh if you didn''t see sis
  611. if week = 1 and sisboyparty ! 2:
  612. if sisterQW['party'] = -1: sisterQW['party'] = 0
  613. if sisboypartyQW >= 2 and sisboyparty > 0:
  614. sisboyparty_day = daystart + rand(3,5)
  615. end
  616. end
  617. if sisboyparty = 2 and sisboyparty_day + 1 < daystart: sisboyparty = 3
  618. if SchoolAtestat = 0 and SchoolBlock = 0:
  619. if month = 12 and day > 25:
  620. if day < 31:
  621. $holyday = '<b>Winter Break in <<32-day>> days.</b>'
  622. else
  623. $holyday = '<b>Winter Break starts tomorrow.</b>'
  624. end
  625. elseif month = 1 and day <= 15:
  626. kanikuli = 2
  627. if day < 13:
  628. $holyday = '<b>Winter Break.</b>'
  629. elseif day < 15:
  630. $holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
  631. else
  632. $holyday = '<b>Last day of Winter Break.</b>'
  633. end
  634. elseif month = 3 and day > 13:
  635. if day < 19:
  636. $holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
  637. elseif day = 19:
  638. $holyday = '<b>Spring Break starts tomorrow.</b>'
  639. elseif day >= 20 and day <= 26:
  640. kanikuli = 3
  641. if day < 24:
  642. $holyday = '<b>Spring Break.</b>'
  643. elseif day < 26:
  644. $holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
  645. else
  646. $holyday = '<b>Last day of Spring Break.</b>'
  647. end
  648. end
  649. elseif month = 5:
  650. if year = 2017:
  651. if day = 26:
  652. kanikuli = 6
  653. SchoolAtestat = -1
  654. lernHome = 0
  655. $holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
  656. elseif day = 25:
  657. $holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
  658. elseif day >= 19:
  659. $holyday = '<b>Your graduation is in <<26-day>> days.</b>'
  660. end
  661. elseif day >= 25:
  662. if day = 31:
  663. $holyday = '<b>Summer Break starts tomorrow.</b>'
  664. else
  665. $holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
  666. end
  667. end
  668. elseif month = 6 or month = 7 or month = 8:
  669. kanikuli = 4
  670. if month = 8 and day >= 25:
  671. if day = 31:
  672. $holyday = '<b>Last day of Summer Break.</b>'
  673. else
  674. $holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
  675. end
  676. else
  677. $holyday = '<b>Summer Break.</b>'
  678. end
  679. !! 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.'
  680. killvar 'first_time_outside_in_cold_weather'
  681. killvar 'first_time_doing_basketball'
  682. killvar 'first_time_spring_football_match'
  683. !! end inc
  684. elseif month = 10 and day >= 29:
  685. $holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
  686. elseif month = 11:
  687. if day < 3:
  688. $holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
  689. elseif day = 3:
  690. $holyday = '<b>Autumn Break starts tomorrow.</b>'
  691. elseif day < 6:
  692. kanikuli = 1
  693. $holyday = '<b>Autumn Break.</b>'
  694. elseif day < 11:
  695. kanikuli = 1
  696. $holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
  697. elseif day = 11:
  698. kanikuli = 1
  699. $holyday = '<b>Last day of Autumn Break.</b>'
  700. end
  701. end
  702. if kanikuli = 0 and week < 6:
  703. if week = 1:
  704. !!The start and end values for i have to be changed if more female schoolgirl npcs are added to the game
  705. i = 11
  706. :hotcat_calc_jump
  707. i += 1
  708. if hotcat_rating['A<<i>>'] = 0 and i < 145: jump 'hotcat_calc_jump'
  709. switch_rand = rand(1,100)
  710. if hotcat_movement['A<<i>>'] = 0 and switch_rand < 21:
  711. hotcat_rating['A<<i>>'] -= 1
  712. hotcat_movement['A<<i>>'] -= 1
  713. elseif hotcat_movement['A<<i>>'] = 0 and switch_rand > 80:
  714. hotcat_rating['A<<i>>'] += 1
  715. hotcat_movement['A<<i>>'] += 1
  716. elseif hotcat_movement['A<<i>>'] = 1 and switch_rand > 40:
  717. hotcat_rating['A<<i>>'] -= 1
  718. hotcat_movement['A<<i>>'] -= 1
  719. elseif hotcat_movement['A<<i>>'] = -1 and switch_rand > 40:
  720. hotcat_rating['A<<i>>'] += 1
  721. hotcat_movement['A<<i>>'] += 1
  722. end
  723. if i < 145: jump 'hotcat_calc_jump'
  724. killvar 'i'
  725. killvar 'switch_rand'
  726. end
  727. !! Resetting the late flag
  728. if late = 1: late = 0
  729. end
  730. !!Social grup changes
  731. !!Change from relatonship with other students.
  732. gs 'gschool_socialchg', 'group_student_rel_change'
  733. !!Decay for the school groups
  734. if grupvalue[1] > 0:
  735. grupvalue[1] -= rand(0,1)
  736. else
  737. grupvalue[1] = 0
  738. end
  739. if grupvalue[2] > 0:
  740. grupvalue[2] -= rand(0,1)
  741. else
  742. grupvalue[2] = 0
  743. end
  744. if grupvalue[3] > 0:
  745. grupvalue[3] -= rand(0,1)
  746. else
  747. grupvalue[3] = 0
  748. end
  749. if grupvalue[4] > 0:
  750. grupvalue[4] -= rand(0,1)
  751. else
  752. grupvalue[4] = 0
  753. end
  754. !!Maximum increase for grupvalues is 10 and max decay is 30
  755. if oldgrupvalue_set = 0:
  756. oldgrupvalue_set = 1
  757. old_grupvalue[1] = grupvalue[1]
  758. old_grupvalue[2] = grupvalue[2]
  759. old_grupvalue[3] = grupvalue[3]
  760. old_grupvalue[4] = grupvalue[4]
  761. else
  762. if old_grupvalue[1] + 10 < grupvalue[1]: grupvalue[1] = old_grupvalue[1] + 10
  763. if old_grupvalue[2] + 10 < grupvalue[2]: grupvalue[2] = old_grupvalue[2] + 10
  764. if old_grupvalue[3] + 10 < grupvalue[3]: grupvalue[3] = old_grupvalue[3] + 10
  765. if old_grupvalue[4] + 10 < grupvalue[4]: grupvalue[4] = old_grupvalue[4] + 10
  766. if old_grupvalue[1] - 30 > grupvalue[1]: grupvalue[1] = old_grupvalue[1] - 30
  767. if old_grupvalue[2] - 30 > grupvalue[2]: grupvalue[2] = old_grupvalue[2] - 30
  768. if old_grupvalue[3] - 30 > grupvalue[3]: grupvalue[3] = old_grupvalue[3] - 30
  769. if old_grupvalue[4] - 30 > grupvalue[4]: grupvalue[4] = old_grupvalue[4] - 30
  770. end
  771. !!Limit to max school group values
  772. if grupvalue[1] > 1000: grupvalue[1] = 1000
  773. if grupvalue[2] > 1000: grupvalue[2] = 1000
  774. if grupvalue[3] > 1000: grupvalue[3] = 1000
  775. if grupvalue[4] > 1000: grupvalue[4] = 1000
  776. old_grupvalue[1] = grupvalue[1]
  777. old_grupvalue[2] = grupvalue[2]
  778. old_grupvalue[3] = grupvalue[3]
  779. old_grupvalue[4] = grupvalue[4]
  780. elseif SchoolAtestat = -1:
  781. if func('homes_properties', 'has_access', 'parents_home') = 0:
  782. $holyday = '<b>You missed your graduation. You could pick up your diploma at the school.</b>'
  783. else
  784. $holyday = '<b>You missed your graduation. Maybe your mother picked up your diploma.</b>'
  785. end
  786. end
  787. !!Brother''s dick growth as he gets older
  788. !Commented out till some future time
  789. !if kolka_dick_day + 30 < daystart and npc_dick['A34'] < 26:
  790. ! kolka_dick_day = daystart
  791. ! npc_dick['A34'] += 1
  792. !end
  793. !if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
  794. ! $npc_thdick['A34'] = 'well proportioned'
  795. !elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:
  796. ! $npc_thdick['A34'] = 'thick'
  797. !end
  798. !! Calcualting the increase/decreas of the grade each week.
  799. gs 'gschool', 'weekly grade update'
  800. end
  801. killvar 'natholi'
  802. if month = 1 and day >= 1 and day <= 8:
  803. $natholi = 'New Year holidays'
  804. natholi = 1
  805. if day = 1:$natholi += ', New Year'
  806. if day = 7:$natholi += ', Christmas'
  807. end
  808. if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
  809. if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
  810. if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
  811. if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
  812. if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
  813. if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
  814. if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
  815. if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
  816. if natholi = 1:
  817. if $holyday ! '': $holyday += '<br>'
  818. $holyday += $natholi
  819. end
  820. !!------------------------------------------------------------------------------------------------------------------------
  821. !!Setting the weeks in the university semester and making sure that the gades are calculated at the right times
  822. gs 'uni_lessons', 'cikl'
  823. !!------------------------------------------------------------------------------------------------------------------------
  824. !!resetting moisturizer so it can be used in the morning regardless
  825. item_moisturizer_time = totminut
  826. if bcream_used >= 1:
  827. bcream_used = 0
  828. temp = rand(0,max(nbsize-genbsize+5,5)) / max(nbsize-genbsize,1)
  829. if temp > 0: temp = 1
  830. nbsize += temp
  831. if temp > 0:'Feels like your breasts have grown slightly.'
  832. end
  833. if steroid_dose >= 1:
  834. if lashair < 1:
  835. pcs_pubes += steroid_dose
  836. pcs_leghair += steroid_dose
  837. end
  838. steroid_dose = 0
  839. end
  840. if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
  841. if aphrodisiac_timer ! 0:aphrodisiac_timer = 0
  842. if mentats_dose = 1:
  843. mentats_dose = 0
  844. elseif mentats_dose > 1:
  845. pain['head'] += 20 * mentats_dose
  846. mentats_dose = 0
  847. end
  848. gs 'gaddvor','cikl'
  849. loc_count = ARRSIZE('$CloLosLoc')
  850. i = loc_count - 1
  851. :loopCloLoc
  852. $CloLoc = $CloLosLoc[i]
  853. CloLostOn = CloLosDay[$CloLoc]
  854. if CloLostOn + RAND(7,14) < daystart :
  855. gs 'clothing', 'recover_lost_clothes', $CloLoc, 2
  856. end
  857. i -=1
  858. if i > -1 :jump 'loopCloLoc'
  859. if vidageday > 1080: vidageday = 1080
  860. if blizoruk < 10: blizoruk -= 1
  861. if blizoruk < 100: blizoruk -= rand(0,1)
  862. if blizoruk < 0: blizoruk = 0
  863. !!------------------------------------------------------------------------------------------------------------------------
  864. !!C and b array cleaning
  865. if InSleep = 1: gs 'npc','cleanarrays'
  866. !!------------------------------------------------------------------------------------------------------------
  867. !!-------------Therapist Route schedule variables----------------------------------------------------------------------
  868. !! 23 = kitchen
  869. !! 24 = Living room
  870. !! 25 = bathroom
  871. !! 26 = Master''s room
  872. if therapistWantsSlave > 0:
  873. annaclean1 = rand(23,26)
  874. end
  875. !!------------------------------------------------------------------------------------------------------------
  876. !!-------------Family Dog----------------------------------------------------------------------
  877. if $status['dog'] ! 'blocked' and rex['owned'] = 1:
  878. rex['timer_day'] = daystart
  879. !!Daily decay
  880. rex['relationship'] -= 1
  881. !!Chores
  882. if cheat['dog_rel'] = 0 and rex['gadukino_day'] ! daystart:
  883. npc_rel['A29'] -= iif(rex['count_walk'] + rex['count_feed'] = 0, -1, (rex['count_walk'] + rex['count_feed']))
  884. rex['relationship'] -= iif(rex['count_walk'] + rex['count_feed'] = 0, -1, (rex['count_walk'] + rex['count_feed']))
  885. end
  886. rex['count_run'] = 0
  887. rex['count_walk'] = rex['count_walk_base']
  888. rex['timer_walk'] = 0
  889. rex['count_feed'] = rex['count_feed_base']
  890. rex['timer_feed'] = 0
  891. if week = 1:
  892. if cheat['dog_rel'] = 0:
  893. npc_rel['A29'] -= rex['count_bath']
  894. rex['relationship'] -= (rex['count_bath'] * 5)
  895. end
  896. rex['count_bath'] = rex['count_bath_base']
  897. end
  898. end
  899. !!------------------------------------------------------------------------------------------------------------
  900. !!---------- School related schedule -------------------------------------------------------------------------
  901. starlets_on = iif( ( (week = 5 and odd_week = 0) or (week = 1 or week = 3 or week >= 6) ) and natholi = 0,1,0)
  902. 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)
  903. if starlets['late_message'] = 1: starlets['late_message'] = 0
  904. !!------------------------------------------------------------------------------------------------------------
  905. !!---------- Starlet Content ---------------------------------------------------------------------------------
  906. if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0:
  907. if starlets_practice = daystart - 1:
  908. starlets_missed = 1
  909. starlets_practice = 0
  910. end
  911. if starlets_on = 1: starlets_practice = daystart
  912. end
  913. if month = 9 and day = 16 and AlbinaQW['ParkRally'] = 0: AlbinaQW['ParkRally'] = 1
  914. if month = 10 and day = 16 and AlbinaQW['ParkRally'] = 1: AlbinaQW['ParkRally'] = 2
  915. 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
  916. !!------------------------------------------------------------------------------------------------------------
  917. !!-------------Music career related variables and calculations------------------------------------------------
  918. !! Setting Del Parco initial variables
  919. if daystart < 2:
  920. ml_delparcoQW['Stage'] = 0
  921. ml_delparcoQW['Zariyah Trust'] = 50
  922. end
  923. !! How many hours a day can Sveta perform. It maxes out at 3.
  924. !! Using the actual skill level, not the one modified by Attributes because that is more realistic for this.
  925. ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal
  926. ml_performance['performed_minutes'] = 0
  927. !! Checking for missed guitar lesson
  928. if ml_guitarlesson['nextlesson'] < daystart and ml_guitarlesson['lessonday'] ! 8:
  929. ml_guitarlesson['lessonday'] = 8
  930. end
  931. !! Calculating the fame increase from the uploaded songs and removing ones that do not effect fame anymore to keep the
  932. !! data at a sane level
  933. if ml_onlinesongcount > 0:
  934. i = 0
  935. j = -1
  936. :looponlinesongs
  937. !! this so every song counts only every 7 days and only for a limited number of weeks
  938. if ml_onlinesong_freshness[i] > 0:
  939. j += 1
  940. ml_tempsong_freshness[j] = ml_onlinesong_sfreshness[i]
  941. ml_tempsong_lastcalcday[j] = ml_onlinesong_lastcalcday[i]
  942. ml_tempsong_hotcat[j] = ml_onlinesong_hotcat[i]
  943. ml_tempsong_skilllevel[j] = ml_onlinesong_skilllevel[i]
  944. ml_tempsong_uploaded[j] = ml_onlinesong_uploaded[i]
  945. *nl
  946. if ml_tempsong_lastcalcday[j] <= (daystart - 7) and ml_tempsong_uploaded = 1:
  947. gs 'fame', 'city', 'music', rand(0, ml_tempsong_freshness[j]/100)
  948. ml_tempsong_freshness[j] -= 10
  949. ml_tempsong_lastcalcday[j] = daystart
  950. end
  951. end
  952. i += 1
  953. if i < ml_onlinesongcount: jump 'looponlinesongs'
  954. killvar 'ml_onlinesong_freshness'
  955. killvar 'ml_onlinesong_lastcalcday'
  956. killvar 'ml_onlinesong_hotcat'
  957. killvar 'ml_onlinesong_skilllevel'
  958. killvar 'ml_onlinesong_uploaded'
  959. i = 0
  960. if j >= 0:
  961. :looprebuildsongs
  962. ml_onlinesong_freshness[i] = ml_tempsong_freshness[i]
  963. ml_onlinesong_hotcat[i] = ml_tempsong_hotcat[i]
  964. ml_onlinesong_lastcalcday[i] = ml_tempsong_lastcalcday[i]
  965. ml_onlinesong_skilllevel[i] = ml_tempsong_skilllevel[i]
  966. ml_onlinesong_uploaded[i] = ml_tempsong_uploaded[i]
  967. i += 1
  968. if i <= j: jump 'looprebuildsongs'
  969. end
  970. killvar 'ml_tempsong_freshness'
  971. killvar 'ml_tempsong_lastcalcday'
  972. killvar 'ml_tempsong_hotcat'
  973. killvar 'ml_tempsong_skilllevel'
  974. killvar 'ml_tempsong_uploaded'
  975. end
  976. !! Repertoire quality decay if no practice is done
  977. if ml_performance['set_lastpracticeday'] ! (daystart-1): repertoire_quality -= 2
  978. !!------------- Prostitution - WLife integration related stuff ------------------------------------------------
  979. !! Check if people will start to seek Sveta randomly for services, based on her reputation
  980. gs 'prostitution_functions', 'check_for_wlife'
  981. if prostitute['blocked'] = 0: gs 'prostitution_functions', 'set_pavlovsk_prostitute'
  982. prostitute['earnings_day'] = 0
  983. prostitute['customer_day'] = 0
  984. !!------------- Property and Home Related daily, nonfinancial checks ------------------------------------------
  985. !! Moves time for the rented properties
  986. gs 'homes_properties', 'progress_property_rent_time'
  987. !!------------- Check for Daily Events for event generator, sets evt_chk variable ------------------------------------------
  988. gs 'emp_functions', 'evt_day_chk'
  989. --- cikl ---------------------------------