1
0

cikl.qsrc 39 KB

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