cikl.qsrc 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400
  1. # cikl
  2. !!----------------------------------------------------------------------------
  3. !! Time calculations
  4. day += 1
  5. week += 1
  6. hour -= 24
  7. if day > monthsEnd[month]:
  8. day -= monthsEnd[month]
  9. month += 1
  10. if month > 12: month = 1 & year += 1
  11. !!MJ: Dont think that one is needed. But it was in the original loop.
  12. if month < 1: month = 1
  13. $month = $monthName[month]
  14. !! new years party calculation
  15. temp = func('shortgs','dow',year,12,31)
  16. if temp < 6:
  17. nyp_day = 31
  18. elseif temp = 6:
  19. nyp_day = 30
  20. else
  21. nyp_day = 29
  22. end
  23. end
  24. !!MJ: Dont think that one is needed. But it was here already.
  25. if day <= 0:day = 1
  26. if week > 7:
  27. :loopweek
  28. week -= 7
  29. husbandrink = 0
  30. if military = 1:military = 0
  31. if week > 7:jump 'loopweek'
  32. end
  33. !!----------------------------------------------------------------------------
  34. !!Fame call to update all the fame variables
  35. gs 'fame'
  36. !!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
  37. if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
  38. if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
  39. gs 'pornschedule', 'schedule'
  40. end
  41. !!modelling job check
  42. if model_week ! (daystart - week) / 7:model_job_week = 0
  43. !!acting strings to set available jobs
  44. if casting = 1:
  45. acting_string1 = rand(10000000000,199999999999)
  46. acting_string2 = rand(10000000000,199999999999)
  47. end
  48. gs 'daystart'
  49. dynamic $hypnoDaychange
  50. !!phone reset for bf
  51. ringA = 0
  52. ringB = 0
  53. ringC = 0
  54. if home_owned[1] = 1 and ArendHouseSL <= 0: ArendHouseSL = 0 & home_owned[1] = 0
  55. if home_owned[4] > 0 and ArendHouseSL4 <= 0: ArendHouseSL4 = 0 & home_owned[4] = 0
  56. if home_owned[1] = 1: ArendHouseSL -= 1
  57. if home_owned[4] > 0: ArendHouseSL4 -= 1
  58. !!Appearance Age
  59. vidageday -= 1
  60. if vidageday <= 0:
  61. vidageday = 360
  62. vidage += 1
  63. end
  64. !!Birthday
  65. age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
  66. if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
  67. if workDolgDay > 0: workDolgDay -= 1
  68. if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
  69. if husband > 0: husbanday += 1
  70. if husband > 10 and husbanday > 0: husband -= 15
  71. if fingal > 0: fingal -= 1
  72. if husbandMark = 1 and husband <= 10:
  73. husbizvradd = 0
  74. husbharmin = 0
  75. husbandMark = 0
  76. husband = 0
  77. divorced += 1
  78. if KFOnLineReaga > 0:KFOnLineReaga -= 1
  79. '<b><font color="red">Your husband has filed for a divorce.</font></b>'
  80. end
  81. if katjaPreg = 0 and month >= 2:
  82. if school_year = 2001 and year > 2016:
  83. katjaPreg = 1
  84. elseif school_year = 2000 and year > 2017:
  85. katjaPreg = 1
  86. end
  87. end
  88. !! after having surgery you will be in recuperation for a few days
  89. if surgeryday ! '':
  90. if daystart - 7 <= surgeryday:
  91. dailyhealthimprov = (daystart - surgeryday) * 50
  92. pcs_health = dailyhealthimprov
  93. recuperation = 1
  94. else
  95. killvar 'recuperation'
  96. killvar 'dailyhealthimprov'
  97. end
  98. end
  99. !!Street events daily reset
  100. streetevent_hour = -2
  101. !!Clothing stock and price randomizers
  102. Clothingstock = rand (0,23)
  103. i = 1
  104. :loopprice
  105. Clothingstock[i] = rand (0,500)
  106. i += 1
  107. if i <= 147:jump 'loopprice'
  108. if coatH[defaultcoat] <= 0: defaultcoat = 0
  109. !!------------------------------------------------------------------------------------------------------------
  110. !! Bimbo
  111. !!------------------------------------------------------------------------------------------------------------
  112. !!A Succubus cannot be a Bimbo
  113. if succubusflag = 1 and bimbo > 0: bimbo -= succublvl * 2
  114. !!Bonus from clothing and shoes
  115. if succubusflag = 0 and $cheatBimbo ! '<b>ON</b>':
  116. if bimbocl = 1:
  117. bimbocl = 0
  118. bimbo += 2
  119. end
  120. if bimbosh = 1:
  121. bimbosh = 0
  122. bimbo += 1
  123. end
  124. else
  125. bimbocl = 0
  126. end
  127. !!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
  128. if bimbo > 0 or bimbolevel > 0:
  129. if bimbo < 10:
  130. bimbo -= 1
  131. elseif bimbo < 20:
  132. bimbolevel = 1
  133. elseif bimbo < 30:
  134. bimbolevel = 2
  135. else
  136. bimbolevel = 3
  137. end
  138. end
  139. if bimbo >= 40: bimbo = 40
  140. !!Bimbo levels. They use custom variables so they won''t permanently change character stats
  141. if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
  142. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
  143. if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 4)
  144. if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = (pcs_intel / 3)
  145. !!Succubus Level & hunger calcs
  146. if succubusflag = 1:
  147. cheatHealth = 1
  148. dynamic $cheatmenu['std_cure']
  149. !! A Succubus cannot be a Bimbo
  150. if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40
  151. !! Hunger handling
  152. if sucxpsnapshot >= succubxp: succhungry += 1
  153. sucxpsnapshot = succubxp
  154. if succubxp < 0: succubxp = 0
  155. !! Level handling
  156. if succubxp < 60:
  157. succublvl = 1
  158. $sucself1 = 'that feeling'
  159. sucstorecap = 0
  160. if bimbolevel <= 0: supnatvnesh = 1
  161. elseif succubxp < 150:
  162. succublvl = 2
  163. $sucself1 = 'the power'
  164. sucstorecap = 0
  165. if bimbolevel <= 0: supnatvnesh = 3
  166. elseif succubxp < 270:
  167. succublvl = 3
  168. $sucself1 = 'your other self'
  169. sucstorecap = 100
  170. if bimbolevel <= 0: supnatvnesh = 6
  171. else
  172. succublvl = 4
  173. $sucself1 = 'your true self'
  174. sucstorecap = 200
  175. if bimbolevel <= 0: supnatvnesh = 10
  176. end
  177. if sucskill >= 2 and succublvl >= 2: sucstorecap += 100
  178. if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10
  179. if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1)
  180. if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1)
  181. if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1)
  182. if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1)
  183. if react_muta < (succublvl - 1): react_muta = (succublvl - 1)
  184. if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1)
  185. if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1)
  186. if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1)
  187. if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2):
  188. if pcs_stren < 250: stren_exp += 20 & sucexcess -= 10
  189. if pcs_agil < 250: agil_exp += 20 & sucexcess -= 10
  190. if pcs_vital < 250: vital_exp += 20 & sucexcess -= 10
  191. if pcs_intel < 250: intel_exp += 20 & sucexcess -= 10
  192. if pcs_react < 250: react_exp += 20 & sucexcess -= 10
  193. if pcs_sprt < 250: sprt_exp += 20 & sucexcess -= 10
  194. if pcs_chrsm < 250: chrsm_exp += 20 & sucexcess -= 10
  195. if pcs_prcptn < 250: prcptn_exp += 20 & sucexcess -= 10
  196. if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10
  197. if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2
  198. !! This is to drive the Succubus vidage into the max appearance range
  199. if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4
  200. if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4
  201. if vidageday >= 720 and vidage > 28:
  202. vidageday -= 360
  203. vidage -= 1
  204. end
  205. if sucexcess > sucstorecap: sucexcess = sucstorecap
  206. elseif sucexcess < 0 and succhungry < 0:
  207. succhungry += 1
  208. if (0 - sucexcess) < (10 * succublvl):
  209. sucexcess = 0
  210. else
  211. sucexcess += (10 * succublvl)
  212. end
  213. end
  214. if sucexcess < 0: sucpowzeroed += 1
  215. if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1
  216. !! This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability
  217. if sucskill >= 4:
  218. if pcs_vag - 2 >= 13:
  219. pcs_vag -= 2
  220. elseif pcs_vag + 2 <= 13:
  221. pcs_vag += 2
  222. end
  223. if pcs_ass - 2 >= 8:
  224. pcs_ass -= 2
  225. elseif pcs_ass + 2 <= 8:
  226. pcs_ass += 2
  227. end
  228. end
  229. end
  230. !!Bimbo second half, after Succubus so changes there can be reflected here if still bimbo and Succubus
  231. !!Checks how often sex has occured in the last 24 hours and for drops in bimbo score, for calculating withdrawal
  232. if bimbolevel >= 1:
  233. bimbo += ((stat['vaginal'] + stat['bj'] + stat['anal']) - snapshotX) - 3
  234. if bimbo > snapshotY:
  235. bimbowithdrawal = 0
  236. else
  237. bimbowithdrawal += 1
  238. end
  239. end
  240. if bimbo < 0: bimbo = 0
  241. snapshotX = (stat['vaginal'] + stat['bj'] + stat['anal'])
  242. snapshotY = bimbo
  243. !!------------------------------------------------------------------------------------------------------------
  244. if defcurly = 0 and curly > 0:curly -= 1
  245. if defcurly = 1:
  246. if straight > 0: straight -= 1
  247. if straight = 0: curly = 2147483647
  248. end
  249. ! WD: Added daily reduction of braids for Maruda Hair Mod
  250. if hbraids > 0: hbraids -= 1
  251. pcs_sweat += 2
  252. if pcs_tan > 0: pcs_tan -= 1
  253. if prezikmsg = 2: prezikmsg = 3
  254. !!------------------------------------------------------------------------------------------------------------
  255. !! Birth control
  256. !!------------------------------------------------------------------------------------------------------------
  257. !! Birth Control Management variables
  258. !!
  259. !! tabletkimm : The modifier for the current mood of the MC.
  260. !! tabletkiap : Autopill factor affecting the liklihood you took your pill as you should have
  261. !! tabletkipt : Pill Dicipline Take increase
  262. !! tabletkipi : Pill Dicipline Dont take increase
  263. !! tabletkicpd : Current MC Pill Dicipline
  264. !! tabletkichday : Current day that the Birth Control is being evaluated for
  265. !! tabletkicheck : If the birth control is automatically handled
  266. !! tabletki : How many packages of Birth Control Pills there are
  267. !! tabletkiold : Total number packages of expired pills
  268. !! tabletkifake : Total number packages of fake/counterfeit pills
  269. !! tabletkirej : Total number packages of factory rejected pills
  270. !! tabletkifert : Total number packages of subsituted fertility pills
  271. !! tabletkisug : Total number packages of sugar pills
  272. !! pillsleft : Total number packages of pills in current package
  273. !! tabletkishot : The flag for being on the Birth Control shot.
  274. !! pillcon : The number for the current birth control chemical level.
  275. !! pilldays : The number of consecutive days (you believe) you have taken your pill
  276. if Luth > (LutH_Max-75) and placebopart <= 0: placebopart = 8
  277. placebopart -= 1
  278. if tabletkishot <= 0: pillcon -= 1000 & pillcon2 -= 1000
  279. if pillcon < 0: pillcon = 0
  280. if pillcon2 < 0: pillcon2 = 0
  281. if tabletkicheck = 2:
  282. if tabletkishot ! 0:
  283. !!cycle = 1
  284. mesec = 0
  285. if rand(0,1000) = 1000:
  286. EggRH = rand(20,80)
  287. else
  288. EggRH = 0
  289. end
  290. FocH = EggRH
  291. end
  292. if tabletkishot <= 0:
  293. pillcon -= 29000
  294. pillcon2 -= 29000
  295. if tabletkishot < 0: tabletkishot = 0
  296. end
  297. if shotdays = -8:
  298. tabletkicheck = 0
  299. shotdue = 0
  300. 'Your birth control shot is no longer protecting you.'
  301. elseif shotdays <= 0:
  302. if shotdays = 0:
  303. shotdue = 7
  304. else
  305. shotdue -= 1
  306. end
  307. 'The chemicals regulating your fertility cycle are wearing off, you need to get your shot in <<shotdue>> days.'
  308. elseif shotdays > 1 and shotdays < 5:
  309. 'You are due for a birth control shot soon if you do not get one, you might get pregnant.'
  310. elseif shotdays = 1:
  311. 'Your birth control shot is due for renewal tomorrow.'
  312. end
  313. if shotdays > -100:shotdays -=1
  314. if tabletkishot > 0:tabletkishot -= 1
  315. end
  316. tabletkipd += tabletkipi
  317. tabletkipi = 0
  318. tabletkipt = 0
  319. if tabletkicheck = 1:
  320. if tabletki = 0 and pillsleft[ptype] = 0:
  321. tabletkicheck = 0
  322. 'You are out of birth control pills.'
  323. tabletkipi = -5
  324. elseif tabletki = 0 and pillsleft[ptype] = 28:
  325. 'You have just opened your last package of birth control pills. You need to buy more.'
  326. elseif tabletki = 0 and pillsleft[ptype] <= 5:
  327. 'You are running out of birth control pills, you only have a few left.'
  328. end
  329. end
  330. if tabletkicheck = 1 and tabletkichday < daystart:
  331. tabletkichday = daystart
  332. tabletkimm = (100*(pcs_willpwr / willpowermax)) + pcs_mood
  333. if pcs_sleep < 10:
  334. tabletkimm -= (100- (pcs_sleep * 10))
  335. end
  336. if pcs_willpwr < willpowermax / 4:
  337. tabletkimm = tabletkimm / 4
  338. elseif pcs_mood < 10:
  339. tabletkimm = tabletkimm / 2
  340. end
  341. tabletkiap = tabletkimm
  342. tabletkiap += (pcs_intel * 4) + (pcs_sprt * 2) + (age * 3)
  343. tabletkiap -= ((kid * 30) + (abort * 2) - (tabletkipd * ((60 - age) / 10)))
  344. temprand = rand(0,(200 + (tabletkimm - ((100 - pcs_sprt) * 3))))
  345. tabletkiap += temprand
  346. if tabletkiap < 300:
  347. if tabletkipd > -10:
  348. if pcs_willpwr < willpowermax / 4:
  349. pilldaychk = 0
  350. '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.'
  351. elseif pcs_mood < 10:
  352. pilldaychk = 0
  353. 'You stare at your package of birth control pills, but you don''t open it.'
  354. elseif pcs_sleep < 10:
  355. pilldaychk = 0
  356. 'You fumble with your birth control pills, trying to get a pill out. You finally give up too tired to manage it.'
  357. else
  358. pilldaychk = 0
  359. 'You just realized you forgot to take your birth control pill today.'
  360. end
  361. end
  362. tabletkipt = 2
  363. tabletkipi = -4
  364. else
  365. if tabletkiap < 350:
  366. temprand = rand(0,5)
  367. else
  368. temprand = rand(0,1000)
  369. end
  370. if temprand = 0:
  371. temprand = rand(0,1)
  372. if temprand = 0:
  373. gs 'din_bad','takepill'
  374. tabletkipt = -2
  375. tabletkipi = 1
  376. else
  377. tabletkipt = 3
  378. tabletkipi = -3
  379. end
  380. if tabletkipd > -10:
  381. pilldaychk = 0
  382. 'You find yourself holding the bottle of birth control pills, you cannot remember if you took one or not.'
  383. end
  384. if tabletkipd > 0:
  385. if rand(0,9) = 0:
  386. if tabletkipt < 0:
  387. pilldaychk = 0
  388. 'You don''t think you have taken your pill today.'
  389. else
  390. pilldaychk = 1
  391. 'You think you have taken your pill today.'
  392. end
  393. else
  394. if tabletkipt > 0:
  395. pilldaychk = 0
  396. 'You don''t think you have taken your pill today.'
  397. else
  398. pilldaychk = 1
  399. 'You think you have taken your pill today.'
  400. end
  401. end
  402. end
  403. else
  404. 'You take your birth control pill for the day.'
  405. pilldaychk = 1
  406. gs 'din_bad','takepill'
  407. if rand(0,7) = 0 and tabletkiday >= (daystart - 1): tabletkipd += 1
  408. tabletkiday = daystart
  409. tabletkipt = 0
  410. tabletkipi = 0
  411. end
  412. end
  413. elseif tabletkicheck = 0:
  414. if tabletkiday >= (daystart - 1) and tabletkipt = 0 and rand(0,7) = 0: tabletkipt = 1
  415. if pillcon > 0 and tabletkipi = 0 and rand(0,3) = 0 and (tabletkiday + 15) > daystart = 0: tabletkipi = -1
  416. end
  417. if pilldaychk = 1:
  418. pilldays += 1
  419. else
  420. pilldays -= 1
  421. end
  422. pilldaychk = 0
  423. if pilldays > 18: pilldays = 18
  424. if pilldays < 0: pilldays = 0
  425. !!
  426. $MenCal[] = $str(cycle)
  427. if ArrSize('$MenCal') = 60: killvar '$MenCal',0
  428. !!------------------------------------------------------------------------------------------------------------
  429. if lashair ! 1:
  430. pcs_leghair += 1
  431. pcs_pubes += 1
  432. end
  433. if age < 18 and rand (0,2) = 0 and pcs_leghair > 0: pcs_leghair -= 1
  434. if pcs_breath = 1:pcs_breath = 0
  435. if cheatNoEat = 1 and dounspell = 1:fat += 15
  436. !!STD check
  437. if SifacOnce = 1:Sifilis += 1
  438. if GerpesOnce = 1:Gerpes += 1
  439. if TriperOnce = 1:
  440. if Triper > 0:
  441. Triper += 1
  442. end
  443. if TriperOral > 0:
  444. TriperOral += 1
  445. end
  446. If TriperOral > 14 and TriperNapr = 0:
  447. if rand(TriperOral,100) > 80:
  448. TriperOral = 0
  449. if Triper = 0:TriperOnce = 0
  450. TriperOralSigns = 0
  451. end
  452. end
  453. end
  454. if KandidozOnce = 1:Kandidoz += 1
  455. VeneraN = 0
  456. if VeneraOnce > 0:VeneraOnce = 0
  457. if SifacOnce = 1:VeneraN += 1
  458. if GerpesOnce = 1:VeneraN += 1
  459. if TriperOnce = 1:VeneraN += 1
  460. Venera = VeneraN
  461. if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
  462. if anusK < 0:anusK = 0
  463. if anusK < ashrinkdays:anusK += 1
  464. if anusK >= ashrinkdays:pcs_ass -= ashrink & anusK = 0
  465. if pcs_ass < 0: pcs_ass = 0
  466. end
  467. if pcs_vag > 10 and vshrink > 0:
  468. if vaginaK < 0:vaginaK = 0
  469. if vaginaK < vshrinkdays:vaginaK += 1
  470. if vaginaK >= vshrinkdays:vaginaK = 0 & pcs_vag -= vshrink
  471. end
  472. lipkoef -= rand(0,1)
  473. if lipkoef <= 0: lipkoef = 0
  474. if Enable_autotampon = 0 and isprok = 1:isprok = 0 & 'You threw away your used tampon.'
  475. if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
  476. if preg = 1:
  477. pregtime = pregchem / 24
  478. if pregtimes = 0:pregtimes = 1
  479. elseif preg = 2 and pregminut < totminut:
  480. if Enable_nogameover = 0 :
  481. cla
  482. *clr
  483. over = 4
  484. MSG '<center><b>A horrible pain shoots through your body.</b></center>'
  485. xgt 'gameover'
  486. exit
  487. else
  488. MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
  489. pregminut = totminut + 1440
  490. end
  491. elseif preg = 0:
  492. KILLVAR 'pregTalkBrother'
  493. KILLVAR 'pregTalkSister'
  494. KILLVAR 'pregTalkFather'
  495. !{KILLVAR 'pregTalkFamily' -- Do not kill this (Abortion talk).}
  496. KILLVAR 'pregTalkMom'
  497. KILLVAR 'pregTalk'
  498. KILLVAR 'pregTalkNat'
  499. KILLVAR 'pregTalkKatja'
  500. KILLVAR 'pregTalkAlbina'
  501. KILLVAR 'pregTalkPC'
  502. KILLVAR 'pregTalkStarlets'
  503. KILLVAR 'pregTalkvball'
  504. KILLVAR 'pregTalkTrack'
  505. killvar 'pregtalkStarlets'
  506. killvar 'pregtalkvball'
  507. killvar 'pregtime'
  508. killvar 'knowpreg'
  509. killvar 'denypreg'
  510. killvar '$wombthfath'
  511. end
  512. !!------------------------------------------------------------------------------------------------------------
  513. !! Arousal
  514. !!------------------------------------------------------------------------------------------------------------
  515. if magikDostup = 0:
  516. if pcs_horny < 100:pcs_horny += pcs_vag
  517. else
  518. if pcs_vag = 0:
  519. razeba = 0
  520. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
  521. if pcs_horny > 50:pcs_horny -= 25
  522. elseif pcs_vag > 0:
  523. if pregtimes = 0:
  524. if age < 18:
  525. razeba = 1
  526. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
  527. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
  528. if pcs_horny >= 80:pcs_horny -= 20
  529. elseif age >= 18 and age < 21:
  530. razeba = 2
  531. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
  532. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
  533. if pcs_horny >= 80:pcs_horny -= 10
  534. elseif age >= 21 and age < 25:
  535. razeba = 3
  536. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
  537. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
  538. if pcs_horny >= 80:pcs_horny -= 5
  539. elseif age >= 25 and age < 30:
  540. razeba = 4
  541. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
  542. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
  543. if pcs_horny >= 80:pcs_horny -= 5
  544. elseif age >= 30:
  545. razeba = 5
  546. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  547. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  548. if pcs_horny >= 80:pcs_horny += 1
  549. end
  550. elseif pregtimes > 0:
  551. if preg = 0:
  552. razeba = 5
  553. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  554. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  555. if pcs_horny >= 80:pcs_horny += 1
  556. elseif preg > 0:
  557. razeba = 6
  558. if pcs_horny < 100:pcs_horny += pregtime / 10
  559. end
  560. end
  561. end
  562. end
  563. if pcs_horny < 0:pcs_horny = 0
  564. !!------------------------------------------------------------------------------------------------------------
  565. !!Exhibitionism
  566. if exhibition_outdoors > 0:
  567. if pcs_inhib > 90:
  568. exhibition_outdoors = exhibition_outdoors * 3
  569. elseif pcs_inhib > 75:
  570. exhibition_outdoors = exhibition_outdoors * 5 / 2
  571. elseif pcs_inhib > 60:
  572. exhibition_outdoors = exhibition_outdoors * 2
  573. elseif pcs_inhib > 30:
  574. exhibition_outdoors = exhibition_outdoors * 3 / 2
  575. end
  576. if exhibition_outdoors <= 5:
  577. inhib_exp += rand(3,6)
  578. elseif exhibition_outdoors <= 10:
  579. inhib_exp += rand(5,9)
  580. elseif exhibition_outdoors <= 15:
  581. inhib_exp += rand(7,12)
  582. elseif exhibition_outdoors <= 20:
  583. inhib_exp += rand(9,15)
  584. elseif exhibition_outdoors <= 25:
  585. inhib_exp += rand(12,20)
  586. elseif exhibition_outdoors <= 30:
  587. inhib_exp += rand(16,25)
  588. elseif exhibition_outdoors <= 35:
  589. inhib_exp += rand(20,30)
  590. elseif exhibition_outdoors <= 40:
  591. inhib_exp += rand(25,40)
  592. elseif exhibition_outdoors <= 50:
  593. inhib_exp += rand(35,50)
  594. elseif exhibition_outdoors <= 65:
  595. inhib_exp += rand(50,75)
  596. else
  597. inhib_exp += rand(70,100)
  598. end
  599. end
  600. exhibition_outdoors = 0
  601. !counter for Dimka avoidance
  602. if dimaFilm = 1 and dimaRudeBlock = 0:
  603. nodimkaK += 1
  604. DimkaWarnedToday = 0
  605. end
  606. !!------------------------------------------------------------------------------------------------------------
  607. !!Fame degradation
  608. gs 'fame', 'deg'
  609. !!Traits
  610. gs 'traits', 'overnight'
  611. !!------------------------------------------------------------------------------------------------------------
  612. !! Maruda hair mod
  613. !!------------------------------------------------------------------------------------------------------------
  614. !! Max. Hair length 600mm, or 60cm, which should be somewhere in the lower back area.
  615. !! Hair grows 1mm each day, it takes 20 months (1 month = 30 days) to regrow the hair from 0.
  616. if pcs_hairlng < 1001 and hairgrowcht = 0:pcs_hairlng += 1
  617. if pcs_haircol ! nathcol:
  618. dyefade -=1
  619. if dyefade < 0: dyefade = 0
  620. if dyefade > 0 and dyefade < 7: dyevmod = 5
  621. if dyefade = 0: dyevmod = 15
  622. end
  623. if hscrunch > 0:
  624. hscrunchrand = rand(1, 100)
  625. if hscrunchrand <= 8:hscrunch -= 1
  626. end
  627. !!------------------------------------------------------------------------------------------------------------
  628. !! Clothing wear and tear
  629. gs 'starenie'
  630. if nark > 60:
  631. nark = 60
  632. elseif nark > 30:
  633. nark -= 3
  634. elseif nark > 0:
  635. nark -= 1
  636. end
  637. if pregtime > 10:fat += 1
  638. !!------------------------------------------------------------------------------------------------------------
  639. !! Pain
  640. !!------------------------------------------------------------------------------------------------------------
  641. if pain['head'] > 0:pain['head'] -= rand(1,3)
  642. if pain['hair'] > 0:pain['hair'] -= rand(1,3)
  643. if pain['ears'] > 0:pain['ears'] -= rand(1,3)
  644. if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
  645. if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
  646. if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
  647. if pain['nose'] > 0:pain['nose'] -= rand(1,3)
  648. if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
  649. if pain['lips'] > 0:pain['lips'] -= rand(1,3)
  650. if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
  651. if pain['throat'] > 0:pain['throat'] -= rand(1,3)
  652. if pain['neck'] > 0:pain['neck'] -= rand(1,3)
  653. if pain['back'] > 0:pain['back'] -= rand(1,3)
  654. if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
  655. if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
  656. if pain['hips'] > 0:pain['hips'] -= rand(1,3)
  657. if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
  658. if pain['legL'] > 0:pain['legL'] -= rand(1,3)
  659. if pain['legR'] > 0:pain['legR'] -= rand(1,3)
  660. if pain['feet'] > 0:pain['feet'] -= rand(1,3)
  661. if pain['toes'] > 0:pain['toes'] -= rand(1,3)
  662. if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
  663. if pain['armL'] > 0:pain['armL'] -= rand(1,3)
  664. if pain['armR'] > 0:pain['armR'] -= rand(1,3)
  665. if pain['hands'] > 0:pain['hands'] -= rand(1,3)
  666. if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
  667. if pain['chest'] > 0:pain['chest'] -= rand(1,3)
  668. if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
  669. if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
  670. if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
  671. if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
  672. if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
  673. if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
  674. if pain['labia'] > 0:pain['labia'] -= rand(1,3)
  675. if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
  676. if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
  677. if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
  678. if painpub = 2:
  679. if painpubday + 5 < daystart:
  680. $painpub = 'Your vulva is painfully sore.'
  681. painpub = 1
  682. painpubday = daystart
  683. elseif painpubday + 5 >= daystart:
  684. $painpub = 'Your vulva is painfully sore.'
  685. end
  686. elseif painpub = 1:
  687. if painpubday + 5 < daystart:
  688. $painpub = ''
  689. painpub = 0
  690. painpubday = daystart
  691. elseif painpubday + 5 >= daystart:
  692. $painpub = 'Your vulva is a little sore.'
  693. end
  694. end
  695. !!---- Calculation of lash extension degradation and false lash removal
  696. if pcs_lashes > 2:
  697. if lashextensionstyle >= 1:
  698. lashextensionduration -= 1
  699. if lashextensionduration >= 1 and lashextensionduration <= 4:
  700. '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.'
  701. end
  702. if lashextensionduration <= 0:
  703. 'You waited too long to do maintenance on your lash extensions; there''s too little there to notice or work with at this point.'
  704. pcs_lashes = pcs_naturallashes
  705. killvar 'lashextensionstyle'
  706. killvar 'lashextensionduration'
  707. killvar 'lashextensionnew'
  708. end
  709. end
  710. if false_lashes > 0:
  711. false_lashes -= 1
  712. if false_lashes = 0:
  713. 'Your false lashes came off in the night; there''s no recovering them now.'
  714. pcs_lashes = pcs_naturallashes
  715. else
  716. 'Somehow, your lashes managed to stay attached throughout the night. You might be able to get away with wearing them another day straight.'
  717. end
  718. end
  719. end
  720. prezikProver += 1
  721. if pirs_pain_ton > 0:pirs_pain_ton -= 1
  722. if shorthair = 1:
  723. shorthairday += 1
  724. if shorthairday >= 45:shorthairday = 0 & shorthair = 0
  725. end
  726. !!------------------------------------------------------------------------------------------------------------
  727. if KatjaOTN > 0:
  728. if KatjaHorny > 0 and KatjaLust < 40:KatjaHorny -= rand(1, 3)
  729. if KatjaLust >= 40:KatjaHorny += rand(1, 3)
  730. if KatjaHorny < 0:KatjaHorny = 0
  731. if KatjaHorny >= 100:KatjaHorny = 0 & KatjaMastr += 1 & KatjaLust += 1
  732. end
  733. if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1
  734. !!Counter for dimka/igor date
  735. if igor_DimaNos = 2 or igor_DimaNos = 3: $igor_DimaNos_day += 1
  736. !!------------------------------------------------------------------------------------------------------------
  737. !! Generation
  738. !!------------------------------------------------------------------------------------------------------------
  739. if NPCnum < 290:
  740. NPCnow = NPCnum
  741. NPCnum += rand(1, 3)
  742. gs 'npc'
  743. elseif NPCnum < 300:
  744. NPCnow = NPCnum
  745. NPCnum += 1
  746. gs 'npc'
  747. end
  748. !!------------------------------------------------------------------------------------------------------------
  749. if kanikuli = 0:pcs_grades -= 1
  750. dmishaevent = 0
  751. if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
  752. if GspravkaT = 1:Gspravka -= 1
  753. if IvanPodstavaQW = 2 and PodpiskaNeviezd = 30:IvanPodstavaQW = 3
  754. if IvanPodstavaQW = 2 and PodpiskaNeviezd > 0 and PodpiskaNeviezd < 30:PodpiskaNeviezd += 1
  755. gs 'stat_sklattrib', 'daycall'
  756. if dounspell = 1:
  757. if strenbuf > 90:
  758. strenbuf -= 2
  759. elseif strenbuf > 80:
  760. strenbuf -= 1
  761. end
  762. if vitalbuf > 90:
  763. vitalbuf -= 2
  764. elseif vitalbuf > 80:
  765. vitalbuf -= 1
  766. end
  767. if strenbuf > pcs_stren: strenbuf -= 1
  768. if strenbuf < pcs_stren: strenbuf += 1
  769. if vitalbuf > pcs_vital: vitalbuf -= 1
  770. if vitalbuf < pcs_vital: vitalbuf += 1
  771. if agilbuf > pcs_agil: agilbuf -= 1
  772. if agilbuf < pcs_agil: agilbuf += 1
  773. else
  774. gs 'body_shape'
  775. end
  776. if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
  777. !!Pussy_Kats job settings
  778. inWorkYoungShop = 0
  779. if week = 1 and young_shop_work = 100: young_shop_work = 1
  780. if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
  781. if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
  782. husbandsexday = 0
  783. borsexkol = 0
  784. givisexday = 0
  785. if shantsr > 0:
  786. pay = shantsr * 5000
  787. karta += pay
  788. shantsr = 0
  789. end
  790. if shantbog > 0:
  791. :shantftb
  792. shantftbgrand = rand(0, 10)
  793. if shantftbgrand > 2:
  794. shantpopala += 1
  795. shantbog -= 1
  796. if shantbog > 0:jump 'shantftb'
  797. elseif shantftbgrand <= 2:
  798. karta += 30000
  799. shantbog -= 1
  800. if shantbog > 0:jump 'shantftb'
  801. end
  802. end
  803. petersexday = 0
  804. klismaday1 = 0
  805. !! Resetting relationships that go over the max
  806. :toptemprel
  807. if temprel < 250:
  808. temprel +=1
  809. if npc_rel['A'+'<<temprel>>'] > 100:npc_rel['A'+'<<temprel>>'] = 100
  810. jump 'toptemprel'
  811. end
  812. killvar 'temprel'
  813. !!------------------------------------------------------------------------------------------------------------
  814. !! Banking
  815. !!------------------------------------------------------------------------------------------------------------
  816. !!MJ: Add some (daily) interest to the bank account.
  817. !!Not very realistic but won''t make anyone too rich.
  818. if bankAccount = 1:
  819. kartatotal = karta
  820. :kartaloop
  821. if kartatotal > 20000000:
  822. kartacount += 1
  823. largekarta[kartacount] = 20000000
  824. kartatotal -= 20000000
  825. jump 'kartaloop'
  826. else
  827. largekarta[0] = kartatotal
  828. end
  829. if karta >= 2000000:
  830. !! yearly interest of 2.3% recalculated into daily interest = 0.006% daily
  831. intrate = 60
  832. elseif karta >= 0:
  833. !! yearly interest of 1.15% recalculated into daily interest = 0.003% daily
  834. intrate = 30
  835. else
  836. !! yearly overdraft interest of 20% recalculated into daily interest = 0.055% daily
  837. intrate = 550
  838. end
  839. :intloop
  840. if kartacount > 0:
  841. smallmoneypos += (largekarta[kartacount] * intrate)
  842. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000: karta += smallmoneypos / 1000000 & smallmoneypos = smallmoneypos mod 1000000
  843. largekarta[kartacount] = 0
  844. kartacount -= 1
  845. jump 'intloop'
  846. else
  847. smallmoneypos += (largekarta[0] * intrate)
  848. largekarta[0] = 0
  849. if kartacount ! 0: kartacount = 0
  850. end
  851. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000:
  852. karta += smallmoneypos / 1000000
  853. smallmoneypos = smallmoneypos mod 1000000
  854. end
  855. if atmDeposit > 0 and atmDepositDate <= daystart:
  856. karta += atmDeposit
  857. atmDeposit = 0
  858. end
  859. end
  860. !!------------------------------------------------------------------------------------------------------------
  861. !! Payments
  862. !!------------------------------------------------------------------------------------------------------------
  863. if day = 25:
  864. !! meynold payment
  865. if mey_vika_qw >= 35 and mey_tamara_help_count >= 10 and mey_tamara_qw_end = 0:
  866. money += 5000
  867. '<b><font color=green>For your efforts aunt Tamara gave you 5,000 rubles</font></b>'
  868. mey_tamara_help_count = 0
  869. end
  870. if PersSecWork = 1 and PersSecWorkTimes > 0 and paydaybistrosec = 0:
  871. Pay = PersSecWorkTimes * 1250
  872. PersSecWorkTimes = 0
  873. karta += Pay
  874. paydaybistrosec = 1
  875. '<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>'
  876. end
  877. if workKafe = 1 and paydayKafe = 0:
  878. paydayKafe = 1
  879. pay = smenaKafe * 600
  880. karta += pay
  881. smenaKafe = 0
  882. '<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>'
  883. end
  884. if workhosp = 1 and nopaypoly = 0:
  885. pay = smena * 1000
  886. karta += pay
  887. smena = 0
  888. nopaypoly = 1
  889. '<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>'
  890. end
  891. if worksalon = 1 and nopaysalon = 0:
  892. pay = smenaSalon * 1560
  893. karta += pay
  894. smenaSalon = 0
  895. nopaysalon = 1
  896. '<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>'
  897. end
  898. if tanwork = 1 and nopaytanwork = 0:
  899. nopaytanwork = 1
  900. karta += 10000
  901. '<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>'
  902. end
  903. if workSec = 1 and paydaySec = 0:
  904. paydaySec = 1
  905. pay = sekDay * 800
  906. if officebestslut >= 3:pay += 10000
  907. karta += pay
  908. sekDay = 0
  909. '<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>'
  910. end
  911. if workFabrika = 1:
  912. pay = smenaFabrika * 420
  913. smenaFabrika = 0
  914. karta += pay
  915. '<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>'
  916. end
  917. if husband > 0 and paydayHusb = 0:
  918. paydayHusb = 1
  919. if husbFin = 0:huspay = 20000
  920. if husbFin = 1:huspay = 30000
  921. if husbFin = 2:huspay = 40000
  922. karta += huspay
  923. '<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
  924. end
  925. if stipuha = 1 and stipuhaday = 0:stipuhaday = 1 & karta += 1200 & '<b><font color="green">You have received 1,200 <b>₽</b> scholarship.</font></b>'
  926. if haday = 0:
  927. gs 'housing', 'rent'
  928. ! Rent for the city apartment
  929. if home_owned[1] = 1:
  930. if ArendHouseSL < 31:
  931. !From bank
  932. if bankAccount = 1 and karta >= home_rent[1]:
  933. '<b><font color="yellow">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account.</font></b>'
  934. haday = 1
  935. karta -= home_rent[1]
  936. ArendHouseSL += ArendHouseSL_due
  937. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[1]:
  938. '<b><font color="yellow">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>'
  939. haday = 1
  940. karta -= home_rent[1]
  941. ArendHouseSL += ArendHouseSL_due
  942. elseif bankAccount = 0:
  943. '<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>'
  944. else
  945. nl
  946. '<b><b><font color="red">You''re 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>'
  947. end
  948. elseif home_owned[1] = 1 and ArendHouseSL >= 31:
  949. '<b><font color="yellow">Your rent for your city apartment is already paid in full for this month.</font></b>'
  950. haday = 1
  951. end
  952. end
  953. ! Rent for the Pushkin apartment
  954. if home_owned[4] > 0:
  955. if ArendHouseSL4 < 31:
  956. !From bank
  957. if bankAccount = 1 and karta >= home_rent[4] and ArendHouseSL4 <= 30:
  958. '<b><font color="yellow">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account.</font></b>'
  959. haday = 1
  960. karta -= home_rent[4]
  961. ArendHouseSL4 += ArendHouseSL4_due
  962. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[4] and ArendHouseSL4 <= 30:
  963. '<b><font color="yellow">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>'
  964. haday = 1
  965. karta -= home_rent[4]
  966. ArendHouseSL4 += ArendHouseSL4_due
  967. elseif bankAccount = 0 and ArendHouseSL4 <= 30:
  968. '<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>'
  969. else
  970. nl
  971. '<b><b><font color="red">You''re 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>'
  972. end
  973. elseif home_owned[4] > 0 and ArendHouseSL4 >= 31:
  974. '<b><font color="yellow">Your rent for your Pushkin apartment is already paid in full this month.</font></b>'
  975. haday = 1
  976. end
  977. end
  978. end
  979. ! Utilities for all apartments.
  980. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 0:
  981. gs 'housing', 'util'
  982. if bankAccount = 1 and karta >= elektro:
  983. '<b><font color="yellow"> <<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account.</font></b>'
  984. electroday = 1
  985. if elektro >= 2000:
  986. elektro = 2000 + rand(0, 100)
  987. karta -= elektro * hcount_util
  988. end
  989. elseif bankAccount = 1 and karta + bankDebtLimit >= elektro:
  990. '<b><font color="yellow"> <<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account and overdraw facility. Please contact your bank.</font></b>'
  991. electroday = 1
  992. if elektro >= 2000:
  993. elektro = 2000 + rand(0, 100)
  994. karta -= elektro * hcount_util
  995. end
  996. elseif bankAccount = 0 and money >= elektro:
  997. '<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>'
  998. electroday = 1
  999. if elektro >= 2000:
  1000. elektro = 2000 + rand(0, 100)
  1001. money -= elektro * hcount_util
  1002. end
  1003. else
  1004. '<b><font color="red">You''re card was declined during automatic debit of <<elektro>> <b>₽</b>, for automatic utilities payment.</font></b>'
  1005. end
  1006. end
  1007. ! Cable for all apartments
  1008. if kabel > 0 and kabelday = 0:
  1009. gs 'housing', 'cable'
  1010. if bankAccount = 1 and karta >= (300 * hcount_cable):
  1011. '<b><font color="yellow">300 <b>₽</b> has been deducted from your bank account, for you cable TV subscription.</font></b>'
  1012. kabelday = 1
  1013. karta -= 300 * hcount_cable
  1014. '<b><font color="red">You''re card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
  1015. elseif bankAccount = 1 and karta + bankDebtLimit >= (300 * hcount_cable):
  1016. '<b><font color="yellow">300 <b>₽</b> has been deducted from your bank account and overdraw facility, for you cable TV subscription.</font></b>'
  1017. kabelday = 1
  1018. karta -= 300 * hcount_cable
  1019. elseif bankAccount = 0 and money >= (300 * hcount_cable):
  1020. '<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>'
  1021. kabelday = 1
  1022. money -= 300 * hcount_cable
  1023. else
  1024. '<b><font color="red">You''re card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
  1025. end
  1026. end
  1027. end
  1028. if day ! 25:
  1029. if paydayHusb = 1:paydayHusb = 0
  1030. if workKafe = 1 and paydayKafe = 1:paydayKafe = 0
  1031. if workSec = 1 and paydaySec = 1:paydaySec = 0
  1032. if (home_owned[1] = 1 or home_owned[4] > 0) and haday = 1:haday = 0
  1033. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 1:electroday = 0
  1034. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 3) and kabel > 0 and kabelday = 1:kabelday = 0
  1035. if stipuhaday = 1:stipuhaday = 0
  1036. if nopaytanwork = 1:nopaytanwork = 0
  1037. if nopaypoly = 1:nopaypoly = 0
  1038. if nopaysalon = 1:nopaysalon = 0
  1039. if paydaybistrosec = 1:paydaybistrosec = 0
  1040. end
  1041. if sdaday = day and sdamonth = month and home_owned[1] = 0:
  1042. home_owned[1] = 2
  1043. '<b><font color="red">Your tenants have moved out and your apartment is now vacant.</font></b>'
  1044. !msg 'Your tenants have moved out and your apartment is now vacant.'
  1045. end
  1046. !!------------------------------------------------------------------------------------------------------------
  1047. killvar 'holyday'
  1048. killvar 'kanikuli'
  1049. !!sisboyparty
  1050. !!-1 - don''t go to the party
  1051. !!0 - don''t know about parties
  1052. !!1 - knows about the parties
  1053. !!2 - agreed to go to the party
  1054. !!3 - Missed the party
  1055. if storyline = 1:
  1056. !!Party refresh if you didn''t see sis
  1057. if week = 1 and sisboyparty ! 2:
  1058. if sisboyparty = -1: sisboyparty = 1
  1059. if sisboypartyQW >= 2 and sisboyparty > 0:
  1060. sisboyparty_day = daystart + rand(3,5)
  1061. end
  1062. end
  1063. if sisboyparty = 2 and sisboyparty_day + 1 < daystart: sisboyparty = 3
  1064. !!missed graduation
  1065. if month = 5 and day = 26:
  1066. if school_year = 2001 and year = 2018 and kanikuli ! 7:
  1067. grad_miss = daystart + 1
  1068. elseif school_year = 2000 and year = 2017 and kanikuli ! 7:
  1069. grad_miss = daystart + 1
  1070. end
  1071. end
  1072. if SchoolAtestat = 0:
  1073. if month = 12 and day > 25:
  1074. if day < 31:
  1075. $holyday = '<b>Winter Break in <<32-day>> days.</b>'
  1076. else
  1077. $holyday = '<b>Winter Break starts tomorrow.</b>'
  1078. end
  1079. elseif month = 1 and day <= 15:
  1080. kanikuli = 2
  1081. if day < 13:
  1082. $holyday = '<b>Winter Break.</b>'
  1083. elseif day < 15:
  1084. $holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
  1085. else
  1086. $holyday = '<b>Last day of Winter Break.</b>'
  1087. end
  1088. elseif month = 3 and day > 13:
  1089. if day < 19:
  1090. $holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
  1091. elseif day = 19:
  1092. $holyday = '<b>Spring Break starts tomorrow.</b>'
  1093. elseif day >= 20 and day <= 26:
  1094. kanikuli = 3
  1095. if day < 24:
  1096. $holyday = '<b>Spring Break.</b>'
  1097. elseif day < 26:
  1098. $holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
  1099. else
  1100. $holyday = '<b>Last day of Spring Break.</b>'
  1101. end
  1102. end
  1103. elseif month = 5:
  1104. if ( (school_year = 2000 and year = 2017) or (school_year = 2001 and year = 2018) ) and day >= 19 and day <= 25:
  1105. if day = 25:
  1106. kanikuli = 6
  1107. $holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
  1108. elseif day = 24:
  1109. $holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
  1110. else
  1111. $holyday = '<b>Your graduation is in <<26-day>> days.</b>'
  1112. end
  1113. elseif day >= 25:
  1114. if day = 31:
  1115. $holyday = '<b>Summer Break starts tomorrow.</b>'
  1116. else
  1117. $holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
  1118. end
  1119. end
  1120. elseif month = 6 or month = 7 or month = 8:
  1121. kanikuli = 4
  1122. if month = 8 and day >= 25:
  1123. if day = 31:
  1124. $holyday = '<b>Last day of Summer Break.</b>'
  1125. else
  1126. $holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
  1127. end
  1128. else
  1129. $holyday = '<b>Summer Break.</b>'
  1130. end
  1131. elseif month = 10 and day >= 29:
  1132. $holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
  1133. elseif month = 11:
  1134. if day < 3:
  1135. $holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
  1136. elseif day = 3:
  1137. $holyday = '<b>Autumn Break starts tomorrow.</b>'
  1138. elseif day < 6:
  1139. kanikuli = 1
  1140. $holyday = '<b>Autumn Break.</b>'
  1141. elseif day < 11:
  1142. kanikuli = 1
  1143. $holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
  1144. elseif day = 11:
  1145. kanikuli = 1
  1146. $holyday = '<b>Last day of Autumn Break.</b>'
  1147. end
  1148. end
  1149. end
  1150. !!Brother''s dick growth as he gets older
  1151. kolka_dick_month = daystart/30
  1152. if kolka_dick_month > daystart/30 and npc_dick['A34'] < 26: npc_dick['A34'] += 1
  1153. if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
  1154. $npc_thdick['A34'] = 'well proportioned'
  1155. elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:
  1156. $npc_thdick['A34'] = 'thick'
  1157. end
  1158. end
  1159. killvar 'natholi'
  1160. if month = 1 and day >= 1 and day <= 8:
  1161. $natholi = 'New Year holidays'
  1162. natholi = 1
  1163. if day = 1:$natholi += ', New Year'
  1164. if day = 7:$natholi += ', Christmas'
  1165. end
  1166. if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
  1167. if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
  1168. if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
  1169. if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
  1170. if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
  1171. if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
  1172. if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
  1173. if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
  1174. if natholi = 1:
  1175. if $holyday ! '': $holyday += '<br>'
  1176. $holiday += $natholi
  1177. end
  1178. if bcream_used >= 1:
  1179. bcream_used = 0
  1180. temp = rand(0,5)
  1181. nbsize += temp
  1182. if temp > 0:'Feels like your breasts have grown slightly.'
  1183. end
  1184. if steroid_dose >= 1:
  1185. if lashair < 1:
  1186. pcs_pubes += steroid_dose
  1187. pcs_leghair += steroid_dose
  1188. end
  1189. steroid_dose = 0
  1190. end
  1191. if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
  1192. if aphrodisiac_timer ! 0:aphrodisiac_timer = 0
  1193. if mentats_dose = 1:
  1194. mentats_dose = 0
  1195. elseif mentats_dose > 1:
  1196. pain['head'] += 20 * mentats_dose
  1197. mentats_dose = 0
  1198. end
  1199. if breastpumped = 0 and breastcount > 0: breastcount -= 1
  1200. if breastpumped = 1: breastpumped = 0
  1201. !!Appearance base calculation call
  1202. gs 'body_shape', 'basebeautycalc'
  1203. !! vovan, from 1.2.5
  1204. hanters_check = 0
  1205. mushroom_pickers = 0
  1206. horse_river = 0
  1207. haying_time = 0
  1208. mira_go_river = 0
  1209. forestpicnic = 0
  1210. if Mira_no > 0: Mira_no -= 1
  1211. if Mira_no < 0: Mira_no = 0
  1212. if catout ! 0: catout = 0
  1213. if feedcat ! 0: feedcat = 0
  1214. loc_count = ARRSIZE('$CloLosLoc')
  1215. i = loc_count - 1
  1216. :loopCloLoc
  1217. $CloLoc = $CloLosLoc[i]
  1218. CloLostOn = CloLosDay[$CloLoc]
  1219. if CloLostOn + RAND(7,14) < daystart :
  1220. gs 'clothing', 'recover_lost_clothes', $CloLoc, 2
  1221. end
  1222. i -=1
  1223. if i > -1 :jump 'loopCloLoc'
  1224. --- cikl ---------------------------------