cikl.qsrc 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100
  1. # cikl
  2. !!------------------------------------------------------------------------------------------------------------
  3. !! Masseuse Job (MUST COME BEFORE DAY CHANGES)
  4. !!------------------------------------------------------------------------------------------------------------
  5. if masseuse['jobtype'] < 1:
  6. masseuse['<<week>>_shift_1'] = 0
  7. masseuse['<<week>>_shift_2'] = 0
  8. masseuse['<<week>>_shift_3'] = 0
  9. end
  10. if (masseuse['<<week>>_shift_1'] ! 0 or masseuse['<<week>>_shift_2'] ! 0 or masseuse['<<week>>_shift_3'] ! 0) and masseuse['last_worked_day'] ! daystart:
  11. masseuse['missed_shift2'] = 1
  12. end
  13. !!----------------------------------------------------------------------------
  14. !! Time calculations
  15. day += 1
  16. week += 1
  17. hour -= 24
  18. if day > monthsEnd[month]:
  19. day -= monthsEnd[month]
  20. month += 1
  21. !! Changing the year at new year and making sure February have the correct number of days.
  22. if month > 12:
  23. month = 1
  24. year += 1
  25. if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0):
  26. monthsend[2] = 29
  27. else
  28. monthsend[2] = 28
  29. end
  30. end
  31. !!MJ: Dont think that one is needed. But it was in the original loop.
  32. if month < 1: month = 1
  33. $month = $monthName[month]
  34. !! new years party calculation
  35. temp = func('shortgs','dow',year,12,31)
  36. if temp < 6:
  37. nyp_day = 31
  38. elseif temp = 6:
  39. nyp_day = 30
  40. else
  41. nyp_day = 29
  42. end
  43. end
  44. !!MJ: Dont think that one is needed. But it was here already.
  45. if day <= 0:day = 1
  46. ciklNewWeek = 0
  47. if week > 7:
  48. odd_week = iif(odd_week,0,1)
  49. ciklNewWeek = 1
  50. :loopweek
  51. week -= 7
  52. husbandrink = 0
  53. if military = 1:military = 0
  54. if week > 7:jump 'loopweek'
  55. end
  56. gs 'daystart'
  57. !!----------------------------------------------------------------------------
  58. !!Fame call to update all the fame variables
  59. gs 'fame'
  60. !!Cycle stats for Contacts
  61. gs 'telefon', 'DailyStatRefresh', ciklNewWeek
  62. !!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
  63. if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
  64. if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
  65. gs 'pornschedule', 'schedule'
  66. end
  67. !!------------------------------------------------------------------------------------------------------------
  68. !! Job Stuff
  69. !!------------------------------------------------------------------------------------------------------------
  70. !! masseuse paycheck
  71. if masseuse['weeks_pay'] > 0 and week = 5:masseuse['paycheck'] = 1
  72. if masseuse['jobtype'] > 0 and week = 5 and masseuse['weeks_pay'] > 0:
  73. masseuse['payday'] = 1
  74. end
  75. if week = 7 and masseuse['schedule_update'] ! daystart: gs 'masseuse_schedule','schedule_reset'
  76. !!modelling check
  77. if model_week ! (daystart - week) / 7:model_job_week = 0
  78. !!acting strings to set available jobs
  79. if casting = 1:
  80. acting_string1 = rand(10000000000,199999999999)
  81. acting_string2 = rand(10000000000,199999999999)
  82. end
  83. dynamic $hypnoDaychange
  84. !!phone reset for bf
  85. ringA = 0
  86. ringB = 0
  87. ringC = 0
  88. !!Appearance Age
  89. vidageday -= 1
  90. if vidageday <= 0:
  91. vidageday = 360
  92. vidage += 1
  93. end
  94. !!Birthday
  95. age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
  96. if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
  97. if birthday = day and birthmonth = month and model['age'] > 0:model['age'] += 1
  98. if workDolgDay > 0: workDolgDay -= 1
  99. if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
  100. if husband > 0: husbanday += 1
  101. if husband > 10 and husbanday > 0: husband -= 15
  102. if fingal > 0: fingal -= 1
  103. if husbandMark = 1 and husband <= 10:
  104. husbizvradd = 0
  105. husbharmin = 0
  106. husbandMark = 0
  107. husband = 0
  108. divorced += 1
  109. if KFOnLineReaga > 0:KFOnLineReaga -= 1
  110. '<b><font color="red">Your husband has filed for a divorce.</font></b>'
  111. end
  112. if katjaPreg = 0 and month >= 2 and year > 2016: katjaPreg = 1
  113. !! after having surgery you will be in recuperation for a few days
  114. if surgeryday ! '':
  115. if daystart - 7 <= surgeryday:
  116. dailyhealthimprov = (daystart - surgeryday) * 50
  117. pcs_health = dailyhealthimprov
  118. recuperation = 1
  119. else
  120. killvar 'recuperation'
  121. killvar 'dailyhealthimprov'
  122. end
  123. end
  124. !!Street events daily reset
  125. streetevent_hour = -2
  126. !!Clothing stock and price randomizers
  127. Clothingstock = rand (0,23)
  128. i = 1
  129. :loopprice
  130. Clothingstock[i] = rand (0,500)
  131. i += 1
  132. if i <= 147:jump 'loopprice'
  133. if dyneval ('RESULT = <<$coatworntype>>_coats_h[<<coatwornnumber>>]') <= 0: $coatworntype = 'none'
  134. !! Abortion and pregnancy recovery resets if finished
  135. if abortionbirthdate ! 0 and daystart - abortionbirthdate > 24: abortionbirthdate = 0
  136. if pregbirthdate ! 0 and daystart - pregbirthdate > 73: pregbirthdate = 0
  137. !!------------------------------------------------------------------------------------------------------------
  138. !! Nympho
  139. !!------------------------------------------------------------------------------------------------------------
  140. !! Reserved for nympho trait
  141. if nymphosex_flag = 1:
  142. end
  143. nymphosex_flag = 0
  144. !!------------------------------------------------------------------------------------------------------------
  145. !! Bimbo
  146. !!------------------------------------------------------------------------------------------------------------
  147. !!bimbo flag set in stat_display if bimbo clothing, shoes and makeup are worn at same time
  148. if succubusflag = 0 and cheatBimbo = 0 and bimbo_flag = 1: bimbo += 1
  149. !!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
  150. if bimbo > 0 or bimbolevel > 0:
  151. if bimbo < 10:
  152. if bimbo_flag = 0:
  153. bimbo -= 2
  154. end
  155. elseif bimbo < 20:
  156. bimbolevel = 1
  157. elseif bimbo < 30:
  158. bimbolevel = 2
  159. else
  160. bimbolevel = 3
  161. end
  162. end
  163. if bimbo >= 40: bimbo = 40
  164. !!Bimbo levels. They use custom variables so they won''t permanently change character stats
  165. if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
  166. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
  167. if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 4)
  168. if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = (pcs_intel / 3)
  169. !!A Succubus cannot be a Bimbo
  170. if succubusflag = 1:
  171. if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40
  172. elseif bimbolevel >= 1:
  173. !!Checks flag and adds withdrawal if 0
  174. if bimbo_flag = 0:
  175. bimbowithdrawal += 1
  176. else
  177. bimbowithdrawal = 0
  178. end
  179. end
  180. if bimbo < 0: bimbo = 0
  181. !! flag reset
  182. bimbo_flag = 0
  183. !!------------------------------------------------------------------------------------------------------------
  184. !! Butt slut
  185. !!------------------------------------------------------------------------------------------------------------
  186. if orgasm_anal > orgasm_anal[1]:
  187. buttslut_exp += 1
  188. else
  189. buttslut_exp -= 1
  190. end
  191. orgasm_anal[1] = orgasm_anal
  192. if orgasm_anal >= 10 and traits['buttslut_lvl'] = 0: traits['buttslut_lvl'] = 1
  193. if traits['buttslut_exp'] >= 15 and traits['buttslut_lvl'] = 1: traits['buttslut_lvl'] = 2 & traits['buttslut_exp'] = 0
  194. if traits['buttslut_exp'] >= 50 and traits['buttslut_lvl'] = 2: traits['buttslut_lvl'] = 3
  195. if traits['buttslut_exp'] <= 0 and traits['buttslut_lvl'] = 3: traits['buttslut_lvl'] = 2 & traits['buttslut_exp'] = 0
  196. !!------------------------------------------------------------------------------------------------------------
  197. !! Exhibitionism
  198. !!------------------------------------------------------------------------------------------------------------
  199. if pcs_exhib > 0 or exhibitionist_lvl > 0:
  200. if pcs_exhib < 10:
  201. pcs_exhib -= 1
  202. elseif pcs_exhib < 50:
  203. exhibitionist_lvl = 1
  204. elseif pcs_exhib < 100 or exhibitionQW < 3:
  205. exhibitionist_lvl = 2
  206. elseif exhibitionQW > 2:
  207. exhibitionist_lvl = 3
  208. end
  209. end
  210. !!Inhibition increases from wearing revealing clothing
  211. if exhibition_outdoors > 0:
  212. if pcs_inhib > 90:
  213. exhibition_outdoors = exhibition_outdoors * 3
  214. elseif pcs_inhib > 75:
  215. exhibition_outdoors = exhibition_outdoors * 5 / 2
  216. elseif pcs_inhib > 60:
  217. exhibition_outdoors = exhibition_outdoors * 2
  218. elseif pcs_inhib > 30:
  219. exhibition_outdoors = exhibition_outdoors * 3 / 2
  220. end
  221. if exhibition_outdoors <= 5:
  222. inhib_exp += rand(3,6)
  223. elseif exhibition_outdoors <= 10:
  224. inhib_exp += rand(5,9)
  225. elseif exhibition_outdoors <= 15:
  226. inhib_exp += rand(7,12)
  227. elseif exhibition_outdoors <= 20:
  228. inhib_exp += rand(9,15)
  229. elseif exhibition_outdoors <= 25:
  230. inhib_exp += rand(12,20)
  231. elseif exhibition_outdoors <= 30:
  232. inhib_exp += rand(16,25)
  233. elseif exhibition_outdoors <= 35:
  234. inhib_exp += rand(20,30)
  235. elseif exhibition_outdoors <= 40:
  236. inhib_exp += rand(25,40)
  237. elseif exhibition_outdoors <= 50:
  238. inhib_exp += rand(35,50)
  239. elseif exhibition_outdoors <= 65:
  240. inhib_exp += rand(50,75)
  241. else
  242. inhib_exp += rand(70,100)
  243. end
  244. end
  245. exhibition_outdoors = 0
  246. !!------------------------------------------------------------------------------------------------------------
  247. !! Succubus
  248. !!------------------------------------------------------------------------------------------------------------
  249. !!Succubus Level & hunger calcs
  250. if succubusflag = 1:
  251. cheatHealth = 1
  252. dynamic $cheatmenu['std_cure']
  253. !! Hunger handling
  254. if sucxpsnapshot >= succubxp: succhungry += 1
  255. sucxpsnapshot = succubxp
  256. if succubxp < 0: succubxp = 0
  257. !! Level handling
  258. if succubxp < 60:
  259. succublvl = 1
  260. $sucself1 = 'that feeling'
  261. sucstorecap = 0
  262. if bimbolevel <= 0: supnatvnesh = 1
  263. elseif succubxp < 150:
  264. succublvl = 2
  265. $sucself1 = 'the power'
  266. sucstorecap = 0
  267. if bimbolevel <= 0: supnatvnesh = 3
  268. elseif succubxp < 270:
  269. succublvl = 3
  270. $sucself1 = 'your other self'
  271. sucstorecap = 100
  272. if bimbolevel <= 0: supnatvnesh = 6
  273. else
  274. succublvl = 4
  275. $sucself1 = 'your true self'
  276. sucstorecap = 200
  277. if bimbolevel <= 0: supnatvnesh = 10
  278. end
  279. if sucskill >= 2 and succublvl >= 2: sucstorecap += 100
  280. if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10
  281. if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1)
  282. if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1)
  283. if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1)
  284. if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1)
  285. if react_muta < (succublvl - 1): react_muta = (succublvl - 1)
  286. if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1)
  287. if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1)
  288. if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1)
  289. if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2):
  290. if pcs_stren < 250: stren_exp += 20 & sucexcess -= 10
  291. if pcs_agil < 250: agil_exp += 20 & sucexcess -= 10
  292. if pcs_vital < 250: vital_exp += 20 & sucexcess -= 10
  293. if pcs_intel < 250: intel_exp += 20 & sucexcess -= 10
  294. if pcs_react < 250: react_exp += 20 & sucexcess -= 10
  295. if pcs_sprt < 250: sprt_exp += 20 & sucexcess -= 10
  296. if pcs_chrsm < 250: chrsm_exp += 20 & sucexcess -= 10
  297. if pcs_prcptn < 250: prcptn_exp += 20 & sucexcess -= 10
  298. if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10
  299. if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2
  300. !! This is to drive the Succubus vidage into the max appearance range
  301. if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4
  302. if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4
  303. if vidageday >= 720 and vidage > 28:
  304. vidageday -= 360
  305. vidage -= 1
  306. end
  307. if salo < 60:
  308. salo += 2
  309. sucexcess -= 10
  310. elseif salo > 60:
  311. salo -= 2
  312. sucexcess -= 10
  313. end
  314. if sucexcess > sucstorecap: sucexcess = sucstorecap
  315. elseif sucexcess < 0 and succhungry < 0:
  316. succhungry += 1
  317. if (0 - sucexcess) < (10 * succublvl):
  318. sucexcess = 0
  319. else
  320. sucexcess += (10 * succublvl)
  321. end
  322. end
  323. if sucexcess < 0: sucpowzeroed += 1
  324. if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1
  325. !! This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability
  326. if sucskill >= 4:
  327. if pcs_vag - 2 >= 13:
  328. pcs_vag -= 2
  329. elseif pcs_vag + 2 <= 13:
  330. pcs_vag += 2
  331. end
  332. if pcs_ass - 2 >= 8:
  333. pcs_ass -= 2
  334. elseif pcs_ass + 2 <= 8:
  335. pcs_ass += 2
  336. end
  337. end
  338. end
  339. !!------------------------------------------------------------------------------------------------------------
  340. if defcurly = 0 and curly > 0:curly -= 1
  341. if defcurly = 1:
  342. if straight > 0: straight -= 1
  343. if straight = 0: curly = 2147483647
  344. end
  345. ! WD: Added daily reduction of braids for Maruda Hair Mod
  346. if hbraids > 0: hbraids -= 1
  347. gs 'sweat', 'add', 2
  348. if pcs_tan > 0: pcs_tan -= 1
  349. if prezikmsg = 2: prezikmsg = 3
  350. !!------------------------------------------------------------------------------------------------------------
  351. !! Birth control
  352. !!------------------------------------------------------------------------------------------------------------
  353. !! Birth Control Management variables
  354. !!
  355. !! tabletkimm : The modifier for the current mood of the MC.
  356. !! tabletkiap : Autopill factor affecting the liklihood you took your pill as you should have
  357. !! tabletkipt : Pill Dicipline Take increase
  358. !! tabletkipi : Pill Dicipline Dont take increase
  359. !! tabletkicpd : Current MC Pill Dicipline
  360. !! tabletkichday : Current day that the Birth Control is being evaluated for
  361. !! tabletkicheck : If the birth control from shot (2) or pill (1)
  362. !! tabletki : How many packages of Birth Control Pills there are
  363. !! tabletkiold : Total number packages of expired pills
  364. !! tabletkifake : Total number packages of fake/counterfeit pills
  365. !! tabletkirej : Total number packages of factory rejected pills
  366. !! tabletkifert : Total number packages of subsituted fertility pills
  367. !! tabletkisug : Total number packages of sugar pills
  368. !! pillsleft : Total number packages of pills in current package
  369. !! tabletkishot : The flag for being on the Birth Control shot.
  370. !! pillcon : The number for the current birth control chemical level.
  371. !! pilldays : The number of consecutive days (you believe) you have taken your pill
  372. if Luth > (LutH_Max-75) and placebopart <= 0: placebopart = 8
  373. placebopart -= 1
  374. if tabletkishot <= 0: pillcon -= 1000 & pillcon2 -= 1000
  375. if pillcon < 0: pillcon = 0
  376. if pillcon2 < 0: pillcon2 = 0
  377. if tabletkicheck = 2:
  378. if tabletkishot ! 0:
  379. !!cycle = 1
  380. mesec = 0
  381. if rand(0,1000) = 1000:
  382. EggRH = rand(20,80)
  383. else
  384. EggRH = 0
  385. end
  386. FocH = EggRH
  387. end
  388. if tabletkishot <= 0:
  389. pillcon -= 29000
  390. pillcon2 -= 29000
  391. if tabletkishot < 0: tabletkishot = 0
  392. end
  393. if shotdays = -8:
  394. tabletkicheck = 0
  395. shotdue = 0
  396. if birth_control['implant_status'] > 0:
  397. 'Your birth control shot is no longer protecting you.'
  398. end
  399. elseif shotdays <= 0:
  400. if shotdays = 0:
  401. shotdue = 7
  402. else
  403. shotdue -= 1
  404. end
  405. if birth_control['implant_status'] > 0:
  406. 'The chemicals regulating your fertility cycle are wearing off, you need to get your shot in <<shotdue>> days.'
  407. end
  408. elseif shotdays > 1 and shotdays < 5 and birth_control['implant_status'] = 0:
  409. 'You are due for a birth control shot soon if you do not get one, you might get pregnant.'
  410. elseif shotdays = 1 and birth_control['implant_status'] = 0:
  411. 'Your birth control shot is due for renewal tomorrow.'
  412. end
  413. if shotdays > -100:shotdays -=1
  414. if tabletkishot > 0:tabletkishot -= 1
  415. end
  416. !! birth_control['implant_status']
  417. !! 0: No implant
  418. !! 3: Implant (more than 30 days left)
  419. !! 2: Implant (less than 30 days left)
  420. !! 1: Empty implant
  421. if birth_control['implant_status'] > 1:
  422. pcs_skin += rand(0,1)
  423. pillcon += ((pillcon + 15000) / 25) + 4000
  424. if pillcon > 40000: pillcon = 40000
  425. pillcon2 += ((pillcon2 + 15000) / 25) + 4000
  426. if pillcon2 > 40000: pillcon2 = 40000
  427. birth_control['implant_timer'] -= 1
  428. if (birth_control['implant_timer'] - 1090) > 0:
  429. gs 'pain', '<<(birth_control[''implant_timer''] - 1090)*2>>', 'armL', 'ache'
  430. elseif birth_control['implant_timer'] > 0 and birth_control['implant_timer'] < 30:
  431. birth_control['implant_status'] = 2
  432. 'Your birth control implant is only good for <<birth_control[''implant_timer'']>> more'+iif(birth_control['implant_timer'] = 1, 'day.', 'days.')
  433. elseif birth_control['implant_timer'] < 0:
  434. birth_control['implant_status'] = 1
  435. 'You should renew or remove your birth control implant.'
  436. end
  437. elseif birth_control['implant_status'] = 1:
  438. 'You should renew or remove your birth control implant.'
  439. end
  440. tabletkipd += tabletkipi
  441. tabletkipi = 0
  442. tabletkipt = 0
  443. if tabletkicheck = 1:
  444. if tabletki = 0 and pillsleft[ptype] = 0:
  445. tabletkicheck = 0
  446. 'You are out of birth control pills.'
  447. tabletkipi = -5
  448. elseif tabletki = 0 and pillsleft[ptype] = 28:
  449. 'You have just opened your last package of birth control pills. You need to buy more.'
  450. elseif tabletki = 0 and pillsleft[ptype] <= 5:
  451. 'You are running out of birth control pills, you only have a few left.'
  452. end
  453. end
  454. if tabletkicheck = 1 and tabletkichday < daystart:
  455. tabletkichday = daystart
  456. tabletkimm = (100*(pcs_willpwr / willpowermax)) + pcs_mood
  457. if pcs_sleep < 10:
  458. tabletkimm -= (100- (pcs_sleep * 10))
  459. end
  460. if pcs_willpwr < willpowermax / 4:
  461. tabletkimm = tabletkimm / 4
  462. elseif pcs_mood < 10:
  463. tabletkimm = tabletkimm / 2
  464. end
  465. tabletkiap = tabletkimm
  466. tabletkiap += (pcs_intel * 4) + (pcs_sprt * 2) + (age * 3)
  467. tabletkiap -= ((kid * 30) + (abort * 2) - (tabletkipd * ((60 - age) / 10)))
  468. temprand = rand(0,(200 + (tabletkimm - ((100 - pcs_sprt) * 3))))
  469. tabletkiap += temprand
  470. if tabletkiap < 300:
  471. if tabletkipd > -10:
  472. if pcs_willpwr < willpowermax / 4:
  473. pilldaychk = 0
  474. 'You stare at your package of birth control pills, you know you should take one but you can''t quite work up enough effort to care.'
  475. elseif pcs_mood < 10:
  476. pilldaychk = 0
  477. 'You stare at your package of birth control pills, but you don''t open it.'
  478. elseif pcs_sleep < 10:
  479. pilldaychk = 0
  480. 'You fumble with your birth control pills, trying to get a pill out. You finally give up too tired to manage it.'
  481. else
  482. pilldaychk = 0
  483. 'You just realized you forgot to take your birth control pill today.'
  484. end
  485. end
  486. tabletkipt = 2
  487. tabletkipi = -4
  488. else
  489. if tabletkiap < 350:
  490. temprand = rand(0,5)
  491. else
  492. temprand = rand(0,1000)
  493. end
  494. if temprand = 0:
  495. temprand = rand(0,1)
  496. if temprand = 0:
  497. gs 'din_bad','takepill'
  498. tabletkipt = -2
  499. tabletkipi = 1
  500. else
  501. tabletkipt = 3
  502. tabletkipi = -3
  503. end
  504. if tabletkipd > -10:
  505. pilldaychk = 0
  506. 'You find yourself holding the bottle of birth control pills, you cannot remember if you took one or not.'
  507. end
  508. if tabletkipd > 0:
  509. if rand(0,9) = 0:
  510. if tabletkipt < 0:
  511. pilldaychk = 0
  512. 'You don''t think you have taken your pill today.'
  513. else
  514. pilldaychk = 1
  515. 'You think you have taken your pill today.'
  516. end
  517. else
  518. if tabletkipt > 0:
  519. pilldaychk = 0
  520. 'You don''t think you have taken your pill today.'
  521. else
  522. pilldaychk = 1
  523. 'You think you have taken your pill today.'
  524. end
  525. end
  526. end
  527. else
  528. 'You take your birth control pill for the day.'
  529. pilldaychk = 1
  530. gs 'din_bad','takepill'
  531. if rand(0,7) = 0 and tabletkiday >= (daystart - 1): tabletkipd += 1
  532. tabletkiday = daystart
  533. tabletkipt = 0
  534. tabletkipi = 0
  535. end
  536. end
  537. elseif tabletkicheck = 0:
  538. if tabletkiday >= (daystart - 1) and tabletkipt = 0 and rand(0,7) = 0: tabletkipt = 1
  539. if pillcon > 0 and tabletkipi = 0 and rand(0,3) = 0 and (tabletkiday + 15) > daystart = 0: tabletkipi = -1
  540. end
  541. if pilldaychk = 1:
  542. pilldays += 1
  543. else
  544. pilldays -= 1
  545. end
  546. pilldaychk = 0
  547. if pilldays > 18: pilldays = 18
  548. if pilldays < 0: pilldays = 0
  549. if pillcon > 38000:
  550. birth_control['safe'] = 1
  551. else
  552. birth_control['safe'] = 0
  553. end
  554. if pillcon2 > 38000:
  555. birth_control['think_safe'] = 1
  556. else
  557. birth_control['think_safe'] = 0
  558. end
  559. $MenCal[] = $str(cycle)
  560. if ArrSize('$MenCal') = 60: killvar '$MenCal',0
  561. !!------------------------------------------------------------------------------------------------------------
  562. if lashair ! 1:
  563. pcs_leghair += 1
  564. !!Pubic hair growth at 1/2 per night
  565. if pcs_pubes['growth'] > 1:
  566. pcs_pubes['growth'] = 0
  567. pcs_pubes += 1
  568. end
  569. pcs_pubes['growth'] += 1
  570. end
  571. if age < 18 and rand (0,2) = 0 and pcs_leghair > 0: pcs_leghair -= 1
  572. if pcs_breath = 1:pcs_breath = 0
  573. if cheatNoEat = 1 and dounspell = 1:fat += 15
  574. !!Trauma decay
  575. if mood_trauma > 0: mood_trauma -= 1
  576. !!STD check
  577. if SifacOnce = 1:Sifilis += 1
  578. if GerpesOnce = 1:Gerpes += 1
  579. if TriperOnce = 1:
  580. if Triper > 0:
  581. Triper += 1
  582. end
  583. if TriperOral > 0:
  584. TriperOral += 1
  585. end
  586. If TriperOral > 14 and TriperNapr = 0:
  587. if rand(TriperOral,100) > 80:
  588. TriperOral = 0
  589. if Triper = 0:TriperOnce = 0
  590. TriperOralSigns = 0
  591. end
  592. end
  593. end
  594. if KandidozOnce = 1:Kandidoz += 1
  595. Venera = 0
  596. if SifacOnce = 1: Venera += 1
  597. if GerpesOnce = 1: Venera += 1
  598. if TriperOnce = 1: Venera += 1
  599. if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
  600. if daystart mod(ashrinkdays) = 0: pcs_ass -= ashrink
  601. if pcs_ass < 0: pcs_ass = 0
  602. end
  603. if pcs_vag > 10 and vshrink > 0:
  604. if daystart mod(vshrinkdays) = 0: pcs_vag -= vshrink
  605. if pcs_vag < 0: pcs_vag = 0
  606. end
  607. lipkoef -= rand(0,1)
  608. if lipkoef <= 0: lipkoef = 0
  609. if isprok = 1 or isprokp = 1:
  610. isprok_lastday = 1
  611. else
  612. isprok_lastday = 0
  613. end
  614. if Enable_autotampon = 0 and isprok = 1: isprok = 0 & 'You threw away your used tampon.'
  615. if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
  616. if preg = 1:
  617. pregtime = pregchem / 24
  618. if pregtimes = 0:pregtimes = 1
  619. elseif preg = 2 and pregminut < totminut:
  620. if Enable_nogameover = 0 :
  621. cla
  622. *clr
  623. over = 4
  624. MSG '<center><b>A horrible pain shoots through your body.</b></center>'
  625. xgt 'gameover'
  626. exit
  627. else
  628. MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
  629. pregminut = totminut + 1440
  630. end
  631. elseif preg = 0:
  632. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A14'
  633. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A16'
  634. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A23'
  635. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A28'
  636. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A29'
  637. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A33'
  638. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A34'
  639. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A69'
  640. gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A131'
  641. !{killvar 'pregTalkFamily' -- Do not kill this (Abortion talk).}
  642. killvar 'pcs_pregtalk'
  643. killvar 'pregTalk'
  644. killvar 'pregtime'
  645. killvar 'knowpreg'
  646. killvar 'denypreg'
  647. killvar '$wombthfath'
  648. end
  649. !!------------------------------------------------------------------------------------------------------------
  650. !! Arousal
  651. !!------------------------------------------------------------------------------------------------------------
  652. if magikDostup = 0:
  653. if pcs_horny < 100:pcs_horny += pcs_vag
  654. else
  655. if pcs_vag = 0:
  656. razeba = 0
  657. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
  658. if pcs_horny > 50:pcs_horny -= 25
  659. elseif pcs_vag > 0:
  660. if pregtimes = 0:
  661. if age < 18:
  662. razeba = 1
  663. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
  664. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
  665. if pcs_horny >= 80:pcs_horny -= 20
  666. elseif age >= 18 and age < 21:
  667. razeba = 2
  668. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
  669. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
  670. if pcs_horny >= 80:pcs_horny -= 10
  671. elseif age >= 21 and age < 25:
  672. razeba = 3
  673. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
  674. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
  675. if pcs_horny >= 80:pcs_horny -= 5
  676. elseif age >= 25 and age < 30:
  677. razeba = 4
  678. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
  679. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
  680. if pcs_horny >= 80:pcs_horny -= 5
  681. elseif age >= 30:
  682. razeba = 5
  683. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  684. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  685. if pcs_horny >= 80:pcs_horny += 1
  686. end
  687. elseif pregtimes > 0:
  688. if preg = 0:
  689. razeba = 5
  690. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  691. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  692. if pcs_horny >= 80:pcs_horny += 1
  693. elseif preg > 0:
  694. razeba = 6
  695. if pcs_horny < 100:pcs_horny += pregchem / 240
  696. end
  697. end
  698. end
  699. end
  700. if pcs_horny < 0:pcs_horny = 0
  701. !!------------------------------------------------------------------------------------------------------------
  702. !reset Natasha Belova''s clothes
  703. if NatbelQW['seethroughwearing'] = 1: NatbelQW['seethroughwearing'] = 0
  704. !!------------------------------------------------------------------------------------------------------------
  705. !counter for Dimka avoidance
  706. if dimaFilm = 1 and dimaRudeBlock = 0:
  707. nodimkaK += 1
  708. DimkaWarnedToday = 0
  709. end
  710. !!------------------------------------------------------------------------------------------------------------
  711. !!Fame degradation
  712. gs 'fame', 'deg'
  713. !!Traits
  714. gs 'traits', 'overnight'
  715. !!------------------------------------------------------------------------------------------------------------
  716. !! Maruda hair mod
  717. !!------------------------------------------------------------------------------------------------------------
  718. !! Max. Hair length 600mm, or 60cm, which should be somewhere in the lower back area.
  719. !! Hair grows 1mm each day, it takes 20 months (1 month = 30 days) to regrow the hair from 0.
  720. if pcs_hairlng < 1001 and hairgrowcht = 0:pcs_hairlng += 1
  721. if pcs_haircol ! nathcol:
  722. dyefade -=1
  723. if dyefade < 0: dyefade = 0
  724. if dyefade > 0 and dyefade < 7: dyevmod = 5
  725. if dyefade = 0: dyevmod = 15
  726. end
  727. !!pubic hair colouring
  728. !! pcs_pubecol = natural colour
  729. !! pcs_pubecol[1] = flag for saveupdate
  730. !! pcs_pubecol[2] = actual colour
  731. !! pcs_pubecol[3] = countdown timer for dye
  732. if pcs_pubecol[2] ! pcs_pubecol:
  733. pcs_pubecol[3] -=1
  734. if pcs_pubecol[3] < 0: pcs_pubecol[3] = 0
  735. if pcs_pubecol[3] = 0: pcs_pubecol[2] = pcs_pubecol
  736. end
  737. if pcs_pubes < 2: pcs_pubecol[2] = pcs_pubecol
  738. if hscrunch > 0:
  739. hscrunchrand = rand(1, 100)
  740. if hscrunchrand <= 8:hscrunch -= 1
  741. end
  742. !!------------------------------------------------------------------------------------------------------------
  743. !! Clothing wear and tear
  744. gs 'starenie'
  745. !!cocaine reduction
  746. if nark > 60:
  747. nark = 60
  748. elseif nark > 30:
  749. nark -= 3
  750. elseif nark > 0:
  751. nark -= 1
  752. end
  753. if pregchem > 240:fat += 1
  754. !!------------------------------------------------------------------------------------------------------------
  755. !! Pain
  756. !!------------------------------------------------------------------------------------------------------------
  757. if pain['head'] > 0:pain['head'] -= rand(1,3)
  758. if pain['hair'] > 0:pain['hair'] -= rand(1,3)
  759. if pain['ears'] > 0:pain['ears'] -= rand(1,3)
  760. if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
  761. if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
  762. if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
  763. if pain['nose'] > 0:pain['nose'] -= rand(1,3)
  764. if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
  765. if pain['lips'] > 0:pain['lips'] -= rand(1,3)
  766. if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
  767. if pain['throat'] > 0:pain['throat'] -= rand(1,3)
  768. if pain['neck'] > 0:pain['neck'] -= rand(1,3)
  769. if pain['back'] > 0:pain['back'] -= rand(1,3)
  770. if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
  771. if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
  772. if pain['hips'] > 0:pain['hips'] -= rand(1,3)
  773. if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
  774. if pain['legL'] > 0:pain['legL'] -= rand(1,3)
  775. if pain['legR'] > 0:pain['legR'] -= rand(1,3)
  776. if pain['feet'] > 0:pain['feet'] -= rand(1,3)
  777. if pain['toes'] > 0:pain['toes'] -= rand(1,3)
  778. if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
  779. if pain['armL'] > 0:pain['armL'] -= rand(1,3)
  780. if pain['armR'] > 0:pain['armR'] -= rand(1,3)
  781. if pain['hands'] > 0:pain['hands'] -= rand(1,3)
  782. if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
  783. if pain['chest'] > 0:pain['chest'] -= rand(1,3)
  784. if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
  785. if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
  786. if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
  787. if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
  788. if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
  789. if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
  790. if pain['labia'] > 0:pain['labia'] -= rand(1,3)
  791. if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
  792. if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
  793. if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
  794. if painpub = 2:
  795. if painpubday + 5 < daystart:
  796. $painpub = 'Your vulva is painfully sore.'
  797. painpub = 1
  798. painpubday = daystart
  799. elseif painpubday + 5 >= daystart:
  800. $painpub = 'Your vulva is painfully sore.'
  801. end
  802. elseif painpub = 1:
  803. if painpubday + 5 < daystart:
  804. $painpub = ''
  805. painpub = 0
  806. painpubday = daystart
  807. elseif painpubday + 5 >= daystart:
  808. $painpub = 'Your vulva is a little sore.'
  809. end
  810. end
  811. !!---- Calculation of lash extension degradation and false lash removal
  812. if pcs_lashes > 2:
  813. if lashextensionstyle >= 1:
  814. lashextensionduration -= 1
  815. if lashextensionduration >= 1 and lashextensionduration <= 4:
  816. 'It''s time for you to do your maintenance on your lash extensions; you should go to the salon or you risk growing them all out.'
  817. end
  818. if lashextensionduration <= 0:
  819. 'You waited too long to do maintenance on your lash extensions; there''s too little there to notice or work with at this point.'
  820. pcs_lashes = pcs_naturallashes
  821. killvar 'lashextensionstyle'
  822. killvar 'lashextensionduration'
  823. killvar 'lashextensionnew'
  824. end
  825. end
  826. if false_lashes > 0:
  827. false_lashes -= 1
  828. if false_lashes = 0:
  829. 'Your false lashes came off in the night; there''s no recovering them now.'
  830. pcs_lashes = pcs_naturallashes
  831. else
  832. 'Somehow, your lashes managed to stay attached throughout the night. You might be able to get away with wearing them another day straight.'
  833. end
  834. end
  835. end
  836. prezikProver += 1
  837. if pirs_pain_ton > 0:pirs_pain_ton -= 1
  838. if shorthair = 1:
  839. shorthairday += 1
  840. if shorthairday >= 45:shorthairday = 0 & shorthair = 0
  841. end
  842. !!------------------------------------------------------------------------------------------------------------
  843. if KatjaOTN > 0:
  844. if KatjaHorny > 0 and KatjaLust < 40:KatjaHorny -= rand(1, 3)
  845. if KatjaLust >= 40:KatjaHorny += rand(1, 3)
  846. if KatjaHorny < 0:KatjaHorny = 0
  847. if KatjaHorny >= 100:KatjaHorny = 0 & KatjaMastr += 1 & KatjaLust += 1
  848. end
  849. !!Reseting if Katja have seen you are not wearing panties at the disco
  850. if katja_disco_end > 0: katja_disco_end = 0
  851. if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1
  852. !!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.
  853. if storyline = 1 and week = 7 and soniaPS = 0 and month > 9 and daystart >= soniafallDay + 6:
  854. if soniafall < 7:
  855. soniafallDay = daystart -1
  856. soniafall += 1
  857. else
  858. soniaPS = 1
  859. soniaPSdays = daystart
  860. npc_grupTipe['A25'] = 5
  861. $npc_notes['A25'] = 'Ever since Sonia inadvertently got way too drunk and gave five guys including Vitek and his friends a simultaneous blowjob near the disco, her reputation in Pavlovsk has been in shambles. The girls in her class all give her the silent treatment, pretending she does not exist. Meanwhile, the guys all treat her like a cheap whore and regularly ask (or sometimes even demand) sex from her, knowing she doesn''t have the strength to say no.'
  862. end
  863. end
  864. dmishaevent = 0
  865. if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
  866. if GspravkaT = 1:Gspravka -= 1
  867. if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] = 30:BurgerQW['IlyQW'] = 3
  868. if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] > 0 and BurgerQW['IlyQWPoliceDayCount'] < 30:BurgerQW['IvanQWPoliceDayCount'] += 1
  869. !!remove degradation for inhibition
  870. inhib_flr = inhib_lvl
  871. gs 'stat_sklattrib', 'daycall'
  872. if dounspell = 1:
  873. if strenbuf > 90:
  874. strenbuf -= 2
  875. elseif strenbuf > 80:
  876. strenbuf -= 1
  877. end
  878. if vitalbuf > 90:
  879. vitalbuf -= 2
  880. elseif vitalbuf > 80:
  881. vitalbuf -= 1
  882. end
  883. if strenbuf > pcs_stren: strenbuf -= 1
  884. if strenbuf < pcs_stren: strenbuf += 1
  885. if vitalbuf > pcs_vital: vitalbuf -= 1
  886. if vitalbuf < pcs_vital: vitalbuf += 1
  887. if agilbuf > pcs_agil: agilbuf -= 1
  888. if agilbuf < pcs_agil: agilbuf += 1
  889. else
  890. gs 'body_shape'
  891. end
  892. if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
  893. !!Pussy_Kats job settings
  894. inWorkYoungShop = 0
  895. if week = 1 and young_shop_work = 100: young_shop_work = 1
  896. if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
  897. if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
  898. husbandsexday = 0
  899. borsexkol = 0
  900. givisexday = 0
  901. if shantsr > 0:
  902. pay = shantsr * 5000
  903. karta += pay
  904. shantsr = 0
  905. end
  906. if shantbog > 0:
  907. :shantftb
  908. shantftbgrand = rand(0, 10)
  909. if shantftbgrand > 2:
  910. shantpopala += 1
  911. shantbog -= 1
  912. if shantbog > 0:jump 'shantftb'
  913. elseif shantftbgrand <= 2:
  914. karta += 30000
  915. shantbog -= 1
  916. if shantbog > 0:jump 'shantftb'
  917. end
  918. end
  919. petersexday = 0
  920. klismaday1 = 0
  921. !!ugly duckling start becoming a swan
  922. if uglyduck_flag = 1 and hotcat >= 5:
  923. killvar 'uglyduck_flag'
  924. gs 'npc_relationship', 'socialgroup_setting_boys', 10, 10, 10, 10, 0, 0
  925. grupvalue[1] += 100
  926. old_grupvalue[1] += 100
  927. end
  928. !! Resetting relationships that go over the max
  929. :toptemprel
  930. if temprel < aarraynumber:
  931. temprel +=1
  932. if npc_rel['A'+'<<temprel>>'] > 100:npc_rel['A'+'<<temprel>>'] = 100
  933. jump 'toptemprel'
  934. end
  935. killvar 'temprel'
  936. !!------------------------------------------------------------------------------------------------------------
  937. !! Banking
  938. !!------------------------------------------------------------------------------------------------------------
  939. !!MJ: Add some (daily) interest to the bank account.
  940. !!Not very realistic but won''t make anyone too rich.
  941. if bankAccount = 1:
  942. kartatotal = karta
  943. :kartaloop
  944. if kartatotal > 20000000:
  945. kartacount += 1
  946. largekarta[kartacount] = 20000000
  947. kartatotal -= 20000000
  948. jump 'kartaloop'
  949. else
  950. largekarta[0] = kartatotal
  951. end
  952. if karta >= 2000000:
  953. !! yearly interest of 2.3% recalculated into daily interest = 0.006% daily
  954. intrate = 60
  955. elseif karta >= 0:
  956. !! yearly interest of 1.15% recalculated into daily interest = 0.003% daily
  957. intrate = 30
  958. else
  959. !! yearly overdraft interest of 20% recalculated into daily interest = 0.055% daily
  960. intrate = 550
  961. end
  962. :intloop
  963. if kartacount > 0:
  964. smallmoneypos += (largekarta[kartacount] * intrate)
  965. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000: karta += smallmoneypos / 1000000 & smallmoneypos = smallmoneypos mod 1000000
  966. largekarta[kartacount] = 0
  967. kartacount -= 1
  968. jump 'intloop'
  969. else
  970. smallmoneypos += (largekarta[0] * intrate)
  971. largekarta[0] = 0
  972. if kartacount ! 0: kartacount = 0
  973. end
  974. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000:
  975. karta += smallmoneypos / 1000000
  976. smallmoneypos = smallmoneypos mod 1000000
  977. end
  978. if atmDeposit > 0 and atmDepositDate <= daystart:
  979. karta += atmDeposit
  980. atmDeposit = 0
  981. end
  982. end
  983. !!------------------------------------------------------------------------------------------------------------
  984. !! Payments
  985. !!------------------------------------------------------------------------------------------------------------
  986. if day = 25:
  987. !! meynold payment
  988. if mey_vika['mey_vika_qw'] >= 35 and mey_tamara['help_count'] < 10 and mey_tamara['qw_end'] = 0:
  989. karta += 10000
  990. '<b><font color=green>For your efforts aunt Tamara gave you 10,000 rubles</font></b>'
  991. mey_tamara['help_count'] = 0
  992. elseif mey_vika['mey_vika_qw'] >= 35 and mey_tamara['help_count'] >= 10 and mey_tamara['qw_end'] = 0:
  993. karta += 15000
  994. '<b><font color=green>For your efforts aunt Tamara gave you 15,000 rubles</font></b>'
  995. mey_tamara['help_count'] = 0
  996. end
  997. if BurgerQW['Secretary'] = 1 and BurgerQW['SecretaryTimesWorked'] > 0 and paydaybistrosec = 0:
  998. Pay = BurgerQW['SecretaryTimesWorked'] * 1250
  999. BurgerQW['SecretaryTimesWorked'] = 0
  1000. karta += Pay
  1001. paydaybistrosec = 1
  1002. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
  1003. end
  1004. if workKafe = 1 and paydayKafe = 0:
  1005. paydayKafe = 1
  1006. pay = smenaKafe * 600
  1007. karta += pay
  1008. smenaKafe = 0
  1009. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a waitress in a cafe.</font></b>'
  1010. end
  1011. if workhosp = 1 and nopaypoly = 0:
  1012. pay = smena * 1000
  1013. karta += pay
  1014. smena = 0
  1015. nopaypoly = 1
  1016. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in the clinic.</font></b>'
  1017. end
  1018. if worksalon = 1 and nopaysalon = 0:
  1019. pay = smenaSalon * 1560
  1020. karta += pay
  1021. smenaSalon = 0
  1022. nopaysalon = 1
  1023. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in a beauty salon.</font></b>'
  1024. end
  1025. if tanwork = 1 and nopaytanwork = 0:
  1026. nopaytanwork = 1
  1027. karta += 10000
  1028. '<b><font color="green">Your salary of 10,000 <b>₽</b> has been paid into your bank account for your work as a house maid.</font></b>'
  1029. end
  1030. if workSec = 1 and paydaySec = 0:
  1031. paydaySec = 1
  1032. pay = sekDay * 1500
  1033. karta += pay
  1034. sekDay = 0
  1035. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
  1036. end
  1037. if workFabrika = 1:
  1038. pay = smenaFabrika * 600
  1039. smenaFabrika = 0
  1040. karta += pay
  1041. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job at the garment factory.</font></b>'
  1042. end
  1043. if husband > 0 and paydayHusb = 0:
  1044. paydayHusb = 1
  1045. if husbFin = 0:huspay = 20000
  1046. if husbFin = 1:huspay = 30000
  1047. if husbFin = 2:huspay = 40000
  1048. karta += huspay
  1049. '<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
  1050. end
  1051. if func('uniutil', 'scholarship' , 'is_active') and scholarshipday = 0:
  1052. scholarshipday = 1
  1053. karta += func('uniutil', 'scholarship', 'get')
  1054. '<b><font color="green">You have received '+func('uniutil', 'scholarship', 'get')+' <b>₽</b> from your scholarship.</font></b>'
  1055. end
  1056. ! Utilities for all apartments.
  1057. if (home_owned[1] = 1 or home_owned[1] = 2 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 0:
  1058. gs 'housing', 'util'
  1059. if bankAccount = 1 and karta >= elektro:
  1060. '<b><font color="green"><<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account.</font></b>'
  1061. electroday = 1
  1062. if elektro >= 2000:
  1063. elektro = 2000 + rand(0, 100)
  1064. karta -= elektro * hcount_util
  1065. end
  1066. elseif bankAccount = 1 and karta + bankDebtLimit >= elektro:
  1067. '<b><font color="green"><<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account and overdraw facility. Please contact your bank.</font></b>'
  1068. electroday = 1
  1069. if elektro >= 2000:
  1070. elektro = 2000 + rand(0, 100)
  1071. karta -= elektro * hcount_util
  1072. end
  1073. elseif bankAccount = 0 and money >= elektro:
  1074. '<b><font color="red">You currently do not have a bank account setup for automatic utilities payments. <<elektro>> <b>₽</b> has been deducted from your cash holdings.</font></b>'
  1075. electroday = 1
  1076. if elektro >= 2000:
  1077. elektro = 2000 + rand(0, 100)
  1078. money -= elektro * hcount_util
  1079. end
  1080. else
  1081. '<b><font color="red">Your card was declined during automatic debit of <<elektro>> <b>₽</b>, for automatic utilities payment.</font></b>'
  1082. end
  1083. end
  1084. ! Cable for all apartments
  1085. if kabel > 0 and kabelday = 0:
  1086. gs 'housing', 'cable'
  1087. if bankAccount = 1 and karta >= (300 * hcount_cable):
  1088. '<b><font color="green">300 <b>₽</b> has been deducted from your bank account, for you cable TV subscription.</font></b>'
  1089. kabelday = 1
  1090. karta -= 300 * hcount_cable
  1091. elseif bankAccount = 1 and karta + bankDebtLimit >= (300 * hcount_cable):
  1092. '<b><font color="green">300 <b>₽</b> has been deducted from your bank account and overdraw facility, for you cable TV subscription.</font></b>'
  1093. kabelday = 1
  1094. karta -= 300 * hcount_cable
  1095. elseif bankAccount = 0 and money >= (300 * hcount_cable):
  1096. '<b><font color="red">You currently do not have a bank account setup for automatic payment of your cable TV subscription. 300 <b>₽</b> has been deducted from your cash holdings.</font></b>'
  1097. kabelday = 1
  1098. money -= 300 * hcount_cable
  1099. else
  1100. '<b><font color="red">Your card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
  1101. end
  1102. end
  1103. end
  1104. if day ! 25:
  1105. if paydayHusb = 1:paydayHusb = 0
  1106. if workKafe = 1 and paydayKafe = 1:paydayKafe = 0
  1107. if workSec = 1 and paydaySec = 1:paydaySec = 0
  1108. if (home_owned[1] = 1 or home_owned[4] > 0) and haday = 1:haday = 0
  1109. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 1:electroday = 0
  1110. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 3) and kabel > 0 and kabelday = 1:kabelday = 0
  1111. if scholarshipday = 1:scholarshipday = 0
  1112. if nopaytanwork = 1:nopaytanwork = 0
  1113. if nopaypoly = 1:nopaypoly = 0
  1114. if nopaysalon = 1:nopaysalon = 0
  1115. if paydaybistrosec = 1:paydaybistrosec = 0
  1116. end
  1117. if sdaday = day and sdamonth = month and home_owned[1] = 3:
  1118. home_owned[1] = 2
  1119. '<b><font color="red">Your tenants have moved out and your apartment is now vacant.</font></b>'
  1120. !msg 'Your tenants have moved out and your apartment is now vacant.'
  1121. end
  1122. !!----------------------------------------
  1123. !! Rent
  1124. !!----------------------------------------
  1125. if home_owned[1] = 1 or home_owned[4] > 0:
  1126. gs 'housing', 'rent'
  1127. ! Rent for the city apartment
  1128. if home_owned[1] = 1:
  1129. if ArendHouseSL <= 2:
  1130. !From bank
  1131. if bankAccount = 1 and karta >= home_rent[1]:
  1132. '<b><font color="green">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account.</font></b>'
  1133. karta -= home_rent[1]
  1134. ArendHouseSL += ArendHouseSL_due
  1135. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[1]:
  1136. '<b><font color="green">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.</font></b>'
  1137. karta -= home_rent[1]
  1138. ArendHouseSL += ArendHouseSL_due
  1139. elseif bankAccount = 0:
  1140. '<b><font color="red">You currently do not have a bank account setup for automatic rent deduction of <<home_rent[1]>> <b>₽</b> for your city apartment. To avoid eviction, please make manual payment as soon as possible.</font></b>'
  1141. else
  1142. nl
  1143. '<b><b><font color="red">Your card was declined during automatic rent deduction of <<home_rent[1]>> <b>₽</b> for your city apartment. To avoid eviction, please rectify as soon as possible.</font></b>'
  1144. end
  1145. end
  1146. end
  1147. ! Rent for the Pushkin apartment
  1148. if home_owned[4] > 0:
  1149. if ArendHouseSL4 <= 2:
  1150. !From bank
  1151. if bankAccount = 1 and karta >= home_rent[4]:
  1152. '<b><font color="green">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account.</font></b>'
  1153. karta -= home_rent[4]
  1154. ArendHouseSL4 += ArendHouseSL4_due
  1155. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[4]:
  1156. '<b><font color="green">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.</font></b>'
  1157. karta -= home_rent[4]
  1158. ArendHouseSL4 += ArendHouseSL4_due
  1159. elseif bankAccount = 0:
  1160. '<b><font color="red">You currently do not have a bank account setup for automatic rent deduction of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment. To avoid eviction, please make manual payment as soon as possible.</font></b>'
  1161. else
  1162. nl
  1163. '<b><b><font color="red">Your card was declined during automatic rent deduction of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment. To avoid eviction, please rectify as soon as possible.</font></b>'
  1164. end
  1165. end
  1166. end
  1167. end
  1168. if home_owned[1] = 1 and ArendHouseSL <= 0: ArendHouseSL = 0 & home_owned[1] = 0
  1169. if home_owned[4] > 0 and ArendHouseSL4 <= 0: ArendHouseSL4 = 0 & home_owned[4] = 0
  1170. if home_owned[1] = 1: ArendHouseSL -= 1
  1171. if home_owned[4] > 0: ArendHouseSL4 -= 1
  1172. !!------------------------------------------------------------------------------------------------------------
  1173. killvar 'holyday'
  1174. killvar 'kanikuli'
  1175. killvar 'pcs_ate'
  1176. killvar 'pcs_drank'
  1177. !! 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
  1178. !!sisboyparty
  1179. !!-1 - don''t go to the party
  1180. !!0 - don''t know about parties
  1181. !!1 - knows about the parties
  1182. !!2 - agreed to go to the party
  1183. !!3 - Missed the party
  1184. !!suspension ends
  1185. if suspended['day'] = daystart: suspended['on'] = 0
  1186. if storyline = 1:
  1187. !!Party refresh if you didn''t see sis
  1188. if week = 1 and sisboyparty ! 2:
  1189. if sisterQW['party'] = -1: sisterQW['party'] = 0
  1190. if sisboypartyQW >= 2 and sisboyparty > 0:
  1191. sisboyparty_day = daystart + rand(3,5)
  1192. end
  1193. end
  1194. if sisboyparty = 2 and sisboyparty_day + 1 < daystart: sisboyparty = 3
  1195. if SchoolAtestat = 0 and SchoolBlock = 0:
  1196. if month = 12 and day > 25:
  1197. if day < 31:
  1198. $holyday = '<b>Winter Break in <<32-day>> days.</b>'
  1199. else
  1200. $holyday = '<b>Winter Break starts tomorrow.</b>'
  1201. end
  1202. elseif month = 1 and day <= 15:
  1203. kanikuli = 2
  1204. if day < 13:
  1205. $holyday = '<b>Winter Break.</b>'
  1206. elseif day < 15:
  1207. $holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
  1208. else
  1209. $holyday = '<b>Last day of Winter Break.</b>'
  1210. end
  1211. elseif month = 3 and day > 13:
  1212. if day < 19:
  1213. $holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
  1214. elseif day = 19:
  1215. $holyday = '<b>Spring Break starts tomorrow.</b>'
  1216. elseif day >= 20 and day <= 26:
  1217. kanikuli = 3
  1218. if day < 24:
  1219. $holyday = '<b>Spring Break.</b>'
  1220. elseif day < 26:
  1221. $holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
  1222. else
  1223. $holyday = '<b>Last day of Spring Break.</b>'
  1224. end
  1225. end
  1226. elseif month = 5:
  1227. if year = 2017:
  1228. if day = 25:
  1229. kanikuli = 6
  1230. SchoolAtestat = -1
  1231. $holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
  1232. elseif day = 24:
  1233. $holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
  1234. elseif day >= 19:
  1235. $holyday = '<b>Your graduation is in <<26-day>> days.</b>'
  1236. end
  1237. elseif day >= 25:
  1238. if day = 31:
  1239. $holyday = '<b>Summer Break starts tomorrow.</b>'
  1240. else
  1241. $holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
  1242. end
  1243. end
  1244. elseif month = 6 or month = 7 or month = 8:
  1245. kanikuli = 4
  1246. if month = 8 and day >= 25:
  1247. if day = 31:
  1248. $holyday = '<b>Last day of Summer Break.</b>'
  1249. else
  1250. $holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
  1251. end
  1252. else
  1253. $holyday = '<b>Summer Break.</b>'
  1254. end
  1255. !! 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.'
  1256. killvar 'first_time_outside_in_cold_weather'
  1257. killvar 'first_time_doing_basketball'
  1258. killvar 'first_time_spring_football_match'
  1259. !! end inc
  1260. elseif month = 10 and day >= 29:
  1261. $holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
  1262. elseif month = 11:
  1263. if day < 3:
  1264. $holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
  1265. elseif day = 3:
  1266. $holyday = '<b>Autumn Break starts tomorrow.</b>'
  1267. elseif day < 6:
  1268. kanikuli = 1
  1269. $holyday = '<b>Autumn Break.</b>'
  1270. elseif day < 11:
  1271. kanikuli = 1
  1272. $holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
  1273. elseif day = 11:
  1274. kanikuli = 1
  1275. $holyday = '<b>Last day of Autumn Break.</b>'
  1276. end
  1277. end
  1278. if kanikuli = 0 and week < 6:
  1279. if week = 1:
  1280. !!The start and end values for i have to be changed if more female schoolgirl npcs are added to the game
  1281. i = 11
  1282. :hotcat_calc_jump
  1283. i += 1
  1284. if hotcat_rating['A<<i>>'] = 0: jump 'hotcat_calc_jump'
  1285. switch_rand = rand(1,100)
  1286. if hotcat_movement['A<<i>>'] = 0 and switch_rand < 21:
  1287. hotcat_rating['A<<i>>'] -= 1
  1288. hotcat_movement['A<<i>>'] -= 1
  1289. elseif hotcat_movement['A<<i>>'] = 0 and switch_rand > 80:
  1290. hotcat_rating['A<<i>>'] += 1
  1291. hotcat_movement['A<<i>>'] += 1
  1292. elseif hotcat_movement['A<<i>>'] = 1 and switch_rand > 40:
  1293. hotcat_rating['A<<i>>'] -= 1
  1294. hotcat_movement['A<<i>>'] -= 1
  1295. elseif hotcat_movement['A<<i>>'] = -1 and switch_rand > 40:
  1296. hotcat_rating['A<<i>>'] += 1
  1297. hotcat_movement['A<<i>>'] += 1
  1298. end
  1299. if i < 145: jump 'hotcat_calc_jump'
  1300. killvar 'i'
  1301. killvar 'switch_rand'
  1302. end
  1303. !! Resetting the late flag
  1304. if late = 1: late = 0
  1305. end
  1306. !!Social grup changes
  1307. !!Change from relatonship with other students.
  1308. gs 'gschool_socialchg', 'group_student_rel_change'
  1309. !!Decay for the school groups
  1310. if grupvalue[1] > 0:
  1311. grupvalue[1] -= rand(0,1)
  1312. else
  1313. grupvalue[1] = 0
  1314. end
  1315. if grupvalue[2] > 0:
  1316. grupvalue[2] -= rand(0,1)
  1317. else
  1318. grupvalue[2] = 0
  1319. end
  1320. if grupvalue[3] > 0:
  1321. grupvalue[3] -= rand(0,1)
  1322. else
  1323. grupvalue[3] = 0
  1324. end
  1325. if grupvalue[4] > 0:
  1326. grupvalue[4] -= rand(0,1)
  1327. else
  1328. grupvalue[4] = 0
  1329. end
  1330. !!Maximum increase for grupvalues is 10 and max decay is 30
  1331. if oldgrupvalue_set = 0:
  1332. oldgrupvalue_set = 1
  1333. old_grupvalue[1] = grupvalue[1]
  1334. old_grupvalue[2] = grupvalue[2]
  1335. old_grupvalue[3] = grupvalue[3]
  1336. old_grupvalue[4] = grupvalue[4]
  1337. else
  1338. if old_grupvalue[1] + 10 < grupvalue[1]: grupvalue[1] = old_grupvalue[1] + 10
  1339. if old_grupvalue[2] + 10 < grupvalue[2]: grupvalue[2] = old_grupvalue[2] + 10
  1340. if old_grupvalue[3] + 10 < grupvalue[3]: grupvalue[3] = old_grupvalue[3] + 10
  1341. if old_grupvalue[4] + 10 < grupvalue[4]: grupvalue[4] = old_grupvalue[4] + 10
  1342. if old_grupvalue[1] - 30 > grupvalue[1]: grupvalue[1] = old_grupvalue[1] - 30
  1343. if old_grupvalue[2] - 30 > grupvalue[2]: grupvalue[2] = old_grupvalue[2] - 30
  1344. if old_grupvalue[3] - 30 > grupvalue[3]: grupvalue[3] = old_grupvalue[3] - 30
  1345. if old_grupvalue[4] - 30 > grupvalue[4]: grupvalue[4] = old_grupvalue[4] - 30
  1346. end
  1347. !!Limit to max school group values
  1348. if grupvalue[1] > 1000: grupvalue[1] = 1000
  1349. if grupvalue[2] > 1000: grupvalue[2] = 1000
  1350. if grupvalue[3] > 1000: grupvalue[3] = 1000
  1351. if grupvalue[4] > 1000: grupvalue[4] = 1000
  1352. old_grupvalue[1] = grupvalue[1]
  1353. old_grupvalue[2] = grupvalue[2]
  1354. old_grupvalue[3] = grupvalue[3]
  1355. old_grupvalue[4] = grupvalue[4]
  1356. elseif SchoolAtestat = -1:
  1357. if home_owned[2] = 0:
  1358. $holyday = '<b>You missed your graduation. You could pick up your diploma at the school.</b>'
  1359. else
  1360. $holyday = '<b>You missed your graduation. Maybe your mother picked up your diploma.</b>'
  1361. end
  1362. end
  1363. !!Brother''s dick growth as he gets older
  1364. !Commented out till some future time
  1365. !if kolka_dick_day + 30 < daystart and npc_dick['A34'] < 26:
  1366. ! kolka_dick_day = daystart
  1367. ! npc_dick['A34'] += 1
  1368. !end
  1369. !if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
  1370. ! $npc_thdick['A34'] = 'well proportioned'
  1371. !elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:
  1372. ! $npc_thdick['A34'] = 'thick'
  1373. !end
  1374. if kanikuli = 0 and week = 1:
  1375. lernHome = 0
  1376. if class['first_grade_check'] > 0:
  1377. gs 'grades', 'calculate_grade', 'school'
  1378. gs 'grades', 'assing_grade_description', 'school'
  1379. else
  1380. i = 0
  1381. :grade_loop
  1382. dynamic 'class[''school_<<$class_list_name[i]>>_weekly_grade_gain''] = 0'
  1383. i +=1
  1384. if ARRSIZE('class_list_institution') > i: jump 'grade_loop'
  1385. end
  1386. end
  1387. end
  1388. killvar 'natholi'
  1389. if month = 1 and day >= 1 and day <= 8:
  1390. $natholi = 'New Year holidays'
  1391. natholi = 1
  1392. if day = 1:$natholi += ', New Year'
  1393. if day = 7:$natholi += ', Christmas'
  1394. end
  1395. if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
  1396. if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
  1397. if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
  1398. if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
  1399. if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
  1400. if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
  1401. if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
  1402. if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
  1403. if natholi = 1:
  1404. if $holyday ! '': $holyday += '<br>'
  1405. $holyday += $natholi
  1406. end
  1407. !!------------------------------------------------------------------------------------------------------------------------
  1408. !!Setting the the weeks in the university semester and makeing sure that the gades are calculated at the right times
  1409. if university['enrolled_in_semester'] > university['semester_passed'] and university['semester_week'] = 0 and (month = 8 or month = 1) and (day - week) >= 20:
  1410. university['semester_week'] = -1
  1411. end
  1412. if week = 1:
  1413. if university['semester_week'] = -1:
  1414. university['semester_week'] = 1
  1415. elseif university['semester_week'] > 0 and university['semester_week'] < 15:
  1416. university['semester_week'] += 1
  1417. gs 'grades', 'calculate_grade', 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>'
  1418. gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>'
  1419. elseif university['semester_week'] = 15:
  1420. university['semester_week'] = 0
  1421. university['exam_week'] = 1
  1422. gs 'grades', 'calculate_grade', 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>'
  1423. gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>'
  1424. elseif university['exam_week'] = 1:
  1425. university['exam_week'] = 2
  1426. elseif university['exam_week'] = 2:
  1427. university['exam_week'] = 0
  1428. end
  1429. end
  1430. !!------------------------------------------------------------------------------------------------------------------------
  1431. if bcream_used >= 1:
  1432. bcream_used = 0
  1433. temp = rand(0,max(nbsize-genbsize+5,5)) / max(nbsize-genbsize,1)
  1434. if temp > 0: temp = 1
  1435. nbsize += temp
  1436. if temp > 0:'Feels like your breasts have grown slightly.'
  1437. end
  1438. if steroid_dose >= 1:
  1439. if lashair < 1:
  1440. pcs_pubes += steroid_dose
  1441. pcs_leghair += steroid_dose
  1442. end
  1443. steroid_dose = 0
  1444. end
  1445. if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
  1446. if aphrodisiac_timer ! 0:aphrodisiac_timer = 0
  1447. if mentats_dose = 1:
  1448. mentats_dose = 0
  1449. elseif mentats_dose > 1:
  1450. pain['head'] += 20 * mentats_dose
  1451. mentats_dose = 0
  1452. end
  1453. !!Appearance base calculation call
  1454. gs 'body_shape', 'basebeautycalc'
  1455. !! vovan, from 1.2.5
  1456. hunters_check = 0
  1457. mushroom_pickers = 0
  1458. mira_go_river = 0
  1459. forestpicnic = 0
  1460. if Mira_no > 0: Mira_no -= 1
  1461. if Mira_no < 0: Mira_no = 0
  1462. !! new grandparent chore stuff, for 0.8.0
  1463. if gadstay = 1 and lost_girl = 0:
  1464. if daystart > (grandmaQW['last_day_helped'] + 3) and daystart > (grandpaQW['last_day_helped'] + 3):
  1465. if (daystart - grandmaQW['last_day_helped']) <= (daystart - grandpaQW['last_day_helped']):
  1466. 'You haven''t helped your grandparents with any chores in <<daystart - grandmaQW[''last_day_helped'']>> days. You should help out more regularly to stay on your grandparents'' good side.'
  1467. else
  1468. 'You haven''t helped your grandparents with any chores in <<daystart - grandpaQW[''last_day_helped'']>> days. You should help out more regularly to stay on your grandparents'' good side.'
  1469. end
  1470. grandmaQW['help_amount'] -= 1
  1471. end
  1472. end
  1473. !! disappointing grandma
  1474. if grandmaQW['chore_clean_floor'] = 1 or grandmaQW['chore_clean_floor'] = 2:
  1475. grandmaQW['chore_clean_floor'] = 0
  1476. grandmaQW['disappointment'] = 1
  1477. elseif grandmaQW['chore_wash_clothes'] = 1 or grandmaQW['chore_wash_clothes'] = 2:
  1478. grandmaQW['chore_wash_clothes'] = 0
  1479. grandmaQW['disappointment'] = 1
  1480. elseif grandmaQW['chore_milk_cow'] = 1 or grandmaQW['chore_milk_cow'] = 2:
  1481. grandmaQW['chore_milk_cow'] = 0
  1482. grandmaQW['disappointment'] = 1
  1483. elseif grandmaQW['chore_groceries'] = 1 or grandmaQW['chore_groceries'] = 2:
  1484. grandmaQW['chore_groceries'] = 0
  1485. grandmaQW['disappointment'] = 1
  1486. elseif grandmaQW['chore_can_mushrooms'] = 1 or grandmaQW['chore_can_mushrooms'] = 2:
  1487. grandmaQW['chore_can_mushrooms'] = 0
  1488. grandmaQW['disappointment'] = 1
  1489. elseif grandmaQW['chore_can_berries'] = 1 or grandmaQW['chore_can_berries'] = 2:
  1490. grandmaQW['chore_can_berries'] = 0
  1491. grandmaQW['disappointment'] = 1
  1492. elseif grandmaQW['chore_can_veggies'] = 1 or grandmaQW['chore_can_veggies'] = 2:
  1493. grandmaQW['chore_can_veggies'] = 0
  1494. grandmaQW['disappointment'] = 1
  1495. elseif grandmaQW['chore_feed_chickens'] = 1 or grandmaQW['chore_feed_chickens'] = 2:
  1496. grandmaQW['chore_feed_chickens'] = 0
  1497. grandmaQW['disappointment'] = 1
  1498. elseif grandmaQW['chore_work_in_garden'] = 1 or grandmaQW['chore_work_in_garden'] = 2:
  1499. grandmaQW['chore_work_in_garden'] = 0
  1500. grandmaQW['disappointment'] = 1
  1501. elseif grandmaQW['chore_water_garden'] = 1 or grandmaQW['chore_water_garden'] = 2:
  1502. grandmaQW['chore_water_garden'] = 0
  1503. grandmaQW['disappointment'] = 1
  1504. elseif grandmaQW['chore_collect_strawberries'] = 1 or grandmaQW['chore_collect_strawberries'] = 2:
  1505. grandmaQW['chore_collect_strawberries'] = 0
  1506. grandmaQW['disappointment'] = 1
  1507. elseif grandmaQW['chore_collect_fruit'] = 1 or grandmaQW['chore_collect_fruit'] = 2:
  1508. grandmaQW['chore_collect_fruit'] = 0
  1509. grandmaQW['disappointment'] = 1
  1510. elseif grandmaQW['chore_harvest_garden'] = 1 or grandmaQW['chore_harvest_garden'] = 2:
  1511. grandmaQW['chore_harvest_garden'] = 0
  1512. grandmaQW['disappointment'] = 1
  1513. elseif grandmaQW['chore_gather_mushrooms'] = 1 or grandmaQW['chore_gather_mushrooms'] = 2:
  1514. grandmaQW['chore_gather_mushrooms'] = 0
  1515. grandmaQW['chore_mushroom_quantity'] = 0
  1516. grandmaQW['disappointment'] = 1
  1517. elseif grandmaQW['chore_gather_berries'] = 1 or grandmaQW['chore_gather_berries'] = 2:
  1518. grandmaQW['chore_gather_berries'] = 0
  1519. grandmaQW['chore_berry_quantity'] = 0
  1520. grandmaQW['disappointment'] = 1
  1521. elseif grandmaQW['chore_gather_both'] = 1 or grandmaQW['chore_gather_both'] = 2:
  1522. grandmaQW['chore_gather_both'] = 0
  1523. grandmaQW['chore_mushroom_quantity'] = 0
  1524. grandmaQW['chore_berry_quantity'] = 0
  1525. grandmaQW['disappointment'] = 1
  1526. end
  1527. !! disappointing grandpa
  1528. if grandpaQW['chore_fetch_firewood'] = 1 or grandpaQW['chore_fetch_firewood'] = 2:
  1529. grandpaQW['chore_fetch_firewood'] = 0
  1530. grandpaQW['disappointment'] = 1
  1531. elseif grandpaQW['chore_feed_horse'] = 1 or grandpaQW['chore_feed_horse'] = 2:
  1532. grandpaQW['chore_feed_horse'] = 0
  1533. grandpaQW['disappointment'] = 1
  1534. elseif grandpaQW['chore_feed_cow'] = 1 or grandpaQW['chore_feed_cow'] = 2:
  1535. grandpaQW['chore_feed_cow'] = 0
  1536. grandpaQW['disappointment'] = 1
  1537. elseif grandpaQW['chore_clean_yard'] = 1 or grandpaQW['chore_clean_yard'] = 2:
  1538. grandpaQW['chore_clean_yard'] = 0
  1539. grandpaQW['disappointment'] = 1
  1540. elseif grandpaQW['chore_feed_boar'] = 1 or grandpaQW['chore_feed_boar'] = 2:
  1541. grandpaQW['chore_feed_boar'] = 0
  1542. grandpaQW['disappointment'] = 1
  1543. elseif grandpaQW['chore_bathe_horse'] = 1 or grandpaQW['chore_bathe_horse'] = 2:
  1544. grandpaQW['chore_bathe_horse'] = 0
  1545. grandpaQW['chore_bathe_horse_prog'] = 0
  1546. grandpaQW['disappointment'] = 1
  1547. elseif grandpaQW['chore_brush_horse'] = 1 or grandpaQW['chore_brush_horse'] = 2:
  1548. grandpaQW['chore_brush_horse'] = 0
  1549. grandpaQW['disappointment'] = 1
  1550. elseif grandpaQW['chore_lead_horse_to_field'] = 1 or grandpaQW['chore_lead_horse_to_field'] = 2:
  1551. grandpaQW['chore_lead_horse_to_field'] = 0
  1552. grandpaQW['disappointment'] = 1
  1553. elseif grandpaQW['chore_herd_cattle'] = 1 or grandpaQW['chore_herd_cattle'] = 2:
  1554. grandpaQW['chore_herd_cattle'] = 0
  1555. grandpaQW['disappointment'] = 1
  1556. elseif grandpaQW['chore_lead_cow_to_field'] = 1 or grandpaQW['chore_lead_cow_to_field'] = 2:
  1557. grandpaQW['chore_lead_cow_to_field'] = 0
  1558. grandpaQW['disappointment'] = 1
  1559. elseif grandpaQW['chore_gather_mushrooms'] = 1 or grandpaQW['chore_gather_mushrooms'] = 2:
  1560. grandpaQW['chore_gather_mushrooms'] = 0
  1561. grandpaQW['chore_mushroom_quantity'] = 0
  1562. grandpaQW['disappointment'] = 1
  1563. elseif grandpaQW['chore_gather_berries'] = 1 or grandpaQW['chore_gather_berries'] = 2:
  1564. grandpaQW['chore_gather_berries'] = 0
  1565. grandpaQW['chore_berry_quantity'] = 0
  1566. grandpaQW['disappointment'] = 1
  1567. elseif grandpaQW['chore_gather_both'] = 1 or grandpaQW['chore_gather_both'] = 2:
  1568. grandpaQW['chore_gather_both'] = 0
  1569. grandpaQW['chore_mushroom_quantity'] = 0
  1570. grandpaQW['chore_berry_quantity'] = 0
  1571. grandpaQW['disappointment'] = 1
  1572. elseif grandpaQW['chore_bale_hay'] = 1 or grandpaQW['chore_bale_hay'] = 2:
  1573. grandpaQW['chore_bale_hay'] = 0
  1574. grandpaQW['disappointment'] = 1
  1575. end
  1576. !! grandparents use root cellar
  1577. if boletus_stored > 0: boletus_stored -= rand(0,1)
  1578. if bilberry_stored > 0: bilberry_stored -= rand(0,1)
  1579. if boletus_stored < 0: boletus_stored = 0
  1580. if bilberry_stored < 0: bilberry_stored = 0
  1581. !! end of new grandparent chore stuff, for 0.8.0
  1582. if catout ! 0: catout = 0
  1583. if feedcat ! 0: feedcat = 0
  1584. loc_count = ARRSIZE('$CloLosLoc')
  1585. i = loc_count - 1
  1586. :loopCloLoc
  1587. $CloLoc = $CloLosLoc[i]
  1588. CloLostOn = CloLosDay[$CloLoc]
  1589. if CloLostOn + RAND(7,14) < daystart :
  1590. gs 'clothing', 'recover_lost_clothes', $CloLoc, 2
  1591. end
  1592. i -=1
  1593. if i > -1 :jump 'loopCloLoc'
  1594. if vidageday > 1080: vidageday = 1080
  1595. if blizoruk < 10: blizoruk -= 1
  1596. if blizoruk < 100: blizoruk -= rand(0,1)
  1597. if blizoruk < 0: blizoruk = 0
  1598. !!------------------------------------------------------------------------------------------------------------------------
  1599. !!array cleaning moving potential fathers from C to B array and cleaning C array
  1600. !First look is there any cum in the womb,when womb is empty random genereted npc record are cleaningare deleted
  1601. ! mid($npclastgenerated[0],2,9) number of the last random created npcs
  1602. norandomdads = 1
  1603. !checking if Sveta have children or babies
  1604. if arrsize('$ChildFath') > 0:
  1605. !Yes she have... cheking if random NPC is the dady
  1606. !'Sveta have <<$ChildFath>> children'
  1607. childtmp = 0
  1608. :childloop
  1609. if mid($ChildFath[childtmp],1,1) = 'C':
  1610. !yes child is from random genereted npc
  1611. norandomdads = 0
  1612. else
  1613. !child is not from random genereted npc
  1614. childtmp += 1
  1615. if childtmp < arrsize('$ChildFath'): jump 'childloop'
  1616. end
  1617. end
  1618. number = 0
  1619. !checking if there is some cum in womb.
  1620. if arrsize('$cumarrnam') > 0:
  1621. !there is cum in womb
  1622. :cleaning_records_cum
  1623. $tmp = 'C' + '<<number>>'
  1624. cum_number = 0
  1625. :cumloop
  1626. !look if cum in womb is from random created npc
  1627. if($tmp = $cumarrnam[cum_number]):
  1628. !'cum from <<$tmp>> is in the womb'
  1629. number +=1
  1630. if number < mid($npclastgenerated[0],2,9): jump 'cleaning_records_cum'
  1631. else
  1632. cum_number += 1
  1633. if cum_number < arrsize('$cumarrnam'):
  1634. jump 'cumloop'
  1635. else
  1636. !'no cum in woomb from <<$tmp>>'
  1637. if norandomdads = 1:
  1638. !no random dads
  1639. If npc_pers[$tmp] ! '': gs 'npccleanc',$tmp
  1640. else
  1641. !some children are from random genereted npc
  1642. !checking if selected npc is a dady
  1643. childtmp = 0
  1644. :childloop3
  1645. if $ChildFath[childtmp] = $tmp:
  1646. !selected npc is father of the child, he will stay in record or now
  1647. !moving npc from C array to B array,
  1648. gs 'npcpreservec',$tmp
  1649. number += 1
  1650. if number < mid($npclastgenerated[0],2,9): jump 'cleaning_records_cum'
  1651. else
  1652. !child is not from random genereted npc
  1653. childtmp += 1
  1654. if childtmp < arrsize('$ChildFath'):
  1655. jump 'childloop3'
  1656. else
  1657. !children are not from seleted random npc, we are cleaning his redords
  1658. gs 'npccleanc',$tmp
  1659. number += 1
  1660. if number < mid($npclastgenerated[0],2,9): jump 'cleaning_records_cum'
  1661. end
  1662. end
  1663. end
  1664. end
  1665. end
  1666. else
  1667. !there is no cum in womb, cleaning random created npc redords
  1668. if norandomdads = 0:
  1669. :cleaning_with_babies
  1670. $tmp = 'C' + '<<number>>'
  1671. !cheking if random NPC is the dady
  1672. childtmp2 = 0
  1673. :childloop2
  1674. if $ChildFath[childtmp2] = $tmp:
  1675. !selected random NPC is dady selected child
  1676. gs 'npcpreservec', $tmp
  1677. number +=1
  1678. if number < mid($npclastgenerated[0],2,9): jump 'cleaning_with_babies'
  1679. else
  1680. !selected random NPC is not dady selected child
  1681. childtmp2 += 1
  1682. if childtmp2 < arrsize('$ChildFath'):
  1683. jump 'childloop2'
  1684. else
  1685. !selected random npc is not any child dady
  1686. gs 'npccleanc',$tmp
  1687. number += 1
  1688. if number < mid($npclastgenerated[0],2,9): jump 'cleaning_with_babies'
  1689. end
  1690. end
  1691. else
  1692. !she have no children or babies, and no cum freom random npc
  1693. !'cleaning random NPC records'
  1694. :cleaning_no_babies
  1695. $tmp = 'C' + '<<number>>'
  1696. !'clining <<$tmp>>'
  1697. gs 'npccleanc',$tmp
  1698. number += 1
  1699. if number < mid($npclastgenerated[0],2,9): jump 'cleaning_no_babies'
  1700. end
  1701. end
  1702. killvar '$tmp'
  1703. killvar 'number'
  1704. killvar 'childtmp2'
  1705. killvar 'childtmp'
  1706. killvar 'norandomdads'
  1707. !!------------------------------------------------------------------------------------------------------------
  1708. !!-------------Family schedule variables----------------------------------------------------------------------
  1709. !! 23 = kitchen
  1710. !! 24 = Living room
  1711. !! 25 = bathroom
  1712. !! 26 = Svetas room
  1713. if week = 6:
  1714. momclean1 = rand(23,26)
  1715. else
  1716. momclean1 = rand(23,24)
  1717. end
  1718. if rand(0,1) = 0:
  1719. momclean2 = 23
  1720. else
  1721. momclean2 = 25
  1722. end
  1723. !!-------------Therapist Route schedule variables----------------------------------------------------------------------
  1724. !! 23 = kitchen
  1725. !! 24 = Living room
  1726. !! 25 = bathroom
  1727. !! 26 = Master''s room
  1728. if therapistWantsSlave > 0:
  1729. annaclean1 = rand(23,26)
  1730. if rand(0,1) = 0:
  1731. momclean2 = 23
  1732. else
  1733. momclean2 = 25
  1734. end
  1735. end
  1736. !!------------------------------------------------------------------------------------------------------------
  1737. !!---------- School related schedule -------------------------------------------------------------------------
  1738. starlets_on = iif( ( (week = 5 and odd_week = 0) or (week = 1 or week = 3 or week >= 6) ) and natholi = 0,1,0)
  1739. 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)
  1740. if starlets['late_message'] = 1: starlets['late_message'] = 0
  1741. !!------------------------------------------------------------------------------------------------------------
  1742. !!---------- Starlet Content ---------------------------------------------------------------------------------
  1743. if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0:
  1744. if starlets_practice = daystart - 1:
  1745. starlets_missed = 1
  1746. starlets_practice = 0
  1747. end
  1748. if starlets_on = 1: starlets_practice = daystart
  1749. end
  1750. if month = 9 and day = 16 and AlbinaQW['ParkRally'] = 0: AlbinaQW['ParkRally'] = 1
  1751. if month = 10 and day = 16 and AlbinaQW['ParkRally'] = 1: AlbinaQW['ParkRally'] = 2
  1752. 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
  1753. !!------------------------------------------------------------------------------------------------------------
  1754. !!-------------Music career related variables and calculations------------------------------------------------
  1755. !! How many hours a day can Sveta perform. It maxes out at 3.
  1756. !! Using the actual skill level, not the one modified by Attributes because that is more realistic for this.
  1757. ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal
  1758. ml_performance['performed_minutes'] = 0
  1759. !! Checking for missed guitar lesson
  1760. if ml_guitarlesson['nextlesson'] < daystart and ml_guitarlesson['lessonday'] ! 8:
  1761. ml_guitarlesson['lessonday'] = 8
  1762. end
  1763. !! Calculating the fame increase from the uploaded songs and removing ones that do not effect fame anymore to keep the
  1764. !! data at a sane level
  1765. if ml_onlinesongcount > 0:
  1766. i = 0
  1767. j = -1
  1768. :looponlinesongs
  1769. !! this so every song counts only every 7 days and only for a limited number of weeks
  1770. if ml_onlinesong_freshness[i] > 0:
  1771. j += 1
  1772. ml_tempsong_freshness[j] = ml_onlinesong_sfreshness[i]
  1773. ml_tempsong_lastcalcday[j] = ml_onlinesong_lastcalcday[i]
  1774. ml_tempsong_hotcat[j] = ml_onlinesong_hotcat[i]
  1775. ml_tempsong_skilllevel[j] = ml_onlinesong_skilllevel[i]
  1776. ml_tempsong_uploaded[j] = ml_onlinesong_uploaded[i]
  1777. *nl
  1778. if ml_tempsong_lastcalcday[j] <= (daystart - 7) and ml_tempsong_uploaded = 1:
  1779. gs 'fame', 'city', 'music', rand(0, ml_tempsong_freshness[j]/100)
  1780. ml_tempsong_freshness[j] -= 10
  1781. ml_tempsong_lastcalcday[j] = daystart
  1782. end
  1783. end
  1784. i += 1
  1785. if i < ml_onlinesongcount: jump 'looponlinesongs'
  1786. killvar 'ml_onlinesong_freshness'
  1787. killvar 'ml_onlinesong_lastcalcday'
  1788. killvar 'ml_onlinesong_hotcat'
  1789. killvar 'ml_onlinesong_skilllevel'
  1790. killvar 'ml_onlinesong_uploaded'
  1791. i = 0
  1792. if j >= 0:
  1793. :looprebuildsongs
  1794. ml_onlinesong_freshness[i] = ml_tempsong_freshness[i]
  1795. ml_onlinesong_hotcat[i] = ml_tempsong_hotcat[i]
  1796. ml_onlinesong_lastcalcday[i] = ml_tempsong_lastcalcday[i]
  1797. ml_onlinesong_skilllevel[i] = ml_tempsong_skilllevel[i]
  1798. ml_onlinesong_uploaded[i] = ml_tempsong_uploaded[i]
  1799. i += 1
  1800. if i <= j: jump 'looprebuildsongs'
  1801. end
  1802. killvar 'ml_tempsong_freshness'
  1803. killvar 'ml_tempsong_lastcalcday'
  1804. killvar 'ml_tempsong_hotcat'
  1805. killvar 'ml_tempsong_skilllevel'
  1806. killvar 'ml_tempsong_uploaded'
  1807. end
  1808. !! Repertoire quality decay if no practice is done
  1809. if ml_performance['set_lastpracticeday'] ! (daystart-1): repertoire_quality -= 2
  1810. --- cikl ---------------------------------