succubus.qsrc 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077
  1. # succubus
  2. !!2022/06/20
  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 the 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. !!Succubus Level & hunger calcs
  87. if $ARGS[0] = 'cikl':
  88. cheatHealth = 1
  89. dynamic $cheatmenu['std_cure']
  90. !! Hunger handling
  91. if sucxpsnapshot >= succubxp: succhungry += 1
  92. sucxpsnapshot = succubxp
  93. if succubxp < 0: succubxp = 0
  94. !! Level handling
  95. if succubxp < 60:
  96. succublvl = 1
  97. $sucself1 = 'that feeling'
  98. sucstorecap = 0
  99. if bimbolevel <= 0: supnatvnesh = 1
  100. elseif succubxp < 150:
  101. succublvl = 2
  102. $sucself1 = 'the power'
  103. sucstorecap = 0
  104. if bimbolevel <= 0: supnatvnesh = 3
  105. elseif succubxp < 270:
  106. succublvl = 3
  107. $sucself1 = 'your other self'
  108. sucstorecap = 100
  109. if bimbolevel <= 0: supnatvnesh = 6
  110. else
  111. succublvl = 4
  112. $sucself1 = 'your true self'
  113. sucstorecap = 200
  114. if bimbolevel <= 0: supnatvnesh = 10
  115. end
  116. if sucskill >= 2 and succublvl >= 2: sucstorecap += 100
  117. if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10
  118. if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1)
  119. if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1)
  120. if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1)
  121. if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1)
  122. if react_muta < (succublvl - 1): react_muta = (succublvl - 1)
  123. if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1)
  124. if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1)
  125. if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1)
  126. if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2):
  127. if pcs_stren < 250: gs 'exp_gain', 'stren', 20 & sucexcess -= 10
  128. if pcs_agil < 250: gs 'exp_gain', 'agil', 20 & sucexcess -= 10
  129. if pcs_vital < 250: gs 'exp_gain', 'vital', 20 & sucexcess -= 10
  130. if pcs_intel < 250: gs 'exp_gain', 'intel', 20 & sucexcess -= 10
  131. if pcs_react < 250: gs 'exp_gain', 'react', 20 & sucexcess -= 10
  132. if pcs_sprt < 250: gs 'exp_gain', 'sprt', 20 & sucexcess -= 10
  133. if pcs_chrsm < 250: gs 'exp_gain', 'chrsm', 20 & sucexcess -= 10
  134. if pcs_prcptn < 250: gs 'exp_gain', 'prcptn', 20 & sucexcess -= 10
  135. if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10
  136. if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2
  137. !! This is to drive the Succubus vidage into the max appearance range
  138. if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4
  139. if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4
  140. if vidageday >= 720 and vidage > 28:
  141. vidageday -= 360
  142. vidage -= 1
  143. end
  144. if salo < 60:
  145. salo += 2
  146. sucexcess -= 10
  147. elseif salo > 60:
  148. salo -= 2
  149. sucexcess -= 10
  150. end
  151. if sucexcess > sucstorecap: sucexcess = sucstorecap
  152. elseif sucexcess < 0 and succhungry < 0:
  153. succhungry += 1
  154. if (0 - sucexcess) < (10 * succublvl):
  155. sucexcess = 0
  156. else
  157. sucexcess += (10 * succublvl)
  158. end
  159. end
  160. if sucexcess < 0: sucpowzeroed += 1
  161. if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1
  162. !! This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability
  163. if sucskill >= 4:
  164. if pcs_vag - 2 >= 13:
  165. pcs_vag -= 2
  166. elseif pcs_vag + 2 <= 13:
  167. pcs_vag += 2
  168. end
  169. if pcs_ass - 2 >= 8:
  170. pcs_ass -= 2
  171. elseif pcs_ass + 2 <= 8:
  172. pcs_ass += 2
  173. end
  174. end
  175. end
  176. !!This is the 'city_park' and 'city_residential' call
  177. if $ARGS[0] = 'RapistFight':
  178. $scsubloc = $ARGS[0]
  179. if suceatinit = 0: gt 'succubus', 'init'
  180. suceatinit = 0
  181. *clr
  182. cla
  183. gs 'stat'
  184. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  185. 'Instinctively, you are barely aware of what causes your power to reach out and take hold of your would-be rapist''s mind.'
  186. 'You see fear fill his eyes even as lust fills his loins, and you feel his mind fighting your hold.'
  187. pcs_horny = 100
  188. act 'Continue':
  189. cla
  190. scrand = rand(0,3)
  191. if fightEnding = 8 and scfwon = 1:
  192. scrand -= 1
  193. scfwon = 0
  194. fightEnding = 0
  195. if rikudo > 10:rikudo += 100
  196. Win += 1
  197. elseif fightEnding = 8:
  198. fightEnding = 0
  199. SUB += 1
  200. Loss += 1
  201. if rikudo > 10:rikudo -= 10
  202. else
  203. scrand -= 1
  204. scfwon = 0
  205. fightEnding = 0
  206. end
  207. if scrand < succublvl:
  208. scfeed = succublvl + rand(1,4)
  209. if scfeed = 2:
  210. $scxcum = 'twice'
  211. else
  212. $scxcum = 'multiple times'
  213. end
  214. $orgasm_or = 'no'
  215. gs 'arousal', 'vaginal', 10, 'dom'
  216. gs 'arousal', 'end'
  217. gs 'stat'
  218. 'You quickly drag him out of sight, then rip off his pants and expose your now hungry pussy.'
  219. 'You force him to the ground and immediately mount him, your now hair-trigger snatch sending you into orgasm.'
  220. ''
  221. '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...'
  222. ''
  223. act 'Continue':
  224. raw_cash = rand(50, 300)
  225. succubusQW['rapist_cash'] = func('_difficulty','addmoneystring', raw_cash)
  226. guy += 1
  227. pcs_horny = 0
  228. orgasm += 1 + scfeed
  229. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  230. pcs_willpwr += scfeed
  231. succubxp += 6
  232. sexnutrition += 30 * scfeed
  233. sucabscum = 1
  234. minut += 15 + (20 * scfeed) / succublvl
  235. killvar 'scfeed' & killvar 'scrand'
  236. gs 'stat'
  237. cla
  238. 'Finally, when your instincts tell you he has nothing left to give, you get off him and fix your clothes.'
  239. '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...'
  240. 'Before you leave him to contemplate such things you check his wallet and grab <<succubusQW[''rapist_cash'']>> <b>₽</b> as a bonus reward.'
  241. money += succubusQW['rapist_cash']
  242. act 'Leave': gt $loc, $loc_arg
  243. end
  244. else
  245. minut +=5
  246. gs 'stat'
  247. ''
  248. 'And you feel his fear overcome his lust and your hold...'
  249. 'By the time you pull yourself back to the physical world, he is long gone.'
  250. act 'Continue': gt $loc, $loc_arg
  251. end
  252. end
  253. end
  254. !!*********
  255. !!This is for feeding in PavRes
  256. if $ARGS[0] = 'pavResfeed':
  257. cla
  258. *clr
  259. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
  260. '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.'
  261. '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.'
  262. act 'Continue':
  263. *clr & cla
  264. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  265. '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.
  266. "Wow, what do we have here?" you say from the darkness, causing him to jump.
  267. "Who the hell is there," he says as he pulls up his pants and searches for you in vain.
  268. "Exposing yourself in public? What a pervert!"
  269. "Says the girl watching. Where are you?"
  270. "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.
  271. "Find something you like?" he asks in a cocky tone. You don''t know why. He doesn''t have anything that impressive down there.'
  272. act 'Warm him up':
  273. money += rand(250,500)
  274. scfeed = succublvl + rand(1,4)
  275. $orgasm_or = 'no'
  276. gs 'arousal', 'vaginal', 10, 'dom'
  277. gs 'arousal', 'end'
  278. guy += 1
  279. pcs_horny = 0
  280. orgasm += 1 + scfeed
  281. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  282. pcs_willpwr += scfeed
  283. succubxp += 6
  284. sexnutrition += 30 * scfeed
  285. sucabscum = 1
  286. minut += 15 + (20 * scfeed) / succublvl
  287. killvar 'scfeed' & killvar 'scrand'
  288. gs 'stat'
  289. *clr & cla
  290. '<center><img <<$set_imgh>> src="images/shared/sex/blowjob/boybj2.jpg"></center>'
  291. '"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.
  292. "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?"'
  293. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  294. '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.'
  295. '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.'
  296. '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.'
  297. act 'Continue': gt 'pav_residential'
  298. end
  299. end
  300. end
  301. !!*********
  302. !!This is where you ask Tatiana about what you are
  303. if $ARGS[0] = 'tatianaask':
  304. gs 'stat'
  305. gs 'themes', 'indoors'
  306. '<center><b><font color="maroon">Tatiana</font></b></center>'
  307. if sucpcinfo = 2:
  308. minut += 10
  309. '<center><img <<$set_imgh>> src="images/locations/city/citycenter/lab/event/main1.jpg"></center>'
  310. 'You undress and lie down on the couch, and Tatiana begins to examine you.'
  311. '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.'
  312. if succubusQW = 4: 'Something in you panics at this, and the fear overtakes your mind.'
  313. 'Distantly, you hear Tatiana mutter, "Huh, what''s this?" and her power pokes <<$sucself1>>.'
  314. $sclocrt = 'succubus' & $scargrt = 'tatianaask'
  315. $scsubloc = 'tatianasex' & scpopt = 1
  316. sucpcinfo = 3
  317. act 'Continue': xgt 'succubus', 'init'
  318. exit
  319. elseif sucpcinfo = 3:
  320. '<center><img <<$set_imgh>> src="images/locations/city/citycenter/lab/event/main1.jpg"></center>'
  321. scpopt = 0
  322. If tatisucsex ! 0:
  323. 'Once you finish that unintended feeding and Tatiana has pulled herself back together, she says "Well, that was unexpected, go ahead and get dressed."'
  324. else
  325. 'Looking flushed once she has finished, Tatiana says "Well, that was interesting, go ahead and get dressed."'
  326. end
  327. sucpcinfo = 4
  328. sucinfoday = daystart + 10 + rand(0,7)
  329. act 'Get dressed': gt 'succubus', 'tatianaask'
  330. exit
  331. end
  332. minut += 10
  333. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  334. if sucpcinfo >= 4 and ARGS[1] = 0:
  335. '"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."'
  336. if tatisucsex ! 0:
  337. '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>."'
  338. else
  339. 'She then gives you a searching look as she says, "I''m told that sex with a willing Succubus is an amazing experience."'
  340. end
  341. '"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.'
  342. '"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.'
  343. if sucskill < 1:
  344. '"And I will be able to teach you how to tell what your energy levels are."'
  345. end
  346. end
  347. if sucpcinfo >= 5 and (ARGS[1] = 0 or ARGS[1] = 1):
  348. minut += 5
  349. '"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.'
  350. '"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.'
  351. '"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.'
  352. if sucskill >= 2:
  353. '"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."'
  354. else
  355. '"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."'
  356. end
  357. end
  358. if sucpcinfo >= 6 and (ARGS[1] = 0 or ARGS[1] = 2):
  359. if sucskill >= 3:
  360. '"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."'
  361. else
  362. minut += 5
  363. '"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 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.'
  364. '"Even with these preparations, the training is still going to take 8 to 10 hours of... Non... Stop... Sex..."'
  365. if tatisucsex <= 0:
  366. 'She says those last three words in a tone that is equal parts anticipation and trepidation, and the look in her eyes mirror this.'
  367. else
  368. 'She says those last three words in a tone that is pure seduction with a look that is equal parts anticipation and lust.'
  369. !! Hopefully can add an arousal call here
  370. end
  371. end
  372. end
  373. if sucpcinfo >= 7 and (ARGS[1] = 0 or ARGS[1] = 3):
  374. minut += 5
  375. '"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.'
  376. '"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.'
  377. 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.'
  378. end
  379. if ARGS[1] = 0:
  380. '"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.'
  381. '"As far as I know, you are the only Succubus in the region."'
  382. act 'Ask if she knows more':
  383. cla
  384. 'You ask her if she knows anything else.'
  385. 'She replies, "No, that''s all I know."'
  386. act 'Continue': gt 'tatiana_lab', 'Tatiana'
  387. end
  388. end
  389. gs 'stat'
  390. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  391. end
  392. !!**********
  393. !!This is sex with Tatiana
  394. if $ARGS[0] = 'tatianasex':
  395. $scsubloc = 'tatianasex'
  396. if suceatinit = 0: gt 'succubus', 'init'
  397. suceatinit = 0
  398. gs 'stat'
  399. *clr
  400. cla
  401. '<center><img <<$set_imgh>> src="images/pc/body/succubusself.jpg"></center>'
  402. if sucpcinfo < 4:
  403. tatisucsex -= 2
  404. 'Your power reaches through the connection to Tatiana, enflaming her lust even as <<$sucself1>> grabs ahold of her power.'
  405. '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.'
  406. 'Tatiana quickly strips down and moves between your legs...'
  407. else
  408. '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.'
  409. 'With her power and <<$sucself1>> fully intertwined, you set up a gently flowing cycle, making her passion and yours move together.'
  410. 'Tatiana then kisses her way down your body, taking up position between your legs.'
  411. end
  412. act 'Continue':
  413. *clr
  414. cla
  415. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex1.jpg"></center>'
  416. 'As she licks you out, she feels the same things you do until you both have your first orgasm.'
  417. 'You then move her around into a "69" position.'
  418. act 'Continue':
  419. *clr
  420. cla
  421. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex2.jpg"></center>'
  422. 'You pleasure each other for some time, orgasming together, and then at some point you flip over.'
  423. act 'Continue':
  424. if sucpcinfo >= 6 and sucskill < 3 and sctrainprep = 1: gt 'succubus', 'training3sex'
  425. *clr
  426. cla
  427. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex3.jpg"></center>'
  428. '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.'
  429. act 'Finish':
  430. cla
  431. scfeed = 2 + succublvl + rand(1,4)
  432. lesbian += 1
  433. if tatianaSex = 0: tatianaSex = 1 & girl += 1
  434. $orgasm_or = 'no'
  435. gs 'arousal', 'cuni', 20
  436. gs 'arousal', 'end'
  437. pcs_horny = 0
  438. orgasm += scfeed
  439. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  440. pcs_willpwr += scfeed
  441. sexnutrition += 25 * scfeed
  442. suclezsex = lesbian
  443. succubxp += 6
  444. sucabslez = 1
  445. minut += 20 + (20 * scfeed) / succublvl
  446. tatisucsexday = daystart + 1 + scfeed / 3
  447. killvar 'scfeed'
  448. if sucpcinfo < 4: gt 'succubus', 'tatianaask' & exit
  449. tatisucsex += 1
  450. if tatisucsex = 0: tatisucsex = 1
  451. gs 'stat'
  452. 'As you both put yourselves back together, Tatiana says, "That was intense, thank you!"'
  453. act 'Continue': gt 'tatiana_lab', 'Tatiana'
  454. end
  455. end
  456. end
  457. end
  458. end
  459. !!**********
  460. !!Trainging sex ending
  461. if $ARGS[0] = 'training3sex':
  462. gs 'stat'
  463. *clr
  464. cla
  465. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/sex/karinsucsex3.jpg"></center>'
  466. '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.'
  467. 'You lose track of time and are only barely able to perform the tasks Tatiana said you needed to do.'
  468. '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.'
  469. act 'Finish':
  470. cla
  471. sucskill = 3
  472. killvar 'sctrainprep'
  473. lesbian += 1
  474. suclezsex = lesbian
  475. if tatianaSex = 0: tatianaSex = 1 & girl += 1
  476. $orgasm_or = 'no'
  477. gs 'arousal', 'cuni', 15 * rand(1,8), 'dom'
  478. gs 'arousal', 'cuni_give', -15, 'dom'
  479. gs 'arousal', 'end'
  480. tatisucsex += 1
  481. if tatisucsex = 0: tatisucsex = 1
  482. ! Seems appropriate. Potentially worth revisiting
  483. pcs_willpwr = willpowermax
  484. sucexcess -= 100
  485. succhungry += 1
  486. succubxp += 10
  487. tatisucsexday = daystart + rand (5,10)
  488. pcs_hairbsh = 0
  489. if pcs_makeup > 1: pcs_makeup = 0
  490. pcs_energy = 100 & pcs_sleep = 40
  491. gs 'stat'
  492. '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!"'
  493. 'She then lies down on the couch and immediately drops off to sleep. You toss the blanket over her and prepare to leave.'
  494. act 'Leave': gt 'city_center'
  495. end
  496. end
  497. !!**********
  498. !!This is the computer search
  499. if $ARGS[0] = 'kompresearch':
  500. minut += 10 * rand(3,6)
  501. sucpcinfo = 1
  502. gs 'stat'
  503. '<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/succresrch.jpg"></center>'
  504. '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.'
  505. 'However, you don''t feel like you have been corrupting anything, and the match isn''t that great...'
  506. 'Maybe you should go ask Tatiana...'
  507. act 'Continue': gt 'Komp', 'browse'
  508. end
  509. !!**********
  510. !!This is the start of the Succubus "Sleepwalking" code
  511. if $args[0] = 'sucwalkinginit':
  512. !!This checks for a valid location and sets the zone
  513. !!Zone 1;
  514. !!'bedr' = Apartment on St. Petersburg Residential street
  515. !!'nichBedroomServant' = Tanya''s apartment downtown
  516. !!'dom_gor' = Hostel downtown
  517. !!'uni_dorm' = Dorm at the university
  518. !!'city_hous_res_bedr'
  519. !!Zone 2;
  520. !!'bedrPar' = Parent''s apartment in Pavlovsk
  521. !!'HotelRoom' = Hotel next to train station in Pavlovsk
  522. !!Zone 3; 'ybedroom' = Mansion outside city
  523. !!Zone 4; 'bedr2x' = Apartment in "Old Town" (aka Pushkin)
  524. !!Zone 5; 'gadhouse' = Grandmother''s house in Gadukino
  525. if $loc = 'bedr' or $loc = 'nichBedroomServant' or $loc = 'dom_gor' or $loc = 'uni_dorm' or $loc = 'city_house_res_bedr':
  526. sucslpzone = 1
  527. elseif $loc = 'bedrPar' or $loc = 'HotelRoom':
  528. sucslpzone = 2
  529. elseif $loc_arg = 'ybedroom':
  530. sucslpzone = 3
  531. elseif $loc = 'bedr2x':
  532. sucslpzone = 4
  533. elseif $loc = 'gadhouse':
  534. sucslpzone = 5
  535. else
  536. exit
  537. end
  538. !!Vibrator and Panty handling (pun intended)
  539. if succublvl <= 2:
  540. if $pantyworntype ! 'none': gs 'underwear', 'remove'
  541. else
  542. if sleepVars['bedPanty'] = 1:
  543. gs 'underwear', 'wear'
  544. elseif sleepVars['bedPanty'] = 2:
  545. gs 'underwear', 'remove'
  546. end
  547. end
  548. if analplugIN = 1 and sleepVars['bedAnal'] = 1: analplugIN = 0
  549. if vibratorIN = 1 and sleepVars['bedVibrator'] = 1: vibratorIN = 0
  550. !!This is the simple method for the base level succubus
  551. if succublvl = 1 and $lastwornclothingtype ! 'nude':
  552. gs 'clothing', 'wear_last_worn'
  553. gt 'succubus', 'sucwalkinggo'
  554. end
  555. !!This is to put all owned and wearable clothing in 2 large arrays
  556. x = 0
  557. i = 1
  558. :looperoto_dress
  559. 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):
  560. $succlolistn[x] = 'eroto_dress' & succlolisti[x] = i & x += 1
  561. end
  562. i += 1
  563. if i <= 140:jump 'looperoto_dress'
  564. i = 1
  565. :looperoto_outfits
  566. 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):
  567. $succlolistn[x] = 'eroto_outfits' & succlolisti[x] = i & x += 1
  568. end
  569. i += 1
  570. if i <= 100:jump 'looperoto_outfits'
  571. i = 1
  572. :loopsalacious_outfits
  573. 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):
  574. $succlolistn[x] = 'salacious_outfits' & succlolisti[x] = i & x += 1
  575. end
  576. i += 1
  577. if i <= 20:jump 'loopsalacious_outfits'
  578. i = 1
  579. :loopsalacious_dress
  580. 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):
  581. $succlolistn[x] = 'salacious_dress' & succlolisti[x] = i & x += 1
  582. end
  583. i += 1
  584. if i <= 60:jump 'loopsalacious_dress'
  585. i = 1
  586. :loopfashionista
  587. gs 'clothing_attributes', 'fashionista', i
  588. if CloStyle ! 5:
  589. if fashionista[i] = 1 and fashionista_s[i] = 0 and fashionista_h[i] > 0 and fashionista_b[i] >= (pcs_hips - 8) and fashionista_b[i] <= (pcs_hips + 8):
  590. $succlolistn[x] = 'fashionista' & succlolisti[x] = i & x += 1
  591. end
  592. else
  593. if fashionista[i] = 1 and fashionista_s[i] = 0 and fashionista_h[i] > 0: $succlolistn[x] = 'fashionista' & succlolisti[x] = i & x += 1
  594. end
  595. i += 1
  596. if i <= 200:jump 'loopfashionista'
  597. i = 1
  598. :loopcats_dress
  599. gs 'clothing_attributes', 'cats_dress', i
  600. if CloStyle ! 5:
  601. 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):
  602. $succlolistn[x] = 'cats_dress' & succlolisti[x] = i & x += 1
  603. end
  604. else
  605. 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
  606. end
  607. i += 1
  608. if i <= 220:jump 'loopcats_dress'
  609. i = 1
  610. :loopcats_outfits
  611. gs 'clothing_attributes', 'cats_outfits', i
  612. if CloStyle ! 5:
  613. 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):
  614. $succlolistn[x] = 'cats_outfits' & succlolisti[x] = i & x += 1
  615. end
  616. else
  617. 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
  618. end
  619. i += 1
  620. if i <= 200:jump 'loopcats_outfits'
  621. i = 1
  622. :loopcoco_dress
  623. gs 'clothing_attributes', 'coco_dress', i
  624. if CloStyle ! 5:
  625. 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):
  626. $succlolistn[x] = 'coco_dress' & succlolisti[x] = i & x += 1
  627. end
  628. else
  629. 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
  630. end
  631. i += 1
  632. if i <= 300:jump 'loopcoco_dress'
  633. i = 1
  634. :loopcoco_outfit
  635. gs 'clothing_attributes', 'coco_outfits', i
  636. if CloStyle ! 5:
  637. 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):
  638. $succlolistn[x] = 'coco_outfits' & succlolisti[x] = i & x += 1
  639. end
  640. else
  641. 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
  642. end
  643. i += 1
  644. if i <= 160:jump 'loopcoco_outfit'
  645. i = 1
  646. :loopflamingos_outfits
  647. gs 'clothing_attributes', 'flamingos_outfits', i
  648. if CloStyle ! 5:
  649. 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):
  650. $succlolistn[x] = 'flamingos_outfits' & succlolisti[x] = i & x += 1
  651. end
  652. else
  653. 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
  654. end
  655. i += 1
  656. if i <= 160:jump 'loopflamingos_outfits'
  657. i = 1
  658. :loopflamingos_dress
  659. gs 'clothing_attributes', 'flamingos_dress', i
  660. if CloStyle ! 5:
  661. 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):
  662. $succlolistn[x] = 'flamingos_dress' & succlolisti[x] = i & x += 1
  663. end
  664. else
  665. 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
  666. end
  667. i += 1
  668. if i <= 180:jump 'loopflamingos_dress'
  669. i = 1
  670. :loopgm_outfits
  671. gs 'clothing_attributes', 'gm_outfits', i
  672. if CloStyle ! 5:
  673. 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):
  674. $succlolistn[x] = 'gm_outfits' & succlolisti[x] = i & x += 1
  675. end
  676. else
  677. 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
  678. end
  679. i += 1
  680. if i <= 200:jump 'loopgm_outfits'
  681. i = 1
  682. :loopgm_dress
  683. gs 'clothing_attributes', 'gm_dress', i
  684. if CloStyle ! 5:
  685. 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):
  686. $succlolistn[x] = 'gm_dress' & succlolisti[x] = i & x += 1
  687. end
  688. else
  689. 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
  690. end
  691. i += 1
  692. if i <= 350:jump 'loopgm_dress'
  693. i = 1
  694. :loopoffice
  695. 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):
  696. $succlolistn[x] = 'gm_office' & succlolisti[x] = i & x += 1
  697. end
  698. i += 1
  699. if i <= 40:jump 'loopoffice'
  700. i = 1
  701. :loopschool
  702. 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):
  703. $succlolistn[x] = 'gm_school' & succlolisti[x] = i & x += 1
  704. end
  705. i += 1
  706. if i = 6: i = 7
  707. if i <= 60:jump 'loopschool'
  708. i = 1
  709. :loopdanilovich
  710. 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
  711. i += 1
  712. if i <= 160:jump 'loopdanilovich'
  713. i = 1
  714. :loopmoncheri_gown
  715. 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):
  716. $succlolistn[x] = 'moncheri_gown' & succlolisti[x] = i & x += 1
  717. end
  718. i += 1
  719. if i <= 100:jump 'loopmoncheri_gown'
  720. i = 1
  721. :loopmoncheri_dress
  722. 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):
  723. $succlolistn[x] = 'moncheri_dress' & succlolisti[x] = i & x += 1
  724. end
  725. i += 1
  726. if i <= 100:jump 'loopmoncheri_dress'
  727. i = 1
  728. :loopgm_server
  729. 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):
  730. $succlolistn[x] = 'gm_server' & succlolisti[x] = i & x += 1
  731. end
  732. i += 1
  733. if i <= 30:jump 'loopgm_server'
  734. killvar 'i'
  735. i = 1
  736. :loopgm_maid
  737. 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):
  738. $succlolistn[x] = 'gm_maid' & succlolisti[x] = i & x += 1
  739. end
  740. i += 1
  741. if i <= 40:jump 'loopgm_maid'
  742. killvar 'i'
  743. x -= 1
  744. if succublvl <= 2:
  745. !! This picks any outfit at random
  746. :oops
  747. clopickrand = rand(0,x)
  748. if $succlolistn[clopickrand] = '': jump 'oops'
  749. gs 'clothing', 'wear', $succlolistn[clopickrand], succlolisti[clopickrand]
  750. dynamic $succlolistn[clopickrand] + 'W[<<succlolisti[clopickrand]>>] = 1'
  751. killvar '$succlolistn' & killvar 'succlolisti' & killvar 'x'
  752. gt 'succubus', 'sucwalkinggo'
  753. else
  754. !! This picks a random outfit by "looks"
  755. $succlocat[0] = 'eroto_dress'
  756. $succlocat[1] = 'eroto_outfits'
  757. $succlocat[2] = 'salacious_outfit'
  758. $succlocat[3] = 'salacious_dress'
  759. $succlocat[4] = 'fashionista'
  760. $succlocat[5] = 'cats_dress'
  761. $succlocat[6] = 'cats_outfits'
  762. $succlocat[7] = 'coco_dress'
  763. $succlocat[8] = 'coco_outfits'
  764. $succlocat[9] = 'flamingos_dress'
  765. $succlocat[10] = 'flamingos_outfits'
  766. $succlocat[11] = 'gm_outfits'
  767. $succlocat[12] = 'gm_dress'
  768. $succlocat[13] = 'gm_office'
  769. $succlocat[14] = 'gm_school'
  770. $succlocat[15] = 'danilovich_outfits'
  771. $succlocat[16] = 'moncheri_gown'
  772. $succlocat[17] = 'moncheri_dress'
  773. $succlocat[18] = 'gm_server'
  774. $succlocat[19] = 'gm_maid'
  775. scbimbochk = 1
  776. y = 0 & z = 0
  777. scclocatcnt = 0
  778. :randpoploop
  779. if scbimbochk = 1 and $succlocat[scclocatcnt] = $succlolistn[y]:
  780. gs 'clothing_attributes', $succlolistn[y], succlolisti[y]
  781. if CloBimbo = 1: $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1
  782. elseif $succlocat[scclocatcnt] = $succlolistn[y]:
  783. $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1
  784. end
  785. y += 1
  786. if y <= x: jump 'randpoploop'
  787. scclocatcnt += 1 & y = 0
  788. if scbimbochk = 1:
  789. if scclocatcnt <= 3: jump 'randpoploop'
  790. if z < 1 or scpckrnd > 0:
  791. if z < 1: scpckrnd = 1
  792. if scclocatcnt <= 6: jump 'randpoploop'
  793. end
  794. else
  795. if scclocatcnt <= 3: jump 'randpoploop'
  796. if z < 1 or scpckrnd > 1:
  797. if z < 1: scpckrnd = 2
  798. if scclocatcnt <= 6: jump 'randpoploop'
  799. if z < 1 or scpckrnd > 2:
  800. if z < 1: scpckrnd = 3
  801. if scclocatcnt <= arrsize('$succlocat'): jump 'randpoploop'
  802. end
  803. end
  804. end
  805. if z < 1 and scbimbochk = 1: scclocatcnt = 0 & scbimbochk = 0 & jump 'randpoploop'
  806. z -= 1
  807. :oops2
  808. clopickrand = rand(0,z)
  809. if $succlorandn[clopickrand] = '': jump 'oops2'
  810. gs 'clothing', 'wear', $succlorandn[clopickrand], succlorandi[clopickrand]
  811. dynamic $succlorandn[clopickrand] + 'W[<<succlorandi[clopickrand]>>] = 1'
  812. killvar '$succlolistn' & killvar 'succlolisti' & killvar '$succlorandn' & killvar 'succlorandi'
  813. killvar '$succlocat' & killvar 'scbimbochk' & killvar 'scclocatcnt' & killvar 'scpckrnd'
  814. killvar 'x' & killvar 'y' & killvar 'z'
  815. !! This covers a high level succubus doing complex activities
  816. if succublvl >= 4:
  817. if pcs_hairbsh < 1: pcs_hairbsh = 1
  818. if mc_inventory['lipbalm'] > 0 and pcs_lipbalm <= 0:
  819. mc_inventory['lipbalm'] -= 1
  820. lipkoef += rand(0, 1)
  821. if lipkoef > 50:
  822. lipkoef = 0
  823. pcs_lip += 1
  824. end
  825. pcs_lipbalm += 8
  826. end
  827. if pcs_makeup <= 1 and mc_inventory['cosmetics'] > 0:
  828. pcs_makeup = 4
  829. if mc_inventory['cosmetics'] < 3 and pcs_makeup = 4: pcs_makeup = 3
  830. if mc_inventory['cosmetics'] < 2 and pcs_makeup = 3: pcs_makeup = 2
  831. if mc_inventory['cosmetics'] < 1 and pcs_makeup ! 1:
  832. pcs_makeup = 1
  833. else
  834. if pcs_makeup = 2: mc_inventory['cosmetics'] -= 1
  835. if pcs_makeup = 3: mc_inventory['cosmetics'] -= 2
  836. if pcs_makeup = 4: vidageday -= 1 & mc_inventory['cosmetics'] -= 3
  837. end
  838. end
  839. gt 'succubus', 'sucwalkinggo'
  840. else
  841. gt 'succubus', 'sucwalkinggo'
  842. end
  843. end
  844. end
  845. !!This sets the results of the "sucwalking" event and picks the final location
  846. if $args[0] = 'sucwalkinggo':
  847. !!Here is what the PC sees
  848. cls
  849. clr
  850. '<center><img <<$set_imgh>> src="images/shared/home/bedroom/dream/sucrandream3.jpg"></center>'
  851. if succublvl < 3:
  852. $sucselftmp = 'a personification of <<$sucself1>> in your core'
  853. else
  854. $sucselftmp = $sucself1
  855. end
  856. 'You dream that you are arguing with <<$sucselftmp>>.'
  857. 'You don''t know what it''s about, but you think you <b><i>lost</i></b>...'
  858. killvar '$sucselftmp'
  859. !!This is the results, time, and sleep variable clearing section
  860. sucencntrand = (1 + succublvl)/2 + rand(0,succublvl)
  861. scfeed = (succublvl * sucencntrand) + rand(1,(4 * sucencntrand))
  862. minut += 180 + ((scfeed * 10) / succublvl)
  863. pcs_health += 5 * (360 + ((scfeed * 10) / succublvl))
  864. pcs_sleep += 15 * ((360 + ((scfeed * 10) / succublvl)) / 60)
  865. pcs_condition['lack_of_sleep'] = 0
  866. gs 'stat'
  867. clr
  868. Insleep = 0
  869. pcs_horny = 0
  870. orgasm += scfeed
  871. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  872. pcs_willpwr += scfeed
  873. succubxp += 3 * sucencntrand
  874. sexnutrition += 25 * scfeed
  875. scwalkmon = rand (50,(100 * sucencntrand))
  876. money += scwalkmon
  877. sucwalkday = daystart + sucencntrand + rand(0,5)
  878. sctemp = rand(1,10)
  879. if sucencntrand > 1:
  880. if sctemp <= 6:
  881. sucabscum = 1
  882. elseif sctemp = 7:
  883. sucabslez = 1
  884. else
  885. sucabslez = 1 & sucabscum = 1
  886. end
  887. else
  888. if sctemp <= 7:
  889. sucabscum = 1
  890. else
  891. sucabslez = 1
  892. end
  893. end
  894. killvar 'sctemp'
  895. killvar 'scfeed' & killvar 'sucencntrand'
  896. !!This picks the location where you end up and how you got there
  897. if succublvl >= 4 and car > 0 and wrek ! 1:
  898. if benz <= 4:
  899. if money < (30 * (50 - benz)):
  900. if kanistra > 0:
  901. benz += 5 & kanistra -= 1
  902. else
  903. money = 0
  904. scwalkmon = 0
  905. benz += rand(10,50)
  906. end
  907. else
  908. money -= (30 * (50 - benz))
  909. benz = 50
  910. end
  911. end
  912. sctemp = rand(1,11)
  913. if sctemp = 1: cardrive = 1
  914. if sctemp = 2: cardrive = 2
  915. if sctemp = 3: cardrive = 3
  916. if sctemp = 4: cardrive = 19
  917. if sctemp = 5: cardrive = 4
  918. if sctemp = 6: cardrive = 5
  919. if sctemp = 7: cardrive = 13
  920. if sctemp = 8: cardrive = 14
  921. if sctemp = 9: cardrive = 20
  922. if sctemp = 10: cardrive = 23
  923. if sctemp = 11: cardrive = 24
  924. killvar 'sctemp'
  925. benz -= rand(1,4)
  926. teh -= rand(3,6)
  927. !! This forces the dynmanic at the top of carF to load in case it had not
  928. gs 'carF'
  929. sccarflag = 1
  930. else
  931. sctemp = rand(1,5)
  932. if sucslpzone = 1:
  933. if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = ''
  934. if sctemp = 2: $sucgoloc = 'city_residential' & $sucgometka = ''
  935. if sctemp = 3: $sucgoloc = 'city_center' & $sucgometka = ''
  936. if sctemp = 4: $sucgoloc = 'city_park' & $sucgometka = 'start'
  937. if sctemp = 5: $sucgoloc = 'city_lake' & $sucgometka = 'start'
  938. elseif sucslpzone = 2:
  939. if sctemp = 1: $sucgoloc = 'pav_commercial' & $sucgometka = ''
  940. if sctemp = 2: $sucgoloc = 'pav_residential' & $sucgometka = ''
  941. if sctemp = 3: $sucgoloc = 'pav_park' & $sucgometka = 'start'
  942. if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = ''
  943. if sctemp = 5: $sucgoloc = 'pav_lake' & $sucgometka = ''
  944. elseif sucslpzone = 3:
  945. if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = ''
  946. if sctemp = 2: $sucgoloc = 'city_park' & $sucgometka = 'start'
  947. if sctemp = 3: $sucgoloc = 'pav_commercial' & $sucgometka = ''
  948. if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = ''
  949. if sctemp = 5: $sucgoloc = 'motel' & $sucgometka = ''
  950. elseif sucslpzone = 4:
  951. if sctemp = 1: $sucgoloc = 'pushkin' & $sucgometka = ''
  952. if sctemp = 2: $sucgoloc = 'pushkin_sq' & $sucgometka = ''
  953. if sctemp = 3: $sucgoloc = 'parks' & $sucgometka = ''
  954. if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = ''
  955. if sctemp = 5: $sucgoloc = 'city_industrial' & $sucgometka = ''
  956. elseif sucslpzone = 5:
  957. if sctemp = 1: $sucgoloc = 'gadukino' & $sucgometka = ''
  958. if sctemp = 2: $sucgoloc = 'pav_market' & $sucgometka = ''
  959. if sctemp = 3: $sucgoloc = 'motel' & $sucgometka = ''
  960. if sctemp = 4: $sucgoloc = 'city_industrial' & $sucgometka = ''
  961. if sctemp = 5: $sucgoloc = 'city_park' & $sucgometka = 'start'
  962. end
  963. killvar 'sctemp' & killvar 'sucslpzone'
  964. end
  965. !!This is the wake up action
  966. act 'Wake Up':
  967. cla
  968. pcs_sleep = 100
  969. pcs_mood = 100
  970. pcs_health += healthmax/5
  971. pcs_stam = stammax
  972. ! Commenting it out for now, but potentially worth revisiting
  973. !pcs_willpwr = pcs_intel*5 + will*5+1000
  974. pcs_mana = (pcs_intel*pcs_magik) + pcs_magik*100 + pcs_vital*10 + rikudo
  975. minut += 15
  976. gs 'stat'
  977. $scwrdtmp = '.'
  978. ''
  979. 'You wake up and realize that you''re not in your bed...'
  980. if pcs_hairbsh = 1 and pcs_makeup > 1: $scwrdtmp = ', your hair is brushed, and you''re wearing makeup.'
  981. 'Instead, you are fully dressed<<$scwrdtmp>>'
  982. if scwalkmon > 0:
  983. 'You find <<scwalkmon>> <b>₽</b> stuffed in your cleavage (which you place in your wallet).'
  984. money += scwalkmon
  985. end
  986. 'And you feel absolutely <i>bursting</i> with energy.'
  987. ''
  988. 'After a moment, you start wondering where you are...'
  989. killvar 'scwalkmon' & killvar '$scwrdtmp'
  990. act 'Look around to see where you are':
  991. if sccarflag = 1:
  992. killvar 'sccarflag'
  993. dynamic $enddrive
  994. else
  995. gt $sucgoloc, $sucgometka
  996. end
  997. end
  998. end
  999. end
  1000. !!**********
  1001. --- succubus ---------------------------------