cikl.qsrc 61 KB

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