succubus.qsrc 43 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097
  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 pcs_mass['body'] < 60:
  145. pcs_mass['body'] += 2
  146. sucexcess -= 10
  147. elseif pcs_mass['body'] > 60:
  148. pcs_mass['body'] -= 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 & analplugout = 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. gs 'clothing', 'totals', 'eroto_dress'
  558. i = 1
  559. :looperoto_dress
  560. 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):
  561. $succlolistn[x] = 'eroto_dress' & succlolisti[x] = i & x += 1
  562. end
  563. i += 1
  564. if i <= total:jump 'looperoto_dress'
  565. gs 'clothing', 'totals', 'eroto_outfits'
  566. i = 1
  567. :looperoto_outfits
  568. 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):
  569. $succlolistn[x] = 'eroto_outfits' & succlolisti[x] = i & x += 1
  570. end
  571. i += 1
  572. if i <= total:jump 'looperoto_outfits'
  573. gs 'clothing', 'totals', 'salacious_outfits'
  574. i = 1
  575. :loopsalacious_outfits
  576. 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):
  577. $succlolistn[x] = 'salacious_outfits' & succlolisti[x] = i & x += 1
  578. end
  579. i += 1
  580. if i <= total:jump 'loopsalacious_outfits'
  581. gs 'clothing', 'totals', 'salacious_dress'
  582. i = 1
  583. :loopsalacious_dress
  584. 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):
  585. $succlolistn[x] = 'salacious_dress' & succlolisti[x] = i & x += 1
  586. end
  587. i += 1
  588. if i <= total:jump 'loopsalacious_dress'
  589. gs 'clothing', 'totals', 'fashionista_dress'
  590. i = 1
  591. :loopfashionista_dress
  592. gs 'clothing_attributes', 'fashionista_dress', i
  593. if CloStyle ! 5:
  594. 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):
  595. $succlolistn[x] = 'fashionista_dress' & succlolisti[x] = i & x += 1
  596. end
  597. else
  598. 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
  599. end
  600. i += 1
  601. if i <= total:jump 'loopfashionista_dress'
  602. gs 'clothing', 'totals', 'cats_dress'
  603. i = 1
  604. :loopcats_dress
  605. gs 'clothing_attributes', 'cats_dress', i
  606. if CloStyle ! 5:
  607. 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):
  608. $succlolistn[x] = 'cats_dress' & succlolisti[x] = i & x += 1
  609. end
  610. else
  611. 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
  612. end
  613. i += 1
  614. if i <= total:jump 'loopcats_dress'
  615. gs 'clothing', 'totals', 'cats_outfits'
  616. i = 1
  617. :loopcats_outfits
  618. gs 'clothing_attributes', 'cats_outfits', i
  619. if CloStyle ! 5:
  620. 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):
  621. $succlolistn[x] = 'cats_outfits' & succlolisti[x] = i & x += 1
  622. end
  623. else
  624. 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
  625. end
  626. i += 1
  627. if i <= total:jump 'loopcats_outfits'
  628. gs 'clothing', 'totals', 'coco_dress'
  629. i = 1
  630. :loopcoco_dress
  631. gs 'clothing_attributes', 'coco_dress', i
  632. if CloStyle ! 5:
  633. 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):
  634. $succlolistn[x] = 'coco_dress' & succlolisti[x] = i & x += 1
  635. end
  636. else
  637. 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
  638. end
  639. i += 1
  640. if i <= total:jump 'loopcoco_dress'
  641. gs 'clothing', 'totals', 'coco_outfits'
  642. i = 1
  643. :loopcoco_outfit
  644. gs 'clothing_attributes', 'coco_outfits', i
  645. if CloStyle ! 5:
  646. 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):
  647. $succlolistn[x] = 'coco_outfits' & succlolisti[x] = i & x += 1
  648. end
  649. else
  650. 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
  651. end
  652. i += 1
  653. if i <= total:jump 'loopcoco_outfit'
  654. gs 'clothing', 'totals', 'flamingos_outfits'
  655. i = 1
  656. :loopflamingos_outfits
  657. gs 'clothing_attributes', 'flamingos_outfits', i
  658. if CloStyle ! 5:
  659. 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):
  660. $succlolistn[x] = 'flamingos_outfits' & succlolisti[x] = i & x += 1
  661. end
  662. else
  663. 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
  664. end
  665. i += 1
  666. if i <= total:jump 'loopflamingos_outfits'
  667. gs 'clothing', 'totals', 'flamingos_dress'
  668. i = 1
  669. :loopflamingos_dress
  670. gs 'clothing_attributes', 'flamingos_dress', i
  671. if CloStyle ! 5:
  672. 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):
  673. $succlolistn[x] = 'flamingos_dress' & succlolisti[x] = i & x += 1
  674. end
  675. else
  676. 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
  677. end
  678. i += 1
  679. if i <= total:jump 'loopflamingos_dress'
  680. gs 'clothing', 'totals', 'gm_outfits'
  681. i = 1
  682. :loopgm_outfits
  683. gs 'clothing_attributes', 'gm_outfits', i
  684. if CloStyle ! 5:
  685. 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):
  686. $succlolistn[x] = 'gm_outfits' & succlolisti[x] = i & x += 1
  687. end
  688. else
  689. 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
  690. end
  691. i += 1
  692. if i <= total:jump 'loopgm_outfits'
  693. gs 'clothing', 'totals', 'gm_dress'
  694. i = 1
  695. :loopgm_dress
  696. gs 'clothing_attributes', 'gm_dress', i
  697. if CloStyle ! 5:
  698. 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):
  699. $succlolistn[x] = 'gm_dress' & succlolisti[x] = i & x += 1
  700. end
  701. else
  702. 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
  703. end
  704. i += 1
  705. if i <= total:jump 'loopgm_dress'
  706. gs 'clothing', 'totals', 'gm_office'
  707. i = 1
  708. :loopoffice
  709. 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):
  710. $succlolistn[x] = 'gm_office' & succlolisti[x] = i & x += 1
  711. end
  712. i += 1
  713. if i <= total:jump 'loopoffice'
  714. gs 'clothing', 'totals', 'gm_school'
  715. i = 1
  716. :loopschool
  717. 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):
  718. $succlolistn[x] = 'gm_school' & succlolisti[x] = i & x += 1
  719. end
  720. i += 1
  721. if i = 6: i = 7
  722. if i <= total:jump 'loopschool'
  723. gs 'clothing', 'totals', 'danilovich_outfits'
  724. i = 1
  725. :loopdanilovich
  726. 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
  727. i += 1
  728. if i <= total:jump 'loopdanilovich'
  729. gs 'clothing', 'totals', 'moncheri_gown'
  730. i = 1
  731. :loopmoncheri_gown
  732. 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):
  733. $succlolistn[x] = 'moncheri_gown' & succlolisti[x] = i & x += 1
  734. end
  735. i += 1
  736. if i <= total:jump 'loopmoncheri_gown'
  737. gs 'clothing', 'totals', 'moncheri_dress'
  738. i = 1
  739. :loopmoncheri_dress
  740. 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):
  741. $succlolistn[x] = 'moncheri_dress' & succlolisti[x] = i & x += 1
  742. end
  743. i += 1
  744. if i <= total:jump 'loopmoncheri_dress'
  745. gs 'clothing', 'totals', 'gm_server'
  746. i = 1
  747. :loopgm_server
  748. 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):
  749. $succlolistn[x] = 'gm_server' & succlolisti[x] = i & x += 1
  750. end
  751. i += 1
  752. if i <= total:jump 'loopgm_server'
  753. killvar 'i'
  754. gs 'clothing', 'totals', 'gm_maid'
  755. i = 1
  756. :loopgm_maid
  757. 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):
  758. $succlolistn[x] = 'gm_maid' & succlolisti[x] = i & x += 1
  759. end
  760. i += 1
  761. if i <= total:jump 'loopgm_maid'
  762. killvar 'i'
  763. x -= 1
  764. if succublvl <= 2:
  765. !! This picks any outfit at random
  766. :oops
  767. clopickrand = rand(0,x)
  768. if $succlolistn[clopickrand] = '': jump 'oops'
  769. gs 'clothing', 'wear', $succlolistn[clopickrand], succlolisti[clopickrand]
  770. dynamic $succlolistn[clopickrand] + 'W[<<succlolisti[clopickrand]>>] = 1'
  771. killvar '$succlolistn' & killvar 'succlolisti' & killvar 'x'
  772. gt 'succubus', 'sucwalkinggo'
  773. else
  774. !! This picks a random outfit by "looks"
  775. $succlocat[0] = 'eroto_dress'
  776. $succlocat[1] = 'eroto_outfits'
  777. $succlocat[2] = 'salacious_outfit'
  778. $succlocat[3] = 'salacious_dress'
  779. $succlocat[4] = 'fashionista_dress'
  780. $succlocat[5] = 'cats_dress'
  781. $succlocat[6] = 'cats_outfits'
  782. $succlocat[7] = 'coco_dress'
  783. $succlocat[8] = 'coco_outfits'
  784. $succlocat[9] = 'flamingos_dress'
  785. $succlocat[10] = 'flamingos_outfits'
  786. $succlocat[11] = 'gm_outfits'
  787. $succlocat[12] = 'gm_dress'
  788. $succlocat[13] = 'gm_office'
  789. $succlocat[14] = 'gm_school'
  790. $succlocat[15] = 'danilovich_outfits'
  791. $succlocat[16] = 'moncheri_gown'
  792. $succlocat[17] = 'moncheri_dress'
  793. $succlocat[18] = 'gm_server'
  794. $succlocat[19] = 'gm_maid'
  795. scbimbochk = 1
  796. y = 0 & z = 0
  797. scclocatcnt = 0
  798. :randpoploop
  799. if scbimbochk = 1 and $succlocat[scclocatcnt] = $succlolistn[y]:
  800. gs 'clothing_attributes', $succlolistn[y], succlolisti[y]
  801. if CloBimbo = 1: $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1
  802. elseif $succlocat[scclocatcnt] = $succlolistn[y]:
  803. $succlorandn[z] = $succlolistn[y] & succlorandi[z] = succlolisti[y] & z += 1
  804. end
  805. y += 1
  806. if y <= x: jump 'randpoploop'
  807. scclocatcnt += 1 & y = 0
  808. if scbimbochk = 1:
  809. if scclocatcnt <= 3: jump 'randpoploop'
  810. if z < 1 or scpckrnd > 0:
  811. if z < 1: scpckrnd = 1
  812. if scclocatcnt <= 6: jump 'randpoploop'
  813. end
  814. else
  815. if scclocatcnt <= 3: jump 'randpoploop'
  816. if z < 1 or scpckrnd > 1:
  817. if z < 1: scpckrnd = 2
  818. if scclocatcnt <= 6: jump 'randpoploop'
  819. if z < 1 or scpckrnd > 2:
  820. if z < 1: scpckrnd = 3
  821. if scclocatcnt <= arrsize('$succlocat'): jump 'randpoploop'
  822. end
  823. end
  824. end
  825. if z < 1 and scbimbochk = 1: scclocatcnt = 0 & scbimbochk = 0 & jump 'randpoploop'
  826. z -= 1
  827. :oops2
  828. clopickrand = rand(0,z)
  829. if $succlorandn[clopickrand] = '': jump 'oops2'
  830. gs 'clothing', 'wear', $succlorandn[clopickrand], succlorandi[clopickrand]
  831. dynamic $succlorandn[clopickrand] + 'W[<<succlorandi[clopickrand]>>] = 1'
  832. killvar '$succlolistn' & killvar 'succlolisti' & killvar '$succlorandn' & killvar 'succlorandi'
  833. killvar '$succlocat' & killvar 'scbimbochk' & killvar 'scclocatcnt' & killvar 'scpckrnd'
  834. killvar 'x' & killvar 'y' & killvar 'z'
  835. !! This covers a high level succubus doing complex activities
  836. if succublvl >= 4:
  837. if pcs_hairbsh < 1: pcs_hairbsh = 1
  838. if mc_inventory['lipbalm'] > 0 and pcs_lipbalm <= 0:
  839. mc_inventory['lipbalm'] -= 1
  840. lipkoef += rand(0, 1)
  841. if lipkoef > 50:
  842. lipkoef = 0
  843. pcs_lip += 1
  844. end
  845. pcs_lipbalm += 8
  846. end
  847. if pcs_makeup <= 1 and mc_inventory['cosmetics'] > 0:
  848. pcs_makeup = 4
  849. if mc_inventory['cosmetics'] < 3 and pcs_makeup = 4: pcs_makeup = 3
  850. if mc_inventory['cosmetics'] < 2 and pcs_makeup = 3: pcs_makeup = 2
  851. if mc_inventory['cosmetics'] < 1 and pcs_makeup ! 1:
  852. pcs_makeup = 1
  853. else
  854. if pcs_makeup = 2: mc_inventory['cosmetics'] -= 1
  855. if pcs_makeup = 3: mc_inventory['cosmetics'] -= 2
  856. if pcs_makeup = 4: vidageday -= 1 & mc_inventory['cosmetics'] -= 3
  857. end
  858. end
  859. gt 'succubus', 'sucwalkinggo'
  860. else
  861. gt 'succubus', 'sucwalkinggo'
  862. end
  863. end
  864. end
  865. !!This sets the results of the "sucwalking" event and picks the final location
  866. if $args[0] = 'sucwalkinggo':
  867. !!Here is what the PC sees
  868. cls
  869. clr
  870. '<center><img <<$set_imgh>> src="images/shared/home/bedroom/dream/sucrandream3.jpg"></center>'
  871. if succublvl < 3:
  872. $sucselftmp = 'a personification of <<$sucself1>> in your core'
  873. else
  874. $sucselftmp = $sucself1
  875. end
  876. 'You dream that you are arguing with <<$sucselftmp>>.'
  877. 'You don''t know what it''s about, but you think you <b><i>lost</i></b>...'
  878. killvar '$sucselftmp'
  879. !!This is the results, time, and sleep variable clearing section
  880. sucencntrand = (1 + succublvl)/2 + rand(0,succublvl)
  881. scfeed = (succublvl * sucencntrand) + rand(1,(4 * sucencntrand))
  882. minut += 180 + ((scfeed * 10) / succublvl)
  883. pcs_health += 5 * (360 + ((scfeed * 10) / succublvl))
  884. pcs_sleep += 15 * ((360 + ((scfeed * 10) / succublvl)) / 60)
  885. pcs_condition['lack_of_sleep'] = 0
  886. gs 'stat'
  887. clr
  888. Insleep = 0
  889. pcs_horny = 0
  890. orgasm += scfeed
  891. ! Seems appropriate. Reducing it, but leaving it in. Potentially worth revisiting
  892. pcs_willpwr += scfeed
  893. succubxp += 3 * sucencntrand
  894. sexnutrition += 25 * scfeed
  895. scwalkmon = rand (50,(100 * sucencntrand))
  896. money += scwalkmon
  897. sucwalkday = daystart + sucencntrand + rand(0,5)
  898. sctemp = rand(1,10)
  899. if sucencntrand > 1:
  900. if sctemp <= 6:
  901. sucabscum = 1
  902. elseif sctemp = 7:
  903. sucabslez = 1
  904. else
  905. sucabslez = 1 & sucabscum = 1
  906. end
  907. else
  908. if sctemp <= 7:
  909. sucabscum = 1
  910. else
  911. sucabslez = 1
  912. end
  913. end
  914. killvar 'sctemp'
  915. killvar 'scfeed' & killvar 'sucencntrand'
  916. !!This picks the location where you end up and how you got there
  917. if succublvl >= 4 and car > 0 and wrek ! 1:
  918. if benz <= 4:
  919. if money < (30 * (50 - benz)):
  920. if kanistra > 0:
  921. benz += 5 & kanistra -= 1
  922. else
  923. money = 0
  924. scwalkmon = 0
  925. benz += rand(10,50)
  926. end
  927. else
  928. money -= (30 * (50 - benz))
  929. benz = 50
  930. end
  931. end
  932. sctemp = rand(1,11)
  933. if sctemp = 1: cardrive = 1
  934. if sctemp = 2: cardrive = 2
  935. if sctemp = 3: cardrive = 3
  936. if sctemp = 4: cardrive = 19
  937. if sctemp = 5: cardrive = 4
  938. if sctemp = 6: cardrive = 5
  939. if sctemp = 7: cardrive = 13
  940. if sctemp = 8: cardrive = 14
  941. if sctemp = 9: cardrive = 20
  942. if sctemp = 10: cardrive = 23
  943. if sctemp = 11: cardrive = 24
  944. killvar 'sctemp'
  945. benz -= rand(1,4)
  946. teh -= rand(3,6)
  947. !! This forces the dynmanic at the top of carF to load in case it had not
  948. gs 'carF'
  949. sccarflag = 1
  950. else
  951. sctemp = rand(1,5)
  952. if sucslpzone = 1:
  953. if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = ''
  954. if sctemp = 2: $sucgoloc = 'city_residential' & $sucgometka = ''
  955. if sctemp = 3: $sucgoloc = 'city_center' & $sucgometka = ''
  956. if sctemp = 4: $sucgoloc = 'city_park' & $sucgometka = 'start'
  957. if sctemp = 5: $sucgoloc = 'city_lake' & $sucgometka = 'start'
  958. elseif sucslpzone = 2:
  959. if sctemp = 1: $sucgoloc = 'pav_commercial' & $sucgometka = ''
  960. if sctemp = 2: $sucgoloc = 'pav_residential' & $sucgometka = ''
  961. if sctemp = 3: $sucgoloc = 'pav_park' & $sucgometka = 'start'
  962. if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = ''
  963. if sctemp = 5: $sucgoloc = 'pav_lake' & $sucgometka = ''
  964. elseif sucslpzone = 3:
  965. if sctemp = 1: $sucgoloc = 'city_industrial' & $sucgometka = ''
  966. if sctemp = 2: $sucgoloc = 'city_park' & $sucgometka = 'start'
  967. if sctemp = 3: $sucgoloc = 'pav_commercial' & $sucgometka = ''
  968. if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = ''
  969. if sctemp = 5: $sucgoloc = 'motel' & $sucgometka = ''
  970. elseif sucslpzone = 4:
  971. if sctemp = 1: $sucgoloc = 'pushkin' & $sucgometka = ''
  972. if sctemp = 2: $sucgoloc = 'pushkin_sq' & $sucgometka = ''
  973. if sctemp = 3: $sucgoloc = 'pushkin_parks' & $sucgometka = ''
  974. if sctemp = 4: $sucgoloc = 'pav_market' & $sucgometka = ''
  975. if sctemp = 5: $sucgoloc = 'city_industrial' & $sucgometka = ''
  976. elseif sucslpzone = 5:
  977. if sctemp = 1: $sucgoloc = 'gadukino' & $sucgometka = ''
  978. if sctemp = 2: $sucgoloc = 'pav_market' & $sucgometka = ''
  979. if sctemp = 3: $sucgoloc = 'motel' & $sucgometka = ''
  980. if sctemp = 4: $sucgoloc = 'city_industrial' & $sucgometka = ''
  981. if sctemp = 5: $sucgoloc = 'city_park' & $sucgometka = 'start'
  982. end
  983. killvar 'sctemp' & killvar 'sucslpzone'
  984. end
  985. !!This is the wake up action
  986. act 'Wake Up':
  987. cla
  988. pcs_sleep = 100
  989. pcs_mood = 100
  990. pcs_health += healthmax/5
  991. pcs_stam = stammax
  992. ! Commenting it out for now, but potentially worth revisiting
  993. !pcs_willpwr = pcs_intel*5 + will*5+1000
  994. pcs_mana = (pcs_intel*pcs_magik) + pcs_magik*100 + pcs_vital*10 + rikudo
  995. minut += 15
  996. gs 'stat'
  997. $scwrdtmp = '.'
  998. ''
  999. 'You wake up and realize that you''re not in your bed...'
  1000. if pcs_hairbsh = 1 and pcs_makeup > 1: $scwrdtmp = ', your hair is brushed, and you''re wearing makeup.'
  1001. 'Instead, you are fully dressed<<$scwrdtmp>>'
  1002. if scwalkmon > 0:
  1003. 'You find <<scwalkmon>> <b>₽</b> stuffed in your cleavage (which you place in your wallet).'
  1004. money += scwalkmon
  1005. end
  1006. 'And you feel absolutely <i>bursting</i> with energy.'
  1007. ''
  1008. 'After a moment, you start wondering where you are...'
  1009. killvar 'scwalkmon' & killvar '$scwrdtmp'
  1010. act 'Look around to see where you are':
  1011. if sccarflag = 1:
  1012. killvar 'sccarflag'
  1013. dynamic $enddrive
  1014. else
  1015. gt $sucgoloc, $sucgometka
  1016. end
  1017. end
  1018. end
  1019. end
  1020. !!**********
  1021. --- succubus ---------------------------------