stat.qsrc 36 KB

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