1
0

succubus.qsrc 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. # succubus
  2. !2020/10/14/Gwen
  3. !!The verious calls for succubus specific events
  4. !!Varible identification:
  5. !! scfwon; a flag to indicate that a call is from a fight that was won or you were hunting, set at the calling location
  6. !! 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
  7. !! $sclocrt; a string to indicate where a call came from if $loc may not have been set, set at the calling location when needed
  8. !! $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
  9. !! $scsubloc; a string to allow a sub-routine in this location to call another and still get back to the first
  10. !! suceatinit; a flag to indicate that the initiation sub-routine was done
  11. !!*********
  12. !!This is the initiation sub-routine and is called by every event
  13. if $ARGS[0] = 'init':
  14. if succubusQW = 5 and scpopt = 1 and succhungry < 1:
  15. 'You sense <<$sucself1>> perk up, ready to spring forth...'
  16. act 'Call your power and feed (Takes a lot of time)': scpopt = 0 & gt 'succubus', 'init'
  17. act 'Try to control your urges':
  18. cla
  19. 'You try to contain <<$sucself1>>...'
  20. gs 'willpower', 'misc', 'resist', 'easy'
  21. will_cost = will_cost * succublvl
  22. if will_cost <= pcs_willpwr:
  23. gs 'willpower', 'pay', 'resist'
  24. gs 'stat'
  25. 'And you''re successful, <<$sucself1>> returns to your core.'
  26. act 'Continue': scpopt = 2 & gt $sclocrt, $scargrt
  27. else
  28. '<br>You don''t have enough willpower to control your urges.'
  29. '<<$sucself1>> continues rising toward the surface of your being.'
  30. succonfail = 1
  31. scpopt = 0
  32. xgt 'succubus', 'init'
  33. end
  34. end
  35. elseif succubusQW = 4:
  36. gt 'succubus', 'firsttime'
  37. else
  38. if succonfail ! 1: 'You call <<$sucself1>> up from its resting place'
  39. 'It fills you completely, suffusing through your being with power...'
  40. '<font color="red"><b>and hunger</b></font>'
  41. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  42. suceatinit = 1
  43. succonfail = 0
  44. act 'Continue': gt 'succubus', $scsubloc
  45. end
  46. end
  47. !!*********
  48. !! This is used if the called event is the first time it has happened (ie succubusQW = 4)
  49. if $ARGS[0] = 'firsttime':
  50. if scfwon = 1:
  51. 'As the exhilaration from the fight won and the fear of what could have happened fully sets in time seems to stop.'
  52. elseif scfwon = 0:
  53. 'As the fear of what is about to happen to you fully sets in time seems to stop.'
  54. end
  55. 'You feel, from the same core of power that has been in you since you embraced fairy''s energy, something start to...'
  56. ''
  57. '<i>uncoil...</i>'
  58. ''
  59. if scpopt = 1 and succhungry < 1:
  60. cla
  61. act 'Let go...': scpopt = 0 & succubusQW = 5 & xgt 'succubus', 'init'
  62. act 'Push it back down':
  63. cla
  64. 'You try to contain <<$sucself1>>...'
  65. gs 'willpower', 'misc', 'resist', 'easy'
  66. will_cost = will_cost * succublvl
  67. if will_cost <= pcs_willpwr:
  68. gs 'willpower', 'pay', 'resist'
  69. gs 'stat'
  70. 'And you''re successful, <<$sucself1>> returns to your core.'
  71. act 'Continue': scpopt = 2 & gt $sclocrt, $scargrt
  72. else
  73. 'And you fail, <<$sucself1>> continues rising toward the surface of your being.'
  74. succonfail = 1
  75. scpopt = 0
  76. succubusQW = 5
  77. xgt 'succubus', 'init'
  78. end
  79. end
  80. else
  81. cla
  82. act 'Continue': scpopt = 0 & succubusQW = 5 & xgt 'succubus', 'init'
  83. end
  84. end
  85. !!*********
  86. !!This is the 'city_park' and 'city_residential' call
  87. if $ARGS[0] = 'RapistFight':
  88. gs 'stat'
  89. $scsubloc = $ARGS[0]
  90. if suceatinit = 0: gt 'succubus', 'init'
  91. suceatinit = 0
  92. cls
  93. gs 'stat'
  94. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  95. 'Instinctively you are barely aware of what causes your power to reach out and take hold of your would-be rapist''s mind.'
  96. 'You see fear fill his eyes even as lust fills his loins and you feel his mind fighting your hold.'
  97. pcs_horny = 100
  98. act 'Continue':
  99. cla
  100. scrand = rand(0,3)
  101. if fightEnding = 8 and scfwon = 1:
  102. scrand -= 1
  103. scfwon = 0
  104. fightEnding = 0
  105. if rikudo > 10:rikudo += 100
  106. Win += 1
  107. elseif fightEnding = 8:
  108. fightEnding = 0
  109. SUB += 1
  110. Loss += 1
  111. if rikudo > 10:rikudo -= 10
  112. else
  113. scrand -= 1
  114. scfwon = 0
  115. fightEnding = 0
  116. end
  117. if scrand < succublvl:
  118. scfeed = succublvl + rand(1,4)
  119. if scfeed = 2:
  120. $scxcum = 'twice'
  121. else
  122. $scxcum = 'multiple times'
  123. end
  124. $orgasm_or = 'no'
  125. gs 'arousal', 'vaginal', 10, 'dom'
  126. gs 'arousal', 'end'
  127. 'You quickly drag him out of sight, then rip off his pants and expose your now hungry pussy.'
  128. 'You force him to the ground and immediately mount him, your now hair-trigger snatch sending you into orgasm.'
  129. ''
  130. '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...'
  131. ''
  132. act 'Continue':
  133. cla
  134. 'Finally, when your instincts tell you he has nothing left to give, you get off him and fix your clothes.'
  135. 'As you make ready to leave, you look down upon your would-be-rapist-turned-meal as he lays there utterly exhausted and wonder if this experience will discourage him from such activities in the future...'
  136. guy += 1
  137. pcs_horny = 0
  138. orgasm += 1 + scfeed
  139. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  140. pcs_willpwr += scfeed
  141. succubxp += 6
  142. sexnutrition += 30 * scfeed
  143. sucabscum = 1
  144. minut += 15 + (20 * scfeed) / succublvl
  145. killvar 'scfeed' & killvar 'scrand'
  146. gs 'stat'
  147. act 'Leave': gt $loc, $loc_arg
  148. end
  149. else
  150. ''
  151. 'And you feel his fear overcome his lust and your hold...'
  152. 'By the time you pull yourself back to the physical world he is long gone.'
  153. minut +=5
  154. gs 'stat'
  155. act 'Continue': gt $loc, $loc_arg
  156. end
  157. end
  158. end
  159. !!*********
  160. !!This is for feeding in PavRes
  161. if $ARGS[0] = 'pavResfeed':
  162. cla
  163. *clr
  164. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
  165. '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.'
  166. '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.'
  167. act 'Continue':
  168. *clr & cla
  169. gs 'stat'
  170. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  171. 'Just as you were 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.
  172. "Wow, what do we have here?" you say from the darkness causing him to jump.
  173. "Who the hell is there," he says as he pulls up his pants and searches for you in vain.
  174. "Exposing yourself in public? What a pervert!"
  175. "Says the girl watching. Where are you?"
  176. "Right here," you say as 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.
  177. "Find something you like?" he asks in a cocky tone. You don''t know why. He doesn''t have anything that impressive down there.'
  178. act 'Warm him up':
  179. *clr & cla
  180. '<center><img <<$set_imgh>> src="images/shared/sex/blowjob/boybj2.jpg"></center>'
  181. '"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.
  182. "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?"'
  183. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  184. '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 instict 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.'
  185. '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.'
  186. '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.'
  187. money += rand(250,500)
  188. scfeed = succublvl + rand(1,4)
  189. $orgasm_or = 'no'
  190. gs 'arousal', 'vaginal', 10, 'dom'
  191. gs 'arousal', 'end'
  192. guy += 1
  193. pcs_horny = 0
  194. orgasm += 1 + scfeed
  195. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  196. pcs_willpwr += scfeed
  197. succubxp += 6
  198. sexnutrition += 30 * scfeed
  199. sucabscum = 1
  200. minut += 15 + (20 * scfeed) / succublvl
  201. killvar 'scfeed' & killvar 'scrand'
  202. gs 'stat'
  203. act 'Continue': gt 'pav_residential'
  204. end
  205. end
  206. end
  207. !!*********
  208. !!This is where you ask Tatiana about what you are
  209. if $ARGS[0] = 'tatianaask':
  210. gs 'stat'
  211. gs 'themes', 'indoors'
  212. '<center><b><font color="maroon">Tatiana</font></b></center>'
  213. if sucpcinfo = 2:
  214. minut += 10
  215. '<center><img <<$set_imgh>> src="images/locations/city/citycenter/lab/event/main1.jpg"></center>'
  216. 'You undress and lie down on the couch and Tatiana begins to examine you.'
  217. '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.'
  218. if succubusQW = 4: 'Something in you panics at this and the fear overtakes your mind.'
  219. 'Distantly you hear Tatiana mutter, "Huh, what''s this?" and her power pokes <<$sucself1>>.'
  220. $sclocrt = 'succubus' & $scargrt = 'tatianaask'
  221. $scsubloc = 'tatianasex' & scpopt = 1
  222. sucpcinfo = 3
  223. act 'Continue': xgt 'succubus', 'init'
  224. exit
  225. elseif sucpcinfo = 3:
  226. '<center><img <<$set_imgh>> src="images/locations/city/citycenter/lab/event/main1.jpg"></center>'
  227. scpopt = 0
  228. If tatisucsex ! 0:
  229. 'Once you finish that unintended feeding and Tatiana has pulled herself back together, she says "Well, that was unexpected, go ahead and get dressed."'
  230. else
  231. 'Looking flushed once she has finished, Tatiana says "Well, that was interesting, go ahead and get dressed."'
  232. end
  233. sucpcinfo = 4
  234. sucinfoday = daystart + 10 + rand(0,7)
  235. act 'Get dressed': gt 'succubus', 'tatianaask'
  236. exit
  237. end
  238. minut += 10
  239. '<center><img <<$set_imgh>> src="images/system/intro/shared/karinpre.jpg"></center>'
  240. if sucpcinfo >= 4 and ARGS[1] = 0:
  241. '"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."'
  242. if tatisucsex ! 0:
  243. 'She then gives you a coy smile and says, "I can tell you that sex with a willing Succubus is an <i>amazing experience</i>."'
  244. else
  245. 'She then gives you a searching look as she says, "I''m told that sex with a willing Succubus is an amazing experience."'
  246. end
  247. '"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 <i>what</i> the normal method is.'
  248. '"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.'
  249. if sucskill < 1:
  250. '"And I will be able to teach you how to tell what your energy levels are."'
  251. end
  252. end
  253. if sucpcinfo >= 5 and (ARGS[1] = 0 or ARGS[1] = 1):
  254. minut += 5
  255. '"Succubae can exceed normal human limitations in a way similar to the way Juugo does, but unlike Juugo since they are Fae the masking spell ignores them.'
  256. '"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 body will automatically use this energy to improve itself; increasing their physical and mental abilities, keeping itself young looking, and providing a reserve in case she can''t find food.'
  257. '"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.'
  258. if sucskill >= 2:
  259. '"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."'
  260. else
  261. '"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."'
  262. end
  263. end
  264. if sucpcinfo >= 6 and (ARGS[1] = 0 or ARGS[1] = 2):
  265. if sucskill >= 3:
  266. '"Also learning, as you have to be more efficient with the sexual energy, increasing the amount of energy they have available for survival and storage."'
  267. else
  268. minut += 5
  269. '"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 <b>₽</b> and I will need 7 days to build up my own power reserves and you will need to have at least 3 days of reserve and have at least 100 units of stored energy.'
  270. '"Even with these preparations the training is still going to take 8 to 10 hours of... Non... Stop... Sex..."'
  271. if tatisucsex <= 0:
  272. 'She says those last three words in a tone that is equal parts anticipation and trepidation and the look in her eyes mirror this.'
  273. else
  274. 'She says those last three words in a tone that is pure seduction with a look that is equal parts anticipation and lust.'
  275. !! Hopefully can add an arousal call here
  276. end
  277. end
  278. end
  279. if sucpcinfo >= 7 and (ARGS[1] = 0 or ARGS[1] = 3):
  280. minut += 5
  281. '"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 claimed by not one Succubus, instead groups of them have made their homes there.'
  282. '"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.'
  283. 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.'
  284. end
  285. if ARGS[1] = 0:
  286. '"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.'
  287. '"As far as I know, you are the only Succubus in the region."'
  288. act 'Ask if she knows more':
  289. cla
  290. 'You ask her if she knows anything else.'
  291. 'She replies, "No, that''s all I know."'
  292. act 'Continue': gt 'tatiana_lab', 'Tatiana'
  293. end
  294. end
  295. gs 'stat'
  296. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  297. end
  298. !!**********
  299. !!This is sex with Tatiana
  300. if $ARGS[0] = 'tatianasex':
  301. gs 'stat'
  302. $scsubloc = 'tatianasex'
  303. if suceatinit = 0: gt 'succubus', 'init'
  304. suceatinit = 0
  305. cls
  306. gs 'stat'
  307. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  308. if sucpcinfo < 4:
  309. tatisucsex -= 2
  310. 'Your power reaches through the connection to Tatiana, enflaming her lust even as <<$sucself1>> grabs ahold of her power.'
  311. '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.'
  312. 'Tatiana quickly strips down and moves between your legs...'
  313. else
  314. '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.'
  315. 'With her power and <<$sucself1>> fully intertwined, you set up a gently flowing cycle, making her passion and yours move together.'
  316. 'Tatiana then kisses her way down your body, taking up position between your legs.'
  317. end
  318. act 'Continue':
  319. cls
  320. cla
  321. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex1.jpg"></center>'
  322. 'As she licks you out, she feels the same things you do until you both have your first orgasm.'
  323. 'You then move her around into a "69" position.'
  324. act 'Continue':
  325. cls
  326. cla
  327. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex2.jpg"></center>'
  328. 'You pleasure each other for some time, orgasming together and then at some point you flip over.'
  329. act 'Continue':
  330. if sucpcinfo >= 6 and sucskill < 3 and sctrainprep = 1: gt 'succubus', 'training3sex'
  331. cls
  332. cla
  333. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex3.jpg"></center>'
  334. '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.'
  335. act 'Finish':
  336. cla
  337. scfeed = 2 + succublvl + rand(1,4)
  338. lesbian += 1
  339. if tatianaSex = 0: tatianaSex = 1 & girl += 1
  340. $orgasm_or = 'no'
  341. gs 'arousal', 'cuni', 20
  342. gs 'arousal', 'end'
  343. pcs_horny = 0
  344. orgasm += scfeed
  345. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  346. pcs_willpwr += scfeed
  347. sexnutrition += 25 * scfeed
  348. suclezsex = lesbian
  349. succubxp += 6
  350. sucabslez = 1
  351. minut += 20 + (20 * scfeed) / succublvl
  352. tatisucsexday = daystart + 1 + scfeed / 3
  353. killvar 'scfeed'
  354. if sucpcinfo < 4: gt 'succubus', 'tatianaask' & exit
  355. tatisucsex += 1
  356. if tatisucsex = 0: tatisucsex = 1
  357. 'As you both put yourselves back together, Tatiana says, "That was intense, Thank You!"'
  358. act 'Continue': gt 'tatiana_lab', 'Tatiana'
  359. end
  360. end
  361. end
  362. end
  363. end
  364. !!**********
  365. !!Trainging sex ending
  366. if $ARGS[0] = 'training3sex':
  367. cls
  368. cla
  369. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex3.jpg"></center>'
  370. '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.'
  371. 'You lose track of time and are only barely able to perform the tasks Tatiana said you needed to do.'
  372. '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.'
  373. act 'Finish':
  374. cla
  375. sucskill = 3
  376. killvar 'sctrainprep'
  377. lesbian += 1
  378. suclezsex = lesbian
  379. if tatianaSex = 0: tatianaSex = 1 & girl += 1
  380. $orgasm_or = 'no'
  381. gs 'arousal', 'vaginal', 15 * rand(1,8), 'dom'
  382. gs 'arousal', 'end'
  383. tatisucsex += 1
  384. if tatisucsex = 0: tatisucsex = 1
  385. ! Seems appropriate. Potentially worth revisiting
  386. pcs_willpwr = willpowermax
  387. sucexcess -= 100
  388. succhungry += 1
  389. succubxp += 10
  390. tatisucsexday = daystart + rand (5,10)
  391. pcs_hairbsh = 0
  392. if pcs_makeup > 1: pcs_makeup = 0
  393. pcs_energy = 100 & pcs_sleep = 40
  394. gs 'stat'
  395. 'As you both put yourselves back together, Tatiana says, "Wow... just wow! That was... indescribable! I have never felt <i>anything</i> like that!" She gives you a gentle kiss before adding, "Thank You!"'
  396. 'She then lays down on the couch and immediately drops off to sleep, you toss the blanket over her and prepare to leave.'
  397. act 'Leave': gt 'city_center'
  398. end
  399. end
  400. !!**********
  401. !!This is the computer search
  402. if $ARGS[0] = 'kompresearch':
  403. gs 'stat'
  404. minut += 10 * rand(3,6)
  405. sucpcinfo = 1
  406. '<center><img <<$set_imgh>> src="images/shared/accessories/computer/succresrch.jpg"></center>'
  407. '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.'
  408. 'However, you don''t feel like you have been corrupting anything and the match isn''t that great...'
  409. 'Maybe you should go ask Tatiana...'
  410. act 'Continue': gt 'Komp', 'brows'
  411. end
  412. !!**********
  413. !!This is the start of the Succubus "Sleepwalking" code
  414. if $args[0] = 'sucwalkinginit':
  415. !!This checks for a valid location and sets the zone
  416. !!Zone 1;
  417. !!'bedr' = Apartment on St. Petersburg Residential street
  418. !!'nichBedroomServant' = Tanya''s apartment downtown
  419. !!'dom_gor' = Hostel downtown
  420. !!'obroom' = Dorm downtown
  421. !!Zone 2;
  422. !!'bedrPar' = Parent's apartment in Pavlovsk
  423. !!'HotelRoom' = Hotel next to train station in Pavlovsk
  424. !!Zone 3; 'ybedr' = Mansion outside city
  425. !!Zone 4; 'bedr2x' = Apartment in "Old Town" (aka Pushkin)
  426. !!Zone 5; 'gadhouse' = Grandmother's house in Gadukino
  427. if $loc = 'bedr' or $loc = 'nichBedroomServant' or $loc = 'dom_gor' or $loc = 'obroom':
  428. sucslpzone = 1
  429. elseif $loc = 'bedrPar' or $loc = 'HotelRoom':
  430. sucslpzone = 2
  431. elseif $loc = 'ybedr':
  432. sucslpzone = 3
  433. elseif $loc = 'bedr2x':
  434. sucslpzone = 4
  435. elseif $loc = 'gadhouse':
  436. sucslpzone = 5
  437. else
  438. exit
  439. end
  440. !!Vibrator and Panty handling (pun intended)
  441. if succublvl <= 2:
  442. if $pantyworntype ! 'none': gs 'underwear', 'remove'
  443. else
  444. if bedPanty = 1:
  445. gs 'underwear', 'wear'
  446. elseif bedPanty = 2:
  447. gs 'underwear', 'remove'
  448. end
  449. end
  450. if analplugIN = 1 and bedAnal = 1: analplugIN = 0
  451. if vibratorIN = 1 and bedVibrator = 1: vibratorIN = 0
  452. !!This is the simple method for the base level succubus
  453. if succublvl = 1 and $lastwornclothingtype ! 'nude':
  454. gs 'clothing', 'wear_last_worn'
  455. gt 'succubus', 'sucwalkinggo'
  456. end
  457. !!This is to put all owned and wearable clothing in 2 large arrays
  458. x = 0
  459. i = 1
  460. :loopexhibit
  461. if exhibit[i] = 1 and exhibitS[i] = 0 and exhibitH[i] > 0 and exhibitB[i] >= (pcs_hips - 8) and exhibitB[i] <= (pcs_hips + 8):
  462. $succlolistn[x] = 'exhibit' & succlolisti[x] = i & x += 1
  463. end
  464. i += 1
  465. if i <= 125:jump 'loopexhibit'
  466. i = 1
  467. :loopfetish
  468. if fetish[i] = 1 and fetishS[i] = 0 and fetishH[i] > 0 and fetishB[i] >= (pcs_hips - 8) and fetishB[i] <= (pcs_hips + 8):
  469. $succlolistn[x] = 'fetish' & succlolisti[x] = i & x += 1
  470. end
  471. i += 1
  472. if i <= 240:jump 'loopfetish'
  473. i = 1
  474. :loopexpensive
  475. gs 'clothing_attributes', 'expensive', i
  476. if CloStyle ! 5:
  477. if expensive[i] = 1 and expensiveS[i] = 0 and expensiveH[i] > 0 and expensiveB[i] >= (pcs_hips - 8) and expensiveB[i] <= (pcs_hips + 8):
  478. $succlolistn[x] = 'expensive' & succlolisti[x] = i & x += 1
  479. end
  480. else
  481. if expensive[i] = 1 and expensiveS[i] = 0 and expensiveH[i] > 0: $succlolistn[x] = 'expensive' & succlolisti[x] = i & x += 1
  482. end
  483. i += 1
  484. if i <= 425:jump 'loopexpensive'
  485. i = 1
  486. :loopaverage
  487. gs 'clothing_attributes', 'average', i
  488. if CloStyle ! 5:
  489. if average[i] = 1 and averageS[i] = 0 and averageH[i] > 0 and averageB[i] >= (pcs_hips - 8) and averageB[i] <= (pcs_hips + 8):
  490. $succlolistn[x] = 'average' & succlolisti[x] = i & x += 1
  491. end
  492. else
  493. if average[i] = 1 and averageS[i] = 0 and averageH[i] > 0: $succlolistn[x] = 'average' & succlolisti[x] = i & x += 1
  494. end
  495. i += 1
  496. if i <= 522:jump 'loopaverage'
  497. i = 1
  498. :loopcheap
  499. gs 'clothing_attributes', 'cheap', i
  500. if CloStyle ! 5:
  501. if cheap[i] = 1 and cheapS[i] = 0 and cheapH[i] > 0 and cheapB[i] >= (pcs_hips - 8) and cheapB[i] <= (pcs_hips + 8):
  502. $succlolistn[x] = 'cheap' & succlolisti[x] = i & x += 1
  503. end
  504. else
  505. if cheap[i] = 1 and cheapS[i] = 0 and cheapH[i] > 0: $succlolistn[x] = 'cheap' & succlolisti[x] = i & x += 1
  506. end
  507. i += 1
  508. if i <= 413:jump 'loopcheap'
  509. i = 1
  510. :loopoffice
  511. if office[i] = 1 and officeS[i] = 0 and officeH[i] > 0 and officeB[i] >= (pcs_hips - 8) and officeB[i] <= (pcs_hips + 8):
  512. $succlolistn[x] = 'office' & succlolisti[x] = i & x += 1
  513. end
  514. i += 1
  515. if i <= 140:jump 'loopoffice'
  516. i = 1
  517. :loopschool
  518. if school[i] = 1 and schoolS[i] = 0 and schoolH[i] > 0 and schoolB[i] >= (pcs_hips - 8) and schoolB[i] <= (pcs_hips + 8):
  519. $succlolistn[x] = 'school' & succlolisti[x] = i & x += 1
  520. end
  521. i += 1
  522. if i = 6: i = 7
  523. if i <= 80:jump 'loopschool'
  524. i = 1
  525. :loopexercise
  526. if exercise[i] = 1 and exerciseS[i] = 0 and exerciseH[i] > 0: $succlolistn[x] = 'exercise' & succlolisti[x] = i & x += 1
  527. i += 1
  528. if i <= 260:jump 'loopexercise'
  529. i = 1
  530. :loopformal
  531. if formal[i] = 1 and formalS[i] = 0 and formalH[i] > 0 and formalB[i] >= (pcs_hips - 8) and formalB[i] <= (pcs_hips + 8):
  532. $succlolistn[x] = 'formal' & succlolisti[x] = i & x += 1
  533. end
  534. i += 1
  535. if i <= 185:jump 'loopformal'
  536. i = 1
  537. :loopuniform
  538. if uniform[i] = 1 and uniformS[i] = 0 and uniformH[i] > 0 and uniformB[i] >= (pcs_hips - 8) and uniformB[i] <= (pcs_hips + 8):
  539. $succlolistn[x] = 'uniform' & succlolisti[x] = i & x += 1
  540. end
  541. i += 1
  542. if i <= 60:jump 'loopuniform'
  543. killvar 'i'
  544. x -= 1
  545. if succublvl <= 2:
  546. !! This picks any outfit at random
  547. :oops
  548. clopickrand = rand(0,x)
  549. if $succlolistn[clopickrand] = '': jump 'oops'
  550. gs 'clothing', 'wear', $succlolistn[clopickrand], succlolisti[clopickrand]
  551. dynamic $succlolistn[clopickrand] + 'W[<<succlolisti[clopickrand]>>] = 1'
  552. killvar '$succlolistn' & killvar 'succlolisti' & killvar 'x'
  553. gt 'succubus', 'sucwalkinggo'
  554. else
  555. !! This picks a random outfit by "looks"
  556. $succlocat[0] = 'exhibit'
  557. $succlocat[1] = 'fetish'
  558. $succlocat[2] = 'expensive'
  559. $succlocat[3] = 'average'
  560. $succlocat[4] = 'cheap'
  561. $succlocat[5] = 'office'
  562. $succlocat[6] = 'school'
  563. $succlocat[7] = 'exercise'
  564. $succlocat[8] = 'formal'
  565. $succlocat[9] = 'uniform'
  566. scbimbochk = 1
  567. y = 0 & z = 0
  568. scclocatcnt = 0
  569. :randpoploop
  570. if scbimbochk = 1 and $succlocat[scclocatcnt] = $succlolistn[y]:
  571. gs 'clothing_attributes', $succlolistn[y], succlolisti[y]
  572. if CloBimbo = 1: $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1
  573. elseif $succlocat[scclocatcnt] = $succlolistn[y]:
  574. $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1
  575. end
  576. y += 1
  577. if y <= x: jump 'randpoploop'
  578. scclocatcnt += 1 & y = 0
  579. if scbimbochk = 1:
  580. if scclocatcnt <= 3: jump 'randpoploop'
  581. if z < 1 or scpckrnd > 0:
  582. if z < 1: scpckrnd = 1
  583. if scclocatcnt <= 6: jump 'randpoploop'
  584. end
  585. else
  586. if scclocatcnt <= 3: jump 'randpoploop'
  587. if z < 1 or scpckrnd > 1:
  588. if z < 1: scpckrnd = 2
  589. if scclocatcnt <= 6: jump 'randpoploop'
  590. if z < 1 or scpckrnd > 2:
  591. if z < 1: scpckrnd = 3
  592. if scclocatcnt <= 9: jump 'randpoploop'
  593. end
  594. end
  595. end
  596. if z < 1 and scbimbochk = 1: scclocatcnt = 0 & scbimbochk = 0 & jump 'randpoploop'
  597. z -= 1
  598. :oops
  599. clopickrand = rand(0,z)
  600. if $succlorandn[clopickrand] = '': jump 'oops'
  601. gs 'clothing', 'wear', $succlorandn[clopickrand], succlorandi[clopickrand]
  602. dynamic $succlorandn[clopickrand] + 'W[<<succlorandi[clopickrand]>>] = 1'
  603. killvar '$succlolistn' & killvar 'succlolisti' & killvar '$succlorandn' & killvar 'succlorandi'
  604. killvar '$succlocat' & killvar 'scbimbochk' & killvar 'scclocatcnt' & killvar 'scpckrnd'
  605. killvar 'x' & killvar 'y' & killvar 'z'
  606. !! This covers a high level succubus doing complex activities
  607. if succublvl >= 4:
  608. if pcs_hairbsh = 0: pcs_hairbsh = 1
  609. if lipbalm > 0 and pcs_lipbalm <= 0:
  610. lipbalm -= 1
  611. lipkoef += rand(0, 1)
  612. if lipkoef > 50:
  613. lipkoef = 0
  614. pcs_lip += 1
  615. end
  616. pcs_lipbalm += 8
  617. end
  618. if pcs_makeup <= 1 and kosmetica > 0:
  619. pcs_makeup = 4
  620. if kosmetica < 3 and pcs_makeup = 4: pcs_makeup = 3
  621. if kosmetica < 2 and pcs_makeup = 3: pcs_makeup = 2
  622. if kosmetica < 1 and pcs_makeup ! 1:
  623. pcs_makeup = 1
  624. else
  625. if pcs_makeup = 2: kosmetica -= 1
  626. if pcs_makeup = 3: kosmetica -= 2
  627. if pcs_makeup = 4: vidageday -= 1 & kosmetica -= 3
  628. end
  629. end
  630. gt 'succubus', 'sucwalkinggo'
  631. else
  632. gt 'succubus', 'sucwalkinggo'
  633. end
  634. end
  635. end
  636. !!This sets the results of the "sucwalking" event and picks the final location
  637. if $args[0] = 'sucwalkinggo':
  638. !!Here is what the PC sees
  639. cls
  640. clr
  641. '<center><img <<$set_imgh>> src="images/shared/home/bedroom/dream/sucrandream3.jpg"></center>'
  642. if succublvl < 3:
  643. $sucselftmp = 'a personification of <<$sucself1>> in your core'
  644. else
  645. $sucselftmp = $sucself1
  646. end
  647. 'You dream that you are arguing with <<$sucselftmp>>.'
  648. 'You don''t know what it''s about, but you think you <b><i>lost</i></b>...'
  649. killvar '$sucselftmp'
  650. !!This is the results, time, and sleep variable clearing section
  651. sucencntrand = (1 + succublvl)/2 + rand(0,succublvl)
  652. scfeed = (succublvl * sucencntrand) + rand(1,(4 * sucencntrand))
  653. minut += 360 + ((scfeed * 10) / succublvl)
  654. pcs_health += 5 * (360 + ((scfeed * 10) / succublvl))
  655. pcs_sleep += 15 * ((360 + ((scfeed * 10) / succublvl)) / 60)
  656. gs 'stat'
  657. clr
  658. Insleep = 0
  659. pcs_horny = 0
  660. orgasm += scfeed
  661. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  662. pcs_willpwr += scfeed
  663. succubxp += 3 * sucencntrand
  664. sexnutrition += 25 * scfeed
  665. scwalkmon = rand (50,(100 * sucencntrand))
  666. money += scwalkmon
  667. sucwalkday = daystart + sucencntrand + rand(0,5)
  668. sctemp = rand(1,10)
  669. if sucencntrand > 1:
  670. if sctemp <= 6:
  671. sucabscum = 1
  672. elseif sctemp = 7:
  673. sucabslez = 1
  674. else
  675. sucabslez = 1 & sucabscum = 1
  676. end
  677. else
  678. if sctemp <= 7:
  679. sucabscum = 1
  680. else
  681. sucabslez = 1
  682. end
  683. end
  684. killvar 'sctemp'
  685. killvar 'scfeed' & killvar 'sucencntrand'
  686. !!This picks the location where you end up and how you got there
  687. if succublvl >= 4 and car > 0 and wrek ! 1:
  688. if benz <= 4:
  689. if money < (30 * (50 - benz)):
  690. if kanistra > 0:
  691. benz += 5 & kanistra -= 1
  692. else
  693. money = 0
  694. scwalkmon = 0
  695. benz += rand(10,50)
  696. end
  697. else
  698. money -= (30 * (50 - benz))
  699. benz = 50
  700. end
  701. end
  702. sctemp = rand(1,11)
  703. if sctemp = 1: cardrive = 1
  704. if sctemp = 2: cardrive = 2
  705. if sctemp = 3: cardrive = 3
  706. if sctemp = 4: cardrive = 19
  707. if sctemp = 5: cardrive = 4
  708. if sctemp = 6: cardrive = 5
  709. if sctemp = 7: cardrive = 13
  710. if sctemp = 8: cardrive = 14
  711. if sctemp = 9: cardrive = 20
  712. if sctemp = 10: cardrive = 23
  713. if sctemp = 11: cardrive = 24
  714. killvar 'sctemp'
  715. benz -= rand(1,4)
  716. teh -= rand(3,6)
  717. !! This forces the dynmanic at the top of carF to load in case it had not
  718. gs 'carF'
  719. sccarflag = 1
  720. else
  721. sctemp = rand(1,5)
  722. if sucslpzone = 1:
  723. if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = ''
  724. if sctemp = 2: $sucgoloc = 'city_residential' & $sucgometka = ''
  725. if sctemp = 3: $sucgoloc = 'city_center' & $sucgometka = ''
  726. if sctemp = 4: $sucgoloc = 'city_park' & $sucgometka = 'start'
  727. if sctemp = 5: $sucgoloc = 'city_lake' & $sucgometka = 'start'
  728. elseif sucslpzone = 2:
  729. if sctemp = 1: $sucgoloc = 'pav_commercial' & $sucgometka = ''
  730. if sctemp = 2: $sucgoloc = 'pav_residential' & $sucgometka = ''
  731. if sctemp = 3: $sucgoloc = 'pav_park' & $sucgometka = 'start'
  732. if sctemp = 4: $sucgoloc = 'pav_train' & $sucgometka = ''
  733. if sctemp = 5: $sucgoloc = 'gLake' & $sucgometka = ''
  734. elseif sucslpzone = 3:
  735. if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = ''
  736. if sctemp = 2: $sucgoloc = 'city_park' & $sucgometka = 'start'
  737. if sctemp = 3: $sucgoloc = 'pav_commercial' & $sucgometka = ''
  738. if sctemp = 4: $sucgoloc = 'pav_train' & $sucgometka = ''
  739. if sctemp = 5: $sucgoloc = 'motel' & $sucgometka = ''
  740. elseif sucslpzone = 4:
  741. if sctemp = 1: $sucgoloc = 'liam' & $sucgometka = ''
  742. if sctemp = 2: $sucgoloc = 'liames' & $sucgometka = ''
  743. if sctemp = 3: $sucgoloc = 'parks' & $sucgometka = ''
  744. if sctemp = 4: $sucgoloc = 'pav_train' & $sucgometka = ''
  745. if sctemp = 5: $sucgoloc = 'city_industrial' & $sucgometka = ''
  746. elseif sucslpzone = 5:
  747. if sctemp = 1: $sucgoloc = 'gadukino' & $sucgometka = ''
  748. if sctemp = 2: $sucgoloc = 'pav_train' & $sucgometka = ''
  749. if sctemp = 3: $sucgoloc = 'motel' & $sucgometka = ''
  750. if sctemp = 4: $sucgoloc = 'city_industrial' & $sucgometka = ''
  751. if sctemp = 5: $sucgoloc = 'city_park' & $sucgometka = 'start'
  752. end
  753. killvar 'sctemp' & killvar 'sucslpzone'
  754. end
  755. !!This is the wake up action
  756. act 'Wake Up':
  757. cla
  758. pcs_sleep = 100
  759. pcs_mood = 100
  760. pcs_health += healthmax/5
  761. pcs_stam = stammax
  762. ! Commenting it out for now, but potentially worth revisiting
  763. !pcs_willpwr = pcs_intel*5 + will*5+1000
  764. pcs_mana = (pcs_intel*pcs_magik) + pcs_magik*100 + pcs_vital*10 + rikudo
  765. minut += 15
  766. gs 'stat'
  767. $scwrdtmp = '.'
  768. ''
  769. 'You wake up and realize that you''re not in your bed...'
  770. if pcs_hairbsh = 1 and pcs_makeup > 1: $scwrdtmp = ', your hair is brushed, and you''re wearing makeup.'
  771. 'Instead, you are fully dressed<<$scwrdtmp>>'
  772. if scwalkmon > 0:
  773. 'You find <<scwalkmon>> <b>₽</b> stuffed in your cleavage (which you place in your wallet)'
  774. money += scwalkmon
  775. end
  776. 'And you feel absolutely <i>bursting</i> with energy.'
  777. ''
  778. 'After a moment, you start wondering where you are...'
  779. killvar 'scwalkmon' & killvar '$scwrdtmp'
  780. act 'Look around to see where you are':
  781. if sccarflag = 1:
  782. killvar 'sccarflag'
  783. dynamic $enddrive
  784. else
  785. gt $sucgoloc, $sucgometka
  786. end
  787. end
  788. end
  789. end
  790. !!**********
  791. --- succubus ---------------------------------