# succubus !!2022/06/20 !!The verious calls for succubus specific events !!Varible identification: !! scfwon; a flag to indicate that a call is from a fight that was won or you were hunting, set at the calling location !! scpopt; a flag to indicate that a call is optional for some reason, set at the calling location: 0: No, 1: Yes, 2: option taken !! $sclocrt; a string to indicate where a call came from if $loc may not have been set, set at the calling location when needed !! $scargrt; a string to set by the $ARGS from the calling location if $metca may not have been set, set at the calling location when needed !! $scsubloc; a string to allow a sub-routine in this location to call another and still get back to the first !! suceatinit; a flag to indicate that the initiation sub-routine was done !!********* !!This is the initiation sub-routine and is called by every event if $ARGS[0] = 'init': if succubusQW = 5 and scpopt = 1 and succhungry < 1: 'You sense <<$sucself1>> perk up, ready to spring forth...' act 'Call your power and feed (Takes a lot of time)': scpopt = 0 & gt 'succubus', 'init' act 'Try to control your urges': cla 'You try to contain <<$sucself1>>...' gs 'willpower', 'misc', 'resist', 'easy' will_cost = will_cost * succublvl if will_cost <= pcs_willpwr: gs 'willpower', 'pay', 'resist' gs 'stat' 'And you''re successful, <<$sucself1>> returns to your core.' act 'Continue': scpopt = 2 & gt $sclocrt, $scargrt else '
You don''t have enough willpower to control your urges.' '<<$sucself1>> continues rising toward the surface of your being.' succonfail = 1 scpopt = 0 xgt 'succubus', 'init' end end elseif succubusQW = 4: gt 'succubus', 'firsttime' else if succonfail ! 1: 'You call <<$sucself1>> up from its resting place' 'It fills you completely, suffusing through your being with power...' 'and hunger' '
> src="images/pc/body/succubusself.jpg">
' suceatinit = 1 succonfail = 0 act 'Continue': gt 'succubus', $scsubloc end end !!********* !! This is used if the called event is the first time it has happened (ie succubusQW = 4) if $ARGS[0] = 'firsttime': if scfwon = 1: 'As the exhilaration from the fight won and the fear of what could have happened fully sets in, time seems to stop.' elseif scfwon = 0: 'As the fear of what is about to happen to you fully sets in, time seems to stop.' end 'You feel, from the same core of power that has been in you since you embraced the fairy''s energy, something start to...' '' 'uncoil...' '' if scpopt = 1 and succhungry < 1: cla act 'Let go...': scpopt = 0 & succubusQW = 5 & xgt 'succubus', 'init' act 'Push it back down': cla 'You try to contain <<$sucself1>>...' gs 'willpower', 'misc', 'resist', 'easy' will_cost = will_cost * succublvl if will_cost <= pcs_willpwr: gs 'willpower', 'pay', 'resist' gs 'stat' 'And you''re successful, <<$sucself1>> returns to your core.' act 'Continue': scpopt = 2 & gt $sclocrt, $scargrt else 'And you fail, <<$sucself1>> continues rising toward the surface of your being.' succonfail = 1 scpopt = 0 succubusQW = 5 xgt 'succubus', 'init' end end else cla act 'Continue': scpopt = 0 & succubusQW = 5 & xgt 'succubus', 'init' end end !!********* !!Succubus Level & hunger calcs if $ARGS[0] = 'cikl': cheatVars['std'] = 1 dynamic $cheatmenu['std_cure'] !! Hunger handling if sucxpsnapshot >= succubxp: succhungry += 1 sucxpsnapshot = succubxp if succubxp < 0: succubxp = 0 !! Level handling if succubxp < 60: succublvl = 1 $sucself1 = 'that feeling' sucstorecap = 0 if bimbolevel <= 0: supnatvnesh = 1 elseif succubxp < 150: succublvl = 2 $sucself1 = 'the power' sucstorecap = 0 if bimbolevel <= 0: supnatvnesh = 3 elseif succubxp < 270: succublvl = 3 $sucself1 = 'your other self' sucstorecap = 100 if bimbolevel <= 0: supnatvnesh = 6 else succublvl = 4 $sucself1 = 'your true self' sucstorecap = 200 if bimbolevel <= 0: supnatvnesh = 10 end if sucskill >= 2 and succublvl >= 2: sucstorecap += 100 if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10 if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1) if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1) if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1) if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1) if react_muta < (succublvl - 1): react_muta = (succublvl - 1) if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1) if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1) if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1) if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2): if pcs_stren < 250: gs 'exp_gain', 'stren', 20 & sucexcess -= 10 if pcs_agil < 250: gs 'exp_gain', 'agil', 20 & sucexcess -= 10 if pcs_vital < 250: gs 'exp_gain', 'vital', 20 & sucexcess -= 10 if pcs_intel < 250: gs 'exp_gain', 'intel', 20 & sucexcess -= 10 if pcs_react < 250: gs 'exp_gain', 'react', 20 & sucexcess -= 10 if pcs_sprt < 250: gs 'exp_gain', 'sprt', 20 & sucexcess -= 10 if pcs_chrsm < 250: gs 'exp_gain', 'chrsm', 20 & sucexcess -= 10 if pcs_prcptn < 250: gs 'exp_gain', 'prcptn', 20 & sucexcess -= 10 if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10 if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2 !! This is to drive the Succubus vidage into the max appearance range if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4 if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4 if vidageday >= 720 and vidage > 28: vidageday -= 360 vidage -= 1 end temp_ideal_body_mass = func('body', 'CalcOptBodyMass') if pcs_mass['body'] < temp_ideal_body_mass - 1: pcs_mass['body'] += 2 sucexcess -= 10 elseif pcs_mass['body'] > temp_ideal_body_mass + 1: pcs_mass['body'] -= 2 sucexcess -= 10 end killvar 'temp_ideal_body_mass' if sucexcess > sucstorecap: sucexcess = sucstorecap elseif sucexcess < 0 and succhungry < 0: succhungry += 1 sucexcess += max(-sucexcess, 10 * succublvl) end if sucexcess < 0: sucpowzeroed += 1 if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1 !! This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability if sucskill >= 4: if pcs_vag - 2 >= 13: pcs_vag -= 2 elseif pcs_vag + 2 <= 13: pcs_vag += 2 end if pcs_ass - 2 >= 8: pcs_ass -= 2 elseif pcs_ass + 2 <= 8: pcs_ass += 2 end end end !!This is the 'city_park' and 'city_residential' call if $ARGS[0] = 'RapistFight': $scsubloc = $ARGS[0] if suceatinit = 0: gt 'succubus', 'init' suceatinit = 0 *clr cla gs 'stat' '
> src="images/pc/body/succubusself.jpg">
' 'Instinctively, you are barely aware of what causes your power to reach out and take hold of your would-be rapist''s mind.' 'You see fear fill his eyes even as lust fills his loins, and you feel his mind fighting your hold.' pcs_horny = 100 act 'Continue': cla scrand = rand(0,3) if fightEnding = 8 and scfwon = 1: scrand -= 1 scfwon = 0 fightEnding = 0 if rikudo > 10:rikudo += 100 Win += 1 elseif fightEnding = 8: fightEnding = 0 SUB += 1 Loss += 1 if rikudo > 10:rikudo -= 10 else scrand -= 1 scfwon = 0 fightEnding = 0 end if scrand < succublvl: scfeed = succublvl + rand(1,4) if scfeed = 2: $scxcum = 'twice' else $scxcum = 'multiple times' end $orgasm_or = 'no' gs 'arousal', 'vaginal', 10, 'dom' gs 'arousal', 'end' gs 'stat' 'You quickly drag him out of sight, then rip off his pants and expose your now hungry pussy.' 'You force him to the ground and immediately mount him, your now hair-trigger snatch sending you into orgasm.' '' 'You ride him for some time, your power forcing him to cum <<$scxcum>> pulling every drop of energy out of each eruption, with the rush causing you to orgasm as he does...' '' act 'Continue': raw_cash = rand(50, 300) succubusQW['rapist_cash'] = func('_difficulty','addmoneystring', raw_cash) guy += 1 pcs_horny = 0 orgasm += 1 + scfeed ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting pcs_willpwr += scfeed succubxp += 6 sexnutrition += 30 * scfeed sucabscum = 1 minut += 15 + (20 * scfeed) / succublvl killvar 'scfeed' & killvar 'scrand' gs 'stat' cla 'Finally, when your instincts tell you he has nothing left to give, you get off him and fix your clothes.' 'As you make ready to leave, you look down upon your would-be-rapist-turned-meal as he lies there utterly exhausted and wonder if this experience will discourage him from such activities in the future...' 'Before you leave him to contemplate such things you check his wallet and grab <> as a bonus reward.' money += succubusQW['rapist_cash'] act 'Leave': gt $loc, $loc_arg end else minut +=5 gs 'stat' '' 'And you feel his fear overcome his lust and your hold...' 'By the time you pull yourself back to the physical world, he is long gone.' act 'Continue': gt $loc, $loc_arg end end end !!********* !!This is for feeding in PavRes if $ARGS[0] = 'pavResfeed': cla *clr '
> src="images/locations/pavlovsk/community/dk_night.jpg">
' 'The disco is in full swing, which means a lot of adolescents going to and from the community center. You find a spot down the street from the community center to lie in wait for your prey.' 'You hide for a few minutes, watching groups of students pass you by as you wait for a lone victim to pounce on. You lie in wait for almost thirty minutes, thinking about the meal ahead, your hand finding its way between your legs a few times.' act 'Continue': *clr & cla '
> src="images/pc/body/succubusself.jpg">
' 'Just as you are starting to think no one would walk by alone, a young guy in a tracksuit walks right past you into the bushes. He pulls his pants down to take a piss. "Wow, what do we have here?" you say from the darkness, causing him to jump. "Who the hell is there," he says as he pulls up his pants and searches for you in vain. "Exposing yourself in public? What a pervert!" "Says the girl watching. Where are you?" "Right here," you say as you sneak up behind him and reach around and stick a hand into his pants. You spend some time groping him and trying to find out what he is packing. "Find something you like?" he asks in a cocky tone. You don''t know why. He doesn''t have anything that impressive down there.' act 'Warm him up': money += rand(250,500) scfeed = succublvl + rand(1,4) $orgasm_or = 'no' gs 'arousal', 'vaginal', 10, 'dom' gs 'arousal', 'end' guy += 1 pcs_horny = 0 orgasm += 1 + scfeed ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting pcs_willpwr += scfeed succubxp += 6 sexnutrition += 30 * scfeed sucabscum = 1 minut += 15 + (20 * scfeed) / succublvl killvar 'scfeed' & killvar 'scrand' gs 'stat' *clr & cla '
> src="images/shared/sex/blowjob/boybj2.jpg">
' '"Meh, it will have to do," you tell him. He drags you into the bushes and pushes you down to your knees. You decide to play along for now and place your lips around his cock and work your magic. Literally. You give him the kind of blowjob only a succubus like yourself can give. It isn''t long before he cums in your mouth. You swallow it, savoring the appetizer before the main course with a smile on your face. He grabs your chin and looks at you with contempt. "What a slut, if you enjoy cum that much, maybe I should call my friends to give you all you can eat. Would you like that, whore?"' '
> src="images/pc/body/succubusself.jpg">
' 'Your contented smile turns into a confident grin as you pull the guy''s legs out from under him. He tries to get up, but you push him back down with unnatural strength. You let instinct take over as you undress and lower yourself on top of his hardening member. You ride him hard, trying to milk him as fast as you can. He cums once, then twice, then three times, then more. He begs you to stop, but you aren''t listening.' 'Eventually, he runs out of energy to give, and you lift yourself off of him. He lies on the ground unconscious with a pained expression on his face. Now to make him pay for that whore comment. You check his pockets for valuables and find a cellphone and some loose change.' 'You pocket the money and crush the phone in your hand. Then, after making sure the coast is clear, you drag him back to the sidewalk and leave him there, unconscious with no pants for someone to find. He won''t remember this punishment or most of the night, but you sure had fun.' act 'Continue': gt 'pav_residential' end end end !!********* !!This is where you ask Tatiana about what you are if $ARGS[0] = 'tatianaask': gs 'stat' gs 'themes', 'indoors' '
Tatiana
' if sucpcinfo = 2: minut += 10 '
> src="images/locations/city/citycenter/lab/event/main1.jpg">
' 'You undress and lie down on the couch, and Tatiana begins to examine you.' 'This time, as she uses her charms and strange devices, you actually feel her power reach into you and move around inside, poking and prodding.' if succubusQW = 4: 'Something in you panics at this, and the fear overtakes your mind.' 'Distantly, you hear Tatiana mutter, "Huh, what''s this?" and her power pokes <<$sucself1>>.' $sclocrt = 'succubus' & $scargrt = 'tatianaask' $scsubloc = 'tatianasex' & scpopt = 1 sucpcinfo = 3 act 'Continue': xgt 'succubus', 'init' exit elseif sucpcinfo = 3: '
> src="images/locations/city/citycenter/lab/event/main1.jpg">
' scpopt = 0 If tatisucsex ! 0: 'Once you finish that unintended feeding and Tatiana has pulled herself back together, she says "Well, that was unexpected, go ahead and get dressed."' else 'Looking flushed once she has finished, Tatiana says "Well, that was interesting, go ahead and get dressed."' end sucpcinfo = 4 sucinfoday = daystart + 10 + rand(0,7) act 'Get dressed': gt 'succubus', 'tatianaask' exit end minut += 10 '
> src="images/system/1_openings/shared/npc_tatiana.jpg">
' if sucpcinfo >= 4 and ARGS[1] = 0: '"You are a Succubus. Now, the Succubae are not demons, that impression is a byproduct of the masking spell; they are instead a type of Fae, like that Fairy you told me about, and they are native to this plane of existence. As Fae, Succubae have nothing to do with "souls", but they do feed on the energy released during sex. The most efficient means of getting this energy is semen taken internally, but a lot is gained by lesbian orgasm if the Succubus is in sexual contact with the woman as she cums."' if tatisucsex ! 0: 'She then gives you a coy smile and says, "I can tell you that sex with a willing Succubus is an amazing experience."' else 'She then gives you a searching look as she says, "I''m told that sex with a willing Succubus is an amazing experience."' end '"Succubae only reproduce by converting normal humans, and by "normal", I mean non-mages. Whatever that Fairy did, it cannot be the normal Succubus conversion, but I don''t know what the normal method is.' '"They can and should eat normal food as they use more energy just staying alive than a human, but they need sexual energy to survive as well, so you can''t just eat more and not have sex.' if sucskill < 1: '"And I will be able to teach you how to tell what your energy levels are."' end end if sucpcinfo >= 5 and (ARGS[1] = 0 or ARGS[1] = 1): minut += 5 '"Succubae can exceed normal human limitations in a way similar to the way Gustav does, but unlike Gustav, since they are Fae, the masking spell ignores them.' '"They automatically store sexual energy in excess of what they need to survive internally, and when this energy builds up enough, let''s call that point 100 units, their bodies will automatically use this energy to improve themselves; increasing their physical and mental abilities, keeping themselves young looking, and providing a reserve in case they can''t find food.' '"While lower level Succubae lose any energy not used for improvements, higher level Succubae can store this unused energy in excess of that 100 unit mark.' if sucskill >= 2: '"As you know, they can learn to store energy before their body uses it as well as increase their storage capacity, as long as they have some reserves."' else '"And," she adds with a grin, "I can teach you to store energy before your body uses it and to increase your storage capacity, as long as you have some reserves! Just make sure your reserves are full before we try to teach you."' end end if sucpcinfo >= 6 and (ARGS[1] = 0 or ARGS[1] = 2): if sucskill >= 3: '"They also learned, as you have, to be more efficient with the sexual energy, increasing the amount of energy they have available for survival and storage."' else minut += 5 '"They have found, after what she described as a "multiday sex bender", that a Succubus can learn to be more efficient with the energy, increasing the amount of energy they have available for survival and storage. She then worked out how they did it and passed that to me. In order for this training to not take several days of non-stop sex, I''ll need to buy several components worth 5000 and 7 days to build up my own power reserves, and you will need to have at least 3 days of reserve and at least 100 units of stored energy.' '"Even with these preparations, the training is still going to take 8 to 10 hours of... Non... Stop... Sex..."' if tatisucsex <= 0: 'She says those last three words in a tone that is equal parts anticipation and trepidation, and the look in her eyes mirror this.' else 'She says those last three words in a tone that is pure seduction with a look that is equal parts anticipation and lust.' !! Hopefully can add an arousal call here end end end if sucpcinfo >= 7 and (ARGS[1] = 0 or ARGS[1] = 3): minut += 5 '"Succubae are somewhat territorial when hungry, but when sated, the impulse is weak enough to suppress easily. They seem to have established neutral territories in the flesh-pots of the world, like Amsterdam, Morocco, and Las Vegas. Places like that are not claimed by one Succubus, instead groups of them have made their homes there.' '"A Succubae''s body can learn to expend a bit of power to accommodate nearly any size of... implement." She gives you a smug grin with that.' if sucskill < 4: 'And I can teach you, just go get the biggest dildo they sell at that shop down the street, then bring it and 100 units of stored energy back here.' end if ARGS[1] = 0: '"They likely have other abilities and weaknesses, but the few Succubae I have encountered were not that willing to part with information, though I have put out requests for more information from my contacts.' '"As far as I know, you are the only Succubus in the region."' act 'Ask if she knows more': cla 'You ask her if she knows anything else.' 'She replies, "No, that''s all I know."' act 'Continue': gt 'tatiana_lab', 'Tatiana' end end gs 'stat' act 'Finish': gt 'tatiana_lab', 'Tatiana' end !!********** !!This is sex with Tatiana if $ARGS[0] = 'tatianasex': $scsubloc = 'tatianasex' if suceatinit = 0: gt 'succubus', 'init' suceatinit = 0 gs 'stat' *clr cla '
> src="images/pc/body/succubusself.jpg">
' if sucpcinfo < 4: tatisucsex -= 2 'Your power reaches through the connection to Tatiana, enflaming her lust even as <<$sucself1>> grabs ahold of her power.' 'At this point, you gain some control back and cause her power to cycle through you, as <<$sucself1>> cycles through her making her passion and yours move together.' 'Tatiana quickly strips down and moves between your legs...' else 'You take control of <<$sucself1>> and, as you softly kiss her, <<$sucself1>> gently flows into Tatiana even as you coax her power to flow into you.' 'With her power and <<$sucself1>> fully intertwined, you set up a gently flowing cycle, making her passion and yours move together.' 'Tatiana then kisses her way down your body, taking up position between your legs.' end act 'Continue': *clr cla '
> src="images/characters/city/tatiana/sex/karinsucsex1.jpg">
' 'As she licks you out, she feels the same things you do until you both have your first orgasm.' 'You then move her around into a "69" position.' act 'Continue': *clr cla '
> src="images/characters/city/tatiana/sex/karinsucsex2.jpg">
' 'You pleasure each other for some time, orgasming together, and then at some point you flip over.' act 'Continue': if sucpcinfo >= 6 and sucskill < 3 and sctrainprep = 1: gt 'succubus', 'training3sex' *clr cla '
> src="images/characters/city/tatiana/sex/karinsucsex3.jpg">
' 'You continue this way for some time, flipping back and forth, having multiple simultaneous orgasms until you sense her body is tiring even though her power level is a bit higher than when you two started.' act 'Finish': cla scfeed = 2 + succublvl + rand(1,4) lesbian += 1 if tatianaSex = 0: tatianaSex = 1 & girl += 1 $orgasm_or = 'no' gs 'arousal', 'cuni', 20 gs 'arousal', 'end' pcs_horny = 0 orgasm += scfeed ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting pcs_willpwr += scfeed sexnutrition += 25 * scfeed suclezsex = lesbian succubxp += 6 sucabslez = 1 minut += 20 + (20 * scfeed) / succublvl tatisucsexday = daystart + 1 + scfeed / 3 killvar 'scfeed' if sucpcinfo < 4: gt 'succubus', 'tatianaask' & exit tatisucsex += 1 if tatisucsex = 0: tatisucsex = 1 gs 'stat' 'As you both put yourselves back together, Tatiana says, "That was intense, thank you!"' act 'Continue': gt 'tatiana_lab', 'Tatiana' end end end end end !!********** !!Trainging sex ending if $ARGS[0] = 'training3sex': gs 'stat' *clr cla '
> src="images/characters/city/tatiana/sex/karinsucsex3.jpg">
' 'You continue this way for hours, changing position occasionally, and the whole time you both are causing the massive amount of energy between you to cycle faster and faster until it almost feels as if you and Tatiana are sharing one body that is having a continuous orgasm.' 'You lose track of time and are only barely able to perform the tasks Tatiana said you needed to do.' 'Eventually, you sense that the excess energy is depleted, your energy handling channels are significantly improved, and Tatiana, while exhausted, has had a major boost to her own power.' act 'Finish': cla sucskill = 3 killvar 'sctrainprep' lesbian += 1 suclezsex = lesbian if tatianaSex = 0: tatianaSex = 1 & girl += 1 $orgasm_or = 'no' gs 'arousal', 'cuni', 15 * rand(1,8), 'dom' gs 'arousal', 'cuni_give', -15, 'dom' gs 'arousal', 'end' tatisucsex += 1 if tatisucsex = 0: tatisucsex = 1 ! Seems appropriate. Potentially worth revisiting pcs_willpwr = willpowermax sucexcess -= 100 succhungry += 1 succubxp += 10 tatisucsexday = daystart + rand (5,10) pcs_hairbsh = 0 if pcs_makeup > 1: pcs_makeup = 0 pcs_energy = 100 & pcs_sleep = 40 gs 'stat' 'As you both put yourselves back together, Tatiana says, "Wow... just wow! That was... indescribable! I have never felt anything like that!" She gives you a gentle kiss before adding, "Thank You!"' 'She then lies down on the couch and immediately drops off to sleep. You toss the blanket over her and prepare to leave.' act 'Leave': gt 'city_center' end end !!********** !!This is the computer search if $ARGS[0] = 'kompresearch': minut += 10 * rand(3,6) sucpcinfo = 1 gs 'stat' '
> src="images/pc/items/accessories/computer/succresrch.jpg">
' 'Other than a host of internet stories, the thing you find that matches closest to what you have been feeling is a succubus, a demonic creature that destroys or corrupts men''s souls through sex.' 'However, you don''t feel like you have been corrupting anything, and the match isn''t that great...' 'Maybe you should go ask Tatiana...' act 'Continue': gt 'Komp', 'browse' end !!********** !!This is the start of the Succubus "Sleepwalking" code if $args[0] = 'sucwalkinginit': !!This checks for a valid location and sets the zone !!Zone 1; !!'bedr' = Apartment on St. Petersburg Residential street !!'nichBedroomServant' = Tanya''s apartment downtown !!'dom_gor' = Hostel downtown !!'uni_dorm' = Dorm at the university !!'city_hous_res_bedr' !!Zone 2; !!'bedrPar' = Parent''s apartment in Pavlovsk !!'HotelRoom' = Hotel next to train station in Pavlovsk !!Zone 3; 'ybedroom' = Mansion outside city !!Zone 4; 'bedr2x' = Apartment in "Old Town" (aka Pushkin) !!Zone 5; 'gad_gphouse' = Grandmother''s house in Gadukino if $loc = 'bedr' or $loc = 'nichBedroomServant' or $loc = 'dom_gor' or $loc = 'uni_dorm' or $loc = 'city_house_res_bedr': sucslpzone = 1 elseif $loc = 'bedrPar' or $loc = 'HotelRoom': sucslpzone = 2 elseif $loc_arg = 'ybedroom': sucslpzone = 3 elseif $loc = 'bedr2x': sucslpzone = 4 elseif $loc = 'gad_gphouse': sucslpzone = 5 else exit end !!Vibrator and Panty handling (pun intended) if succublvl <= 2: if $pantyworntype ! 'none': gs 'underwear', 'remove' else if sleepVars['bedPanty'] = 1: gs 'underwear', 'wear' elseif sleepVars['bedPanty'] = 2: gs 'underwear', 'remove' end end if analplugIN = 1 and sleepVars['bedAnal'] = 1: analplugIN = 0 & analplugout = 0 if vibratorIN = 1 and sleepVars['bedVibrator'] = 1: vibratorIN = 0 !!This is the simple method for the base level succubus if succublvl = 1 and $lastwornclothingtype ! 'nude': gs 'clothing', 'wear_last_worn' gt 'succubus', 'sucwalkinggo' end !!This is to put all owned and wearable clothing in 2 large arrays x = 0 gs 'clothing', 'totals', 'eroto_dress' i = 1 :looperoto_dress if eroto_dress[i] = 1 and eroto_dress_s[i] = 0 and eroto_dress_h[i] > 0 and eroto_dress_b[i] >= (pcs_hips - 8) and eroto_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'eroto_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'looperoto_dress' gs 'clothing', 'totals', 'eroto_outfits' i = 1 :looperoto_outfits if eroto_outfits[i] = 1 and eroto_outfits_s[i] = 0 and eroto_outfits_h[i] > 0 and eroto_outfits_b[i] >= (pcs_hips - 8) and eroto_outfits_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'eroto_outfits' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'looperoto_outfits' gs 'clothing', 'totals', 'salacious_outfits' i = 1 :loopsalacious_outfits if salacious_outfits[i] = 1 and salacious_outfits_s[i] = 0 and salacious_outfits_h[i] > 0 and salacious_outfits_b[i] >= (pcs_hips - 8) and salacious_outfits_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'salacious_outfits' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopsalacious_outfits' gs 'clothing', 'totals', 'salacious_dress' i = 1 :loopsalacious_dress if salacious_dress[i] = 1 and salacious_dress_s[i] = 0 and salacious_dress_h[i] > 0 and salacious_dress_b[i] >= (pcs_hips - 8) and salacious_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'salacious_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopsalacious_dress' gs 'clothing', 'totals', 'fashionista_dress' i = 1 :loopfashionista_dress gs 'clothing_attributes', 'fashionista_dress', i if CloStyle ! 5: if fashionista_dress[i] = 1 and fashionista_dress_s[i] = 0 and fashionista_dress_h[i] > 0 and fashionista_dress_b[i] >= (pcs_hips - 8) and fashionista_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'fashionista_dress' & succlolisti[x] = i & x += 1 end else if fashionista_dress[i] = 1 and fashionista_dress_s[i] = 0 and fashionista_dress_h[i] > 0: $succlolistn[x] = 'fashionista_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopfashionista_dress' gs 'clothing', 'totals', 'cats_dress' i = 1 :loopcats_dress gs 'clothing_attributes', 'cats_dress', i if CloStyle ! 5: if cats_dress[i] = 1 and cats_dress_s[i] = 0 and cats_dress_h[i] > 0 and cats_dress_b[i] >= (pcs_hips - 8) and cats_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'cats_dress' & succlolisti[x] = i & x += 1 end else if cats_dress[i] = 1 and cats_dress_s[i] = 0 and cats_dress_h[i] > 0: $succlolistn[x] = 'cats_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopcats_dress' gs 'clothing', 'totals', 'cats_outfits' i = 1 :loopcats_outfits gs 'clothing_attributes', 'cats_outfits', i if CloStyle ! 5: if cats_outfits[i] = 1 and cats_outfits_s[i] = 0 and cats_outfits_h[i] > 0 and cats_outfits_b[i] >= (pcs_hips - 8) and cats_outfits_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'cats_outfits' & succlolisti[x] = i & x += 1 end else if cats_outfits[i] = 1 and cats_outfits_s[i] = 0 and cats_outfits_h[i] > 0: $succlolistn[x] = 'cats_outfits' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopcats_outfits' gs 'clothing', 'totals', 'coco_dress' i = 1 :loopcoco_dress gs 'clothing_attributes', 'coco_dress', i if CloStyle ! 5: if coco_dress[i] = 1 and coco_dress_s[i] = 0 and coco_dress_h[i] > 0 and coco_dress_b[i] >= (pcs_hips - 8) and coco_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'coco_dress' & succlolisti[x] = i & x += 1 end else if coco_dress[i] = 1 and coco_dress_s[i] = 0 and coco_dress_h[i] > 0: $succlolistn[x] = 'coco_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopcoco_dress' gs 'clothing', 'totals', 'coco_outfits' i = 1 :loopcoco_outfit gs 'clothing_attributes', 'coco_outfits', i if CloStyle ! 5: if coco_outfits[i] = 1 and coco_outfits_s[i] = 0 and coco_outfits_h[i] > 0 and coco_outfits_b[i] >= (pcs_hips - 8) and coco_outfits_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'coco_outfits' & succlolisti[x] = i & x += 1 end else if coco_outfits[i] = 1 and coco_outfits_s[i] = 0 and coco_outfits_h[i] > 0: $succlolistn[x] = 'coco_outfits' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopcoco_outfit' gs 'clothing', 'totals', 'flamingos_outfits' i = 1 :loopflamingos_outfits gs 'clothing_attributes', 'flamingos_outfits', i if CloStyle ! 5: if flamingos_outfits[i] = 1 and flamingos_outfits_s[i] = 0 and flamingos_outfits_h[i] > 0 and flamingos_outfits_b[i] >= (pcs_hips - 8) and flamingos_outfits_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'flamingos_outfits' & succlolisti[x] = i & x += 1 end else if flamingos_outfits[i] = 1 and flamingos_outfits_s[i] = 0 and flamingos_outfits_h[i] > 0: $succlolistn[x] = 'flamingos_outfits' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopflamingos_outfits' gs 'clothing', 'totals', 'flamingos_dress' i = 1 :loopflamingos_dress gs 'clothing_attributes', 'flamingos_dress', i if CloStyle ! 5: if flamingos_dress[i] = 1 and flamingos_dress_s[i] = 0 and flamingos_dress_h[i] > 0 and flamingos_dress_b[i] >= (pcs_hips - 8) and flamingos_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'flamingos_dress' & succlolisti[x] = i & x += 1 end else if flamingos_dress[i] = 1 and flamingos_dress_s[i] = 0 and flamingos_dress_h[i] > 0: $succlolistn[x] = 'flamingos_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopflamingos_dress' gs 'clothing', 'totals', 'gm_outfits' i = 1 :loopgm_outfits gs 'clothing_attributes', 'gm_outfits', i if CloStyle ! 5: if gm_outfits[i] = 1 and gm_outfits_s[i] = 0 and gm_outfits_h[i] > 0 and gm_outfits_b[i] >= (pcs_hips - 8) and gm_outfits_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'gm_outfits' & succlolisti[x] = i & x += 1 end else if gm_outfits[i] = 1 and gm_outfits_s[i] = 0 and gm_outfits_h[i] > 0: $succlolistn[x] = 'gm_outfits' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopgm_outfits' gs 'clothing', 'totals', 'gm_dress' i = 1 :loopgm_dress gs 'clothing_attributes', 'gm_dress', i if CloStyle ! 5: if gm_dress[i] = 1 and gm_dress_s[i] = 0 and gm_dress_h[i] > 0 and gm_dress_b[i] >= (pcs_hips - 8) and gm_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'gm_dress' & succlolisti[x] = i & x += 1 end else if gm_dress[i] = 1 and gm_dress_s[i] = 0 and gm_dress_h[i] > 0: $succlolistn[x] = 'gm_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopgm_dress' gs 'clothing', 'totals', 'gm_office' i = 1 :loopoffice if gm_office[i] = 1 and gm_office_s[i] = 0 and gm_office_h[i] > 0 and gm_office_b[i] >= (pcs_hips - 8) and gm_office_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'gm_office' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopoffice' gs 'clothing', 'totals', 'gm_school' i = 1 :loopschool if gm_school[i] = 1 and gm_school_s[i] = 0 and gm_school_h[i] > 0 and gm_school_b[i] >= (pcs_hips - 8) and gm_school_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'gm_school' & succlolisti[x] = i & x += 1 end i += 1 if i = 6: i = 7 if i <= total:jump 'loopschool' gs 'clothing', 'totals', 'danilovich_outfits' i = 1 :loopdanilovich if danilovich_outfits[i] = 1 and danilovich_outfits_s[i] = 0 and danilovich_outfits_h[i] > 0: $succlolistn[x] = 'danilovich_outfits' & succlolisti[x] = i & x += 1 i += 1 if i <= total:jump 'loopdanilovich' gs 'clothing', 'totals', 'moncheri_gown' i = 1 :loopmoncheri_gown if moncheri_gown[i] = 1 and moncheri_gown_s[i] = 0 and moncheri_gown_h[i] > 0 and moncheri_gown_b[i] >= (pcs_hips - 8) and moncheri_gown_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'moncheri_gown' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopmoncheri_gown' gs 'clothing', 'totals', 'moncheri_dress' i = 1 :loopmoncheri_dress if moncheri_dress[i] = 1 and moncheri_dress_s[i] = 0 and moncheri_dress_h[i] > 0 and moncheri_dress_b[i] >= (pcs_hips - 8) and moncheri_dress_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'moncheri_dress' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopmoncheri_dress' gs 'clothing', 'totals', 'gm_server' i = 1 :loopgm_server if gm_server[i] = 1 and gm_server_s[i] = 0 and gm_server_h[i] > 0 and gm_server_b[i] >= (pcs_hips - 8) and gm_server_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'gm_server' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopgm_server' killvar 'i' gs 'clothing', 'totals', 'gm_maid' i = 1 :loopgm_maid if gm_maid[i] = 1 and gm_maid_s[i] = 0 and gm_maid_h[i] > 0 and gm_maid_b[i] >= (pcs_hips - 8) and gm_maid_b[i] <= (pcs_hips + 8): $succlolistn[x] = 'gm_maid' & succlolisti[x] = i & x += 1 end i += 1 if i <= total:jump 'loopgm_maid' killvar 'i' x -= 1 if succublvl <= 2: !! This picks any outfit at random :oops clopickrand = rand(0,x) if $succlolistn[clopickrand] = '': jump 'oops' gs 'clothing', 'wear', $succlolistn[clopickrand], succlolisti[clopickrand] dynamic $succlolistn[clopickrand] + 'W[<>] = 1' killvar '$succlolistn' & killvar 'succlolisti' & killvar 'x' gt 'succubus', 'sucwalkinggo' else !! This picks a random outfit by "looks" $succlocat[0] = 'eroto_dress' $succlocat[1] = 'eroto_outfits' $succlocat[2] = 'salacious_outfit' $succlocat[3] = 'salacious_dress' $succlocat[4] = 'fashionista_dress' $succlocat[5] = 'cats_dress' $succlocat[6] = 'cats_outfits' $succlocat[7] = 'coco_dress' $succlocat[8] = 'coco_outfits' $succlocat[9] = 'flamingos_dress' $succlocat[10] = 'flamingos_outfits' $succlocat[11] = 'gm_outfits' $succlocat[12] = 'gm_dress' $succlocat[13] = 'gm_office' $succlocat[14] = 'gm_school' $succlocat[15] = 'danilovich_outfits' $succlocat[16] = 'moncheri_gown' $succlocat[17] = 'moncheri_dress' $succlocat[18] = 'gm_server' $succlocat[19] = 'gm_maid' scbimbochk = 1 y = 0 & z = 0 scclocatcnt = 0 :randpoploop if scbimbochk = 1 and $succlocat[scclocatcnt] = $succlolistn[y]: gs 'clothing_attributes', $succlolistn[y], succlolisti[y] if CloBimbo = 1: $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1 elseif $succlocat[scclocatcnt] = $succlolistn[y]: $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1 end y += 1 if y <= x: jump 'randpoploop' scclocatcnt += 1 & y = 0 if scbimbochk = 1: if scclocatcnt <= 3: jump 'randpoploop' if z < 1 or scpckrnd > 0: if z < 1: scpckrnd = 1 if scclocatcnt <= 6: jump 'randpoploop' end else if scclocatcnt <= 3: jump 'randpoploop' if z < 1 or scpckrnd > 1: if z < 1: scpckrnd = 2 if scclocatcnt <= 6: jump 'randpoploop' if z < 1 or scpckrnd > 2: if z < 1: scpckrnd = 3 if scclocatcnt <= arrsize('$succlocat'): jump 'randpoploop' end end end if z < 1 and scbimbochk = 1: scclocatcnt = 0 & scbimbochk = 0 & jump 'randpoploop' z -= 1 :oops2 clopickrand = rand(0,z) if $succlorandn[clopickrand] = '': jump 'oops2' gs 'clothing', 'wear', $succlorandn[clopickrand], succlorandi[clopickrand] dynamic $succlorandn[clopickrand] + 'W[<>] = 1' killvar '$succlolistn' & killvar 'succlolisti' & killvar '$succlorandn' & killvar 'succlorandi' killvar '$succlocat' & killvar 'scbimbochk' & killvar 'scclocatcnt' & killvar 'scpckrnd' killvar 'x' & killvar 'y' & killvar 'z' !! This covers a high level succubus doing complex activities if succublvl >= 4: if pcs_hairbsh < 1: pcs_hairbsh = 1 if mc_inventory['lipbalm'] > 0 and pcs_lipbalm <= 0: mc_inventory['lipbalm'] -= 1 lipkoef += rand(0, 1) if lipkoef > 50: lipkoef = 0 pcs_lip += 1 end pcs_lipbalm += 8 end if pcs_makeup <= 1 and mc_inventory['cosmetics'] > 0: pcs_makeup = 4 if mc_inventory['cosmetics'] < 3 and pcs_makeup = 4: pcs_makeup = 3 if mc_inventory['cosmetics'] < 2 and pcs_makeup = 3: pcs_makeup = 2 if mc_inventory['cosmetics'] < 1 and pcs_makeup ! 1: pcs_makeup = 1 else if pcs_makeup = 2: mc_inventory['cosmetics'] -= 1 if pcs_makeup = 3: mc_inventory['cosmetics'] -= 2 if pcs_makeup = 4: vidageday -= 1 & mc_inventory['cosmetics'] -= 3 end end gt 'succubus', 'sucwalkinggo' else gt 'succubus', 'sucwalkinggo' end end end !!This sets the results of the "sucwalking" event and picks the final location if $args[0] = 'sucwalkinggo': !!Here is what the PC sees cls clr '
> src="images/shared/home/bedroom/dream/sucrandream3.jpg">
' if succublvl < 3: $sucselftmp = 'a personification of <<$sucself1>> in your core' else $sucselftmp = $sucself1 end 'You dream that you are arguing with <<$sucselftmp>>.' 'You don''t know what it''s about, but you think you lost...' killvar '$sucselftmp' !!This is the results, time, and sleep variable clearing section sucencntrand = (1 + succublvl)/2 + rand(0,succublvl) scfeed = (succublvl * sucencntrand) + rand(1,(4 * sucencntrand)) minut += 180 + ((scfeed * 10) / succublvl) pcs_health += 5 * (360 + ((scfeed * 10) / succublvl)) pcs_sleep += 15 * ((360 + ((scfeed * 10) / succublvl)) / 60) pcs_condition['lack_of_sleep'] = 0 gs 'stat' clr Insleep = 0 pcs_horny = 0 orgasm += scfeed ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting pcs_willpwr += scfeed succubxp += 3 * sucencntrand sexnutrition += 25 * scfeed scwalkmon = rand (50,(100 * sucencntrand)) money += scwalkmon sucwalkday = daystart + sucencntrand + rand(0,5) sctemp = rand(1,10) if sucencntrand > 1: if sctemp <= 6: sucabscum = 1 elseif sctemp = 7: sucabslez = 1 else sucabslez = 1 & sucabscum = 1 end else if sctemp <= 7: sucabscum = 1 else sucabslez = 1 end end killvar 'sctemp' killvar 'scfeed' & killvar 'sucencntrand' !!This picks the location where you end up and how you got there if succublvl >= 4 and car > 0 and wrek ! 1: if benz <= 4: if money < (30 * (50 - benz)): if kanistra > 0: benz += 5 & kanistra -= 1 else money = 0 scwalkmon = 0 benz += rand(10,50) end else money -= (30 * (50 - benz)) benz = 50 end end sctemp = rand(1,11) if sctemp = 1: cardrive = 1 if sctemp = 2: cardrive = 2 if sctemp = 3: cardrive = 3 if sctemp = 4: cardrive = 19 if sctemp = 5: cardrive = 4 if sctemp = 6: cardrive = 5 if sctemp = 7: cardrive = 13 if sctemp = 8: cardrive = 14 if sctemp = 9: cardrive = 20 if sctemp = 10: cardrive = 23 if sctemp = 11: cardrive = 24 killvar 'sctemp' benz -= rand(1,4) teh -= rand(3,6) !! This forces the dynmanic at the top of carF to load in case it had not gs 'carF' sccarflag = 1 else sctemp = rand(1,5) if sucslpzone = 1: if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = '' if sctemp = 2: $sucgoloc = 'city_residential' & $sucgometka = '' if sctemp = 3: $sucgoloc = 'city_center' & $sucgometka = '' if sctemp = 4: $sucgoloc = 'city_park' & $sucgometka = 'start' if sctemp = 5: $sucgoloc = 'city_lake' & $sucgometka = 'start' elseif sucslpzone = 2: if sctemp = 1: $sucgoloc = 'pav_commercial' & $sucgometka = '' if sctemp = 2: $sucgoloc = 'pav_residential' & $sucgometka = '' if sctemp = 3: $sucgoloc = 'pav_park' & $sucgometka = 'start' if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = '' if sctemp = 5: $sucgoloc = 'pav_lake' & $sucgometka = '' elseif sucslpzone = 3: if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = '' if sctemp = 2: $sucgoloc = 'city_park' & $sucgometka = 'start' if sctemp = 3: $sucgoloc = 'pav_commercial' & $sucgometka = '' if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = '' if sctemp = 5: $sucgoloc = 'motel' & $sucgometka = '' elseif sucslpzone = 4: if sctemp = 1: $sucgoloc = 'pushkin' & $sucgometka = '' if sctemp = 2: $sucgoloc = 'pushkin_sq' & $sucgometka = '' if sctemp = 3: $sucgoloc = 'pushkin_parks' & $sucgometka = '' if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = '' if sctemp = 5: $sucgoloc = 'city_industrial' & $sucgometka = '' elseif sucslpzone = 5: if sctemp = 1: $sucgoloc = 'gadukino' & $sucgometka = '' if sctemp = 2: $sucgoloc = 'pav_market' & $sucgometka = '' if sctemp = 3: $sucgoloc = 'motel' & $sucgometka = '' if sctemp = 4: $sucgoloc = 'city_industrial' & $sucgometka = '' if sctemp = 5: $sucgoloc = 'city_park' & $sucgometka = 'start' end killvar 'sctemp' & killvar 'sucslpzone' end !!This is the wake up action act 'Wake Up': cla pcs_sleep = 100 pcs_mood = 100 pcs_health += healthmax/5 pcs_stam = stammax ! Commenting it out for now, but potentially worth revisiting !pcs_willpwr = pcs_intel*5 + will*5+1000 pcs_mana = (pcs_intel*pcs_magik) + pcs_magik*100 + pcs_vital*10 + rikudo minut += 15 gs 'stat' $scwrdtmp = '.' '' 'You wake up and realize that you''re not in your bed...' if pcs_hairbsh = 1 and pcs_makeup > 1: $scwrdtmp = ', your hair is brushed, and you''re wearing makeup.' 'Instead, you are fully dressed<<$scwrdtmp>>' if scwalkmon > 0: 'You find <> stuffed in your cleavage (which you place in your wallet).' money += scwalkmon end 'And you feel absolutely bursting with energy.' '' 'After a moment, you start wondering where you are...' killvar 'scwalkmon' & killvar '$scwrdtmp' act 'Look around to see where you are': if sccarflag = 1: killvar 'sccarflag' dynamic $enddrive else gt $sucgoloc, $sucgometka end end end end !!********** --- succubus ---------------------------------