tatiana_lab.qsrc 91 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539
  1. # tatiana_lab
  2. !!2021/04/01
  3. if $ARGS[0] = 'start':
  4. *clr & cla
  5. CLOSE ALL
  6. menu_off = 0
  7. gs 'shortgs', 'setloc', 'tatiana_lab', 'start'
  8. minut += 5
  9. gs 'stat'
  10. gs 'themes', 'indoors'
  11. '<center><b><font color="maroon">Tatianas'' Laboratory</font></b></center>'
  12. '<center><img <<$set_imgh>> src="images/locations/city/citycenter/lab/lab.jpg"></center>'
  13. if tatiana_spell_reminder < 14: tatiana_spell_reminder = 14
  14. if tatiana_succubus_reminder < 14: tatiana_succubus_reminder = 14
  15. if tatiana_mission_reminder < 14: tatiana_mission_reminder = 14
  16. if succubusflag = 1:
  17. if sucbypass = 0:
  18. if sucpcinfo < 2:
  19. xgt 'tatiana_lab', 'suctraining'
  20. elseif sucpcinfo >= 6 and sucskill < 3 and sctrainprep = 1:
  21. xgt 'tatiana_lab', 'suctraining'
  22. end
  23. else
  24. sucbypass = 0
  25. end
  26. end
  27. act 'Leave': minut += 5 & gt 'city_center'
  28. !! if tatina_missionday < daystart: gt 'tatiana_lab', 'missions'
  29. act 'Train with Gustav': gt 'tatiana_lab', 'Gustav'
  30. act 'Talk with Tatiana': gt 'tatiana_lab', 'Tatiana'
  31. if judosparday ! daystart:
  32. act 'Sparring (Gustav, mutant - power over 9000)':
  33. cla
  34. judosparday = daystart
  35. gs 'boyStat', 'A175'
  36. gs 'fight','initFight'
  37. gs 'fight_npcdata', 'gustav'
  38. gt 'fight', 'start'
  39. end
  40. end
  41. if tatianasparday ! daystart:
  42. act 'Sparring (Tatiana, magician - body magic)':
  43. cla
  44. tatianasparday = daystart
  45. gs 'boyStat', 'A176'
  46. gs 'fight','initFight'
  47. gs 'fight_npcdata', 'tatiana'
  48. gt 'fight', 'start'
  49. end
  50. end
  51. !!!Has to be adjusted to match TatianaMissionQW value for latest mission (see 'tatiana_missions')
  52. TatianaMissionTotal = 3
  53. if tobiQW > 0 and TatianaMissionDay + 30 < daystart and TatianaMissionQW < TatianaMissionTotal:
  54. 'You have a feeling Tatiana might want to talk to you about something...'
  55. act 'Ask Tatiana what she wants': gt 'tatiana_lab','missions'
  56. end
  57. end
  58. if $ARGS[0] = 'Gustav':
  59. *clr & cla
  60. menu_off = 0
  61. minut += 5
  62. gs 'shortgs', 'setloc', 'tatiana_lab', 'Gustav'
  63. gs 'stat'
  64. gs 'themes', 'indoors'
  65. '<center><b><font color="maroon">Gustav</font></b></center>'
  66. '<center><img <<$set_imgh>> src="images/characters/city/jugo/jugopre.jpg"></center>'
  67. 'Gustav is sitting on floor and staring off into space.'
  68. act 'Leave':gt 'tatiana_lab', 'start'
  69. if gustavday ! daystart and pcs_energy >= 20:
  70. act 'Develop strength (1:00)':gs 'tatiana_lab', 'GustavDevelop', 'stren'
  71. act 'Develop agility (1:00)':gs 'tatiana_lab', 'GustavDevelop', 'agil'
  72. act 'Develop reactions (1:00)':gs 'tatiana_lab', 'GustavDevelop', 'react'
  73. act 'Develop endurance (1:00)':gs 'tatiana_lab', 'GustavDevelop', 'vital'
  74. elseif gustavday ! daystart:
  75. act 'Develop strength (1:00)': '<br><font color="red">You feel too hungry to do this.</font>'
  76. act 'Develop agility (1:00)': '<br><font color="red">You feel too hungry to do this.</font>'
  77. act 'Develop reactions (1:00)': '<br><font color="red">You feel too hungry to do this.</font>'
  78. act 'Develop endurance (1:00)': '<br><font color="red">You feel too hungry to do this.</font>'
  79. end
  80. end
  81. if $ARGS[0] = 'GustavDevelop':
  82. cla
  83. gs 'exercise', 'tier2', 60, $ARGS[1]
  84. gustavday = daystart
  85. menu_off = 1
  86. gs 'stat'
  87. 'You do exercises under the guidance of Gustav.'
  88. act 'Leave':gt 'tatiana_lab', 'Gustav'
  89. end
  90. if $ARGS[0] = 'BodyModActuate':
  91. ! Does the actual modification
  92. ! ARGS[1] = Mana cost
  93. ! ARGS[2] = Time for change
  94. ! $ARGS[3] = property to set
  95. ! ARGS[4] = value to set
  96. ! $ARGS[5] = Description of new val
  97. ! $ARGS[6] = Body part name
  98. ! $ARGS[7] = Body part for pain
  99. ! $ARGS[8] = extra code to run before
  100. bodyModMana = ARGS[1]
  101. bodyModTime = ARGS[2]
  102. $bodyModStat = $ARGS[3]
  103. bodyModVal = ARGS[4]
  104. $bodyModDesc = $ARGS[5]
  105. $bodyModType = $ARGS[6]
  106. $bodyModPain = $ARGS[7]
  107. $bodyModExtra= $ARGS[8]
  108. if pcs_mana >= bodyModMana:
  109. dynamic $bodyModExtra
  110. dynamic "<<$bodyModStat>> = <<bodyModVal>>"
  111. pcs_mana -= bodyModMana
  112. gs 'arousal', 'flash', 30
  113. minut+=bodyModTime-30
  114. pain[$bodyModPain] = 100
  115. gs 'stat'
  116. gt 'tatiana_lab', 'BodyModded', $bodyModType, $bodyModDesc
  117. else
  118. *pl 'Tatiana says, "You don''t have enough mana to pull this off. Rest and we can try again later."'
  119. end
  120. killvar 'bodyModMana'
  121. killvar 'bodyModTime'
  122. killvar '$bodyModStat'
  123. killvar 'bodyModVal'
  124. killvar '$bodyModDesc'
  125. killvar '$bodyModType'
  126. killvar '$bodyModPain'
  127. killvar '$bodyModExtra'
  128. end
  129. if $ARGS[0] = 'ListBuilder':
  130. ! Builds a list of Attributes to be able to change
  131. ! $ARGS[1] = Name of the attribute
  132. ! ARGS[2] = Mana cost of the change
  133. ! ARGS[3] = Time the change will take
  134. ! $ARGS[4] = Array name of change value display string
  135. ! $ARGS[5] = Array name of value to change attribute to, 'i' means, just use array position
  136. ! $ARGS[6] = variable name of attribute to change
  137. ! $ARGS[7] = pain location
  138. ! $ARGS[8] = extra code to run before
  139. $bodyModType = $ARGS[1]
  140. bodyModMana = ARGS[2]
  141. bodyModTime = ARGS[3]
  142. $bodyModDesc = $ARGS[4]
  143. $bodyModIndx = $ARGS[5]
  144. $bodyModStat = $ARGS[6]
  145. $bodyModPain = $ARGS[7]
  146. $bodyModExtra= $ARGS[8]
  147. $hairColors[0]='black'
  148. $hairColors[1]='brown'
  149. $hairColors[2]='red'
  150. $hairColors[3]='blonde'
  151. hairTypes[0]=5 & $hairTypes[0]='extremely short'
  152. hairTypes[1]=31 & $hairTypes[1]='pixie-cut'
  153. hairTypes[2]=81 & $hairTypes[2]='medium'
  154. hairTypes[3]=161 & $hairTypes[3]='shoulder-length'
  155. hairTypes[4]=261 & $hairTypes[4]='long'
  156. hairTypes[5]=401 & $hairTypes[5]='very long'
  157. hairTypes[6]=601 & $hairTypes[6]='extremely long'
  158. $lipSize[0]='thin'
  159. $lipSize[1]='normal'
  160. $lipSize[2]='plump'
  161. $lipSize[3]='pouty'
  162. $lipSize[4]='pillowy'
  163. $eyeColors[0]='brown'
  164. $eyeColors[1]='grey'
  165. $eyeColors[2]='green'
  166. $eyeColors[3]='blue'
  167. $eyeLashes[0]='short'
  168. $eyeLashes[1]='average'
  169. $eyeLashes[2]='long'
  170. $eyeLashes[3]='lavish'
  171. $eyeLashes[4]='show-stealing'
  172. $eyeLashes[5]='long, jewel-dusted'
  173. breastSize[0]=5 & $breastSize[0]='AA'
  174. breastSize[1]=10 & $breastSize[1]='A'
  175. breastSize[2]=15 & $breastSize[2]='B'
  176. breastSize[3]=20 & $breastSize[3]='C'
  177. breastSize[4]=25 & $breastSize[4]='D'
  178. breastSize[5]=30 & $breastSize[5]='E'
  179. breastSize[6]=35 & $breastSize[6]='F'
  180. breastSize[7]=40 & $breastSize[7]='G'
  181. breastSize[8]=45 & $breastSize[8]='H'
  182. breastSize[9]=50 & $breastSize[9]='I'
  183. breastSize[10]=55 & $breastSize[10]='J'
  184. breastSize[11]=60 & $breastSize[11]='K'
  185. $ListStr = "<B><<$bodyModType>></B>"
  186. i = 0
  187. :BodyModLoop
  188. if i < arrsize('<<$bodyModDesc>>'):
  189. if $bodyModIndx = 'i':
  190. bodymodValue = i
  191. else
  192. bodymodValue = dyneval("result = <<$bodyModIndx>>[<<i>>]")
  193. end
  194. $bodyModDescX = dyneval('$result = <<$bodyModDesc>>[<<i>>]')
  195. $ListStr = $ListStr + "<br><a href=""EXEC:gs 'tatiana_lab','BodyModActuate',<<bodyModMana>>,<<bodyModTime>>,'<<$bodyModStat>>',<<bodymodValue>>,'<<$bodyModDescX>>','<<$bodyModType>>','<<$bodyModPain>>','<<$bodyModExtra>>'""><<$bodyModDescX>></a>"
  196. i += 1
  197. jump 'BodyModLoop'
  198. end
  199. killvar 'i'
  200. killvar '$bodyModDescX'
  201. killvar 'bodymodValue'
  202. killvar '$bodyModType'
  203. killvar 'bodyModMana'
  204. killvar 'bodyModTime'
  205. killvar '$bodyModDesc'
  206. killvar '$bodyModIndx'
  207. killvar '$bodyModStat'
  208. killvar '$bodyModPain'
  209. killvar '$bodyModExtra'
  210. $result = $ListStr
  211. killvar '$ListStr'
  212. end
  213. if $ARGS[0] = 'BodyModded':
  214. *clr & cla
  215. menu_off = 1
  216. gs 'stat'
  217. ! Landing page for having Body Mod done.
  218. ! $ARGS[1] = Name of the attribute
  219. ! $ARGS[2] = new value of attribute
  220. $bodyModType = $ARGS[1]
  221. $bodyModVal = $ARGS[2]
  222. act 'Thank you': gt 'tatiana_lab', 'Tatiana'
  223. "You feel a bit drained and tingly all over. You look in the mirror."
  224. "Your <<$bodyModType>> is now <<$bodyModVal>>."
  225. """Thanks Tatiana!"""
  226. end
  227. if $ARGS[0] = 'Tatiana':
  228. *clr & cla
  229. menu_off = 0
  230. minut += 5
  231. gs 'shortgs', 'setloc', 'tatiana_lab', 'Tatiana'
  232. gs 'stat'
  233. gs 'themes', 'indoors'
  234. '<center><b><font color="maroon">Tatiana</font></b></center>'
  235. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  236. 'Tatiana is always studying something.'
  237. if succubusflag = 1:
  238. if tatisucsex > 0 and sucinfoday ! 0 and sucinfoday <= daystart:
  239. menu_off = 1
  240. gs 'stat'
  241. '"Hey <<$pcs_nickname>>!'
  242. '"I''ve gotten some more information about Succubae!"'
  243. if sucpcinfo = 4 and succublvl >= 2:
  244. '"I heard from one of my mage contacts, in Sydney, Australia of all places, and he passed on some more details."'
  245. sucpcinfo = 5
  246. sucinfoday = daystart + 10 + rand(0,7)
  247. act 'Ask her to tell you': gt 'succubus', 'tatianaask', 1
  248. exit
  249. elseif sucpcinfo = 5:
  250. '"I heard from an old friend of mine who is now living in Morocco and also has a Succubus for a lover. She said that after they had been together for some time, they discovered that with her help, her Succubus lover learned something new."'
  251. sucpcinfo = 6
  252. sucinfoday = daystart + 17 + rand(0,7)
  253. act 'Ask her to tell you': gt 'succubus', 'tatianaask', 2
  254. exit
  255. elseif sucpcinfo = 6:
  256. '"I heard from one of my contacts. He''s living in Las Vegas in America, which, apparently, is the Succubus capital of North America, and he passed along two pieces of information."'
  257. sucpcinfo = 7
  258. !! The +9000000 is so I can easily reset it when the next Skill upadtes are ready.
  259. sucinfoday = daystart + 9000000
  260. act 'Ask her to tell you': gt 'succubus', 'tatianaask', 3
  261. exit
  262. end
  263. end
  264. if tatisucsex ! 0 and tatisucsexask ! daystart: act 'Ask if she wants to have sex': tatianasucsexask = daystart & gt 'tatiana_lab', 'Tatianasucsexask'
  265. if sucpcinfo >= 4: act 'Ask her about Succubae': gt 'tatiana_lab', 'Tatianasuctalk'
  266. end
  267. act 'Leave':gt 'tatiana_lab', 'start'
  268. act 'Ask for help with your appearance':
  269. cla
  270. '"Tatiana, I''m having problems with my body image. I''m not happy and was hoping that you might be able to help me."'
  271. *nl
  272. '"It''s possible, but I will have to draw on your magical energy. It will cost some of your mana to perform a spell."'
  273. '"Also, this will be painful. The magic will force your flesh into new shapes."'
  274. $HairColorTab = func('tatiana_lab', 'ListBuilder', 'Hair Color', 500, 60, '$hairColors', 'i', 'pcs_haircol', 'hair', 'nathcol = bodyModVal')
  275. $HairLengthTab = func('tatiana_lab', 'ListBuilder', 'Hair Length', 200, 120,'$hairTypes', 'hairTypes', 'pcs_hairlng', 'hair', '')
  276. $EyeColorTab = func('tatiana_lab', 'ListBuilder', 'Eye Color', 300, 120,'$eyeColors', 'i', 'pcs_eyecol', 'eye', '')
  277. $EyeLashTab = func('tatiana_lab', 'ListBuilder', 'Eye Lashes', 100, 30, '$eyeLashes', 'i', 'pcs_lashes', 'eye', '')
  278. $LipTab = func('tatiana_lab', 'ListBuilder', 'Lip Size', 300, 120,'$lipSize', 'i', 'pcs_lip', 'lip', '')
  279. $BreastTab = func('tatiana_lab', 'ListBuilder', 'Breast Size' ,1000, 240,'$breastSize', 'breastSize', "pcs_mass[''bust'']", 'breasts', "bodyVars[''bust_magic'']")
  280. $SkinTab = "<a href=""EXEC:gs 'tatiana_lab','BodyModActuate',1000,240,'pcs_skin',1000,'clear','Skin','head',''"">Clear Skin</a>"
  281. $VirginTab = "<a href=""EXEC:gs 'tatiana_lab','BodyModActuate',1000,120,'pcs_vag',0,'renewed','Virginity','vaginal',''"">Renew Virginity</a>"
  282. $SiliconeTab = "<a href=""EXEC:gs 'tatiana_lab','BodyModActuate',1000,240,'fillimplant',0,'natural again','Boobs','breasts','brSurTemp = 0 & stringimplant = 0'"">Remove Silicone</a>"
  283. $SpellListStr = "<CENTER>
  284. <TABLE CELLPADDING = '5'>
  285. <TR>
  286. <TD><<$SkinTab>></TD>
  287. <TD><<$VirginTab>></TD>
  288. <TD><<$SiliconeTab>></TD>
  289. </TR>
  290. <TR>
  291. <TD VALIGN='top'><<$HairColorTab>></TD>
  292. <TD VALIGN='top'><<$EyeColorTab>></TD>
  293. <TD VALIGN='top'><<$BreastTab>></TD>
  294. </TR>
  295. <TR>
  296. <TD VALIGN='top'><<$HairLengthTab>></TD>
  297. <TD VALIGN='top'><<$EyeLashTab>></TD>
  298. <TD VALIGN='top'><<$LipTab>></TD>
  299. </TR>
  300. </TABLE>
  301. </CENTER>"
  302. *pl func('cleanHTML',$SpellListStr)
  303. killvar '$HairColorTab'
  304. killvar '$HairLengthTab'
  305. killvar '$EyeColorTab'
  306. killvar '$EyeLashTab'
  307. killvar '$LipTab'
  308. killvar '$BreastTab'
  309. killvar '$SkinTab'
  310. killvar '$VirginTab'
  311. killvar '$SiliconeTab'
  312. killvar '$SpellListStr'
  313. act 'No, no, I''ve changed my mind. Thank you.':gt 'tatiana_lab', 'Tatiana'
  314. act 'Restore your body to its original shape':
  315. cla
  316. '"Tatiana, I''m having problems with my body image. I''m not happy and was hoping that you might be able to help me."'
  317. '"It''s possible, but I will have to draw on your magical energy. It will cost 40 mana to perform a reset spell.'
  318. 'This will reduce excess fat, growth of body parts and high levels of silicone, moving you closer to your original body shape.'
  319. 'Do you wish to try this spell?'
  320. act 'No, no, I''ve changed my mind. Thank you.':gt 'tatiana_lab', 'Tatiana'
  321. if pcs_mana >= 40:
  322. act 'That sounds great, let''s do it!':
  323. *clr
  324. cla
  325. minut += 30
  326. dounspell = 1
  327. gs 'body', 'hardreset'
  328. gs 'stat'
  329. '<center><img <<$set_imgh>> src="images/characters/city/tatiana/magiclook.jpg"></center>'
  330. 'Tatiana lowers her glasses and stares deeply into your eyes. It feels like time just stops being a thing and you are floating.'
  331. 'It seems very soon afterwards when you snap back to reality, but the big clock on the lab wall tells you it''s been 30 minutes.'
  332. 'Your body has changed much as Tatiana said it would, and she is already busy checking nothing went wrong.'
  333. act 'Continue': gt 'tatiana_lab', 'Tatiana'
  334. end
  335. end
  336. end
  337. end
  338. if BurgerQW['IvanQW'] = 2 and poverKAR = 0 and softKAR = 0:
  339. act 'Ask Tatiana for help with Ivan':
  340. cla
  341. menu_off = 1
  342. gs 'stat'
  343. 'You explain the situation and ask Tatiana for assistance. Tatiana says thoughtfully, "It doesn''t sound like there is any physical evidence of Ivan''s guilt, so you need a confession. I think it would be possible to capture and interrogate him. Or, you and I could try a more cunning approach to get the truth out of him. Either way, you need to capture it all on video."'
  344. act 'Military solution':
  345. cls
  346. poverKAR = 1
  347. gs 'stat'
  348. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  349. 'You decide to get Ivan to admit what he''s done by force. Tatiana tells you to go to Ivan''s apartment. There you will meet with Gustav, who will help resolve the issue. She stresses that you keep an eye on him in case he starts getting distraught. Apparently when he does, he turns into a monster.'
  350. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  351. end
  352. act 'Trick him':
  353. cls
  354. softKAR = 1
  355. gs 'stat'
  356. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  357. 'You decide to trick Ivan into admitting what he''s done. Tatiana tells you to go to Ivan''s apartment and that she will meet you there.'
  358. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  359. end
  360. end
  361. elseif poverKAR = 2:
  362. act 'Approach Tatiana about the attack on Ivan''s apartment':
  363. cla
  364. menu_off = 1
  365. poverKAR = 3
  366. gs 'stat'
  367. 'You come to Tatiana, and she sighs. "Yes, you failed. That bullet Gustav caught in his head made his strength go up to the next level, almost invulnerable but deprived of his mind. That''s why he couldn''t stop himself from killing Ivan before you could get a confession out of him. There are pluses. The cops think it was just a gas explosion for one, so you probably don''t need to worry about much of an investigation. But now you are going to have to pay the debt if you don''t want to go to jail. "'
  368. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  369. end
  370. end
  371. if Tatianaday ! daystart:
  372. act 'Develop your intelligence (1:00)':
  373. cla
  374. menu_off = 1
  375. gs 'exp_gain', 'intel', rand(3, 6)
  376. minut += 60
  377. Tatianaday = daystart
  378. gs 'stat'
  379. 'You study with Tatiana developing your intellect.'
  380. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  381. end
  382. act 'Develop your inner spirit (1:00)':
  383. cla
  384. menu_off = 1
  385. gs 'exp_gain', 'sprt', rand(3, 6)
  386. minut += 60
  387. Tatianaday = daystart
  388. gs 'stat'
  389. 'You meditate with Tatiana improving your spirituality.'
  390. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  391. end
  392. end
  393. gs 'spellList', 'teacherActions', '$basicSpells', 'tatiana_lab', 'Tatiana'
  394. gs 'spellList', 'teacherActions', '$healSpells', 'tatiana_lab', 'Tatiana'
  395. if tat_lesson_number <= 8 and pcs_mana >= 1000:
  396. act 'Are there other spells you can teach me? (1:00)': gt 'tatiana_lab', 'teach'
  397. end
  398. if pcs_magik >= 5 and spellavtoklon = 0:
  399. act 'Learn technique preparation (1:00)':
  400. cla
  401. menu_off = 1
  402. minut += 60
  403. spellavtoklon = 1
  404. gs 'stat'
  405. 'You learn the technique preparation. This technique allows you to enter into battle with three clones already created.'
  406. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  407. end
  408. end
  409. if pcs_magik >= 6 and spellbefshild = 0:
  410. act 'Learn technique pre-shield (1:00)':
  411. cla
  412. menu_off = 1
  413. minut += 60
  414. spellbefshild = 1
  415. gs 'stat'
  416. 'You learn the technique pre-shield. This technique allows you to enter into battle with a magical shield protecting you against physical attacks.'
  417. act 'Leave':gt 'tatiana_lab', 'Tatiana'
  418. end
  419. end
  420. !! Succubus specific skill training.
  421. if succubusflag = 1:
  422. if sucpcinfo >= 4 and sucskill < 1:
  423. act 'Learn to monitor your Succubus Energies (may take some time)':
  424. cla
  425. menu_off = 1
  426. minut += 30
  427. sucskill = 1
  428. gs 'stat'
  429. 'You spend 30 minutes meditating with Tatiana in a light link with you as she shows you how to tell what your Succubus energy levels are.'
  430. 'You open your eyes and look at Tatiana sitting across from you.'
  431. 'She is flushed, breathing hard, and her nipples are showing clearly through her blouse.'
  432. if 1 + (succublvl * 2) + tatisucsex < 20 and rand(0,100) < 90:
  433. 'After a moment, she gives herself a shake and pulls herself together before saying, "There you go!"'
  434. 'She then stands up and goes back to her studying.'
  435. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  436. else
  437. xgt 'tatiana_lab', 'suctrainsex'
  438. end
  439. end
  440. elseif sucpcinfo >= 5 and sucskill < 2:
  441. act 'Learn to increase your energy storage (may take some time)':
  442. cla
  443. menu_off = 1
  444. minut += 5
  445. 'You settle into a meditative state and link with Tatiana.'
  446. if succhungry > -2:
  447. gs 'stat'
  448. 'After a few minutes, you feel Tatiana break the link and say, "<<$pcs_nickname>>, you need to build up <i>two</i> days of reserve before we do this training."'
  449. 'She then stands up and goes back to her studying.'
  450. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  451. exit
  452. end
  453. minut += 55
  454. gs 'stat'
  455. sucskill = 2
  456. 'Tatiana shows you how to build a storage reservoir that draws the excess energy in before your body uses it.'
  457. 'Once you''re finished, Tatiana is again showing clear signs of arousal, and she says, "You know, touching your power is a really, <i>really</i>, intense experience!"'
  458. 'She then closes her eyes and visibly tries to get ahold of herself.'
  459. if tatisucsex >= 20 or rand(1,100) < 95:
  460. 'After several moments, she pulls herself together, opens her eyes, smiles at you, and says, "There, I knew I could do it!"'
  461. 'She then stands up and goes back to her studying.'
  462. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  463. else
  464. 'Then her eyes snap open, and you feel arousal suddenly flooding the link!'
  465. xgt 'tatiana_lab', 'suctrainsex'
  466. end
  467. end
  468. elseif sucpcinfo >= 6 and sucskill < 3:
  469. if money >= 5000 and sctrainprep = 0:
  470. act 'Ask her about the preparations and training':
  471. cla
  472. menu_off = 1
  473. minut += 15
  474. gs 'stat'
  475. 'You ask her what''s involved in the training and preparations.'
  476. 'She spends some time explaining the technical details of what you need to do during the "ritual", then says,'
  477. '"The preparations will take 7 days, I''ll need 3000 <b>₽</b to modify one of my devices to pull in free sexual energy from the adult businesses around here and another 2000 <b>₽</b> to make several potions we''ll need, one of which is going to temporarily make me into a sexual energy "battery" and the others are so we can do the ritual without hurting ourselves.'
  478. '"Once I start, you''ll have 2 days to tell me to abort, after that I will have started building up the charge. We would not be able stop ourselves, and premature sex could kill us, so I''ll be putting up a barrier to keep you out until 7 days have passed, and I''ll set it not to let you through unless you have 3 days of reserves and 100 units of stored energy.'
  479. '"Once I''ve built up to a full charge, I''ll only be able to hold it for a day, after that I''ll have to release it. The "battery" potion itself as well as the materials for it will not keep, so abort after I start or fail to show up on time and 2000 <b>₽</b> will have been wasted.'
  480. '"So, do you want me to start the preparations?"'
  481. act 'Yes':
  482. cla
  483. minut += 45
  484. money -= 5000
  485. sctrainprep = 1
  486. tatisucsexday = daystart + 7
  487. gs 'stat'
  488. '"Ok, I''ll get started! Be here next <<$week[week]>> with 3 days of reserves and 100 units of stored energy."'
  489. if tatisucsex > 0:
  490. 'She then pulls you in for a quick kiss before adding, "Now get out of here, I can''t have you distracting me!"'
  491. else
  492. 'She then surprises you with a peck on the cheek before adding, "Now get out of here, I can''t have you distracting me!"'
  493. end
  494. act 'Leave':
  495. minut += 5
  496. gt 'city_center'
  497. end
  498. end
  499. act 'Not Yet': gt 'tatiana_lab', 'Tatiana'
  500. end
  501. elseif money >= 2000 and sctrainprep = -1:
  502. act 'Ask her to redo the preparations':
  503. cla
  504. menu_off = 1
  505. gs 'stat'
  506. 'Are you sure? The same things from before apply; 2 days to abort, the barrier, 3 days of reserves and 100 units of stored energy, 8 to 10 hours once I''m fully charged... Another 2000 <b>₽</b> wasted. Are you <i>really</i> sure?'
  507. act 'Yes':
  508. cla
  509. money -= 2000
  510. sctrainprep = 1
  511. tatisucsexday = daystart + 7
  512. '"Ok, I''ll get started! Be here next <<$week[week]>> with 3 days of reserves and 100 units of stored energy."'
  513. '"Now get out of here, I can''t have you distracting me!"'
  514. act 'Leave':
  515. minut += 5
  516. gt 'city_center'
  517. end
  518. end
  519. act 'Not Yet': gt 'tatiana_lab', 'Tatiana'
  520. end
  521. end
  522. elseif sucpcinfo >= 7 and sucskill < 4 and mc_inventory['dildo_gigantic'] = 1 and sucexcess >= 100:
  523. act 'Ask Tatiana about the accommodation training':
  524. cla
  525. menu_off = 1
  526. gs 'stat'
  527. 'Tatiana asks, "Are you ready to do the accommodation training?"'
  528. act 'Yes, I''m ready. (can take a lot of time)':
  529. *clr & cla
  530. minut += 120
  531. gs 'stat'
  532. '<center><img <<$set_imgh>> src="images/shared/sex/mast/dildo.jpg"></center>'
  533. 'She walks you through everything you need to do while leading you to the couch.'
  534. 'Once there, as you are stripping, so is she! At your look, she says, "What? I don''t want to tear my clothes if one of us slips."'
  535. 'You settle onto the couch then work a massive dildo into your snatch. After working the dildo for a bit, with Tatiana in a light link guiding you, you switch to your ass. You work there for a while before switching back. You continue this way for nearly two hours, concentrating so hard you only have two orgasms, before you feel your body responding as it should. A quick test and you’re done.'
  536. sucskill = 4
  537. sucexcess -= 100
  538. act 'Continue':
  539. pcs_horny = 0
  540. 'As you''re finishing, you notice Tatiana has her eyes closed and is visibly trying to get ahold of herself.'
  541. if tatisucsexday < daystart or rand(1,100) > 95:
  542. 'Then her eyes snap open, and you feel arousal suddenly flooding the link!'
  543. xgt 'tatiana_lab', 'suctrainsex'
  544. else
  545. cla
  546. 'After several moments, she pulls herself together, opens her eyes, smiles at you, and says, "There, I knew I could do it!"'
  547. 'She then stands up and goes back to her studying.'
  548. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  549. end
  550. end
  551. end
  552. act 'Not Yet': gt 'tatiana_lab', 'Tatiana'
  553. end
  554. end
  555. end
  556. if AlexandriaQW <=2 and pfilmNO = 1:
  557. act 'Tell Tatiana that you can''t finish the Aphrodite job.':
  558. cla
  559. menu_off = 1
  560. minut +=5
  561. AlexandriaQW = 3
  562. gs 'stat'
  563. '"Tatiana, I have a problem. It seems that I''ve been blacklisted and can''t enter the Aphrodite building."'
  564. 'She tilts her head and seems to think the problem over, but it looks like she isn''t too worried by this revelation.'
  565. '"Hmm, that complicates the job somewhat, <<$pcs_nickname>>. It seems that the curse is only active during operating hours, so sneaking back in during the night isn''t an option."'
  566. '"So... I need to sneak back in there during daylight hours?"'
  567. 'Tatiana just snorts. "Don''t worry, <<$pcs_nickname>>, I have Gustav for those sorts of jobs. No, I was thinking of an <i>alternative.</i>" She gives you a look that makes you shiver, then continues, "I know a way to help you infiltrate the place so you can look for the item in question. When the moment feels right, go to the Aphrodite building and give me a call. But remember, only when it''s open."'
  568. 'Saying this, Tatiana turns towards her studies, leaving you to your own devices.'
  569. act 'Continue': gt 'tatiana_lab', 'Tatiana'
  570. end
  571. end
  572. if AlexandriaQW =4 or AlexandriaQW =5:
  573. act 'Tell Tatiana about the Aphrodite job.':
  574. *clr & cla
  575. menu_off = 1
  576. gs 'stat'
  577. '<center><img <<$set_imgh>> src="images/characters/city/alexandria/photo.jpg"></center>'
  578. 'It is time to tell Tatiana about your experience in Aphrodite. You head over to her and begin to explain everything, beginning with how you snooped around the agency and continuing with how you met her double. When you reach the part where you met Aleksei, Tatiana quickly walks towards a cabinet and pulls out an old photo, showing it to you. The image, taken in black and white, shows an armed Aleksei.'
  579. '"<<$pcs_nickname>>, are you sure that you met this woman? Blonde? Bossy? Tall?"'
  580. '"Yes, I am pretty sure. Is that bad?"'
  581. 'Tatiana pinches the bridge of her nose and sighs. "Yeah, <<$pcs_nickname>>, it''s pretty bad. Aleksei... Well, Alexandria, is an ex-councilor and probably one of the most powerful electric wizards in the world. Remember how The Amulet of Power isn''t supposed to end up in the hands of a woman? Well, she was looking for a form to obtain it, the back alleys word is that the quest made her magic <i>quirky</i>, and that beautiful blonde hair is the consequence of a simple scare."'
  582. '"So... Pretty bad?"'
  583. '"You have no idea <<$pcs_nickname>>." Tatiana sighs. "Look, we are talking here of a <i>centuries</i> old mindset, the one that yearns for the times where cannibalizing non-magical children was fashionable to recharge your energies. Do yourself a favor, just lie down and let Reinhold take care of this."'
  584. minut +=5
  585. gs 'stat'
  586. act '"Okay, Tatiana, and what do I get out of this job?"':
  587. *clr & cla
  588. '<center><table><tr><td><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></td><td><img <<$set_imgh>> src="images/characters/city/jugo/jugopre.jpg"></tr></td></table></center>'
  589. 'Tatiana gives you a half-smile, and you understand that she isn''t going to pay you for the Aphrodite job.'
  590. if AlexandriaQW =4:
  591. money += 5000
  592. 'However, at that moment, to everyone''s surprise, Gustav sneaks up to your side and grabs your hand, placing a roll of bills on it. "Take this, <<$pcs_nickname>>. You succeeded in beating Tatiana''s double, and if not for Alex, the film would be here."'
  593. if pfilmNO = 1:
  594. 'Gustav just stands there staring at a flabbergasted Tatiana who, after a beat, simply shrugs. "Okay, Gustav, don''t suggest that I am scrimpy or anything... Jeez..."'
  595. else
  596. 'Gustav just stands there staring at a flabbergasted Tatiana who, after a beat, simply shrugs. "Okay, Gustav, don''t suggest that I am scrimpy or anything... Jeez. I was going to speak to some of the people in the agency on her behalf, but now... Okay, fine. <<$pcs_nickname>>, I will do it anyway."'
  597. gs 'fame', 'city', 'modelling', 10
  598. end
  599. else
  600. '"<<$pcs_nickname>>, you''ve failed to bring me the film. Instead, it has ended up in the hands of a powerful magician, who may be planning to use it against us."'
  601. if pfilmNO = 1:
  602. 'You open your mouth to protest that it isn''t your fault, but one look at Tatiana''s face tells you that she''s already made up her mind... Fuck!'
  603. else
  604. gs 'fame', 'city', 'modelling', 10
  605. 'You open your mouth to protest that it isn''t your fault, but before you can, Tatiana raises her hands consolingly.'
  606. '"Don''t worry, <<$pcs_nickname>>, you''re not going to leave empty-handed. I''m going to speak to some of the people in the agency on your behalf. It''ll be good for your modelling career."'
  607. end
  608. end
  609. AlexandriaQW = 6
  610. minut +=5
  611. gs 'stat'
  612. *nl
  613. 'Tatiana returns to her job, and before you can ask any more questions, Gustav grabs your arm to take you away.'
  614. 'As you walk, he presses a post-it into your hand. "Take this, <<$pcs_nickname>>. Now you can meet Alex."'
  615. '"What? How? Why?" You ask, more than a little confused.'
  616. 'After a moment of silence, the mutant shrugs. "I''m good at finding people. I knew that a powerful wizard had made his home in Saint Petersburg, and after overhearing what you said, I put two-and-two together. The rest is complicated. I think that Alex just wanted to talk. Messing with The Council isn''t on anyone''s agenda, and now that Reinhold is involved, you''re less likely to be in danger."'
  617. 'You look at the post-it. Scrawled on it are directions to a place in the suburbs. To reach it, you must take the metro. There is a station nearby, but are you going to go and meet Alex?'
  618. act 'Continue':gt 'tatiana_lab', 'Tatiana'
  619. end
  620. end
  621. end
  622. end
  623. if $ARGS[0] = 'teach':
  624. *clr & cla
  625. menu_off = 1
  626. gs 'stat'
  627. if tatiana_teach_escalation = 0:
  628. '<center><img src="images/characters/city/tatiana/sex-machines.jpg"></center>'
  629. 'A suddenly excited Tatiana grabs your hand and pulls you towards an adjacent, half-hidden room. Inside is some kind of workshop/storeroom with boxes, tools and odd-looking items shoved into shelves, whose order is soon turned upside down as Tatiana begins to throw all kinds of things over a bed, where some half-finished machine lies undisturbed.'
  630. '"Okay <<$pcs_nickname>>, a quick recap." She then picks some of the tools and sits in the bed cross-legged, her hands extending towards the machine. "The Talisman has filled you with mana, making you something like a living battery. This mana is liberated when you orgasm, reinforcing your magical power. Is everything clear?"'
  631. 'She stops to see if you are following her explanation, and when you gesture for her to continue, Tatiana restarts hammering the poor <i>whatever</i> that thing is.'
  632. '"<<$pcs_nickname>>, remember when I asked for your help in my investigations? Well, during your first... ehm... surge, you didn''t absorb all the energy, and the leftovers burned the magic tripwire I left to watch over you, traveled back towards me and slapped my beautiful ass. To be blunt, I want those leftovers! And for that, we are going to use this!"'
  633. 'The <i>machine</i> is now complete. It looks like some sort of... saddle-like sex machine? Tatiana doesn''t stop and takes some other similar... dildo-equipped power tools from a shadowy corner were some boxes with the name <i>Fucking Machine</i> scrawled on them lay open.'
  634. act 'WTF?':
  635. *clr & cla
  636. '<center><img src="images/characters/city/tatiana/talisman.jpg"></center>'
  637. '"I guess that you want some explanation, correct? First: They are clean, I didn''t have time to enjoy them; Two: If you want some, try Dildopolis in the red light district; Three: No, I didn''t buy them, Gustav said that they are a <i>prize of war</i> but didn''t elaborate. Four: Catch this!"'
  638. 'Tatiana throws a little greenish item at you which you catch without a problem. It is a piece of pottery that sends a shiver up your hand and triggers a memory of... The Talisman of Power. It is a part of it.'
  639. '"Okay <<$pcs_nickname>>, this is what I want you to do. Pick your favorite one, use it and I will cast this modified sex ritual. The original was supposed to let a couple share their mana, but my version will substitute the partner for a sex machine, so when you orgasm and your body is flooded by the mana, the excess that is supposed to go to your partner will be absorbed by the fragment. Any questions?"'
  640. '"Ehm, several. Why is this so complicated? I mean... can''t you just tap on me, instead of using THAT?"'
  641. '"Yes and no <<$pcs_nickname>>. Tapping on your mana reserves isn''t really difficult, but the surge ones? They will burn me like a cinder, that''s why I need the fragment. It somehow conserves some mana-battery properties, letting this little ritual channel the excess energy towards it for later use. That is the deal, you get some magical training and I get some nice mana. So, are you ready for a ride?"'
  642. act '"I think I will pass for now"': tatiana_teach_escalation += 1 & gt 'tatiana_lab', 'start'
  643. act '"Let''s see"': gt 'tatiana_lab', 'teach_strip'
  644. end
  645. else
  646. gt 'tatiana_lab', 'teach_strip'
  647. end
  648. end
  649. if $ARGS[0] = 'teach_strip':
  650. *clr & cla
  651. if tat_lesson_number = 0: tat_lesson_number = 1
  652. '<center><video autoplay loop src="images/locations/pavlovsk/trainstation/bimbo.strip6.mp4"></video></center>'
  653. if pcs_inhib < 35:
  654. 'You squirm and blush under Tatiana''s nonchalant aptitude as she helps you undress to do what is essentially a magical peep show. Only the fact that she seems fully focused on the magical ritual, and the only guy that can peek not only isn''t in the room, but doesn''t appear interested in anything you two are going to do, lets you struggle towards fulfilling your deal with Tatiana.'
  655. else
  656. 'With Tatiana''s help, you quickly remove your clothes and wait patiently as she concentrates on the magical ritual. You even partake in sexy small talk to see if Gustav peeks, but he doesn''t appear interested in anything you two are going to do. After a few minutes have passed to let the magic condensate in the room, you are ready to fulfill your deal with Tatiana.'
  657. end
  658. !! NOTE - This action will determine the fucking machine event that initiates the chain.
  659. !! NOTE 2 - This action will be repeated every time Sveta asks to learn more spells, but the "act" must be restricted to Sveta''s current fucking machine level.
  660. if stat['think_virgin'] = 1 or tatiana_teach_escalation <= 2:
  661. act 'The saddle-looking one(No penetration)': gt 'tatiana_lab', 'saddle'
  662. end
  663. if tatiana_teach_escalation <= 4:
  664. act 'One of the dildoed power-tools(Anal)': gt 'tatiana_lab', 'teach_dildo_anal'
  665. act 'One of the dildoed power-tools(Vaginal)': gt 'tatiana_lab', 'teach_dildo_vag'
  666. end
  667. act 'Why choose only one?(????)': gt 'tatiana_lab', 'teach_full'
  668. act '"I think I will pass for now"': gt 'tatiana_lab', 'start'
  669. end
  670. if $ARGS[0] = 'saddle':
  671. *clr & cla
  672. '<center><img src="images/characters/city/tatiana/sex/riding.jpg"></center>'
  673. if pcs_horny > 50:
  674. 'As you approach the saddle-sex-machine, you can appreciate the amused smile on Tatiana''s face as the blush in your cheeks and the heaving in your chest show, without doubt, the arousal that is wetting your pussy. Maybe it''s an exhibitionist streak, or something else, but you''re pretty sure that you aren''t doing this just for another of Tatiana''s lessons.'
  675. else
  676. 'As you approach the saddle-sex-machine, Tatiana, concentrating on the ritual and without looking at you, passes you a KY Jelly bottle that you proceed to use in your pussy, the fresh substance sending shivers up your body as you concentrate on the task at hand.'
  677. end
  678. $orgasm_or = 'yes'
  679. gs 'arousal', 'vaginal_vibe', 30
  680. gs 'arousal', 'end'
  681. gs 'stat'
  682. 'Finally, psyched up, you smear some lube over the small dildo-like protrusions in the riding-machine, and with care, squat over them. It only takes a few seconds for the rubber ridges to slide into your vagina. A rubbery and sticky sensation extends across your outer and inner lips, caressing your clit without a total penetration.'
  683. 'Sighing slightly at the sensation, you reach for the controller, and after a moment and with a soft "BRRRR" the machine comes alive, stimulating in only one move all of your pussy. You close your eyes as soft moans escape your mouth.'
  684. 'You barely manage to stay over the machine. Your sweaty hands grab the controller, and push it for more power, steadily increasing the vibration as your voice and the machine sound compete to fill the room with their chorus.'
  685. 'Finally, the controller slips from your clenching fingers as your magical climax triggers, taking your breath and self-control away and sending wave after wave of magically enhanced pleasure pulsing through your body.'
  686. act 'Time for a lesson':
  687. if stat['think_virgin'] = 1 or tatiana_teach_escalation < 2:
  688. if pcs_vag ! 0: tatiana_teach_escalation += 1
  689. gt 'tatiana_lab', 'lesson<<tat_lesson_number>>'
  690. else
  691. gt 'tatiana_lab', 'Escalation1'
  692. end
  693. end
  694. end
  695. if $ARGS[0] = 'Escalation1':
  696. *clr & cla
  697. '<center><img src="images/characters/city/tatiana/tatiana.jpg"></center>'
  698. 'You stretch over the bed, happy in the magical afterglow and waiting for Tatiana to explain her lesson, but this time she seems distracted, walking from one side of the room to the other as she magically examines the pottery fragment. She even shakes it, as if trying to hear something.'
  699. '"Is something wrong Tatiana?"'
  700. 'She looks at you, her gaze lost into thinking "Yes <<$pcs_nickname>>. I am not sure why, but the ritual has failed to drain the excess mana. This complicates the situation."'
  701. '"So..." You begin asking, signaling towards the machine by your side "Are we going to continue using these?"'
  702. 'Tatiana stops looking in your direction, her gaze returning to focus on the fragment as a smile creeps onto her face.'
  703. '"Don''t worry my student, your role hasn''t ended, we just need to raise the bar. So, what tool do you choose?"'
  704. 'Saying this, Tatiana begins to push the power-tool-looking machines towards you.'
  705. act '"I think I will pass for now"': gt 'tatiana_lab', 'start'
  706. act 'One of the dildoed power-tools(Anal)': gt 'tatiana_lab', 'teach_dildo_anal'
  707. act 'One of the dildoed power-tools(Vaginal)': gt 'tatiana_lab', 'teach_dildo_vag'
  708. act 'Why choose only one?(????)': gt 'tatiana_lab', 'teach_dildo_vag', 'teach_full'
  709. end
  710. if $ARGS[0] = 'teach_dildo_anal':
  711. if tatiana_teach_escalation < 2: tatiana_teach_escalation = 2
  712. gs 'boyStat', 'D3'
  713. gs 'arousal', 'auto_lube', 'anal'
  714. $orgasm_or = 'yes'
  715. gs 'arousal', 'anal_dildo', 30
  716. gs 'arousal', 'end'
  717. gs 'stat'
  718. *clr & cla
  719. '<center><img src="images/characters/city/tatiana/sex/ass.jpg"></center>'
  720. if pcs_ass = 0:
  721. 'Grabbing a KY Jelly bottle, you meekly observe the piston-powered sex machine that calmy seems to wait for your virgin anus and ask yourself why you are doing this. Are you so desperate for magical knowledge?'
  722. 'Gathering your courage, you smear some lubricant onto your fingers and proceed to lube the dildo before with a sigh of discomfort, you push two fingers into your tight asshole, the sensation failing to relax the unspoiled aperture.'
  723. 'You then kneel and, grabbing the ass-breaker, slowly push it up your virgin ass, fighting against your natural resistance at the intrusion and feeling your anus constraining at the sensation, a feeling that makes you groan loudly.'
  724. elseif pcs_ass < 15:
  725. 'Grabbing a KY Jelly bottle, you observe the piston-powered sex machine that calmy seems to wait for your anus. You smear some lubricant onto your fingers and proceed to lube the dildo before, with a sigh, you push two fingers into your asshole, the sensation somewhat relaxing the aperture.'
  726. 'You then kneel and grab the ass-breaker, pushing it up your ass while trying to relax your hole, feeling the flesh wrap around the sensation, a feeling that makes you groan at the forceful intrusion.'
  727. else
  728. 'Grabbing a KY Jelly bottle, you observe the piston-powered sex machine that calmy seems to wait for your well-used anus with arousal as you ask yourself if you''re doing this for the magical knowledge or simply because you <i>want</i> to...'
  729. 'You quickly smear some lubricant onto your fingers and proceed to lube the dildo before, with a moan of pleasure, you push two fingers into your asshole, massaging your innards with a sensation that makes you moan in arousal.'
  730. 'You then kneel and grab the ass-breaker, pushing it up your ass, your innards welcoming it as a feeling that seems to fill some undetermined <i>hole</i> in your soul makes your heart rate skyrocket.'
  731. end
  732. 'With the power-tool firmly inserted up your ass, there is only a thing to do. You grab the control and activate the fucking machine. There is a mechanical "BRRR" and the device begins to pound your innards, making you clench your teeth inbetween moans and grunts.'
  733. 'You put a sticky hand between your thighs and proceed to play with your cunt, your clit throbbing at the power-dildo rhythm, making you lose your breath. Under the ritual''s influence, your growing arousal pushes against your magical core.'
  734. 'Finally, in a magical explosion, an orgasmic bliss surges through your body, making you crumble under the sex machine''s onslaught as mana starts flowing around the room.'
  735. act 'Time for a lesson':
  736. if tatiana_teach_escalation < 4:
  737. tatiana_teach_escalation += 1
  738. gt 'tatiana_lab', 'lesson<<tat_lesson_number>>'
  739. else
  740. gt 'tatiana_lab', 'Escalation2'
  741. end
  742. end
  743. end
  744. if $ARGS[0] = 'teach_dildo_vag':
  745. if tatiana_teach_escalation < 2: tatiana_teach_escalation = 2
  746. gs 'boyStat', 'D3'
  747. gs 'arousal', 'auto_lube', 'vag'
  748. $orgasm_or = 'yes'
  749. gs 'arousal', 'vaginal_dildo', 30
  750. gs 'arousal', 'end'
  751. gs 'stat'
  752. *clr & cla
  753. '<center><img src="images/characters/city/tatiana/sex/vag.jpg"></center>'
  754. if pcs_vag = 0:
  755. 'Grabbing a KY Jelly bottle, you meekly observe the piston-powered sex machine that calmy seems to await your virgin pussy. You ask yourself why you are doing this. Are you so desperate for magical knowledge?'
  756. 'Gathering your courage, you smear some lubricant onto your fingers and proceed to lube the dildo before, with a shiver at the sensation, begin to caress your lower lips, a pair of shy fingers spreading the lube into your unspoiled aperture.'
  757. 'You then kneel and grab the pussy-breaker, pushing it into your virgin cunt. There is a barely perceptible sting as your hymen is torn, a feeling that makes you groan.'
  758. elseif pcs_vag < 15:
  759. 'Grabbing a KY Jelly bottle, you observe the piston-powered sex machine that calmy seems to await your pussy. You smear some lubricant onto your fingers and proceed to lube the dildo before, with a sigh, you begin to caress your lower lips, a pair of fingers spreading the lube into your cunt.'
  760. 'You then kneel and grab the pussy-breaker, pushing it into your cunt as you try to relax, feeling the flesh relenting at the size of the dildo, a feeling that makes you groan.'
  761. else
  762. 'Grabbing a KY Jelly bottle, you observe the piston-powered sex machine that calmy seems to await your well-used pussy with arousal. You ask yourself if you''re doing this for the magical knowledge, or because you <i>want</i> to...'
  763. 'You smear some lubricant onto your fingers and proceed to lube the dildo before, with a sigh of pleasure, you begin to caress your lower lips, a pair of fingers spreading the lube into your cunt, massaging your vagina with a sensation that makes you moan with arousal.'
  764. 'You then kneel and grab the pussy-breaker, pushing it deep into your cunt, your pussy welcoming it as a feeling that seems to fill some undetermined <i>hole</i> in your soul and makes your heart rate skyrocket.'
  765. end
  766. 'With the power-tool firmly inserted into your cunt, there is only a thing to do. You grab the control and activate the fucking machine. There is a mechanical "BRRR" and the device begins to pound your pussy, making you clench your teeth inbetween moans and grunts.'
  767. 'You put a sticky hand between your thighs and proceed to play with your throbbing clit, trying to follow the power-dildo rhythm, making you lose your breath. Under the ritual''s influence, your growing arousal pushes against your magical core.'
  768. 'Finally, in a magical explosion, an orgasmic bliss surges through your body, making you crumble under the sex machine''s onslaught as mana starts flowing around the room.'
  769. act 'Time for a lesson':
  770. if tatiana_teach_escalation < 4:
  771. tatiana_teach_escalation += 1
  772. gt 'tatiana_lab', 'lesson<<tat_lesson_number>>'
  773. else
  774. gt 'tatiana_lab', 'Escalation2'
  775. end
  776. end
  777. end
  778. if $ARGS[0] = 'Escalation2':
  779. *clr & cla
  780. '<center><img src="images/characters/city/tatiana/tatiana.jpg"></center>'
  781. 'You sigh contentedly as the mana is liberated by your core and spreads through your body, a feeling of elation filling your mind as your magical power is pushed beyond its limit.'
  782. '"Uh... That is interesting." Tatiana mumbles, taking you away from your reverie. She is cross-legged on the floor ignoring you, her attention fully focused on the talisman fragment.'
  783. '"Let me guess. It didn''t work?"'
  784. 'She looks at you for a moment before returning to her magical musing, then, laying down on the floor in thought before sitting up and snapping her fingers in your direction.'
  785. '"No <<$pcs_nickname>>, it''s actually worked perfectly, <i>too<i> perfectly. It seems that the mana influx has reactivated the no-woman limitation, so this little piece of pretty garbage has locked me out of the wonderful mana inside."'
  786. 'She gets up with a jump and proceeds to grab all the fucking machines, placing them within your reach.'
  787. '"Fortunately, we can break that limitation with a sensory overload, so... Ready to give the show of your life?"'
  788. 'You look at the smiling Tatiana, the talisman and the sex machines, the realization forming in your mind that Tatiana wants you to use <i>all</i> of them.'
  789. act '"I think I will pass for now"': gt 'tatiana_lab', 'start'
  790. act 'The show must go on': gt 'tatiana_lab', 'teach_full'
  791. end
  792. if $ARGS[0] = 'teach_full':
  793. if tatiana_teach_escalation < 4: tatiana_teach_escalation = 4
  794. gs 'arousal', 'auto_lube', 'anal'
  795. gs 'stat'
  796. *clr & cla
  797. '<center><img src="images/characters/city/tatiana/sex/f1.jpg"></center>'
  798. 'You bend over a yoga mat and wait as Tatiana puts on a pair of surgical gloves with a "SNAP!", the sound making you turn to look at her smiling face as she begins to smear KY Jelly over one of the powered-up-foot-long-faux-phalluses. Is she trying to arouse or scare you? She then stops and turns towards your ass.'
  799. 'Tatiana''s experienced hands then begin to delicately, but without hesitation, push a smeared finger into your anus. You sigh, not in pleasure, but in relaxation as the massage begins, distending the closely guarded orifice.'
  800. '"Okay <<$pcs_nickname>>, let the fun begin!"'
  801. if pcs_ass = 0:
  802. 'Your breath is cut short as Tatiana pushes something rubbery and sticky against your dirtiest of places. You tense it in reflex, and heave between clenched teeth as she unrelentingly pushes the dildo beyond the guarded entrance, fighting against the natural order of things, eliciting grunts of discomfort from you as the thing fills your innards.'
  803. '"Okay <<$pcs_nickname>>, you can look!"'
  804. 'Turning back, you can appreciate the half-buried dildo sticking out from your no-longer-virgin cornhole, the pulsing on your innards trying to expel the uncomfortable intruder, and making you weirdly conscientious where the item is buried. You then freeze as an evilly smirking Tatiana begins to caress the other power-dildo.'
  805. elseif pcs_ass < 15:
  806. 'Your breath is cut short as Tatiana pushes something rubbery and sticky against your dirtiest of places. You try to relax the muscles, letting the dildo push into your anus without problems, but it''s too big, and the next few minutes turn into a struggle between you and Tatiana as she tries to bury the sex toy without hurting your innards.'
  807. '"Okay <<$pcs_nickname>>, you can look!"'
  808. 'Turning back, you can appreciate the half-buried dildo sticking out from your cornhole, a sigh of relief escaping your mouth as your innards seem to have accepted the intruder without too much suffering. You then freeze as an evilly smirking Tatiana begins to caress the other power-dildo.'
  809. else
  810. 'You roll your eyes at Tatiana''s antics and wait with trepidation for the coming penetration. The push of something rubbery and sticky against your dirtiest of places makes you moan in satisfaction. The dildo, unrelenting, pushes beyond the entrance, towards your welcoming innards as a sense of completeness extends through your body.'
  811. '"Okay <<$pcs_nickname>>, you can look!"'
  812. 'Turning back, you can appreciate the half-buried dildo sticking out from your cornhole, the pulsing of your innards sending shivers of pleasure, making time go slow as you wait for the power to be turned on. However, an evilly smirking Tatiana begins to caress the other power-dildo.'
  813. end
  814. act 'Continue':
  815. gs 'arousal', 'auto_lube', 'vag'
  816. gs 'stat'
  817. *clr & cla
  818. '<center><img src="images/characters/city/tatiana/sex/f2.jpg"></center>'
  819. 'Immobilized thanks to the big rubber gimmick firmly jammed into your asshole, you can only observe as Tatiana begins to give a slick handjob to the other power-dildo. A shiver runs down your spine as you contemplate the size of the thing that is going to go up your pussy.'
  820. 'As you mull over this, something brush your pussy''s lips. Fortunately, it isn''t the rubbery monstrosity, but Tatiana''s fingers, which begin to spread lubricant all over your cunt, sending pleasant waves up your body, and eliciting some moans from your throat as she takes your head away from the coming onslaught.'
  821. if pcs_vag < 0:
  822. 'She pushes the synthetic member against your tight, but very sticky twat, making you grit your teeth at the piercing sensation breaking through your cramped innards, compressed thanks to the other latex intruder up your ass.'
  823. 'There is a barely perceptible sting as your hymen is torn as Tatiana unrelentingly pushes the phallic simulacrum into your pussy, making you push your head against the mat between moans, grunts and short breaths until she stops.'
  824. elseif pcs_vag < 15:
  825. 'She pushes the synthetic member against your tight, but very sticky twat, making you moan in pleasure as the dildo passes your yielding lowers lips. Sadly, the sex toy''s enormous girth makes you wince and grit your teeth as it stretches your vagina''s delicate walls.'
  826. 'Sweat runs over your brow as Tatiana unrelentingly pushes the phallic simulacrum up your vagina, making you push your head against the mat between moans, grunts and short breaths until she stops.'
  827. else
  828. '"Oh please Tatiana! What are you waiting for?!"'
  829. 'Somewhat frustrated at Tatiana''s parsimony, you put a hand between your thighs and open your lower lips and she, understanding the message, doesn''t waste any more time with the synthetic member, pushing it against your wet, sticky twat.'
  830. '"Yes!" you moan between gritted teeth as she unrelentingly pushes the phallic simulacrum up your vagina, making you push your head against the mat between moans, grunts and short breaths until she stops.'
  831. end
  832. act 'Continue':
  833. gs 'boyStat', 'D3'
  834. $orgasm_or = 'yes'
  835. gs 'arousal', 'vaginal_dildo', 30
  836. gs 'arousal', 'anal_dildo', 30
  837. gs 'arousal', 'dildo_suck', 30
  838. gs 'arousal', 'end'
  839. minut -= 60
  840. gs 'stat'
  841. *clr & cla
  842. '<center><img src="images/characters/city/tatiana/sex/f3.jpg"></center>'
  843. if pcs_throat = 0:
  844. 'With another loud "SNAP!", Tatiana throws away the pair of gloves and kneels by your side. One of her hands grabs the back of your head and the other guides the last power-dildo towards your mouth, pushing it beyond your lips.'
  845. 'You try to take the painfully big dildo into your mouth, but as it reaches your throat, you begin coughing, and Tatiana removes the jawbreaker.'
  846. '"Easy <<$pcs_nickname>>! Just... play with it. Let''s leave the deepthroating for <i>profesionals</i>."'
  847. 'She keeps the dildo in front of your face and turns it on. It begins lightly slap your face as you try to lick the shaft, but this is only a distraction, as Tatiana pushes the fucking machines'' controls before you, and with a devilish smile, turns all of them on.'
  848. elseif pcs_throat < 15:
  849. 'With another "SNAP!", Tatiana throws away the pair of gloves and kneels by your side. One of her hands grabs the back of your head and the other guides the last power-dildo towards your mouth, pushing it beyond your lips.'
  850. 'You try to take the painfully big dildo into your mouth, but is an ordeal as the jawbreaker repeatedly triggers your gag reflex, but even then, you somehow chain a series of sucks and licks. "Easy <<$pcs_nickname>>! Just... play with it. I haven''t even turned it on!"'
  851. 'Then, with evil parsimony, she turns it on and you begin to struggle to suck the animated sex toy as it pistons in and out of your mouth, but this is only a distraction, as Tatiana pushes the fucking machines'' controls before you, and with a devilish smile, turns all of them on.'
  852. else
  853. 'With another loud "SNAP!", Tatiana throws away the pair of gloves and kneels by your side. One of her hands grabs the back of your head and the other guides the last power-dildo towards your mouth, pushing it beyond your lips.'
  854. 'You take the big dildo into your mouth with ease, making Tatiana raise a brow. "Easy <<$pcs_nickname>>! Just... play with it. This isn''t a competition."'
  855. 'Then, with the dildo firmly in your mouth, she turns it on and it begins pistoning down your throat, but this is only a distraction, as Tatiana pushes the fucking machines'' controls before you, and with a devilish smile, turns all of them on.'
  856. end
  857. 'With a series of mechanical sounds, the piston-powered dildos begin to pound your innards, making you moan and grunt in both joy and distress as Tatiana carefully adjusts the power settings so she maximizes the pleasure and minimises the pain. The sensations are... extreme as your body tries to adapt to the constant assault.'
  858. 'Your arousal grows little by little as your holes are pounded, Tatiana''s magic quickly feeding into your mana and putting your nerves on fire, inducing intensities that <i>mundane</i> sex can''t match, making your mind lose focus as something warm grows in your core.'
  859. 'Finally, there is a sexual climax that makes you scream in delight as your magical core liberates your mana, causing it to course through your nerves, eliciting wave after wave of orgasmic bliss and causing you to collapse on the mat in a heaving mess.'
  860. act 'Time for a lesson': gt 'tatiana_lab', 'lesson<<tat_lesson_number>>'
  861. end
  862. end
  863. end
  864. if $ARGS[0] = 'lesson1':
  865. *clr & cla
  866. tat_lesson_number += 1
  867. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  868. 'As you recover your breath, a more than a little giddy Tatiana falls beside you.'
  869. '"Okay, now comes a long-winded lesson about what spells and techniques are! Let''s see... The old geezers in The Council like to say that they are the armor, tools and weapons of the wizard. Acts of will that have taken shape thanks to years of learning in musty libraries! Yeah, pretty poetic for something that a five-year-old can improvise."'
  870. 'She pauses for a moment, playing with the talisman''s fragment with a dopey smile before continuing.'
  871. '"It doesn''t matter what the old guard wants you to believe, spells are just mnemonic tricks that use words, gestures and all that corny paraphernalia that covers our arts to <i>somehow</i> center our minds to <i>somehow</i> channel mana, to <i>somehow</i> cheat the cosmos. Techniques are spells that <i>somehow</i> can be trained until made instinctive beyond any ritual, but remember my student, beyond any methodology, what matters is our volition, passions and drive to reshape the world."'
  872. 'You take a few minutes to digest Tatiana''s information "So, you''re saying that I can... em... do anything by only wishing it?" Tatiana give you a conspiratorial smile in reply.'
  873. '"Exactly! Of course, I admit that it isn''t as easy as just wishing for something. We wizards have spent millennia perfecting a methodology to ease the process in the form of spells, but at best, that is an <i>if you do this, this happens</i> situation. Your willpower is the true drive behind spellcasting and you will soon discover that beyond using rituals for training, the most basic effects can be implemented just as a reflex action, with more powerful magic getting easier as you grow in power and experience. And now for the fun part!"'
  874. act 'Continue':
  875. *clr & cla
  876. gs 'spellList','addAvailableSpells','basicSpells'
  877. gs 'spellList','addAvailableSpells','healSpells'
  878. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  879. 'Tatiana gets up with a jump and begins to slowly move her hands in a series of complex gestures accompanied with some weird words, and soon, rolling mist begins to fall through her fingers, quickly obscuring the vision in the room.'
  880. '"Spooky isn''t it? This is Fog <<$pcs_nickname>>, one of the most venerable and simple spells. It''s a favorite of the High Sidhe that used it in ancient ages for that <i>other wordly</i> scenery in their holdings. Today - thanks to The Veil - it has fallen into disuse, but it''s useful for a quick and dirty combat distraction."'
  881. 'Tatiana dissolves the spell and makes a gesture for you to follow her to the lab, where she turns on a bunsen burner and proceeds to extend her hand over it, letting the flame burn the skin of her hand as the smell of burned flesh drifts through the lab.'
  882. '"Impressed <<$pcs_nickname>>? This is called... Pain Block! Yes, it sounds uncreative, but you''ll find that most spells have fairly simple names, but beyond that little tidbit, this spell is one of the most useful out there, because beyond its mundane practicality to stop all pain sensation, it will do it <i>whithout eliminating the touch sense OR get you groogy</i>. Unfortunately, it can''t be used in combat to eliminate systemic shock, but you can''t have everything... <i>yet</i>."'
  883. 'After saying this, Tatiana finally withdraws her hand, which has been burned down to the bone, and concentrates. The flesh quickly begins to regrow around her hand.'
  884. '"How do you heal wounds? That''s something for the next lesson <<$pcs_nickname>>."'
  885. act 'End of lesson': gt 'tatiana_lab', 'start'
  886. end
  887. end
  888. if $ARGS[0] = 'lesson2':
  889. *clr & cla
  890. tat_lesson_number += 1
  891. gs 'spellList','addAvailableSpells','basicSpells'
  892. gs 'spellList','addAvailableSpells','healSpells'
  893. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  894. 'Juggling the talisman''s fragment between her fingers, Tatiana seems ready for your next lesson, and without missing a beat, she shows you some new magical passes that causes a second Tatiana to appear.'
  895. '"Neat trick, isn''t it <<$pcs_nickname>>? Now look at this!"'
  896. 'The cheerful pair then do some coordinated dance moves before one of them bops your nose and disappears. Was that an illusion? You haven''t sensed anything beyond a magical tingle.'
  897. '"This is a combat illusion called Clone. It will duplicate your moves, but will only stay within a few meters of you. With some luck, it will take a hit meant for you. And now to the fun part!"'
  898. 'Tatiana picks up a knife from one of the shelves and without hesitation or pain, makes a deep cut along her palm. Blood begins to pour from the wound before suddenly stopping as Tatiana passes her other hand over the now quickly closing wound.'
  899. '"Ta-da! This is the Cure Wounds spell, and a personal favorite of magicians around the world! I''m going to skip over how it uses your manamorphic patron to reconstitute your biological template, at least until you have a fifteen years apprenticeship under your belt. This is the most basic of the <i>common</i> healing spells, and like most have a limitation. You can''t use it during combat and it can''t be used on other beings. Its power is somewhat limited, as it''s designed to heal scrapes and superficial wounds, the sort of things that are fixed with a visit to the doctor, but with enough mana, you can use it repeatedly to recover from truly grievous wounds. However, it will not heal long term damage, diseases or <i>cosmetic</i> changes. Beyond that, well... it''s better if you experiment a little on your own to learn all the minutia. That will be all for now. This is the end of this lesson."'
  900. act 'End of lesson': gt 'tatiana_lab', 'start'
  901. end
  902. if $ARGS[0] = 'lesson3':
  903. *clr & cla
  904. tat_lesson_number += 1
  905. gs 'spellList','addAvailableSpells','basicSpells'
  906. gs 'spellList','addAvailableSpells','healSpells'
  907. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  908. 'After your <i>show</i>, a blushing Tatiana looks at you, her lips quivering as she seems to struggle to speak. It''s strange, as Tatiana has never been affected by your <i>performances</i>. Maybe you have broken her resistance? That seems to be the case as she moves her hand towards your chin. She caresses you and whispers, and suddenly your muscles fight to move.'
  909. '"This is your fault <<$pcs_nickname>>! All that shiny mana! All that beautiful... you! I''m not going to let Reinhold, The Council or anyone else put their hands on you! You are mine and mine alone, and I know! I know that you will eventually learn to love me as much as I love you!"'
  910. 'You stand there, the strength sapped away from you as Tatiana leans in to kiss you, only to back away, her sudden <i>stalking creep mode</i> forgotten, and the sluggishness dissipating from your body.'
  911. '"What the hell Tatiana?! Why did you do that??!"'
  912. 'Seriousness creeps back into her voice as she answers your questions. "A demonstration of the weak and underappreciated Stun, your new combat spell, and the sort of things the wrong class of sexual deviant or <i>you</i> can do when your rival is affected. After this little window into the Dark side, I am going to teach you your next healing spell, Greater Cure Wounds. You will forgive me if I don''t demonstrate, as this spell, even with the same limitations that Cure Wounds has, is powerful enough to bring you back to peak health from little magical hazards like... full body third-grade burns caused by magical fireballs. That is all for now, but I think I will teach you more specialized healing spells next time."'
  913. act 'End of lesson': gt 'tatiana_lab', 'start'
  914. end
  915. if $ARGS[0] = 'lesson4':
  916. *clr & cla
  917. tat_lesson_number += 1
  918. gs 'spellList','addAvailableSpells','basicSpells'
  919. gs 'spellList','addAvailableSpells','healSpells'
  920. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  921. 'Tatiana doesn''t waste any time and begins to cast Fog, so the workshop is filled with wispy ribbons of mist.'
  922. '"This, <<$pcs_nickname>>, is Gust of Wind. The companion to the venerable Fog, and responsible for those creepy cold winds that scare the kids that get too close to my little hideout. Beyond that, its primary use in this age is to dispel Fog in a combat situation, as it lacks the power to do much beyond blowing the leaves."'
  923. 'As she is saying this, the mist disintegrates as a wave of gentle wind extends from the redheaded sorceress.'
  924. '"Okay, <<$pcs_nickname>>, with that we finally end with the Fog/Gust Of Wind binomial and can begin something more interesting, like the useful... Ta-Da! Cure Disease! Another vital part of the all-times favorite healing arts. This spell will cleanse you of most common diseases and will even act as a low-level painkiller, but also has the standard limitations of the <i>common</i> healing spells, such as only being used outside of combat. As an additional advertence, this isn''t a get-out-of-the-hospital-free card. It''s pretty good for things like STDs or the flu, but, like Cure Wounds, it will only treat things that can easily be dealt with by a visit to the local clinic."'
  925. act 'End of lesson': gt 'tatiana_lab', 'start'
  926. end
  927. if $ARGS[0] = 'lesson5':
  928. *clr & cla
  929. tat_lesson_number += 1
  930. gs 'spellList','addAvailableSpells','basicSpells'
  931. gs 'spellList','addAvailableSpells','healSpells'
  932. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  933. 'Tatiana doesn''t wait for you to recover before placing a folder into your hands. Inside it is several photocopies full of magic theory for a spell, accompanied with photos showing hand gestures and a DVD.'
  934. '"The old geezers will scream bloody murder if they see this <i>disrespect</i>, but, hey, they aren''t here! Those files will help you learn the more advanced Multi Clone spell. There isn''t a great mystery about it. It''s a combat spell that creates four clones of you that copy your movements and will disappear if touched, taking any hits meant for you."'
  935. 'You observe the files, and can''t negate that something is wrong with the presentation. However, Tatiana doesn''t seem bothered and continues talking.'
  936. '"<<$pcs_nickname>> we are reaching the point where I can''t teach you anything else, but this little spell here is going to be awesome. This is called Heal, your first and probably last combat healing spell. Yes. you can treat your - and only yours - wounds when somebody is trying to kill you! However, don''t get cocky. This spell is less mana intense than Cure Wounds, but it isn''t a substitute for that one, so if you aren''t in a life-or-death situation choose the latter.'
  937. act 'End of lesson': gt 'tatiana_lab', 'start'
  938. end
  939. if $ARGS[0] = 'lesson6':
  940. *clr & cla
  941. tat_lesson_number += 1
  942. gs 'spellList','addAvailableSpells','basicSpells'
  943. gs 'spellList','addAvailableSpells','healSpells'
  944. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  945. 'Without paying attention to your recovering form, Tatiana begins to rummage through the stands until she picks up a screwdriver and returns to your side. She kneels, extends her left hand over the floor and slams the screwdriver down. There is a loud crack and you feel a subtle mana explosion as the tool fails to hurt her, but with determination, Tatiana continues her assault, until two more tries later, the tool manages to impale the offending hand.'
  946. '"Okay <<$pcs_nickname>>, I was tired of explaining without demonstartions, and this way I can demonstrate two spells. The first one is Energy Shield, a combat spell, and your last line of defense if everything else fails. Unfortunately, it has two flaws - first: It is ablative, which means that will lose efficiency as it absorbs damage, and - two: It is designed for use against low-impact attacks, like punches and the occasional melee weapon, but anything more potent will shred it. So don''t try to go against bullets."'
  947. 'You watch as Tatiana pulls out the screwdriver, leaving an ugly wound that pours blood onto the floor, only to stop as the wound begins to slowly heal.'
  948. '"This is the last healing spell that I am going to teach you <<$pcs_nickname>>. It''s called Regeneration, and it will heal you for two hours with a mana cost similar to Heal. Its healing is a little random, better than Cure Wounds, but switching urgency for time. Beyond that, it has the standard limitations of being a no-combat personal spell. This is the limit of the <i>common</i> healing spells. Beyond this point, most of them fall inside specialized healing arts or my Body-Modding Art."'
  949. act 'End of lesson': gt 'tatiana_lab', 'start'
  950. end
  951. if $ARGS[0] = 'lesson7':
  952. *clr & cla
  953. tat_lesson_number += 1
  954. gs 'spellList','addAvailableSpells','basicSpells'
  955. gs 'spellList','addAvailableSpells','healSpells'
  956. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  957. 'After your last <i>peep show</i>, Tatiana gives you an old leather-bound folder that contains instructions for a new spell. What catches your attention are the series of carefully manuscripted notes that radiate a faint magical aura. There is even the soft smell of... dahlias?'
  958. '"Yeah, I know <<$pcs_nickname>>... pretty. These are the sort of things that our elders do with their free time. They don''t seem to realize that the printing press is a thing, but let''s continue with your training."'
  959. '"These notes show your new combat spell, Haste. Want to dodge bullets or run at supersonic speed? Sorry, but forget about it. That magic is possible, but it''s heavily specialized, costly and will break the disbelief that The Veil enforces. This spell will indeed enhance your reaction time to the human upper limit, and if you take your time to train, beyond, but it isn''t so blatant to let you catch bullets with your hands. At least without a lot of luck and some magical protection to evade them."'
  960. act 'End of lesson': gt 'tatiana_lab', 'start'
  961. end
  962. if $ARGS[0] = 'lesson8':
  963. *clr & cla
  964. tat_lesson_number += 1
  965. gs 'spellList','addAvailableSpells','basicSpells'
  966. gs 'spellList','addAvailableSpells','healSpells'
  967. '<center><img src="images/characters/city/tatiana/Tatianalesson.jpg"></center>'
  968. 'Tatiana looks a little off, with a distant gaze, thinking about something as you recover from your last <i>ride</i>. It takes you to loudly cough to take her away from that reverie, and make her pay attention to your naked, kneeling form.'
  969. '"Hm? Sorry <<$pcs_nickname>>. I was just... you know thinking in ways to continue milking your mana, but... I remember that I have this little thing called <i>morality</i>, and a deal to respect... Damn!"'
  970. 'She then sighs dramatically, smiles and turn towards you.'
  971. '"Okay <<$pcs_nickname>>, this is the last lesson. I am not qualified to teach you any more magic as those spells in the Body-Modding Art are just too advanced for a neophyte like you. Maybe I will teach you later down the line, but not now. So, what will my last lesson be?"'
  972. 'Tatiana then passes you a notebook with a lot of biological-magical information about... you? It''s all written in a precise and clear way, with theories and speculations about your potential, including managing a new spell called... Berserker Rage?'
  973. '"If you want to know <<$pcs_nickname>>, that is a peek into the thesis that I am writing about your nature and that spell? Well, it''s a <i>common</i> combat spell that will enhance your agility, strength and endurance to the human limit for two hours, and with training, beyond. You must understand that the name isn''t a misnomer, and you are one of the few lucky ones that can use it without losing their mind. So, there you go!"'
  974. act 'End of lesson': gt 'tatiana_lab', 'start'
  975. end
  976. if $ARGS[0] = 'Tatianasuctalk':
  977. cla
  978. clr
  979. *clr
  980. gs 'stat'
  981. gs 'themes', 'indoors'
  982. '<center><b><font color="maroon">Tatiana</font></b></center>'
  983. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  984. if sucpcinfo < 2:
  985. minut += 15
  986. *p 'As you both settle onto the couch, Tatiana turns to you and says, "Ok, tell me what happened."'
  987. 'You spend the next 15 minutes telling her about the Fairy, the odd dream, '
  988. if succubusQW < 4:
  989. 'and the energy you let loose the other night.'
  990. elseif succubusQW = 4:
  991. 'the energy you let loose the other night, and the feeling you get when you''ve had sex.'
  992. else
  993. 'the energy you let loose the other night, the feeling you get when you''ve had sex, and the reaction you had to almost being raped.'
  994. end
  995. ''
  996. 'She thinks about it for a moment and then says, "Well, I have a couple of ideas, but no sense guessing when I can just magically examine you."'
  997. 'She hops up and says, "Get undressed and lie down on the couch."'
  998. sucpcinfo = 2
  999. act 'Undress and lie down': gt 'succubus', 'tatianaask'
  1000. exit
  1001. end
  1002. if tatisucsex = 0 and tatisucsexask ! daystart: act 'Ask Tatiana if she wants to try Succubus Sex': tatisucsexask = daystart & gt 'tatiana_lab', 'Tatianasucsexask'
  1003. act 'Ask her to repeat what she knows about Succubae': gt 'succubus', 'tatianaask'
  1004. act 'Ask her if she has learned anything new about Succubae':
  1005. cla
  1006. !! Nothing after info level 6 here, because Tatiana will tell the PC automatically
  1007. if sucinfoday ! 0 and sucinfoday <= daystart:
  1008. if sucpcinfo = 4 and succublvl >= 2:
  1009. '"Actually, I have gotten some more information about Succubae."'
  1010. '"I heard from one of my mage contacts, in Sydney, Australia of all places, and he passed on some more details."'
  1011. sucpcinfo = 5
  1012. sucinfoday = daystart + 10 + rand(0,7)
  1013. act 'Ask her to tell you': gt 'succubus', 'tatianaask', 1
  1014. elseif sucpcinfo = 5:
  1015. '"Actually, I have gotten some more information about Succubae."'
  1016. '"I heard from an old friend of mine who is now living in Morocco and actually has a Succubus for a lover. She said that after they had been together for some time, they discovered that, with her help, her Succubus lover learned something new."'
  1017. sucpcinfo = 6
  1018. sucinfoday = daystart + 10 + rand(0,7)
  1019. act 'Ask her to tell you': gt 'succubus', 'tatianaask', 2
  1020. else
  1021. 'No, I haven''t.'
  1022. act 'Continue': gt 'tatiana_lab', 'Tatianasuctalk'
  1023. end
  1024. else
  1025. 'No, I haven''t.'
  1026. act 'Continue': gt 'tatiana_lab', 'Tatianasuctalk'
  1027. end
  1028. end
  1029. act 'Change topics': gt 'tatiana_lab', 'Tatiana'
  1030. end
  1031. if $ARGS[0] = 'Tatianasucsexask':
  1032. cla
  1033. clr
  1034. *clr
  1035. gs 'stat'
  1036. gs 'themes', 'indoors'
  1037. '<center><b><font color="maroon">Tatiana</font></b></center>'
  1038. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  1039. if tatisucsex = 0:
  1040. if TatianaSex = 1:
  1041. 'You give Tatiana what you hope is a "come hither" smile and ask,'
  1042. '"So, you want to give Succubus sex a try?"'
  1043. else
  1044. 'You give Tatiana a shy smile and ask,'
  1045. '"Do you want to try Succubus sex?"'
  1046. end
  1047. else
  1048. 'You give Tatiana a bright smile and ask,'
  1049. 'Hey Tatiana, you up for some Succubus Sex?'
  1050. end
  1051. act 'She answers:':
  1052. cla
  1053. if tatisucsex = 0:
  1054. 'She gives you a wide eyed look before saying,'
  1055. if succublvl + TatianaSex < rand(0,6):
  1056. '"I''m sorry, <<$pcs_firstname>>, I just don''t have the time now."'
  1057. act 'Move on to something else': gt 'tatiana_lab', 'Tatiana'
  1058. else
  1059. '"I would love to!", with a wide smile.'
  1060. 'She leads you over to the couch, and you both strip.'
  1061. act 'Proceed': gt 'succubus', 'tatianasex'
  1062. end
  1063. else
  1064. if tatisucsexday <= daystart:
  1065. if 1 + (succublvl * 2) + tatisucsex < rand(1,20):
  1066. '"I''m sorry, <<$pcs_nickname>>, I just don''t have the time now."'
  1067. act 'Move on to something else': gt 'tatiana_lab', 'Tatiana'
  1068. else
  1069. 'She gives you a "come hither" smile and says, "I would love to, <<$pcs_nickname>>!"'
  1070. 'You both head toward the couch, stripping as you go.'
  1071. 'Once there, you both sit down facing each other, and she looks at you in anticipation.'
  1072. act 'Proceed': gt 'succubus', 'tatianasex'
  1073. end
  1074. else
  1075. if tatisucsexday - daystart > 1:
  1076. $scsextmp = 'days'
  1077. else
  1078. $scsextmp = 'day'
  1079. end
  1080. 'She looks at you with a sad smile and says,'
  1081. '"I''m sorry, <<$pcs_nickname>>, I need at least <<tatisucsexday - daystart>> more <<$scsextmp>>."'
  1082. killvar '$scsextmp'
  1083. act 'Move on to something else': gt 'tatiana_lab', 'Tatiana'
  1084. end
  1085. end
  1086. end
  1087. end
  1088. if $ARGS[0] = 'Tatianasexreject':
  1089. cla
  1090. clr
  1091. *clr
  1092. gs 'stat'
  1093. '<center><b><font color="maroon">Tatiana</font></b></center>'
  1094. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  1095. if scpopt = 2:
  1096. 'I''m sorry, Tatiana, I just don''t have the time right now.'
  1097. scpopt = 0
  1098. killvar '$sclocrt' & killvar '$scargrt'
  1099. end
  1100. act 'Finish': gt 'tatiana_lab', 'Tatiana'
  1101. end
  1102. if $ARGS[0] = 'suctrainsex':
  1103. 'She suddenly lunges at you and starts kissing you! You''re so surprised it takes you a bit to respond, and before you can do anything, she is nibbling your ear and whispering, "Let it go..."'
  1104. gs 'arousal', 'kiss', 5, 'lesbian', 'sub'
  1105. gs 'stat'
  1106. if pcs_horny >= 100:
  1107. 'You''re so shocked at this you suddenly feel a powerful orgasm rush through you, causing you to cry out even as it rushes down the link to Tatiana, giving her a powerful orgasm as well!'
  1108. 'Then, you feel your control slip...'
  1109. $orgasm_or = 'yes'
  1110. gs 'stat'
  1111. act 'Continue': gt 'succubus', 'tatianasex'
  1112. else
  1113. scfwon = 2
  1114. scpopt = 1
  1115. $sclocrt = 'tatiana_lab'
  1116. $scargrt = 'Tatianasexreject'
  1117. 'You only have moments to decide, do you give in and let <<$sucself1>> go or do you reign it in?'
  1118. act 'Continue': gt 'succubus', 'tatianasex'
  1119. end
  1120. end
  1121. if $ARGS[0] = 'suctraining':
  1122. if sucpcinfo < 2:
  1123. cla
  1124. clr
  1125. *clr
  1126. '<center><b><font color="maroon">Tatiana</font></b></center>'
  1127. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  1128. 'The moment you walk into her lab, Tatiana''s head jerks up and she hurries over to you.'
  1129. 'She stares at you for several seconds, then demands, "What the hell happened to you!?!?"'
  1130. 'You start to answer her when she holds up her hand and says, "Wait, come sit on the couch and tell me."'
  1131. 'She turns away from you and walks toward the couch.'
  1132. act 'Follow her': gt 'tatiana_lab', 'Tatianasuctalk'
  1133. exit
  1134. elseif sucpcinfo >= 6 and sucskill < 3 and sctrainprep = 1:
  1135. if tatisucsexday > daystart and tatisucsexday - 5 >= daystart:
  1136. cla
  1137. clr
  1138. *clr
  1139. '<center><b><font color="maroon">Tatiana</font></b></center>'
  1140. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  1141. 'You attempt to enter Tatiana''s lab, but an invisible barrier stops you. Tatiana apparently heard you as she rushes over and says, "What''s wrong? Do we need to cancel?"'
  1142. act 'Yes, I need to cancel':
  1143. cla
  1144. '"Are you sure?"'
  1145. act 'Yes, I''m sure':
  1146. cla
  1147. if tatisucsexday = daystart + 7:
  1148. !! this looks like a potential bug. if this isn''t the first time you''re preparing
  1149. !! then you should only get 2000 back and sctrainprep should be set back to -1 here.
  1150. !! fixing this likely requires another sctrainprep value besides -1, 0, and 1
  1151. sctrainprep = 0
  1152. money += 5000
  1153. '"Ok, good thing I hadn''t bought anything yet." and she hands you back the 5000 <b>₽</b> before going back to her studying.'
  1154. else
  1155. minut += 3
  1156. sctrainprep = -1
  1157. '"Ok, I''ll dump the "battery" potion."'
  1158. 'With that, she walks over to her workbench and dumps the contents of several beakers into a barrel that flairs with magic as she does so.'
  1159. end
  1160. act 'Continue': gt 'tatiana_lab', 'start'
  1161. end
  1162. act 'No, never mind continue your preparations':
  1163. cla
  1164. 'She gives a small shake of her head and says, "Then get out of here, I can''t have you distracting me!"'
  1165. act 'Leave': gt 'city_center'
  1166. end
  1167. end
  1168. act 'No...':
  1169. cla
  1170. 'You say, "No, I just wanted to see you."'
  1171. 'She answers, "That''s sweet, but I can''t have you distracting me, come back all charged up in <<tatisucsexday - daystart>> days!"'
  1172. act 'Leave':
  1173. minut += 3
  1174. gt 'city_center'
  1175. end
  1176. end
  1177. exit
  1178. elseif tatisucsexday > daystart and tatisucsexday - 5 < daystart:
  1179. if tatisucsexday - daystart > 1:
  1180. $scsextmp = 'days'
  1181. else
  1182. $scsextmp = 'day'
  1183. end
  1184. 'You attempt to enter Tatiana''s lab, but an invisible barrier stops you. Tatiana apparently heard you as she shouts from across the lab, "I''ve already taken the first potion, so I can''t come anywhere near you, come back all charged up in <<tatisucsexday - daystart>> <<$scsextmp>>!"'
  1185. killvar '$scsextmp'
  1186. act 'Leave':
  1187. minut += 3
  1188. gt 'city_center'
  1189. end
  1190. exit
  1191. elseif tatisucsexday = daystart or tatisucsexday = daystart - 1:
  1192. cla
  1193. clr
  1194. *clr
  1195. gs 'stat'
  1196. '<center><b><font color="maroon">Tatiana</font></b></center>'
  1197. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  1198. 'The instant you walk into the lab, Tatiana''s head snaps up and she stares hard at you as you approach the barrier.'
  1199. if sucexcess >= 100 and succhungry < -2:
  1200. minut += 10
  1201. 'As you step through the barrier, Tatiana seems to teleport to you and start kissing you.'
  1202. 'She then starts pulling you toward her workbench while saying between kisses, "Thank (kiss) goodness (kiss) you''re (kiss) here (kiss) and ready (kiss)! You wouldn''t (kiss) believe (kiss) how (kiss) <i><b>horny</b></i> (kiss) carrying (kiss) all this (kiss) sexual (kiss) energy (kiss) has made me!"'
  1203. !! Maybe add arousal call here
  1204. 'She suddenly turns away from you, and you realize that you have reached her workbench. She grabs two smallish vials off the top, pops the tops off both, and hands you one, saying, "Drink this," before downing the other.'
  1205. 'It tastes like strawberry syrup.'
  1206. 'This time you''re ready when Tatiana lunges at you, and you resume kissing as you lead her toward the couch while she is stripping both your clothes off and you feel a large amount of your stored energy being released into your body.'
  1207. 'Once there, you both sit down facing each other. She looks at you with burning lust and says, "Do it!"'
  1208. act 'Proceed': gt 'succubus', 'tatianasex'
  1209. exit
  1210. elseif sucexcess < 100 and succhungry > -2 and tatisucsexday = daystart:
  1211. 'She then says, "Damn! You don''t have enough reserve <i>or</i> stored energy! Run over to the Park and find some robbers or something, then get back here tomorrow!"'
  1212. elseif succhungry > -2 and tatisucsexday = daystart:
  1213. 'She then says, Damn! You don''t have enough reserve energy! Run over to the Park and find some robbers or something, then get back here tomorrow!'
  1214. elseif succhungry > -2 and tatisucsexday = daystart - 1:
  1215. 'She then says, "Damn! You don''t have enough reserve energy and there isn''t enough time for you to build it up." She then sighs and says, "Go ahead and take off, I need to bleed this energy off safely."'
  1216. sctrainprep = -1
  1217. else
  1218. 'She then says, "Damn! You don''t have enough stored energy! Run over to the Park and find some robbers or something, then get back here!"'
  1219. end
  1220. act 'Leave': minut += 5 & gt 'city_center'
  1221. exit
  1222. else
  1223. 'The barrier is down when you get to the lab, and Tatiana calls from across the room, "You''re too late, I had to release the energy, and we''ll need to start over."'
  1224. sctrainprep = -1
  1225. act 'Continue': gt 'tatiana_lab', 'start'
  1226. exit
  1227. end
  1228. end
  1229. !! This is oops handling
  1230. sucbypass = 1
  1231. minut -= 5
  1232. gt 'tatiana_lab', 'start'
  1233. end
  1234. if $ARGS[0] = 'missions':
  1235. cls
  1236. temp = rand (1,3)
  1237. gs 'stat'
  1238. '<center><b><font color="maroon">Tatiana</font></b></center>'
  1239. '<center><img <<$set_imgh>> src="images/system/1_openings/shared/npc_tatiana.jpg"></center>'
  1240. if TatianaMissionQW = 0:
  1241. TatianaMissionQW = 1
  1242. TatianaMissionDay = daystart
  1243. minut += 15
  1244. *clr & cla
  1245. 'Tatiana looks up from the pile of files she always seems to be sifting through when she notices you. "<<$pcs_firstname>>, finally! I''ve been waiting for you. We need to talk."'
  1246. '"What about?"'
  1247. '"Well, you''ve had some time to acclimate yourself to your new situation and to process everything Reinhold and I told you, so," she smiles, "it''s time we started your actual training."'
  1248. 'You feel a rush of excitement going through you, and images of shooting fireballs from your hands and parting the sea come before your inner eye. "Great!" You exclaim. "I''m so ready for that."'
  1249. 'Tatiana probably guessed what you were thinking, because she chuckles and placates, "That doesn''t mean we''re gonna teach you super-powerful spells. At least not yet." She gives the words a moment to take effect; your enthusiasm for her plans, figuratively throbbing and erect a second ago, shrivels and goes limp by the time she continues. "This part of your training is the most important: You will actually put your skills, senses and knowledge into practice."'
  1250. 'The last bit rouses your interest once more. "Into practice? You mean like doing missions for the council?"'
  1251. '"Well, the council''s kinda responsible for the big leagues, which is way more than you could handle yet. But long-term, yes." Her tone takes on a mocking quality. "Once Reinhold thinks you''re ready, I''m sure he''ll swoop in, take credit for all the progress you have made thanks to me and swamp you with dangerous adventures. That''d be just like the old bastard." Tatiana sees the uncertainty with which you look at her, grins and shakes her head, confirming that it was all in good humor.'
  1252. act 'What kind of missions?':
  1253. *clr & cla
  1254. '"So," you struggle to imagine what to expect, "what would these missions be like?"'
  1255. '"Nothing dangerous," Tatiana reassures you, "at least not while you are still learning the basics." She walks over to a pile of folders and holds one up. "It''d be more along the lines of finding out why somebody''s dog has two tails or," she holds up another folder, "investigating strange sounds people hear coming from their cellar."'
  1256. 'You blankly stare at her for a few seconds, expecting Tatiana to chuckle and reveal her explanation as a joke once more, but she doesn''t. "That... sounds like-"'
  1257. '"Bullshit?" She offers helpfully.'
  1258. '"Conspiracy crap, ghost stories and all that," is what you choose to say instead.'
  1259. 'Tatiana nods understandingly. "Yeah, it does. But remember, normal people don''t see magic for what it is."'
  1260. '"Right," you remember, "little green men and poltergeists."'
  1261. 'Tatiana smiles as you quote her and nods. "And some of those things really turn out to have magical causes: The dog with two tails had been experimented on by one of us, so it was practically bursting with magic. As for the voices..." her smile turns lewd, "those were just some tenants having some extramarital fun away from prying eyes, regularly and loudly."'
  1262. act 'Why are we doing this?':
  1263. *clr & cla
  1264. 'You feel your face heating up slightly at the thought. Something about this is bothering you, though. "But... why would we even look into this? I mean, it sounds interesting enough, but is there a reason behind it?"'
  1265. 'Tatiana shrugs. "Well, you <i>could</i> go and get some ancient tomes, lock yourself into an ivory tower and spend half a century or something reading about magic, like most of the old farts on the council do. <b>OR</b>," she spreads her arms to point towards her many files and books on one hand and the exit on the other, "you could just cover the basics and then go out and experience magic first-hand, like I do."'
  1266. 'You stare at the heaps and piles of paper incredulously - they are a multiple of everything you''ve read in your entire life! "Those are the basics?!"'
  1267. '"Yep," she laughs, "if you wanna really understand how magic works and why it does this at one time and that at another, you gotta get some reading done. Trust me, if there was any way around it, I would have found it. But magic makes the reading easier and quicker, and it''s sooo worth it. The things you can do once you grasp what energies the universe holds are incredible. And I''ve only just scratched the surface."'
  1268. '"What do you mean by ''energies of the universe''? I thought you said that magic only exists in living things, like plants and animals."'
  1269. '"Did I?" She looks thoughtful but shrugs again. "Well, it''s a little complicated, but to put it simply: when scientists speak of ''dark matter'' and ''dark energy'', then, in reality, they are trying to explain the magic in this plane of existence and all the others, like demons and the magic that exists in their ''dimension'' or whatever you''d wanna call it. But," she waves her hand as if to shoo away a pesky fly, "you don''t have to concern yourself with that right now. When the time comes, Reinhold can explain it to you in more detail - hell, considering that he''s your mentor, I''ve done an awful lot of explaining already... Now, let''s go!"'
  1270. 'With that, Tatiana turns towards the exit once more and beckons you to follow.'
  1271. '"Go where?" You ask.'
  1272. '"To the magic!" She answers cryptically.'
  1273. act 'Go to the magic (?)':gt 'tatiana_missions','intro'
  1274. end
  1275. end
  1276. elseif temp = 1:
  1277. !Text could use improvement, maybe mission specific text?
  1278. *clr & cla
  1279. '"Hey <<$pcs_firstname>>, are you up for a magical adventure?" Tatiana asks with a grin.'
  1280. act 'Always': gt 'tatiana_missions','start'
  1281. act 'Not right now':gt 'tatiana_lab','start'
  1282. elseif temp = 2:
  1283. *clr & cla
  1284. '"Hello <<$pcs_nickname>>, glad you''re here." Tatiana smiles at you. "What do you say? Feel ready for a mission?"'
  1285. act 'Sure, let''s do this': gt 'tatiana_missions','start'
  1286. act 'Not right now':gt 'tatiana_lab','start'
  1287. elseif temp = 3:
  1288. *clr & cla
  1289. '"Hello <<$pcs_nickname>>." Tatiana looks at you expectantly. "Would you like to do an investigation?"'
  1290. act 'Gladly': gt 'tatiana_missions','start'
  1291. act 'Not right now':gt 'tatiana_lab','start'
  1292. end
  1293. ! if TatianaMissionQW = 5: gt 'tatiana_missions', 'special'
  1294. ! act 'Mission 1': gt 'tatiana_missions', '1'
  1295. !! etc. Maybe give them names so you know what you''re doing. Selecting them goes to in depth description and refuse/accept
  1296. !!!Lore for possible consequences of exposing (many) normal people to powerful magic:
  1297. !
  1298. ! 'Tatiana lays both folders back where they belong and her expression turns serious. "Remember how I told you that magic has a natural tendency to stay hidden? Well, there''s a limit to that tendency, a threshold beyond which either the magic cannot stay hidden anymore or at which the normal person cannot explain what they''re seeing with some non-magical phenomenon, we''re not sure which - in other words, humans have a breaking point, and when they are pushed beyond that, most of them realize how the world really is... and lose their minds."'
  1299. ! '"Could that have happened to me?" You shiver at the thought.'
  1300. ! '"Honestly, I have no idea," Tatiana admits, "but the power you have absorbed since then is huge, even if you can''t really use it to its full potential, and that may have very well driven most regular mages insane, so we''re moving in unknown territory here."'
  1301. ! 'You nod solemnly, suddenly very appreciative of the mental health and stability you always took for granted. "So, you investigate anything that might have magical causes to prevent people from going crazy?"'
  1302. ! '"It''s even bigger than that, <<$pcs_firstname>>. We know that this threshold exists. Every mage witnesses it sooner or later." She stops, momentarily lost in thought, but quickly recovers. "We have a theory that, if too many people are exposed to too much magic at once, it might break the illusion for everybody; you know, like a nuclear bomb goes off when you reach a critical mass."'
  1303. ! '"Which would then drive everybody insane," you conclude.'
  1304. ! '"Maybe not everybody," she corrects, "but many of them. And those that wouldn''t go insane, well, who knows what they''d do? Go on witch hunts? Try to kill all succubi and fae? Attempt to harness the magic of the universe? It would destroy the world as we know it, that''s for sure."'
  1305. ! 'You agree with her - with how much had been flung at you when all this began, you were pretty close to hysteria too, if you''re completely honest with yourself.'
  1306. end
  1307. if $ARGS[0] = 'stage_SMS':
  1308. if $start_type['magic'] = 'nomagic': exit
  1309. if tatiana_spell_reminder > 0: tatiana_spell_reminder -= 1
  1310. if tatiana_succubus_reminder > 0: tatiana_succubus_reminder -= 1
  1311. if tatiana_mission_reminder > 0: tatiana_mission_reminder -= 1
  1312. if tatiana_spell_reminder ! 0 and tatiana_succubus_reminder ! 0 and tatiana_mission_reminder ! 0:
  1313. exit
  1314. end
  1315. result = func('tatiana_lab', 'SMS_conditions')
  1316. if result > 0:
  1317. if arrpos('$contact', 'A176') < 0: gs 'telefon', 'AddContact', 'A176', 'icon_na', 1
  1318. gs 'telefon', 'SetSMSSchedule', 'A176', "", "0", "gs 'tatiana_lab', 'Add SMS', <<result>>", "totminut > <<totminut + (13 - hour) * 60 + rand(20, 100) - minut>>"
  1319. end
  1320. end
  1321. if $ARGS[0] = 'SMS_conditions':
  1322. if tatiana_spell_reminder = 0:
  1323. if pcs_magik >= 6 and spellavtoklon = 0 and spellbefshild = 0:
  1324. result = 3
  1325. elseif pcs_magik >= 6 and spellbefshild = 0:
  1326. result = 2
  1327. elseif pcs_magik >= 5 and spellavtoklon = 0:
  1328. result = 1
  1329. end
  1330. end
  1331. if tatiana_succubus_reminder = 0:
  1332. if succubusflag = 1 and sucbypass = 0:
  1333. if sucpcinfo < 2:
  1334. result += 10
  1335. elseif sucpcinfo >= 6 and sucskill < 3 and sctrainprep = 1:
  1336. result += 20
  1337. elseif tatisucsex > 0 and sucinfoday ! 0 and sucinfoday <= daystart:
  1338. result += 30
  1339. end
  1340. end
  1341. end
  1342. if tatiana_mission_reminder = 0:
  1343. if TatianaMissionQW > 1 and tobiQW > 0 and TatianaMissionDay + 30 < daystart and TatianaMissionQW < TatianaMissionTotal:
  1344. result += 100
  1345. end
  1346. end
  1347. end
  1348. if $ARGS[0] = 'Add SMS':
  1349. gs 'telefon', 'ClearSMSSchedule', 'A176'
  1350. $SMSTree[ '0'] = '"It''s Tatiana, I need you to swing by the lab'
  1351. $SMSTree['a1'] = 'Add Tatiana to your contacts'
  1352. gs 'SMStext_builder', 'start'
  1353. gs 'SMStext_builder', 'receive', $SMSTree[ '0']
  1354. !replies
  1355. if contactAnon[arrpos('$contact', 'A176')] = 1:
  1356. gs 'SMStext_builder', 'add_reply', $SMSTree['a1'], 'tatiana_lab', 'add_contact'
  1357. end
  1358. gs 'SMStext_builder', 'add_sms', 'A176'
  1359. gs 'SMStext_builder', 'end'
  1360. if ARGS[1] mod 10 > 0: tatiana_spell_reminder = 21
  1361. if ARGS[1] / 10 mod 10 > 0: tatiana_succubus_reminder = 21
  1362. if ARGS[1] / 100 mod 10 > 0: tatiana_mission_reminder = 21
  1363. end
  1364. if $ARGS[0] = 'add_contact':
  1365. if contactAnon[arrpos('$contact', 'A176')] = 1:
  1366. gs 'telefon', 'AddContact', 'A176', 'images/characters/city/tatiana/magiclook.jpg', 0
  1367. end
  1368. gs 'SMStext_builder', 'start'
  1369. gs 'SMStext_builder', 'show_sms', ARGS[1]
  1370. gs 'SMStext_builder', 'end'
  1371. end
  1372. --- tatiana_lab ---------------------------------