cikl.qsrc 63 KB

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