1
0

succubus.qsrc 44 KB

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