stat.qsrc 33 KB

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