1
0

cikl.qsrc 41 KB

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