succubus.qsrc 33 KB

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