stat 28 KB

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