123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972 |
- # stat
- !!This is error catching to prevent stat from running too early
- if opPRE > 0: exit
- if Enable_Android = 0:
- clr
- !only clear status and renew object in non-Android mode
- gs 'obj_din', 'old'
- end
- if daystart_start < 100:
- pl '<BR>Did you start at the <a href="exec:daystart_start = 239 & gs ''time'' & gs''stat''">end of August</a> or <a href="exec:daystart_start = 153 & gs ''time'' & gs''stat''">beginning of June</a>?'
- exit
- end
- $BACKIMAGE = ''
- view
- rand1 = rand(0,100)
- $stat_msg=''
- if daystage = 1:
- $daystage['desc'] = 'dawn'
- elseif daystage = 2:
- $daystage['desc'] = 'mid_day'
- elseif daystage = 3:
- $daystage['desc'] = 'sunset'
- elseif daystage = 4:
- $daystage['desc'] = 'early_night'
- elseif daystage = 5:
- $daystage['desc'] = 'mid_night'
- elseif daystage = 6:
- $daystage['desc'] = 'pre_dawn'
- end
- if $start_type[1] ! 'nomagic': magik_exp = orgasm + magik_adj
- if insleep = 0: gs 'stat_sklattrib'
- if cheatVars['std'] = 1: dynamic $cheatmenu['std_cure']
- if cheatVars['inf_willpower'] = 1: pcs_willpwr = willpowermax
- if stat['vaginal'] = 0 and stat['vaginal_fist'] = 0 and stat['vaginal_dildo'] = 0 and stat['vaginal_strap'] = 0:
- stat['think_virgin'] = 1
- else
- stat['think_virgin'] = 0
- end
- 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
- !!This is a temporary stop-gap measure for the accomadation skill and will be removed
- if succubusflag = 1 and sucskill >= 4:
- if pain['throat'] > 0: pain['throat'] = 0 & sucexcess -= 1
- if pain['asshole'] > 0: pain['asshole'] = 0 & sucexcess -= 1
- if pain['vaginal'] > 0: pain['vaginal'] = 0 & sucexcess -= 1
- if vgape > 0: vgape = 0 & vgapetime = 0 & sucexcess -= 1
- if agape > 0: agape = 0 & agapetime = 0 & sucexcess -= 1
- end
- !!mouth cleaning for drinks
- if pcs_hydra > hydra_check:
- cumspclnt = 2
- gs 'cum_cleanup'
- end
- !!cosmetic tattoo
- if cosmetic_tattoo > 0:
- if pcs_makeup ! (cosmetic_tattoo+1): pcs_makeup = (cosmetic_tattoo+1)
- end
- !!!CHEATS!!!
- if cheatVars['work'] = 1: work = 0
- if cheatWorkKiskis = 1: young_shop_miss = 0
- if cheatVars['always_brushed'] = 1: pcs_hairbsh = 1
- ! Moved from cheats to settings under 'Enema realism'
- if cheatVars['enema'] = 1: klismaday = daystart & klismaday1 = 1
- if cheatVars['makeup_smear'] = 1 and cosmetic_tattoo = 0 and pcs_makeup = 0: pcs_makeup = 1
- if cheatVars['no_sweat'] = 1 and pcs_sweat > 0: pcs_sweat = 0
- if cheatVars['hunger'] = 1 and pcs_energy < 60: pcs_energy = 60
- if cheatVars['no_leghair'] = 1:
- if pcs_leghair > 0: pcs_leghair = 0
- end
- if cheatVars['thirst'] = 1 and pcs_hydra < 60: pcs_hydra = 60
- if cheatVars['sleep'] = 1:
- if pcs_sleep < 35: pcs_sleep = 35
- end
- if cheatBandit = 1 and npc_horny['A66'] < 19: npc_horny['A66'] = 19
- if alko > 0 and frost > 0: frost = 0
- if lernSkill >= 8: gs 'exp_gain', 'intel', 1 & lernSkill = 0
- if lern >= 10: gs 'exp_gain', 'intel', 1 & lern = 0
- shameless = guy + stat['bj'] + stat['anal'] + stat['hj'] + ((slutty + gang) * 2)
- moneySUM = money + (karta - bankDebtLimit) + stolmoney
- cumSUM = cumsumbod/40
- if husbizvradd > 5:izvratH = 1
- if husbharmin > 10:harakHusb = 0
- if husband = 0:
- husbizvradd = 0
- husbharmin = 0
- husbandMark = 0
- houseslut = 0
- end
- if food_loc > 0 and $food_loc <> $loc: killvar 'food_loc'
- if gopota >= 20 and gnewQW = 1:gnewQW = 2
- if workDisk = 4 and week > 5:workDisk = 1
- if workDisk = 3 and week > 5:workDiskAtkPlayer = 1
- if bfa < 0: bfa = 0
- if pcs_vag > 36: pcs_vag = 36
- if pcs_throat > 36: pcs_throat = 36
- if pcs_ass > 36: pcs_ass = 36
- if cheatVars['no_periods'] = 1 or succubusflag = 1:
- !!Succubus cannot get pregnant
- mesec = 0
- FocH = 0
- EggRH = 0
- Ovulate = 0
- fertegg = 0
- UnfertEgg = 0
- PregChem = 0
- preg = 0
- LutH = 0
- RecovH = 0
- babyembryo = 0
- cycle = 1
- end
- if succubusflag = 1 and succublvl > 2 and rape > rape_count:
- !!High Level Succubus cannot get raped
- orgasm += 1
- rape = rape_count
- pcs_mood = 100
- end
- if pcs_horny < 50 and cheatVars['always_horny'] = 1: pcs_horny = 50
- manamax = (pcs_intel * pcs_magik) + pcs_magik * 100 + pcs_vital * 10 + rikudo
- !! Set the massage displayed each time the magik attribute is increased.
- if $start_type[1] ! 'nomagic':
- if pcs_magik > magikhigh:
- magikhigh = pcs_magik
- rikudo += pcs_magik * 100
- $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>'
- !! This will be replaced when a more advanced physical system is made
- if (pcs_magik mod 2 ! 0) and pcs_eyesize < 2: pcs_eyesize += 1
- if (pcs_magik mod 2 = 0) and pcs_lashes < 2: pcs_lashes += 1
- end
- else
- !!This is for error catching but also broke manamax calc which is why its now above this
- killvar 'pcs_magik'
- killvar 'rikudo'
- killvar 'pcs_splcstng'
- end
- if pcs_dom < 0: SUB = SUB - pcs_dom & pcs_dom = 0
- if SUB < 0: pcs_dom = pcs_dom - SUB & SUB = 0
- if pcs_dom > 100: pcs_dom = 100
- if SUB > 100: SUB = 100
- if SUB >= pcs_dom and pcs_dom > 0:SUB = SUB - pcs_dom & pcs_dom = 0
- if pcs_dom >= SUB and SUB > 0:pcs_dom = pcs_dom - SUB & SUB = 0
- if pcs_horny < 0: pcs_horny = 0
- if pcs_inhib < 0:
- pcs_inhib = 0
- elseif pcs_inhib > 100:
- pcs_inhib = 100
- end
- healthmax = (pcs_vital * 10 + pcs_stren * 5)
- stammax = (30* (2 * pcs_vital + pcs_agil + pcs_stren) +1000)/ 13 - pregchem/10
- speed = (2 * (pcs_stren + pcs_agil) + pcs_vital) / 5 - pregchem/100
- if healthmax < 1: healthmax = 1
- if willpowermax < 50: willpowermax = 50
- if stammax < 1: stammax = 1
- if manamax < 1: manamax = 1
- !pre-calc max value for later display
- if fairycurse >= daystart and fairyshoo > 0: pcs_horny = 90
- if min_arousal > pcs_horny: pcs_horny = min_arousal
- if Enable_lockhorny > 0 and pcs_horny < Enable_lockhorny - 1: pcs_horny = Enable_lockhorny - 1
- if pcs_horny < 0: pcs_horny = 0
- if pcs_health > healthmax: pcs_health = healthmax
- if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
- if pcs_stam > stammax: pcs_stam = stammax
- if pcs_mana > manamax: pcs_mana = manamax
- if pcs_mood > 100: pcs_mood = 100
- !!set hair flow free
- if hbraids > 5 and pcs_hairbsh = 0: hbraids -= rand(3,5) & pcs_hairbsh = 1
- if pcs_hairbsh <= 0:
- if hscrunchw <> 0: hscrunchw = 0
- if hpingripw <> 0: hpingripw = 0
- if hpigtail <> 0: hpigtail = 0
- if hbraids <> 0: hbraids = 0
- end
- !!Add mood_trauma to events to lower max mood for a period of time
- if mood_trauma > 0:
- mood_max_calc = 100 - (mood_trauma * 5)
- mood_max = max(10, mood_max_calc)
- if pcs_mood > mood_max: pcs_mood = mood_max
- killvar 'mood_max_calc'
- elseif mood_trauma < 0:
- mood_trauma = 0
- end
- if hypnoAddict = 1 and pcs_horny < 30:
- pcs_horny = 30
- elseif hypnoAddict = 2 and pcs_horny < 50:
- pcs_horny = 50
- end
- if cumloc[0] = 1 or cumloc[3] = 1 or hypnoAddict = 0:
- killvar 'missCum'
- elseif missCum > timeTresh:
- if pcs_horny < 90: pcs_horny = 90
- if preziktype = 0 or preziktype = 2:
- if mc_inventory['normal_condoms'] > 0 and mc_inventory['sabotaged_condoms'] < rand(2,3): dynamic $din_Do_Condom_Counts, 4
- if preziktype <> 2 and mc_inventory['sabotaged_condoms'] > 0: dynamic $din_Do_Condom_Counts, 3
- end
- end
- !!!!!!!!!!!
- !!!TIME!!!
- !!!!!!!!!!!
- gs 'time'
- ! Execute time based
- if prevtotmin ! totminut:
- gs 'spellTimer', prevtotmin, totminut
- end
- !! deodorant
- if deodorant_on = 1 and totminut > deodorant_time: gs 'sweat', 'remove_deo'
- !! exercise tracking
- if stat['last_workout_trig'] = 1:
- stat['last_workout_trig'] = 0
- stat['last_workout'] = totminut
- end
- !!painkiller
- if pain['killer'] > 0:
- if pain['killer'] = 1: pain_timer = totminut - 2
- pain['killer'] = totminut - pain_timer
- if pain['killer'] >= 243: pain['killer'] = 0
- end
- !!Gaping of vagina recovery time
- !! [1] stored gape value
- !! [3] timer
- !! [4] time between each reduction in gape
- if agape[4] = 0: agape[4] = 10
- if vgape[4] = 0: vgape[4] = 10
- if vgape > vgape[1]:
- vgape[3] = totminut
- vgape[1] = vgape
- if vgape > 2:
- if rand(0,9) > 1:
- vshrink = max(1, vshrink - 1)
- else
- vaginaMin += 1
- vgape[4] += 1
- end
- end
- elseif vgape > vaginaMin / 10:
- if totminut - vgape[3] - vaginaMin > vgape[4]:
- vgape -= 1
- vgape[1] = vgape
- vgape[3] = totminut
- end
- end
- !!Gaping of anus recovery time
- if agape > agape[1]:
- agape[3] = totminut
- agape[1] = agape
- if agape > 2:
- if rand(0,9) > 1:
- ashrink = max(1, ashrink - 1)
- else
- anusMin += 1
- agape[4] += 1
- end
- end
- elseif agape > anusMin / 10:
- if totminut - agape[3] - anusMin > agape[4]:
- agape -= 1
- agape[1] = agape
- agape[3] = totminut
- end
- end
- !!Recovery from spanking - will be superseded by pain system
- if spanked > 0:
- if spankedtime = 0: spankedtime = totminut
- if (spankedtime + 2040) <= totminut:spanked -= 1 & spankedtime = 0
- elseif spankedtime ! 0:
- killvar 'spankedtime'
- end
- !! Orgasmic cooldown
- if orgasmic ! 0:
- if orgasmic < totminut - 10: orgasmic = 0 & pcs_horny = 0
- end
- !!!!!!!!!!!!!!! Heels pain and skill gain
- !! This compares the player heels skill to the skill required to wear any heels the player
- !! currently wears. If the skill needed is greater than the player currently possesses,
- !! the pain in the feet increases and the player earns heels skill. If the skill required
- !! is lower, the player might still get experience, depending on how much greater the
- !! player skill is.
- !! Variables
- !! pcs_heels is the main heels skill
- !! heels_exp is used when the player gains experience using heels
- !! heels_deg is used when the player neglects their heels
- !! PShoHeels tracks the height of the heels currently worn
- !! heelsminut tracks when the heels skill was last changed
- !! heelsRequiredskill substitutes PShoHeels to allow comparison with pcs_heels
- !! heelsSkilldiff tracks difference between the players current and skill required by heels
- !! Required skill for various heel sizes
- !! 1 flats - 0
- !! 2 low heel - 5
- !! 3 Mid heel - 15
- !! 4 High heel - 25
- !! 5 ultra high heel - 40
- !! 6 fetish heel - 60
- !! Only run if at least X minutes have passed since last time
- if heelsminut > totminut: heelsminut = totminut & !! fix for time cheat
- if totminut >= heelsminut + 30:
- killvar 'tmp'
- heelstime = totminut-heelsminut
- heelsminut = totminut
- !! Only check experience and pain gain and if the player wears heels, flats give nothing
- if PShoHeels > 1:
- if PShoHeels = 2:
- heelsRequiredskill = 5
- elseif PShoHeels = 3:
- heelsRequiredskill = 15
- elseif PShoHeels = 4:
- heelsRequiredskill = 25
- elseif PShoHeels = 5:
- heelsRequiredskill = 40
- elseif PShoHeels = 6:
- heelsRequiredskill = 60
- end
- !! stat is called a lot, there should be a limit to how much exp and pain you can accumulate...
- !! If the player skill is below the required skill, give heel_exp and apply ache
- if pcs_heels < heelsRequiredskill:
- heelsSkilldiff = heelsRequiredskill - pcs_heels
- if heelsSkilldiff <= 5:
- tmp = rand(min(3,heelstime/30),min(6,heelstime/15))
- if pain['feet'] < 40: gs 'pain', rand(heelstime/30,heelstime/15), 'feet', 'ache'
- elseif heelsSkilldiff <= 10:
- tmp = rand(min(5,heelstime/20),min(9,heelstime/10))
- if pain['feet'] < 50: gs 'pain', rand(heelstime/25,heelstime/12), 'feet', 'ache'
- elseif heelsSkilldiff <= 15:
- tmp = rand(min(7,heelstime/15),min(12,heelstime/8))
- if pain['feet'] < 60: gs 'pain', rand(heelstime/20,heelstime/10), 'feet', 'ache'
- elseif heelsSkilldiff <= 20:
- tmp = rand(min(9,heelstime/10),min(15,heelstime/5))
- if pain['feet'] < 70: gs 'pain', rand(heelstime/15,heelstime/8), 'feet', 'ache'
- else
- tmp = rand(min(12,heelstime/5),min(20,heelstime/2))
- if pain['feet'] < 80: gs 'pain', rand(heelstime/10,heelstime/5), 'feet', 'ache'
- end
- !! Player skill is equal to or higher than the required skill
- !! Maybe have excessive skill result in no gain, or even a degrading skill?
- else
- heelsSkilldiff = pcs_heels - heelsRequiredskill
- gs 'pain', max(0, rand(heelstime/10,heelstime/5) - heelsSkilldiff), 'feet', 'ache'
- if heelsSkilldiff <= 5:
- tmp = rand(-2,0) + rand(min(8,heelstime/6),min(12,heelstime/3))
- elseif heelsSkilldiff <= 10:
- tmp = rand(-3,0) + rand(min(6,heelstime/10),min(9,heelstime/5))
- elseif heelsSkilldiff <= 15:
- tmp = rand(-4,0) + rand(min(5,heelstime/15),min(7,heelstime/10))
- elseif heelsSkilldiff <= 20:
- tmp = rand(-5,0) + rand(min(4,heelstime/20),min(6,heelstime/15))
- else
- tmp = rand(-6,0) + rand(min(3,heelstime/30),min(4,heelstime/20))
- end
- end
- !! If not wearing heels, degrade heels skill
- else
- tmp = rand(heelstime/30,heelstime/15)*-1
- end
- if tmp > 0:
- gs 'exp_gain', 'heels', tmp
- elseif tmp < 0:
- heels_deg += tmp
- end
- killvar 'tmp'
- killvar 'heelstime'
- killvar 'heelsSkilldiff'
- killvar 'heelsRequiredskill'
- end
- !!!!!!!!!!!!!!! End heels
- ! Determine Incoming Telephone Calls and SMS
- if prevtotmin ! totminut:
- gs 'telefon', 'IncomingCheck', prevtotmin, totminut
- gs 'telefon', 'IncomingSMSCheck'
- end
- if minut < 10:
- $nilmin = '0'
- else
- $nilmin = ''
- end
- if kid > 0:
- i = arrsize('yearkid')
- :LoopKidAgeCounter
- if i >= 0:
- if yearkid[i] = year + 1 and monthkid[i] = month and daykid[i] = day: msg'It is <<$kidname[i]>>''s birthday today.'
- i -= 1
- jump 'LoopKidAgeCounter'
- end
- end
- if bimbolevel > 0:
- if bimbowithdrawal = 0:
- $bimbostatus = '<font color = #FF1493>You''re, like, super hawt today.</font>'
- $bimbo_tooltip = 'You''re, like, super hawt today.'
- elseif bimbowithdrawal = 1:
- $bimbostatus = '<font color="green">You feel, like, kind of lame today.</font>'
- $bimbo_tooltip = 'You feel, like, kind of lame today.'
- elseif bimbowithdrawal < 4:
- $bimbostatus = '<font color="grey">You feel, like, totally lame today.</font>'
- $bimbo_tooltip = 'You feel, like, totally lame today.'
- elseif bimbowithdrawal < 6:
- if pcs_mood > 50: pcs_mood -= 10
- $bimbostatus = '<font color="red">You really feel, like, awful today.</font>'
- $bimbo_tooltip = 'You really feel, like, awful today.'
- elseif bimbowithdrawal >= 6:
- if pcs_mood > 10: pcs_mood -= 10
- $bimbostatus= '<font color="red"><b>You feel that, like, horrible today!</b></font>'
- $bimbo_tooltip = 'You feel that, like, horrible today!'
- end
- else
- bimbowithdrawal = 0
- $bimbostatus = ''
- end
- if gothlevel > 0:
- $gothstatus = ''
- $goth_tooltip = ''
- else
- $gothstatus = ''
- end
- if punklevel > 0:
- $punkstatus = ''
- $punk_tooltip = ''
- else
- $punkstatus = ''
- end
- !
- ! WD: Triggers every 15 minutes if not sleeping
- ! Update to remove long iterations on loading saves from previous versions
- ! Do Nothing if sleeping, invalid Trig15Minute value or more than 6 hours 16 minute pass
- if InSleep ! 0 or Trig15Minute > totminut or (totminut - Trig15Minute) >= 376:
- set Trig15Minute = totminut
- ! More than 15 minutes since last check
- else
- if (totminut - Trig15Minute) >= 15:
- ! begin Loop
- :Trig15MinuteLoop
- ! Horny Actions
- if pcs_horny > 100:
- Trig15Minute = totminut
- else
- Trig15Minute += 15
- ! WD: Fix vibrator arousal to trigger every 15 minutes, moved from 'time' location
- if vibratorin = 1:pcs_horny += rand(1, 5)
- ! WD: Fixed Piecing arousal to trigger every 15 minutes, instead of once per day
- if pcs_horny < 70:
- hornystat = 0
- if pcs_piercings['ears'] > 0: hornystat += 1
- if pcs_piercings['nose'] > 0: hornystat += 1
- if pcs_piercings['brow'] > 0: hornystat += 1
- if pcs_piercings['lip'] > 0: hornystat += 1
- if pcs_piercings['tongue'] > 0: hornystat += 1
- if pcs_piercings['navel'] > 0: hornystat += 1
- if pcs_piercings['nipples'] > 0: hornystat += 4
- if pcs_piercings['pussy'] > 0: hornystat += 4
- pcs_horny += (hornyStat + 2) / 4
- end
- ! WD: Clothing
- if PCloStyle = 4 and pcs_horny < 70: pcs_horny += rand(0, 2)
- if (PCloSkirt > 5 or PCloPants > 5) and pcs_horny < 50: pcs_horny += rand(0, 1)
- if PCloTopCut = 4 and pcs_horny < 50: pcs_horny += rand(0, 1)
- end
- !!SECTION: Bimbo (15 minute interval update checks)
- if bimbolevel > 0:
- if (pcs_mood < 100): pcs_mood += (pcs_mood / 100) * max(0, rand(-bimbowithdrawal, bimbolevel))
- if pcs_horny < max(0, 30 - bimbowithdrawal * bimbolevel): pcs_horny = max(0, 30 - bimbowithdrawal * bimbolevel)
- if pcs_horny < 100: pcs_horny += max(0, rand(bimbowithdrawal/-2, bimbolevel))
- end
- !!SECTION: Commando trait (15 minute interval update checks)
- if $clothingworntype ! 'nude':
- if $pantyworntype = 'none':
- !! Addition to trait exp/lvls
- if pcs_traits['commando_lvl'] = 0:
- if PCloSkirt > 0:
- pcs_traits['commando_exp'] += 2
- else
- pcs_traits['commando_exp'] += 1
- end
- if pcs_traits['commando_exp'] >= 1000:
- pcs_traits['commando_exp'] = 50
- pcs_traits['commando_lvl'] = 1
- 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...'
- end
- elseif pcs_traits['commando_lvl'] = 1:
- pcs_traits['commando_exp'] += 2
- if pcs_traits['commando_exp'] >= 1000:
- pcs_traits['commando_exp'] = 50
- pcs_traits['commando_lvl'] = 2
- 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.'
- end
- elseif pcs_traits['commando_lvl'] = 2:
- mosol = 0
- pcs_traits['commando_exp'] += 2
- if pcs_traits['commando_exp'] >= 1000:
- pcs_traits['commando_exp'] = 500
- pcs_traits['commando_lvl'] = 3
- 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.'
- end
- elseif pcs_traits['commando_lvl'] = 3:
- pcs_traits['commando_exp'] += 1
- end
- elseif pcs_traits['commando_lvl'] > 0:
- !!Reduction from exp/lvls
- if pcs_traits['commando_lvl'] = 3:
- pcs_traits['commando_exp'] -= 1
- pcs_mood -= 1
- if pcs_traits['commando_exp'] <= 0:
- pcs_traits['commando_exp'] = 500
- pcs_traits['commando_lvl'] = 2
- 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.'
- end
- else
- pcs_traits['commando_exp'] -= 1
- if pcs_traits['commando_exp'] <= -0:
- pcs_traits['commando_exp'] = 900
- pcs_traits['commando_lvl'] -= 1
- end
- end
- end
- !!{
- if $braworntype = 'none':
- end}
- end
- !! This is the Succubus non-direct injection (pun intented) sex to sexnutrition and the sexnutrition conversion handling
- if succubusflag = 1:
- if hypnoAddict > 0: dynamic $RestTherapyVariables
- if pcs_horny < 50: pcs_horny = 50
- if pcs_horny < 100: pcs_horny += succublvl
- if succhungry > 0:
- pcs_energy -= succhungry * succublvl
- pcs_hydra -= succhungry * succublvl
- pcs_sleep -= succhungry * succublvl
- end
- if arrsize('sparrvol') > 0:
- suctempi = -1
- :SuccAbsorbLoop
- suctempi += 1
- if suctempi <= 1 or suctempi = 3 or suctempi = 4 or suctempi >= 8:
- suctemparr = arrpos('sparrloc',suctempi)
- if suctemparr >= 0 and sparrloc[suctemparr] = suctempi and sparrvol[suctemparr] > 0:
- scfeed = succublvl + rand(1,4)
- sexnutrition += 30 * scfeed
- succubxp += 5
- cumsumbod -= sparrvol[suctemparr]
- ! msg "we've got xp!" + sparrloc[suctemparr]
- sucabscum = 1
- gs 'cum_cleanup', 'cleandeposit', suctemparr
- cumloc[suctempi] = 0
- !debug code $stat_msg += '<BR>Absorb ext <<sexnutrition>>'
- end
- end
- if suctempi < 17:jump 'SuccAbsorbLoop'
- cumspclnt = 20 & gs 'cum_cleanup'
- end
- if suclezsex < lesbian:
- sexnutrition += succublvl * 20
- suclezsex = lesbian
- succubxp += 5
- sucabslez = 1
- end
- if sexnutrition > 0:
- if sucskill >= 3 and succublvl >= 2: sexnutrition += (sexnutrition * 2) / 10
- if sucabslez = 1 and sucabscum = 1:
- $sucabs1 = 'absorbed energy from the woman you had sex with'
- $sucabs2 = ' and you '
- $sucabs3 = 'absorb the semen in your body'
- elseif sucabscum = 1:
- $sucabs3 = 'absorb the semen in your body'
- elseif sucabslez = 1:
- $sucabs1 = 'absorbed energy from the woman you had sex with'
- else
- !!Debug code
- $stat_msg += '<BR>SOMETHING HAPPENED!'
- end
- $stat_msg += '<BR>You <<$sucabs1>><<$sucabs2>><<$sucabs3>>, gaining nourishment.'
- sucabslez = 0 & sucabscum = 0
- $sucabs1 = '' & $sucabs2 = '' & $sucabs3 = ''
- if (pcs_mood < 100): pcs_mood += ((pcs_mood / 100) * 5)
- if pcs_energy > 100: entemp = (pcs_energy - 100)
- if sucexcess < 0 and sexnutrition > 20 and pcs_energy > 30:
- if sexnutrition - 20 >= (0 - sucexcess) * 2:
- sexnutrition += sucexcess * 2
- sucexcess = 0
- else
- sucexcess += (sexnutrition - 20) / 2
- sexnutrition = 20
- end
- end
- pcs_energy += sexnutrition / 2
- pcs_hydra += sexnutrition
- pcs_sleep += sexnutrition / 20
- if succhungry > 0: succhungry = 0
- sexnutrition = 0
- if pcs_energy > 100: sucexcess += (pcs_energy - entemp - 100) & pcs_energy = 100 + entemp & killvar 'entemp'
- end
- end
- !! safeguards to prevent bimbolevel from going above or below its intended limits
- bimbolevel = max(0, min(bimbolevel, 3))
- ! do loop
- if (totminut - Trig15Minute) >= 15: jump 'Trig15MinuteLoop'
- end
- end
- !!!!!!!!!!!!!
- !!!ENERGY!!!
- !!!!!!!!!!!!!
- if succubusflag = 1:
- if pcs_energy < 0:
- if fat >= 1:
- if cheatVars['fat'] = 0: fat -= 2
- pcs_energy += 8 + succublvl
- else
- pcs_energy += 8 + succublvl
- sucexcess -= (8 + succublvl) * (6 - succublvl)
- end
- end
- if pcs_health < 0:
- pcs_health = 10
- sucexcess -= 25 * (9 - succublvl)
- end
- if pcs_willpwr < 0:
- pcs_willpwr = 10
- sucexcess -= 20 * (9 - succublvl)
- sucpowzeroed = 4
- end
- end
- if pcs_sleep < 0:
- pcs_sleep = 0
- pcs_mood -= 5
- end
- if pcs_energy < 0:
- pcs_energy = 0
- pcs_health -= 5
- if pcs_mass['body'] = 0 and pcs_stren + pcs_vital > 0:
- stren_deg -= 1
- vital_deg -= 1
- pcs_energy += 8
- elseif pcs_mass['body'] = 0 and pcs_stren + pcs_vital <= 0:
- gs 'gameover', 'check', 3
- $stat_msg += '<br><font color=red><b>You starved to death, but Cheat Mode keeps you Alive.</b></font>'
- fat = 1
- elseif pcs_mass['body'] > 0:
- if cheatVars['fat'] = 0: fat -= 1
- pcs_energy += 8
- end
- end
- if pcs_hydra <= 0:
- pcs_hydra = 1
- pcs_health -= 5
- end
- !!Set hydra_check value
- hydra_check = pcs_hydra
- if pcs_mood <= 0:
- pcs_mood = 1
- pcs_health -= 5
- end
- if pcs_health < 0:
- gs 'gameover', 'check', 1
- $stat_msg += '<br><font color=red><b>You died from injuries, but Cheat Mode keeps you Alive.</b></font>'
- pcs_health = 0
- end
- if pcs_willpwr <= 0 :
- !this will set willpower to 0 correctly; then check mana =1 for insane-gameover(pcs_willpwr=0&mana=1).
- if pcs_mood <= 1:
- gs 'gameover', 'check', 2
- $stat_msg += '<br><font color=red><b>You are insane, but Cheat Mode keeps you Alive.</b></font>'
- !pcs_mood already checked for >=1 in line 1113 if pcs_mood <= 0, no need to set another one
- end
- pcs_willpwr = 0
- end
- !!cars-increase/depressed mood after orgasm/rape
- if rape > 0 and rape ! rape_count and orgasm = orgasm_count:
- pcs_mood = 10
- rape_count = rape
- rape_day = daystart
- elseif orgasm > 0 and orgasm ! orgasm_count:
- pcs_mood = 100
- orgasm_count = orgasm
- elseif rape > 0 and rape ! rape_count and orgasm > 0 and orgasm ! orgasm_count:
- pcs_mood = 100
- orgasm_count = orgasm
- rape_count = rape
- rape_day = daystart
- end
- !! Drug stats
- gs 'drugs', 'stat'
- !!Health, Willpower, Auto Birth Control pregnancy check
- gs 'body', 'RegularUpdate'
- gs 'body', 'Update_Appearance'
- if pcs_health >= healthmax:
- $pcs_health = '<font color="green">You are very healthy.</font>'
- elseif pcs_health >= healthmax * 75 / 100:
- $pcs_health = '<font color=#0064FF>You are healthy.</font>'
- elseif pcs_health >= healthmax * 50 / 100:
- $pcs_health = '<font color="brown">You are not healthy.</font>'
- elseif pcs_health >= healthmax * 25 / 100:
- $pcs_health = '<font color="red">You are sick.</font>'
- else
- $pcs_health = '<font color="red">You are on the verge of death.</font>'
- end
- if pcs_willpwr >= willpowermax:
- $pcs_willpwr = '<font color="green">You feel in charge of your actions.</font>'
- elseif pcs_willpwr >= willpowermax * 75 / 100:
- $pcs_willpwr = '<font color=#0064FF>You are mostly in control.</font>'
- elseif pcs_willpwr >= willpowermax * 50 / 100:
- $pcs_willpwr = '<font color="brown">You might have to make some concessions.</font>'
- elseif pcs_willpwr >= willpowermax * 25 / 100:
- $pcs_willpwr = '<font color="red">You will have to toe the line.</font>'
- else
- $pcs_willpwr = '<font color="red">You are completely at other people''s mercy.</font>'
- end
- !!stop auto birth control pill taking if the player believes they are pregnant or are pregnant
- if thinkpreg = 1 or knowpreg = 1:
- if tabletkicheck = 1: tabletkicheck = 0
- if birth_control['remind_hour'] > 0:
- birth_control['remind_hour'] = 0
- if birth_control['remind_icon'] = 1: birth_control['remind_icon'] = 0
- end
- elseif birth_control['remind_hour'] > 0 and hour >= birth_control['remind_hour'] and hour <= birth_control['remind_hour'] + 1 and tabletkiday ! daystart:
- birth_control['remind_icon'] = 1
- else
- birth_control['remind_icon'] = 0
- end
- if tabletkicheck = 1 and tabletkichday < daystart and birth_control['auto_hour'] > 0 and hour >= birth_control['auto_hour'] and hour <= birth_control['auto_hour'] + 1 and InSleep = 0 and menu_off = 0 and $location_type ! 'event' and $location_type ! 'event_outdoors':
- gs 'fertility', 'auto_pill'
- end
- !! detected change in pillcon
- if pillcon ! birth_control['old_pillcon'] or pillcon2 ! birth_control['old_pillcon2']: gs 'fertility', 'update'
- gs 'cum_manage', 'cum_decay'
- !!Mood
- if cheatVars['mood'] = 0:
- maxmood = 100 - moodmodifier
- if pcs_mood > 100:
- pcs_mood = 100
- elseif pcs_mood < 0:
- pcs_mood = 0
- !! 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
- end
- else
- pcs_mood = 100
- mood_trauma = 0
- end
- if Gerpes >= 3 or Sifilis >= 21 or Triper > 2:
- $msg_extra = ' it is being reduced due to an STD'
- else
- killvar '$msg_extra'
- end
- if pcs_mood >= 80:
- $pcs_mood = '<font color="green">You are in a great mood<<$msg_extra>>.</font>'
- elseif pcs_mood >= 60:
- $pcs_mood = '<font color=#0064FF>You are in a good mood<<$msg_extra>>.</font>'
- elseif pcs_mood >= 40:
- $pcs_mood = '<font color="brown">You are in an OK mood<<$msg_extra>>.</font>'
- elseif pcs_mood >= 20:
- $pcs_mood = '<font color="orange">You are in a bad mood<<$msg_extra>>.</font>'
- elseif pcs_mood >= 5:
- $pcs_mood = '<font color="red">You are in a terrible mood<<$msg_extra>>.</font>'
- else
- $pcs_mood = '<font color="red">You are really depressed and need to improve your mood<<$msg_extra>>.</font>'
- end
- if pcs_energy >= 80:
- $pcs_energy = '<font color="green">You couldn''t eat one more bite.</font>'
- elseif pcs_energy >= 40:
- $pcs_energy = '<font color=#0064FF>You''re not really hungry, but a small snack would be very welcome.</font>'
- elseif pcs_energy >= 8:
- $pcs_energy = '<font color="brown">You are hungry.</font>'
- else
- $pcs_energy = '<font color="red">You are very hungry.</font>'
- end
- if pcs_hydra >= 80:
- $pcs_hydra = '<font color="green">You are not thirsty at all.</font>'
- elseif pcs_hydra >= 40:
- $pcs_hydra = '<font color=#0064FF>You are slightly thirsty.</font>'
- elseif pcs_hydra >= 8:
- $pcs_hydra = '<font color="brown">You are thirsty.</font>'
- else
- $pcs_hydra = '<font color="red">You are very thirsty.</font>'
- end
- if pcs_sleep >= 80:
- $pcs_sleep = '<font color="green">You are well rested.</font>'
- elseif pcs_sleep >= 40:
- $pcs_sleep = '<font color=#0064FF>You are slightly tired.</font>'
- elseif pcs_sleep >= 8:
- $pcs_sleep = '<font color="brown">You are tired.</font>'
- else
- $pcs_sleep = '<font color="red">You are very tired.</font>'
- end
- 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:
- !!absence from work in a factory in Pavlovsk
- FabrikaProgul += 1
- FabrikaProgulDay = day
- end
- if hotelRoom['pav'] > 0:
- if hotelRoomDays['pav'] - 1 = daystart:
- $stat_msg += '<BR>You have 1 night left on your Pavlosk hotel booking.'
- elseif hotelRoomDays['pav'] = daystart and hour < 11:
- $stat_msg += '<BR>Your room at the Pavlosk hotel has check out today at 11:00'
- elseif hotelRoomDays['pav'] = daystart:
- hotelRoom['pav'] = 0
- end
- end
- if hotelRoom['city'] > 0:
- if hotelRoomDays['city'] - 1 = daystart:
- $stat_msg += '<BR>You have 1 night left on your St Petersburg hotel booking.'
- elseif hotelRoomDays['city'] = daystart and hour < 11:
- $stat_msg += '<BR>Your room at the St Petersburg hotel has check out today at 11:00'
- elseif hotelRoomDays['city'] = daystart:
- hotelRoom['city'] = 0
- end
- end
- if hour >= 8 and hour < 14 and week < 6 and mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and kanikuli = 0 and schoolProgulDay ! daystart:
- !!absence from school
- schoolprogul += 1
- schoolProgulDay = daystart
- end
- if cumcondslip <= 0: cumcondslip_deep = 0
- !!Sex stat update
- stat['mast'] += mastr & mastr = 0
- stat['hj'] += hj & hj = 0
- stat['bj'] += bj & bj = 0
- stat['vaginal'] += sex & sex = 0
- stat['anal'] += anal & anal = 0
- stat['cuni'] += kuni & kuni = 0
- stat['anal_strap_give'] += pegging & pegging = 0
- !!Pain calculation
- gs 'pain', 'manage'
- !!update skills and attributes to pcs_ from there _lvl values plus adjustments based on condition
- gs 'stat_sklattrib_lvlset'
- !!Sleep variable cap
- if pcs_sleep > 100: pcs_sleep = 100
- if insleep = 0:
- gs 'outdoors', 'main'
- gs 'stat_display'
- end
- gs 'family_schedule'
- !!--------------------------Job Checks For Icons--------------------------------
- if (acting['shoot_day'] = daystart and actress_cast = 1) or (audition['day'] = daystart):
- acting['icon'] = 1
- else
- acting['icon'] = 0
- end
- if model_job_week < 2 and model['status'] = 1:
- model['icon'] = 1
- else
- model['icon'] = 0
- end
- if pfilmday[0] > 0:
- pornstar['icon'] = 1
- else
- pornstar['icon'] = 0
- end
- if hypnoSchedule = 1:
- if therapist_weekly_block = 0 and week = 4 and therapistday ! daystart and remindedtherapyday ! daystart:
- if menu_off = 0 and workDolg = 0:
- if (hour >= 18 and (minut > 45 or hour >= 19)) _
- and (hour < 20 and (minut < 15 or hour < 19)):
- gs 'therapist_reminder'
- end
- end
- end
- end
- --- stat ---------------------------------
|