stat.qsrc 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270
  1. # stat
  2. !!This is error catching to prevent stat from running too early
  3. if opPRE > 0: exit
  4. if Enable_Android = 0:
  5. clr
  6. !only clear status and renew object in non-Android mode
  7. gs 'obj_din', 'old'
  8. end
  9. if daystart_start < 100:
  10. pl '<BR>Did you start at the <a href="exec:daystart_start = 241 & gs''daystart'' & gs''stat''">end of August</a> or <a href="exec:daystart_start = 152 & gs''daystart'' & gs''stat''">beginning of June</a>?'
  11. exit
  12. end
  13. view
  14. rand1 = rand(0,100)
  15. $stat_msg=''
  16. if $start_type[1] ! 'nomagic': magik_exp = orgasm
  17. if insleep = 0: gs 'stat_sklattrib'
  18. if cheatHealth = 1: dynamic $cheatmenu['std_cure']
  19. if stat['vaginal'] = 0 and stat['vaginal_fist'] = 0 and stat['vaginal_dildo'] = 0 and stat['vaginal_strap'] = 0:
  20. stat['think_virgin'] = 1
  21. else
  22. stat['think_virgin'] = 0
  23. end
  24. if (analplay >= 2 and pcs_ass <= 10) or (analplay >= 4 and pcs_ass <= 15) or (analplay >= 8 and pcs_ass <= 20): pcs_ass += 1 & analplay = 0
  25. !!This is a temporary stop-gap measure for the accomadation skill and will be removed
  26. if succubusflag = 1 and sucskill >= 4:
  27. if pain['throat'] > 0: pain['throat'] = 0 & sucexcess -= 1
  28. if pain['asshole'] > 0: pain['asshole'] = 0 & sucexcess -= 1
  29. if pain['vaginal'] > 0: pain['vaginal'] = 0 & sucexcess -= 1
  30. if vgape > 0: vgape = 0 & vgapetime = 0 & sucexcess -= 1
  31. if agape > 0: agape = 0 & agapetime = 0 & sucexcess -= 1
  32. end
  33. !!mouth cleaning for drinks
  34. if pcs_hydra > hydra_check:
  35. cumspclnt = 2
  36. gs 'cum_cleanup'
  37. end
  38. !!cosmetic tattoo
  39. if cosmetic_tattoo > 0:
  40. if pcs_makeup ! (cosmetic_tattoo+1): pcs_makeup = (cosmetic_tattoo+1)
  41. end
  42. !!!CHEATS!!!
  43. if cheatWork = 1:work = 0
  44. if cheatWorkKiskis = 1:young_shop_miss = 0
  45. if cheatHapri = 1:pcs_hairbsh = 1
  46. ! Moved from cheats to settings under 'Enema realism'
  47. if cheatKlisma = 0:klismaday = daystart & klismaday1 = 1
  48. if cheatNomakeup = 1 and cosmetic_tattoo = 0:
  49. if pcs_makeup = 0: pcs_makeup = 1
  50. end
  51. if cheatNoSweat = 1 and pcs_sweat > 0: pcs_sweat = 0
  52. if cheatNoEat = 1:
  53. if pcs_energy < 60: pcs_energy = 60
  54. end
  55. if cheatNoDrink = 1:
  56. if pcs_hydra < 60: pcs_hydra = 60
  57. end
  58. if cheatNoSleep = 1:
  59. if pcs_sleep < 35: pcs_sleep = 35
  60. end
  61. if cheatBandit = 1 and npc_horny['A66'] < 19: npc_horny['A66'] = 19
  62. if alko > 0 and frost > 0:frost = 0
  63. if StrongNarkota >= 20:
  64. if alko > 0:alko = 0
  65. end
  66. if lernSkill >= 8: gs 'exp_gain', 'intel', 1 & lernSkill = 0
  67. if lern >= 10: gs 'exp_gain', 'intel', 1 & lern = 0
  68. !! Katja learnign about you sexual experience from other sources because you are a slut.
  69. if fame['pav_slut'] >= 150 and stat['bj'] > 0 and katjaQW['knows_BJ'] ! 1: katjaQW['knows_BJ'] = 1
  70. if fame['pav_slut'] >= 250 or preg > 0 and stat['vaginal'] > 0 and katjaQW['knows_sex'] ! 1: katjaQW['knows_sex'] = 1
  71. shameless = guy + stat['bj'] + stat['anal'] + stat['hj'] + ((slutty + gang) * 2)
  72. moneySUM = money + karta + stolmoney
  73. cumSUM = cumsumbod/40
  74. if husbizvradd > 5:izvratH = 1
  75. if husbharmin > 10:harakHusb = 0
  76. if husband = 0:
  77. husbizvradd = 0
  78. husbharmin = 0
  79. husbandMark = 0
  80. houseslut = 0
  81. end
  82. if SNarkvnesh = 0:SNarkvnesh = 1
  83. if SNarkTimes >= SNarkvnesh * 25:
  84. SNarkvnesh += 1
  85. vidage += 1
  86. end
  87. if gopota >= 20 and gnewQW = 1:gnewQW = 2
  88. if workDisk = 4 and week > 5:workDisk = 1
  89. if workDisk = 3 and week > 5:workDiskAtkPlayer = 1
  90. if bfa < 0: bfa = 0
  91. if pcs_vag > 36: pcs_vag = 36
  92. if pcs_throat > 36: pcs_throat = 36
  93. if pcs_ass > 36: pcs_ass = 36
  94. if NarkImmune = 1:
  95. if narkoman ! 0:narkoman = 0
  96. elseif nark >= 30 and narkoman = 0 and NarkImmune = 0:
  97. narkoman = 1
  98. elseif nark = 0 and narkoman = 1:
  99. narkoman = 0
  100. end
  101. if CheatSlut = 1 or succubusflag = 1:
  102. !!Succubus cannot get pregnant
  103. mesec = 0
  104. FocH = 0
  105. EggRH = 0
  106. Ovulate = 0
  107. fertegg = 0
  108. UnfertEgg = 0
  109. PregChem = 0
  110. preg = 0
  111. LutH = 0
  112. RecovH = 0
  113. babyembryo = 0
  114. cycle = 1
  115. end
  116. if succubusflag = 1 and succublvl > 2 and rape > rape_count:
  117. !!High Level Succubus cannot get raped
  118. orgasm += 1
  119. rape = rape_count
  120. pcs_mood = 100
  121. end
  122. if pcs_horny < 50 and cheatHorny = 1: pcs_horny = 50
  123. !!These will be made obsolete with the combat system overhaul
  124. boxing = pcs_jab + pcs_punch + pcs_kick + pcs_def
  125. if boxing > 100: boxing = 100
  126. manamax = (pcs_intel * pcs_magik) + pcs_magik * 100 + pcs_vital * 10 + rikudo
  127. if $start_type[1] = 'magic':
  128. if pcs_magik > magikhigh:
  129. magikhigh += 1
  130. rikudo += pcs_magik * 100
  131. $stat_msg += '<BR><b>You feel like a strength has been revealed within you, and you gush with magic, lifting you to a new energy level.</b>'
  132. !! This will be replaced when a more advanced physical system is made
  133. if (pcs_magik mod 2 ! 0) and pcs_eyesize < 2: pcs_eyesize += 1
  134. if (pcs_magik mod 2 = 0) and pcs_lashes < 2: pcs_lashes += 1
  135. end
  136. else
  137. !!This is for error catching but also broke manamax calc which is why its now above this
  138. killvar 'pcs_magik'
  139. killvar 'rikudo'
  140. killvar 'pcs_splcstng'
  141. end
  142. if pcs_dom < 0: SUB = SUB - pcs_dom & pcs_dom = 0
  143. if SUB < 0: pcs_dom = pcs_dom - SUB & SUB = 0
  144. if pcs_dom > 100: pcs_dom = 100
  145. if SUB > 100: SUB = 100
  146. if SUB >= pcs_dom and pcs_dom > 0:SUB = SUB - pcs_dom & pcs_dom = 0
  147. if pcs_dom >= SUB and SUB > 0:pcs_dom = pcs_dom - SUB & SUB = 0
  148. if pcs_horny < 0: pcs_horny = 0
  149. if pcs_inhib < 0:
  150. pcs_inhib = 0
  151. elseif pcs_inhib > 100:
  152. pcs_inhib = 100
  153. end
  154. healthmax = (pcs_vital * 10 + pcs_stren * 5)
  155. stammax = 5 * (2 * pcs_vital + pcs_agil + pcs_stren) / 2
  156. speed = (2 * (pcs_stren + pcs_agil) + pcs_vital) / 5
  157. if healthmax < 1: healthmax = 1
  158. if willpowermax < 50: willpowermax = 50
  159. if stammax < 1: stammax = 1
  160. if manamax < 1: manamax = 1
  161. !pre-calc max value for later display
  162. if fairycurse >= daystart and fairyshoo > 0: pcs_horny = 90
  163. if min_arousal > pcs_horny: pcs_horny = min_arousal
  164. if Enable_lockhorny > 0 and pcs_horny < Enable_lockhorny - 1: pcs_horny = Enable_lockhorny - 1
  165. if pcs_horny < 0: pcs_horny = 0
  166. if pcs_health > healthmax: pcs_health = healthmax
  167. if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
  168. if pcs_stam > stammax: pcs_stam = stammax
  169. if pcs_mana > manamax: pcs_mana = manamax
  170. if pcs_mood > 100: pcs_mood = 100
  171. !!Add mood_trauma to events to lower max mood for a period of time
  172. if mood_trauma > 0:
  173. mood_max_calc = 100 - (mood_trauma * 5)
  174. mood_max = max(10, mood_max_calc)
  175. if pcs_mood > mood_max: pcs_mood = mood_max
  176. killvar 'mood_max_calc'
  177. elseif mood_trauma < 0:
  178. mood_trauma = 0
  179. end
  180. if hypnoAddict = 1 and pcs_horny < 30:
  181. pcs_horny = 30
  182. elseif hypnoAddict = 2 and pcs_horny < 50:
  183. pcs_horny = 50
  184. end
  185. if cumloc[0] = 1 or cumloc[3] = 1 or hypnoAddict = 0:
  186. killvar 'missCum'
  187. elseif missCum > timeTresh:
  188. if pcs_horny < 90: pcs_horny = 90
  189. if preziktype = 0: prezikcount = prezik
  190. if preziktype = 2: preziksabo = prezik
  191. prezik = 0
  192. preziktype = 1
  193. end
  194. !!!!!!!!!!!
  195. !!!TIME!!!
  196. !!!!!!!!!!!
  197. if nminut ! minut or nhour ! hour:
  198. ! Zero totminut will be at New Years Eve of 2015
  199. prevtotmin = totminut
  200. ! Years since 2015 in days
  201. totminut = (year - 2015) * 365
  202. ! Days this year
  203. if month > 1 : totminut += 31 & ! Jan
  204. if month > 2 : totminut += 28 & ! Feb
  205. if month > 3 : totminut += 31 & ! Mar
  206. if month > 4 : totminut += 30 & ! Apr
  207. if month > 5 : totminut += 31 & ! May
  208. if month > 6 : totminut += 30 & ! Jun
  209. if month > 7 : totminut += 31 & ! Jul
  210. if month > 8 : totminut += 31 & ! Aug
  211. if month > 9 : totminut += 30 & ! Sep
  212. if month > 10: totminut += 31 & ! Oct
  213. if month > 11: totminut += 30 & ! Nov
  214. if month > 12: totminut += 31 & ! Dec
  215. if month > 13: totminut += 31 & ! Jan rollover sanity check
  216. totminut += day
  217. ! Hours
  218. totminut = totminut * 24 + hour
  219. ! Minutes
  220. totminut = totminut * 60 + minut + sec / 60
  221. nminut = minut
  222. nhour = hour
  223. end
  224. ! Execute time based spells
  225. gs 'spellTimer', prevtotmin, totminut
  226. ! Determine Incoming Telephone Calls
  227. gs 'telefon', 'IncomingCheck', prevtotmin, totminut
  228. !! deodorant
  229. if deodorant_on = 1 and totminut > deodorant_time: gs 'sweat', 'remove_deo'
  230. !!painkiller
  231. if pain['killer'] > 0:
  232. if pain['killer'] = 1: pain_timer = totminut - 2
  233. pain['killer'] = totminut - pain_timer
  234. if pain['killer'] >= 243: pain['killer'] = 0
  235. end
  236. ! WD: 'daystart' Should start at 1
  237. if daystart = 0: daystart = 1
  238. !!Gaping of vagina recovery time
  239. !! [1] stored gape value
  240. !! [3] timer
  241. !! [4] time between each reduction in gape
  242. if agape[4] = 0: agape[4] = 10
  243. if vgape[4] = 0: vgape[4] = 10
  244. if vgape > vgape[1]:
  245. vgape[3] = totminut
  246. vgape[1] = vgape
  247. elseif vgape > 0:
  248. if (totminut - vgape[3])/vgape[4] >= 1: vgape -= 1
  249. vgape[1] = vgape
  250. else
  251. vgape[3] = 0
  252. end
  253. !!Gaping of anus recovery time
  254. if agape > agape[1]:
  255. agape[3] = totminut
  256. agape[1] = agape
  257. elseif agape > 0:
  258. if (totminut - agape[3])/agape[4] >= 1: agape -= 1
  259. if agape = 0: agape[3] = 0
  260. agape[1] = agape
  261. else
  262. agape[3] = 0
  263. end
  264. !!Recovery from spanking - will be superseded by pain system
  265. if spanked > 0:
  266. if spankedtime = 0: spankedtime = totminut
  267. if (spankedtime + 2040) <= totminut:spanked -= 1 & spankedtime = 0
  268. elseif spankedtime ! 0:
  269. killvar 'spankedtime'
  270. end
  271. !! Orgasmic cooldown
  272. if orgasmic ! 0:
  273. if orgasmic < totminut - 30: orgasmic = 0 & pcs_horny = 0
  274. end
  275. !!!!!!!!!!!!!!! Heels pain and skill gain
  276. !! This compares the player heels skill to the skill required to wear any heels the player
  277. !! currently wears. If the skill needed is greater than the player currently possesses,
  278. !! the pain in the feet increases and the player earns heels skill. If the skill required
  279. !! is lower, the player might still get experience, depending on how much greater the
  280. !! player skill is.
  281. !! Variables
  282. !! pcs_heels is the main heels skill
  283. !! heels_exp is used when the player gains experience using heels
  284. !! heels_deg is used when the player neglects their heels
  285. !! PShoHeels tracks the height of the heels currently worn
  286. !! heelsminut tracks when the heels skill was last changed
  287. !! heelsRequiredskill substitutes PShoHeels to allow comparison with pcs_heels
  288. !! heelsSkilldiff tracks difference between the players current and skill required by heels
  289. !! Required skill for various heel sizes
  290. !! 1 flats - 0
  291. !! 2 low heel - 5
  292. !! 3 Mid heel - 15
  293. !! 4 High heel - 25
  294. !! 5 ultra high heel - 40
  295. !! 6 fetish heel - 60
  296. !! Only run if at least X minutes have passed since last time
  297. if totminut >= heelsminut + 120:
  298. heelsminut = totminut
  299. !! Only check experience and pain gain and if the player wears heels, flats give nothing
  300. if PShoHeels > 1:
  301. if PShoHeels = 2:
  302. heelsRequiredskill = 5
  303. elseif PShoHeels = 3:
  304. heelsRequiredskill = 15
  305. elseif PShoHeels = 4:
  306. heelsRequiredskill = 25
  307. elseif PShoHeels = 5:
  308. heelsRequiredskill = 40
  309. elseif PShoHeels = 6:
  310. heelsRequiredskill = 60
  311. end
  312. !! stat is called a lot, there should be a limit to how much exp and pain you can accumulate...
  313. !! If the player skill is below the required skill, give heel_exp and apply ache
  314. if pcs_heels < heelsRequiredskill:
  315. heelsSkilldiff = heelsRequiredskill - pcs_heels
  316. if heelsSkilldiff <= 5:
  317. gs 'exp_gain', 'heels', rand(3,6)
  318. if pain['feet'] < 40: gs 'pain', rand(0,1), 'feet', 'ache'
  319. elseif heelsSkilldiff <= 10:
  320. gs 'exp_gain', 'heels', rand(5,9)
  321. if pain['feet'] < 50: gs 'pain', rand(0,2), 'feet', 'ache'
  322. elseif heelsSkilldiff <= 15:
  323. gs 'exp_gain', 'heels', rand(7,12)
  324. if pain['feet'] < 60: gs 'pain', rand(1,3), 'feet', 'ache'
  325. elseif heelsSkilldiff <= 20:
  326. gs 'exp_gain', 'heels', rand(9,15)
  327. if pain['feet'] < 70: gs 'pain', rand(2,4), 'feet', 'ache'
  328. elseif heelsSkilldiff > 20:
  329. gs 'exp_gain', 'heels', rand(12,20)
  330. if pain['feet'] < 80: gs 'pain', rand(3,5), 'feet', 'ache'
  331. end
  332. !! Player skill is equal to or higher than the required skill
  333. !! Maybe have excessive skill result in no gain, or even a degrading skill?
  334. else
  335. heelsSkilldiff = pcs_heels - heelsRequiredskill
  336. if heelsSkilldiff <= 5:
  337. gs 'exp_gain', 'heels', rand(3,6)
  338. elseif heelsSkilldiff <= 10:
  339. gs 'exp_gain', 'heels', rand(2,4)
  340. elseif heelsSkilldiff <= 15:
  341. gs 'exp_gain', 'heels', rand(1,2)
  342. elseif heelsSkilldiff <= 20:
  343. gs 'exp_gain', 'heels', 0
  344. elseif heelsSkilldiff > 20:
  345. heels_deg -= rand(0,1)
  346. end
  347. end
  348. !! If not wearing heels, degrade heels skill
  349. else
  350. heels_deg -= rand(0,1)
  351. end
  352. end
  353. !!!!!!!!!!!!!!! End heels
  354. if sec >= 60:
  355. :loopsec
  356. minut += 1
  357. sec -= 60
  358. if sec >= 60:jump 'loopsec'
  359. end
  360. if minut >= 60:
  361. :loopmin
  362. hour += 1
  363. minut -= 60
  364. if SbrosNerdism = 1 and orgasm ! 10:
  365. pcs_nerd = pcs_sprt / 10 - orgasm
  366. elseif sbrosnerdism = 1 and orgasm = 10:
  367. pcs_nerd = pcs_sprt / 9 - orgasm
  368. end
  369. if pcs_nerd < 0:pcs_nerd = 0
  370. if obkvsdam > 0:obkvsdam = rand(2, 5)
  371. if scpopt > 1: scpopt = 0
  372. if insleep = 1:
  373. if amphHigh > 0:
  374. pcs_energy -= (4 / amphetamineBonus + succublvl/2)
  375. pcs_hydra -= (8 / amphetamineBonus + succublvl/2)
  376. else
  377. pcs_energy -= (4 * amphetamineBonus + succublvl/2)
  378. pcs_hydra -= (8 * amphetamineBonus + succublvl/2)
  379. end
  380. pcs_stam += stammax / 10
  381. pcs_sleep -= 4
  382. if alko > 0: alko -= 1
  383. pcs_willpower_feeder += willpowermax*4
  384. pcs_willpwr += pcs_willpower_feeder/100
  385. pcs_willpower_feeder = pcs_willpower_feeder mod 100
  386. else
  387. if amphHigh > 0:
  388. pcs_energy -= (8 / amphetamineBonus + succublvl)
  389. pcs_hydra -= (16 / amphetamineBonus + succublvl)
  390. else
  391. pcs_energy -= (8 * amphetamineBonus + succublvl)
  392. pcs_hydra -= (16 * amphetamineBonus + succublvl)
  393. end
  394. pcs_stam += stammax / 20
  395. pcs_sleep -= 4
  396. if pcs_sleep <= 0: pcs_condition['lack_of_sleep'] += 2
  397. pcs_willpower_feeder += willpowermax*4/3
  398. pcs_willpwr += pcs_willpower_feeder/100
  399. pcs_willpower_feeder = pcs_willpower_feeder mod 100
  400. end
  401. if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
  402. if pcs_willpwr < 25: will_degrade += 1
  403. if will_degrade >= 5: willpowermax -= 1 & will_degrade = 0
  404. if pcs_willpwr >= 50 and will_degrade > 0: will_degrade -= 1
  405. if pcs_stam > stammax: pcs_stam = stammax
  406. gs 'femcyc'
  407. if Insleep = 0 and period['cramp'] = 0 and placebopart > 0 and LutH > 0 and knowpreg = 0:
  408. period['cramp'] = 1
  409. msg'Your stomach suddenly twinges, muscles tightening with involuntarily contractions, causing you to nearly double over in pain. With a grimace, you realize it''s probably a sign your period is going to start soon.'
  410. elseif mesec > 0:
  411. period['cramp'] = 0
  412. end
  413. if hypnoAddict > 0:dynamic $hypnoAddiction
  414. !!mana regen
  415. pcs_mana += manamax / 20
  416. if alko > 0 and alkoblock = 0:
  417. if alko >= 6:
  418. if pcs_run > 0: run_deg -= 1
  419. if vball_lvl >= 50: vball_deg -= 1
  420. if alko >= 10:
  421. if pcs_stren > 10: stren_deg -= 1
  422. if pcs_vital > 10: vital_deg -= 1
  423. if pcs_intel > 10: intel_deg -= 1
  424. alko -= rand (0,1)
  425. end
  426. end
  427. alko -= rand (0,1)
  428. elseif alko < 0:
  429. alko = 0
  430. end
  431. if shame > 0:shame -= 1 & pcs_mood -= 5
  432. if smoker >= 20 and NarkImmune = 0: smokerNeed += 1
  433. if smokerNeed > 10 and InSleep = 0 and pcs_mood > 20 and NarkImmune = 0: pcs_mood -= pcs_mood / 10
  434. if smokerNeed > 300:smokerNeed = 0 & smoker = 0
  435. if StrongNarkota > 0:pcs_mood -= (40 / StrongNarkota) & StrongNarkota -= 1
  436. if amphWithdrawl >= 5: amphWithdrawl += 1 & pcs_mood -= (amphWithdrawl / 5)
  437. if amphHigh > 0:
  438. if amphWithdrawl < 2: amphWithdrawl = 2
  439. amphetamineBonus = 3
  440. amphHigh -= 4
  441. pcs_mood += (2 * amphHigh)
  442. elseif amphHigh <= 0 and amphWithdrawl = 2:
  443. if amphIntake > 0:
  444. amphIntake -= 1
  445. else
  446. amphWithdrawl = 0
  447. end
  448. amphHigh = 0
  449. amphetamineBonus = 2
  450. pcs_mood -= pcs_mood / 10
  451. elseif amphIntake > 0:
  452. amphWithdrawl += 1
  453. elseif amphHigh = 0 and amphWithdrawl = 0:
  454. amphetamineBonus = 1
  455. end
  456. if amphWithdrawl > 169: amphWithdrawl = 1 & amphetamineBonus = 1 & amphCount = 0
  457. if SLomka > 0 and pcs_mood > 10:SLomka += 1 & pcs_mood -= pcs_mood / 10
  458. if SLomka > 100 and StrongNarkota <= 0:SLomka = 0 & SNarkTimes = 0
  459. if jointhigh > 0: jointhigh -= 1
  460. if narkoman = 1 and narkday ! daystart:
  461. pcs_health -= 5
  462. if pcs_mood > 40:
  463. pcs_mood -= 40
  464. else
  465. pcs_mood = 5
  466. end
  467. end
  468. if $pantyworntype = 'none' and PCloPants > 0 and PCloPanties = 0 and $clothingworntype ! 'nude' and trait['commando_lvl'] < 2:
  469. if trait['commando_lvl'] < 1:
  470. mosol += 2
  471. elseif trait['commando_lvl'] = 1:
  472. mosol += 1
  473. end
  474. if mosol >= 100: pcs_mood -= 5
  475. if mosol >= 60 and pain['pubic'] < 80: gs 'pain', 1, 'pubic', 'ache'
  476. end
  477. if pcs_energy > 100:
  478. fat += (pcs_energy - 100) / 4
  479. pcs_energy = 100
  480. elseif pcs_energy <= (10 + vitalbuf / 25) and fat > (2 + vitalbuf / 25):
  481. pcs_energy += 6
  482. fat -= 2
  483. end
  484. if pcs_hydra > 200: pcs_hydra = 200
  485. if mosol > 0:
  486. if $pantyworntype ! 'none' or $clothingworntype = 'nude' or PCloPanties = 1:mosol -= rand(0,1)
  487. end
  488. if pcs_lipbalm > 0:pcs_lipbalm -= 1
  489. if sickstage = 1:sick += 1 & sicktimer += 1
  490. if sickstage = 1 and sicktimer >= 80:sicktimer = 0 & sickstage = 2
  491. if sickstage = 2 and sick > 0:sick -= 1
  492. if sickstage = 2 and sick <= 0:sick = 0 & sickstage = 0
  493. if perkice > 0:perkice -= 1
  494. if frost > 0:frost -= 1
  495. if KGOLpers > 0:
  496. if KGHP < KGHPMAX:KGHP += 10
  497. if KGMana < KGManaMax:KGMana += 10
  498. end
  499. !! pain[0] = pain['total'] , pain[1] = pain['damage'] , pain[2] = pain['relief']
  500. i = arrsize('pain')
  501. :statpainloop
  502. if i > 0:
  503. i -= 1
  504. pain[i] -= rand(0,1)
  505. if pain[i] < 0: pain[i] = 0
  506. jump 'statpainloop'
  507. end
  508. !! Panty happiness gain
  509. if pcs_mood < 60 and $pantyworntype = 'cats': pcs_mood += 2
  510. if pcs_mood < 60 and $braworntype = 'cats': pcs_mood += 2
  511. !!Arousal adjustments
  512. if ($pantyworntype = 'exhibitionist' and $braworntype = 'exhibitionist') and pcs_horny < 25:
  513. pcs_horny += 10
  514. elseif pcs_horny < 10 and ($pantyworntype = 'exhibitionist' or $braworntype = 'exhibitionist'):
  515. pcs_horny += 5
  516. end
  517. if aphrodisiac_timer >= 1:
  518. if pcs_horny < 80:
  519. pcs_horny = 80
  520. else
  521. pcs_horny += 10
  522. end
  523. aphrodisiac_timer -= 1
  524. end
  525. if $pantyworntype ! 'none' and clit_size >= 25 and pcs_horny < 60:pcs_horny += 20
  526. if insleep = 0:
  527. gs 'sweat', 'add', rand(0,1)
  528. if temper >= 20: gs 'sweat', 'add', rand(0,1)
  529. end
  530. ! vovan edition, from 1.2.5
  531. if huntersAndreisex > 0: huntersAndreisex -= 1
  532. if huntersSergeisex > 0: huntersSergeisex -= 1
  533. if huntersIgorsex > 0: huntersIgorsex -= 1
  534. if huntslutsex > 0: huntslutsex -= 1
  535. if mira_go_blok > 0: mira_go_blok -= 1
  536. if mira_no_home > 0: mira_no_home -= 1
  537. gs 'traits', 'hourly'
  538. if (hour mod 2) = 0: gs 'outdoors', 'weather'
  539. !! I do not think that this should be here, but I put it here temporaly - rachels
  540. !! generate SMS for nerd games
  541. if rand(0,2) = 0 and hour > 10 and hour < 16 and week = 1 and grupTipe = 3 and nerd_game['invite_day'] < daystart: gs 'nerd_game_night', 'summer_invite_sms', 'Add SMS'
  542. if minut >= 60:jump 'loopmin'
  543. end
  544. if hour >= 24: gs 'cikl'
  545. if minut < 10:
  546. $nilmin = '0'
  547. else
  548. $nilmin = ''
  549. end
  550. if kid > 0:
  551. i = arrsize('yearkid')
  552. :LoopKidAgeCounter
  553. if i >= 0:
  554. if yearkid[i] = year + 1 and monthkid[i] = month and daykid[i] = day: msg'It is <<$kidname[i]>>''s birthday today.'
  555. i -= 1
  556. jump 'LoopKidAgeCounter'
  557. end
  558. end
  559. if pcs_nerd > 0:
  560. if lastreadday = daystart:
  561. !!<font color="green">You are completely healthy shine and a healthy glow.</font>
  562. pcs_mood = 100
  563. SbrosNerdism = 0
  564. $mudnerd = '<font color="green">You are lost in a fantasy after reading a book.</font>'
  565. end
  566. if lastreadday + 1 = daystart:
  567. SbrosNerdism = 0
  568. $mudnerd = '<font color="black">You are a little bored and want to plunge into a book.</font>'
  569. end
  570. if lastreadday + 2 = daystart:
  571. SbrosNerdism = 0
  572. if pcs_mood > 50:pcs_mood -= 10
  573. $mudnerd = '<font color="red">You really want to read something.</font>'
  574. end
  575. if lastreadday + 3 <= daystart:
  576. if pcs_mood > 10:pcs_mood -= 10
  577. SbrosNerdism = 1
  578. $mudnerd = '<font color="red"><b>You have an incredibly strong desire to read!!!</b></font>'
  579. end
  580. else
  581. SbrosNerdism = 0
  582. $mudnerd = ''
  583. end
  584. if bimbolevel > 0:
  585. if bimbowithdrawal = 0:
  586. $bimbostatus = '<font color = #FF1493>You''re, like, super hawt today.</font>'
  587. $bimbo_tooltip = 'You''re, like, super hawt today.'
  588. elseif bimbowithdrawal = 1:
  589. $bimbostatus = '<font color="green">You feel, like, kind of lame today.</font>'
  590. $bimbo_tooltip = 'You feel, like, kind of lame today.'
  591. elseif bimbowithdrawal < 4:
  592. $bimbostatus = '<font color="grey">You feel, like, totally lame today.</font>'
  593. $bimbo_tooltip = 'You feel, like, totally lame today.'
  594. elseif bimbowithdrawal < 6:
  595. if pcs_mood > 50: pcs_mood -= 10
  596. $bimbostatus = '<font color="red">You really feel, like, awful today.</font>'
  597. $bimbo_tooltip = 'You really feel, like, awful today.'
  598. elseif bimbowithdrawal >= 6:
  599. if pcs_mood > 10: pcs_mood -= 10
  600. $bimbostatus= '<font color="red"><b>You feel that, like, horrible today!</b></font>'
  601. $bimbo_tooltip = 'You feel that, like, horrible today!'
  602. end
  603. else
  604. bimbowithdrawal = 0
  605. $bimbostatus = ''
  606. end
  607. !
  608. ! WD: Triggers every 15 minutes if not sleeping
  609. ! Update to remove long iterations on loading saves from previous versions
  610. ! Do Nothing if sleeping, invalid Trig15Minute value or more than 6 hours 16 minute pass
  611. if InSleep ! 0 or Trig15Minute > totminut or (totminut - Trig15Minute) >= 376:
  612. set Trig15Minute = totminut
  613. ! More than 15 minutes since last check
  614. else
  615. if (totminut - Trig15Minute) >= 15:
  616. ! begin Loop
  617. :Trig15MinuteLoop
  618. ! Horny Actions
  619. if pcs_horny > 100:
  620. set Trig15Minute = totminut
  621. else
  622. set Trig15Minute += 15
  623. ! WD: Fix vibrator arousal to trigger every 15 minutes, moved from 'time' location
  624. if vibratorin = 1:pcs_horny += rand(1, 5)
  625. ! WD: Fixed Piecing arousal to trigger every 15 minutes, instead of once per day
  626. if pcs_horny < 70:
  627. hornystat = 0
  628. if pirsF > 0 and pirsF < 10000:hornystat += 1
  629. if pirsG > 0 and pirsG < 10000:hornystat += 1
  630. hornyStat = hornystat * 4
  631. if pirsA > 0 and pirsA < 10000:hornystat += 1
  632. if pirsB > 0 and pirsB < 10000:hornystat += 1
  633. if pirsC > 0 and pirsC < 10000:hornystat += 1
  634. if pirsD > 0 and pirsD < 10000:hornystat += 1
  635. if pirsE > 0 and pirsE < 10000:hornystat += 1
  636. if pirsN > 0 and pirsN < 10000:hornystat += 1
  637. set pcs_horny += hornyStat / 4 + rand(1,4) <= hornyStat mod 4 & ! Apply 1/4 of value on average
  638. end
  639. ! WD: Clothing
  640. if CloStyle = 4 and pcs_horny < 70:set pcs_horny += rand(0, 2)
  641. if (PCloSkirt > 5 or PCloPants > 5) and pcs_horny < 50:set pcs_horny += rand(0, 1)
  642. if PCloTopCut = 4 and pcs_horny < 50:set pcs_horny += rand(0, 1)
  643. end
  644. !!SECTION: Bimbo (15 minute interval update checks)
  645. if bimbolevel = 2:
  646. if pcs_mood < 100:pcs_mood += ((pcs_mood / 100) * (rand(0,1)))
  647. if pcs_horny < 25:pcs_horny = 25
  648. if pcs_horny < 100:pcs_horny += 1
  649. end
  650. if bimbolevel = 3:
  651. if (pcs_mood < 100):pcs_mood += ((pcs_mood / 100) * (rand(0,2)))
  652. if pcs_horny < 50:pcs_horny = 50
  653. if pcs_horny < 100:pcs_horny += 2
  654. end
  655. !!SECTION: Commando trait (15 minute interval update checks)
  656. if $clothingworntype ! 'nude':
  657. if $pantyworntype = 'none':
  658. !! Addition to trait exp/lvls
  659. if trait['commando_lvl'] = 0:
  660. if PCloSkirt > 0:
  661. trait['commando_exp'] += 2
  662. else
  663. trait['commando_exp'] += 1
  664. end
  665. if trait['commando_exp'] >= 1000:
  666. trait['commando_exp'] = 50
  667. trait['commando_lvl'] = 1
  668. msg'You have gained the Commando trait! You have become accustomed to the idea you don''t have to wear panties all the time and can now comfortably wear skirts without panties. Pants are still a little itchy though...'
  669. end
  670. elseif trait['commando_lvl'] = 1:
  671. trait['commando_exp'] += 2
  672. if trait['commando_exp'] >= 1000:
  673. trait['commando_exp'] = 50
  674. trait['commando_lvl'] = 2
  675. msg'You have gained the 2nd level of the Commando trait! You have become very comfortable without panties and the raw insides of your pants no longer irritate your pussy.'
  676. end
  677. elseif trait['commando_lvl'] = 2:
  678. mosol = 0
  679. trait['commando_exp'] += 2
  680. if trait['commando_exp'] >= 1000:
  681. trait['commando_exp'] = 500
  682. trait['commando_lvl'] = 3
  683. msg'You have gained the 3rd level of the Commando trait! You have become so accustomed to going commando that any kind of underwear over your hips just feels <i>wrong</i>. You suffer mood penalties while wearing panties.'
  684. end
  685. elseif trait['commando_lvl'] = 3:
  686. trait['commando_exp'] += 1
  687. end
  688. elseif trait['commando_lvl'] > 0:
  689. !!Reduction from exp/lvls
  690. if trait['commando_lvl'] = 3:
  691. trait['commando_exp'] -= 1
  692. pcs_mood -= 1
  693. if trait['commando_exp'] <= 0:
  694. trait['commando_exp'] = 500
  695. trait['commando_lvl'] = 2
  696. msg'You have lost the 3rd level of the Commando trait! You are now only comfortable not wearing panties and will not suffer irritation from wearing pants while going commando.'
  697. end
  698. else
  699. trait['commando_exp'] -= 1
  700. if trait['commando_exp'] <= -0:
  701. trait['commando_exp'] = 900
  702. trait['commando_lvl'] -= 1
  703. end
  704. end
  705. end
  706. end
  707. !! This is the Succubus non-direct injection (pun intented) sex to sexnutrition and the sexnutrition conversion handling
  708. if succubusflag = 1:
  709. if hypnoAddict > 0: dynamic $RestTherapyVariables
  710. if pcs_horny < 50: pcs_horny = 50
  711. if pcs_horny < 100: pcs_horny += succublvl
  712. if succhungry > 0:
  713. pcs_energy -= succhungry * succublvl
  714. pcs_hydra -= succhungry * succublvl
  715. pcs_sleep -= succhungry * succublvl
  716. end
  717. if arrsize('sparrvol') > 0:
  718. suctempi = -1
  719. :SuccAbsorbLoop
  720. suctempi += 1
  721. if suctempi <= 1 or suctempi = 3 or suctempi = 4 or suctempi >= 8:
  722. suctemparr = arrpos('sparrloc',suctempi)
  723. if suctemparr >= 0 and sparrloc[suctemparr] = suctempi and sparrvol[suctemparr] > 0:
  724. scfeed = succublvl + rand(1,4)
  725. sexnutrition += 30 * scfeed
  726. succubxp += 5
  727. cumsumbod -= sparrvol[suctemparr]
  728. ! msg "we've got xp!" + sparrloc[suctemparr]
  729. sucabscum = 1
  730. gs 'cum_cleanup', 'cleandeposit', suctemparr
  731. cumloc[suctempi] = 0
  732. spdirty = 0
  733. !debug code $stat_msg += '<BR>Absorb ext <<sexnutrition>>'
  734. end
  735. end
  736. if suctempi < 17:jump 'SuccAbsorbLoop'
  737. cumloc[0] = 0
  738. cumloc[1] = 0
  739. cumloc[2] = 0
  740. cumloc[3] = 0
  741. cumloc[4] = 0
  742. cumloc[5] = 0
  743. cumloc[6] = 0
  744. cumloc[7] = 0
  745. cumloc[8] = 0
  746. cumloc[9] = 0
  747. cumloc[10] = 0
  748. cumloc[11] = 0
  749. cumloc[12] = 0
  750. cumloc[13] = 0
  751. cumloc[14] = 0
  752. cumloc[15] = 0
  753. cumloc[16] = 0
  754. cumloc[17] = 0
  755. end
  756. if suclezsex < lesbian:
  757. sexnutrition += succublvl * 20
  758. suclezsex = lesbian
  759. succubxp += 5
  760. sucabslez = 1
  761. end
  762. if sexnutrition > 0:
  763. if sucskill >= 3 and succublvl >= 2: sexnutrition += (sexnutrition * 2) / 10
  764. if sucabslez = 1 and sucabscum = 1:
  765. $sucabs1 = 'absorbed energy from the woman you had sex with'
  766. $sucabs2 = ' and you '
  767. $sucabs3 = 'absorb the semen in your body'
  768. elseif sucabscum = 1:
  769. $sucabs3 = 'absorb the semen in your body'
  770. elseif sucabslez = 1:
  771. $sucabs1 = 'absorbed energy from the woman you had sex with'
  772. else
  773. !!Debug code
  774. $stat_msg += '<BR>SOMETHING HAPPENED!'
  775. end
  776. $stat_msg += '<BR>You <<$sucabs1>><<$sucabs2>><<$sucabs3>>, gaining nourishment.'
  777. sucabslez = 0 & sucabscum = 0
  778. $sucabs1 = '' & $sucabs2 = '' & $sucabs3 = ''
  779. if (pcs_mood < 100): pcs_mood += ((pcs_mood / 100) * 5)
  780. if pcs_energy > 100: entemp = (pcs_energy - 100)
  781. if sucexcess < 0 and sexnutrition > 20 and pcs_energy > 30:
  782. if sexnutrition - 20 >= (0 - sucexcess) * 2:
  783. sexnutrition += sucexcess * 2
  784. sucexcess = 0
  785. else
  786. sucexcess += (sexnutrition - 20) / 2
  787. sexnutrition = 20
  788. end
  789. end
  790. pcs_energy += sexnutrition / 2
  791. pcs_hydra += sexnutrition
  792. pcs_sleep += sexnutrition / 20
  793. if succhungry > 0: succhungry = 0
  794. sexnutrition = 0
  795. if pcs_energy > 100: sucexcess += (pcs_energy - entemp - 100) & pcs_energy = 100 + entemp & killvar 'entemp'
  796. end
  797. end
  798. !! safeguards to prevent bimbolevel from going above or below its intended limits
  799. if bimbolevel > 3: bimbolevel = 3
  800. if bimbolevel < 0: bimbolevel = 0
  801. ! do loop
  802. if (totminut - Trig15Minute) >= 15:jump 'Trig15MinuteLoop'
  803. end
  804. end
  805. !!!!!!!!!!!!!
  806. !!!ENERGY!!!
  807. !!!!!!!!!!!!!
  808. if succubusflag = 1:
  809. if pcs_energy < 0:
  810. if fat >= 1:
  811. if cheatNoFat = 0: fat -= 2
  812. pcs_energy += 8 + succublvl
  813. else
  814. pcs_energy += 8 + succublvl
  815. sucexcess -= (8 + succublvl) * (6 - succublvl)
  816. end
  817. end
  818. if pcs_health < 0:
  819. pcs_health = 10
  820. sucexcess -= 25 * (9 - succublvl)
  821. end
  822. if pcs_willpwr < 0:
  823. pcs_willpwr = 10
  824. sucexcess -= 20 * (9 - succublvl)
  825. sucpowzeroed = 4
  826. end
  827. end
  828. if pcs_sleep < 0:
  829. pcs_sleep = 0
  830. pcs_mood -= 5
  831. end
  832. if pcs_energy < 0:
  833. pcs_energy = 0
  834. pcs_health -= 5
  835. if salo = 0 and pcs_stren + pcs_vital > 0:
  836. stren_deg -= 1
  837. vital_deg -= 1
  838. pcs_energy += 8
  839. elseif salo = 0 and pcs_stren + pcs_vital <= 0:
  840. if Enable_nogameover = 0 :
  841. over = 3
  842. if $loc ! 'gameover': gt 'gameover'
  843. exit
  844. else
  845. $stat_msg += '<BR><font color=red><B>You starved to death, but Cheat Mode keeps you Alive.</B></font>'
  846. fat = 1
  847. end
  848. elseif salo > 0:
  849. if cheatNoFat = 0: fat -= 1
  850. pcs_energy += 8
  851. end
  852. end
  853. if pcs_hydra <= 0:
  854. pcs_hydra = 1
  855. pcs_health -= 5
  856. end
  857. !!Set hydra_check value
  858. hydra_check = pcs_hydra
  859. if pcs_mood <= 0:
  860. pcs_mood = 1
  861. pcs_health -= 5
  862. end
  863. if pcs_health < 0:
  864. if Enable_nogameover = 0 :
  865. over = 1
  866. if $loc ! 'gameover': gt 'gameover'
  867. exit & !nogameover by illume
  868. else
  869. $stat_msg += '<BR><font color=red><B>You died from injuries, but Cheat Mode keeps you Alive.</B></font>'
  870. pcs_health = 0
  871. end
  872. end
  873. if pcs_willpwr <= 0 :
  874. !this will set willpower to 0 correctly; then check mana =1 for insane-gameover(pcs_willpwr=0&mana=1).
  875. if pcs_mood <= 1:
  876. if Enable_nogameover = 0 :
  877. over = 2
  878. if $loc ! 'gameover': gt 'gameover'
  879. exit & !nogameover by illume
  880. else
  881. $stat_msg += '<BR><font color=red><B>You are insane, but Cheat Mode keeps you Alive.</B></font>'
  882. !pcs_mood already checked for >=1 in line 1113 if pcs_mood <= 0, no need to set another one
  883. end
  884. end
  885. pcs_willpwr = 0
  886. end
  887. !!cars-increase/depressed mood after orgasm/rape
  888. if rape > 0 and rape ! rape_count and orgasm = orgasm_count:
  889. pcs_mood = 10
  890. rape_count = rape
  891. elseif orgasm > 0 and orgasm ! orgasm_count:
  892. pcs_mood = 100
  893. orgasm_count = orgasm
  894. elseif rape > 0 and rape ! rape_count and orgasm > 0 and orgasm ! orgasm_count:
  895. pcs_mood = 100
  896. orgasm_count = orgasm
  897. rape_count = rape
  898. end
  899. !! Drug stats
  900. if StrongNarkota <= 0:
  901. if SNarkTimes >= 3 and SLomka = 0:SLomka = 1
  902. end
  903. if amphCount > 3 and amphHigh <= 0:
  904. addictChance = rand(1,10)
  905. if addictChance > 8:
  906. amphWithdrawl = 2
  907. end
  908. end
  909. if StrongNarkota > 0:
  910. if SLomka > 0:SLomka = 0
  911. pcs_mood = 100
  912. end
  913. !!Health, Willpower, Auto Birth Control pregnancy check
  914. gs 'body', 'RegularUpdate'
  915. gs 'AppearanceSystem'
  916. gs 'body_desc'
  917. if pcs_health >= healthmax:
  918. $pcs_health = '<font color="green">You are very healthy.</font>'
  919. elseif pcs_health >= healthmax * 75 / 100:
  920. $pcs_health = '<font color=#0064FF>You are healthy.</font>'
  921. elseif pcs_health >= healthmax * 50 / 100:
  922. $pcs_health = '<font color="brown">You are not healthy.</font>'
  923. elseif pcs_health >= healthmax * 25 / 100:
  924. $pcs_health = '<font color="red">You are sick.</font>'
  925. else
  926. $pcs_health = '<font color="red">You are on the verge of death.</font>'
  927. end
  928. if pcs_willpwr >= willpowermax:
  929. $pcs_willpwr = '<font color="green">You feel in charge of your actions.</font>'
  930. elseif pcs_willpwr >= willpowermax * 75 / 100:
  931. $pcs_willpwr = '<font color=#0064FF>You are mostly in control.</font>'
  932. elseif pcs_willpwr >= willpowermax * 50 / 100:
  933. $pcs_willpwr = '<font color="brown">You might have to make some concessions.</font>'
  934. elseif pcs_willpwr >= willpowermax * 25 / 100:
  935. $pcs_willpwr = '<font color="red">You will have to toe the line.</font>'
  936. else
  937. $pcs_willpwr = '<font color="red">You are completely at other people''s mercy.</font>'
  938. end
  939. !!stop auto birth control pill taking if the player believes they are pregnant or are pregnant
  940. if (thinkpreg = 1 or knowpreg = 1) and tabletkicheck = 1: tabletkicheck = 0
  941. !!Mood
  942. if cheatNoMood = 0:
  943. maxmood = 100 - moodmodifier
  944. if pcs_mood > 100:
  945. pcs_mood = 100
  946. elseif pcs_mood < 0:
  947. pcs_mood = 0
  948. !! Asylum: basically this means clinically insane, like court-ordered committed, saliva dripping, blubbering... Ordinarily irreversible at this stage meaning Game Over, but cheat can help
  949. end
  950. else
  951. pcs_mood = 100
  952. mood_trauma = 0
  953. end
  954. if pcs_mood >= 80:
  955. $pcs_mood = '<font color="green">You are in a great mood.</font>'
  956. elseif pcs_mood >= 60:
  957. $pcs_mood = '<font color=#0064FF>You are in a good mood.</font>'
  958. elseif pcs_mood >= 40:
  959. $pcs_mood = '<font color="brown">You are in an OK mood.</font>'
  960. elseif pcs_mood >= 20:
  961. $pcs_mood = '<font color="orange">You are in a bad mood.</font>'
  962. elseif pcs_mood >= 5:
  963. $pcs_mood = '<font color="red">You are in a terrible mood.</font>'
  964. else
  965. $pcs_mood = '<font color="red">You are really depressed and need to improve your mood.</font>'
  966. end
  967. if pcs_energy >= 80:
  968. $pcs_energy = '<font color="green">You couldn''t eat one more bite.</font>'
  969. elseif pcs_energy >= 40:
  970. $pcs_energy = '<font color=#0064FF>You''re not really hungry, but a small snack would be very welcome.</font>'
  971. elseif pcs_energy >= 8:
  972. $pcs_energy = '<font color="brown">You are hungry.</font>'
  973. else
  974. $pcs_energy = '<font color="red">You are very hungry.</font>'
  975. end
  976. if pcs_hydra >= 80:
  977. $pcs_hydra = '<font color="green">You are not thirsty at all.</font>'
  978. elseif pcs_hydra >= 40:
  979. $pcs_hydra = '<font color=#0064FF>You are slightly thirsty.</font>'
  980. elseif pcs_hydra >= 8:
  981. $pcs_hydra = '<font color="brown">You are thirsty.</font>'
  982. else
  983. $pcs_hydra = '<font color="red">You are very thirsty.</font>'
  984. end
  985. if pcs_sleep >= 80:
  986. $pcs_sleep = '<font color="green">You are well rested.</font>'
  987. elseif pcs_sleep >= 40:
  988. $pcs_sleep = '<font color=#0064FF>You are slightly tired.</font>'
  989. elseif pcs_sleep >= 8:
  990. $pcs_sleep = '<font color="brown">You are tired.</font>'
  991. else
  992. $pcs_sleep = '<font color="red">You are very tired.</font>'
  993. end
  994. if workFabrika = 1 and week => 1 and week <= 5 and hour > 8 and age => 16 and age < 18 and FabrikaProgulDay ! day or workFabrika = 1 and week => 1 and week <= 5 and hour > 16 and age > 18 and FabrikaProgulDay ! day:
  995. !!absence from work in a factory in Pavlovsk
  996. FabrikaProgul += 1
  997. FabrikaProgulDay = day
  998. end
  999. if hotelRoom['pav_hotel'] > 0:
  1000. if hotelRoomDays['pav_hotel'] = daystart: $stat_msg += '<BR>You have 1 night left on your pav hotel booking.'
  1001. if hotelRoomDays['pav_hotel'] < daystart and hour < 11: $stat_msg += '<BR>Your pav hotel booking has expired, and you cannot return to your room after 11:00'
  1002. if hotelRoomDays['pav_hotel'] < daystart and hour >= 11: hotelRoom['pav_hotel'] = 0
  1003. end
  1004. if hotelRoom['city_hotel'] > 0:
  1005. if hotelRoomDays['city_hotel'] = daystart: $stat_msg += '<BR>You have 1 night left on your city center hotel booking.'
  1006. if hotelRoomDays['city_hotel'] < daystart and hour < 11: $stat_msg += '<BR>Your city center hotel booking has expired, and you cannot return to your room after 11:00'
  1007. if hotelRoomDays['city_hotel'] < daystart and hour >= 11: hotelRoom['city_hotel'] = 0
  1008. end
  1009. if hour >= 8 and hour < 14 and week < 6 and mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and kanikuli = 0 and schoolProgulDay ! daystart:
  1010. !!absence from school
  1011. schoolprogul += 1
  1012. schoolProgulDay = daystart
  1013. end
  1014. if cumcondslip <= 0: cumcondslip_deep = 0
  1015. !!Sex stat update
  1016. stat['mast'] += mastr & mastr = 0
  1017. stat['hj'] += hj & hj = 0
  1018. stat['bj'] += bj & bj = 0
  1019. stat['vaginal'] += sex & sex = 0
  1020. stat['anal'] += anal & anal = 0
  1021. stat['cuni'] += kuni & kuni = 0
  1022. stat['anal_strap_give'] += pegging & pegging = 0
  1023. !!Pain calculation
  1024. paintmp1 = func('shortgs','modul',pain['head'],pain['hair'],pain['ears'],pain['eyebrows'],pain['eyes'],pain['cheeks'],pain['nose'],pain['mouth'])
  1025. paintmp2 = func('shortgs','modul',pain['tummy'],pain['pubic'],pain['vaginal'],pain['labia'],pain['clitoris'],pain['urethra'],pain['cervix'],pain['lips'])
  1026. paintmp3 = func('shortgs','modul',pain['throat'],pain['asscheeks'],pain['asshole'],pain['hips'],pain['thighs'],pain['legL'],pain['legR'],pain['feet'])
  1027. paintmp4 = func('shortgs','modul',pain['toes'],pain['shoulders'],pain['armL'],pain['armR'],pain['hands'],pain['fingers'],pain['chest'],pain['breasts'])
  1028. paintmp5 = func('shortgs','modul',pain['tongue'],pain['neck'],pain['back'],pain['nipples'],pain['ribs'],vgape * 8, agape * 10,spanked * 24)
  1029. pain['total'] = func('shortgs','modul',paintmp1,paintmp2,paintmp3,paintmp4,paintmp5)
  1030. if pain['total'] > 100: pain['total'] = 100
  1031. pain['damage'] = pain['total']
  1032. pain['relief'] = 0
  1033. if alko > 9:
  1034. pain['relief'] = 70
  1035. elseif alko > 6:
  1036. pain['relief'] = 40
  1037. elseif alko > 3:
  1038. pain['relief'] = 15
  1039. end
  1040. if StrongNarkota > 0:
  1041. pain['relief'] = 90
  1042. elseif nark > 0:
  1043. pain['relief'] = 60
  1044. elseif pain['killer'] > 12 and alko <= 9:
  1045. pain['relief'] = 50
  1046. end
  1047. if pain['relief'] ! 0:
  1048. if (pain['total'] / pain['relief']) > 0:
  1049. pain['total'] = pain['total'] / pain['relief']
  1050. elseif pain['total'] > 0:
  1051. pain['total'] = 0
  1052. end
  1053. end
  1054. if pain['total'] > 80:
  1055. if (pcs_health * 5) >= healthmax: pcs_health = pcs_health * 20 / 100
  1056. if (pcs_mood * 5) >= 100: pcs_mood = pcs_mood * 20 / 100
  1057. elseif pain['total'] > 60:
  1058. if (pcs_health * 5 / 2) >= healthmax: pcs_health = pcs_health * 40 / 100
  1059. if (pcs_mood * 5 / 2) >= 100: pcs_mood = pcs_mood * 40 / 100
  1060. elseif pain['total'] > 40:
  1061. if (pcs_health * 5 / 3) >= healthmax: pcs_health = pcs_health * 60 / 100
  1062. if (pcs_mood * 5 / 3) >= 100: pcs_mood = pcs_mood * 60 / 100
  1063. elseif pain['total'] > 20:
  1064. if (pcs_health * 5 / 4) >= healthmax: pcs_health = pcs_health * 80 / 100
  1065. if (pcs_mood * 5 / 4) >= 100: pcs_mood = pcs_mood * 80 / 100
  1066. elseif pain['total'] > 0:
  1067. if (pcs_health * 10 / 9) >= healthmax: pcs_health = pcs_health * 90 / 100
  1068. if (pcs_mood * 10 / 9) >= 100: pcs_mood = pcs_mood * 90 / 100
  1069. end
  1070. !!--------------------------pain calculation end--------------------------------
  1071. !!update skills and attributes to pcs_ from there _lvl values plus adjustments based on condition
  1072. gs 'stat_sklattrib_lvlset'
  1073. !!Sleep variable cap
  1074. if pcs_sleep > 100: pcs_sleep = 100
  1075. if insleep = 0: gs 'stat_display'
  1076. gs 'family_schedule'
  1077. !!--------------------------Job Checks For Icons--------------------------------
  1078. if (acting['shoot_day'] = daystart and actress_cast = 1) or (audition['day'] = daystart):
  1079. acting['icon'] = 1
  1080. else
  1081. acting['icon'] = 0
  1082. end
  1083. if model_job_week < 2 and model['status'] = 1:
  1084. model['icon'] = 1
  1085. else
  1086. model['icon'] = 0
  1087. end
  1088. if pfilmday[0] > 0:
  1089. pornstar['icon'] = 1
  1090. else
  1091. pornstar['icon'] = 0
  1092. end
  1093. if therapistday ! daystart and remindedtherapyday ! daystart and hypnoSchedule = 1 and (hour >= 18 and (minut > 45 or hour >= 19)) and (hour < 20 and (minut < 15 or hour < 19)) and menu_off = 0:
  1094. remindedtherapyday = daystart
  1095. gt 'therapist_reminder'
  1096. end
  1097. !!--------------------------Booty Call SMSs--------------------------------
  1098. if (hour >= 15 and hour <= 19) and arrsize('$fuckbuddy') > 0 : gs 'booty_call_start','draw'
  1099. --- stat ---------------------------------