gdksport.qsrc 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  1. # gdksport
  2. !2021/05/02
  3. if $ARGS[0] = 'start':
  4. CLOSE ALL
  5. *clr & cla
  6. $loc_arg ='start'
  7. $locM_arg = 'start'
  8. $loc = 'gdksport'
  9. $locM = 'gdksport'
  10. $menu_loc = 'gdksport'
  11. $menu_arg = 'start'
  12. menu_off = 0
  13. $location_type = 'public_indoors'
  14. gs 'stat'
  15. gs 'themes', 'indoors'
  16. '<center><b><font color="maroon">community center</font></b></center>'
  17. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/gdksport.jpg"></center>'
  18. 'The community center sports club offers lessons in <a href="exec: gt ''gdksport'',''racing1''">Racing</a>, <a href="exec: gt ''gdksport'',''dance1''">Dance</a> and <a href="exec: gt ''gdksport'',''vball1''">Volleyball</a>. All lessons start before 18:00'
  19. *nl
  20. 'In the locker room is a <a href="exec: gt ''mirror'',''start''">mirror</a>, where you can ' + iif(pcs_hairbsh = 0,'<a href="exec: gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
  21. *nl
  22. gs 'wardrobe', 'quickdress'
  23. *nl
  24. if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0 and cheerleaders_on = 1: 'Albina is at cheerleading, so there is no Starlets training today.'
  25. if kotovLoveQW > 0 and hour = 16:
  26. 'You see <a href="exec:minut += 3 & gt ''kotovEv''">Vitek Kotov</a> with a large sports bag entering the sports club.'
  27. elseif npc_rel['A3'] >= 80 and hour = 17 and ivansportday ! daystart:
  28. 'You see <a href="exec:minut += 3 & gt ''IvanEv''">Ivan Prokhorov</a> with a large sports bag entering the sports club.'
  29. end
  30. if npc_rel['A5'] >= 80 and fedorKozlovQW = 0 and hotcat >= 5 and fedorkozbreak < 2 and fame['pav_slut'] <= 75: gt 'gdksport', 'Fedor First Date'
  31. if week <= 5 and hour >= 16 and hour < 18 and fedorKozlovQW >= 20:
  32. 'You can see <a href="exec: gt ''FedorMisc'', ''Fedor Workout''">Fedor</a> on his phone next to some punching bags.'
  33. end
  34. if (temper < 15 or sunWeather ! 1) and hour > 8 and hour < 12 and week = 6 and bbpickupDay + 14 <= daystart and fbpickupDay ! daystart:
  35. *nl
  36. 'As you pass by the sports field you notice that most of the ''jocks'' have gathered around the <a href="exec:gt ''bbgamein'', ''start''">basketball court</a>.'
  37. end
  38. *nl
  39. if $clothingworntype ! 'danilovich_outfits': 'You are not dressed in sports clothes.'
  40. if $shoeworntype ! 'danilovich': 'You are not wearing training shoes.'
  41. act 'Go outside':
  42. if $clothingworntype = 'nude':
  43. msg'<b><font color = red>You need to get dressed before leaving.</font></b>'
  44. gt 'gdksport', 'start'
  45. elseif lariskaQwestStart <= daystart and lariskaQwestStart ! 0 and LariskaQW['LariskaHelp'] = 0:
  46. LariskaQW['LariskaHelp'] = 1
  47. gt 'LariskaStart', 'start'
  48. elseif LariskaQW['LariskaHelp'] = 1 and LariskaQW['LariskaHelpEnd'] = 0 and lariskaQwestDay <= daystart:
  49. LariskaQW['LariskaHelpEnd'] = 1
  50. gt 'LariskaStart', 'end'
  51. else
  52. gt 'pav_commcenter'
  53. end
  54. end
  55. act 'Go to the toilets':
  56. if $clothingworntype = 'nude':
  57. msg'<b><font color = red>You need to get dressed before leaving.</font></b>'
  58. gt 'gdksport', 'start'
  59. elseif lariskaQwestStart <= daystart and lariskaQwestStart ! 0 and LariskaQW['LariskaHelp'] = 0:
  60. LariskaQW['LariskaHelp'] = 1
  61. gt 'LariskaStart', 'start'
  62. elseif LariskaQW['LariskaHelp'] = 1 and LariskaQW['LariskaHelpEnd'] = 0 and lariskaQwestDay <= daystart:
  63. LariskaQW['LariskaHelpEnd'] = 1
  64. gt 'LariskaStart', 'end'
  65. else
  66. gt 'gdktoilet', 'start'
  67. end
  68. end
  69. act 'Change outfit in the locker room':
  70. cla
  71. gt 'wardrobe', 'start'
  72. end
  73. gs 'wardrobe', 'sports_outfit'
  74. if shampoo > 0 or (StoryLine = 1 and (SchoolAtestat = 0 or SchoolBlock = 0)):
  75. act 'Take a shower': gt 'gdksport', 'shower'
  76. else
  77. '<font color="red">You''ve run out of shampoo and will have to buy some more before you can wash yourself.</font>'
  78. end
  79. *nl
  80. if pcs_stam > 20 and $clothingworntype = 'danilovich_outfits' and $shoeworntype = 'danilovich' and hour < 18:
  81. if gsAboBeg > 0 and npc_pregtalk['A131'] = 0:
  82. act 'Take a track lesson. You have <<gsAboBeg>> lessons remaining': gt 'gdksport', 'racing2'
  83. end
  84. if gsAboVolley > 0 and volleysostav = 0 and npc_pregtalk['A69'] = 0:
  85. if week ! 5:
  86. act 'Take a volleyball lesson. You have <<gsAboVolley>> lessons remaining': gt 'gdksport', 'vball2'
  87. else
  88. act 'Take a volleyball lesson. You have <<gsAboVolley>> lessons remaining': gt 'gdksport', 'vball3'
  89. end
  90. end
  91. if volleysostav > 0:
  92. if week ! 6 and volkomday ! daystart:
  93. act 'Play with the team': gt 'gdksport', 'vball4'
  94. elseif week = 6 and sorevday ! daystart and hour <= 18:
  95. act 'Play in Tournament': gt 'gdksport', 'vball5'
  96. elseif week = 6 and sorevday ! daystart and hour > 18:
  97. 'As you look around, you don''t see anyone from the team. You suddenly realize that there was a tournament game today and you were supposed to be here at 18:00! You missed the bus and the coach is going to be furious!'
  98. gs 'npc_relationship', 'modify', 'A69', -20
  99. sorevday = daystart
  100. act 'Back': gt 'gdksport', 'start'
  101. elseif pregtime >= 90:
  102. act 'Play with the team': gt 'gdksport', 'vballreact'
  103. end
  104. end
  105. if gsAboDance > 0 and AlbinaQW['StarletsJoined'] = 0 and npc_pregtalk['A23'] = 0:
  106. act 'Take a dance lesson. You have <<gsAboDance>> lessons remaining':
  107. if rand(0, 5) = 0:
  108. gt 'danceGev'
  109. else
  110. gt 'gdksport', 'dance2'
  111. end
  112. end
  113. elseif AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0 and AlbinaQW['startletsday'] ! daystart:
  114. if hour = 15 and starlets_on = 1:
  115. if pregtime >= 90 or grupTipe = 5 or starlets_missed = 1:
  116. if pregtime >= 90: act 'Train with Starlets': gt 'AlbStars', 'Starletsreact'
  117. if grupTipe = 5: act 'Train with Starlets': gt 'AlbStars', 'StarletsEnd'
  118. if starlets_missed = 1:
  119. act 'Train with Starlets':
  120. starlets_missed = 0
  121. starlet_practice_skipped += 1
  122. gt 'AlbStars', 'StarletsPracticeMissed'
  123. end
  124. end
  125. else
  126. act 'Train with Starlets': gt 'AlbStars', 'starlets'
  127. end
  128. 'Tell Albina you want to <a href="exec:gt ''AlbStars'',''Quit''">quit</a> the Starlets.'
  129. end
  130. end
  131. elseif pcs_stam <= 20:
  132. *nl
  133. 'You are too tired to do any exercise. You need to rest and replenish your stamina.'
  134. end
  135. if deodorant > 0 and deodorant_on = 0:
  136. 'Your deodorant will last you for <b><<deodorant>></b> more '+iif(deodorant = 1, 'application.', 'applications.')
  137. act 'Apply deodorant (0:01)':
  138. *clr & cla
  139. menu_off = 1
  140. minut += 1
  141. deodorant -= 1
  142. gs 'sweat', 'deo'
  143. iif(func('body_din','pregnancyVisibility') = 1, '<center><img <<$set_imgh>> src="images/shared/home/bathroom/deodorant_preg.jpg"></center>', '<center><img <<$set_imgh>> src="images/shared/home/bathroom/deodorant.jpg"></center>')
  144. 'You apply deodorant to your armpits. It will keep you feeling fresh and clean for longer.'
  145. act 'Continue': menu_off = 0 & gt $loc, $loc_arg
  146. end
  147. end
  148. end
  149. if $ARGS[0] = 'racing1':
  150. menu_off = 1
  151. *clr & cla
  152. gs 'stat'
  153. 'Race training cost 300 <b>₽</b> for 30 lessons.'
  154. act 'Leave': gt 'gdksport', 'start'
  155. if money >= 300 and gsAboBeg <= 0:
  156. act 'Buy 30 racing lessons (300 <b>₽</b>)':
  157. *clr & cla
  158. money -= 300
  159. gsAboBeg = 30
  160. gs 'stat'
  161. 'You paid for 30 racing lessons.'
  162. act 'Leave': gt 'gdksport', 'start'
  163. end
  164. end
  165. end
  166. if $ARGS[0] = 'dance1':
  167. menu_off = 1
  168. *clr & cla
  169. gs 'stat'
  170. 'Dance lessons cost 300 <b>₽</b> for 30 lessons.'
  171. act 'Leave': gt 'gdksport', 'start'
  172. if money >= 300 and gsAboDance <= 0:
  173. act 'Buy 30 dance lessons (300 <b>₽</b>)':
  174. *clr & cla
  175. money -= 300
  176. gsAboDance = 30
  177. gs 'stat'
  178. 'You paid for 30 dance lessons.'
  179. act 'Leave': gt 'gdksport', 'start'
  180. end
  181. end
  182. end
  183. if $ARGS[0] = 'vball1':
  184. menu_off = 1
  185. *clr & cla
  186. gs 'stat'
  187. 'Volleyball lessons cost 300 <b>₽</b> for 30 visits.'
  188. act 'Leave': gt 'gdksport', 'start'
  189. if money >= 300 and gsAboVolley <= 0:
  190. act 'Buy 30 volleyball lessons (300 <b>₽</b>)':
  191. *clr & cla
  192. money -= 300
  193. gsAboVolley = 30
  194. gs 'stat'
  195. 'You paid for 30 volleyball lessons.'
  196. act 'Leave': gt 'gdksport', 'start'
  197. end
  198. end
  199. end
  200. if $ARGS[0] = 'dance2':
  201. cla & *clr
  202. menu_off = 1
  203. gs 'stat'
  204. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dance_studio/fit1.jpg"></center>'
  205. if pcs_danc < 50:
  206. gsAboDance -= 1
  207. timemult = 8
  208. loopcount = 1
  209. :dancetimeloop
  210. gs 'exercise', 'tier2', 0, 'agil_exp', 'danc_exp'
  211. if loopcount < timemult: loopcount += 1 & jump 'dancetimeloop'
  212. loopcount = 0
  213. timemult = 0
  214. if pcs_inhib < 40:inhib_exp += rand(1,2)
  215. 'You take a lesson in modern dance, which is very popular with people your age.'
  216. if pcs_danc < pcs_agil:
  217. 'Your skill still has a ways to go, but your agility helps you pull off some of the dance moves.'
  218. else
  219. 'Your body lacks the agility to perform the dance moves that you are being taught.'
  220. end
  221. !place for use in events
  222. gs 'stat'
  223. act 'Leave': gt 'gdksport', 'start'
  224. else
  225. gsAboDance -= 1
  226. timemult = 8
  227. loopcount = 1
  228. :dancetimeloop2
  229. gs 'exercise', 'tier2', 0, 'agil_exp'
  230. if loopcount < timemult: loopcount += 1 & jump 'dancetimeloop2'
  231. loopcount = 0
  232. timemult = 0
  233. if pcs_inhib < 40:inhib_exp += rand(1,2)
  234. gs 'stat'
  235. 'You take a lesson in modern dance, which is very popular with people your age.'
  236. 'There is nothing you can learn from this dance class with your current skill. You need to find a new teacher or travel to the city to find better dance classes if you wish to improve further, it is still good exercise.'
  237. act 'Leave':
  238. if rand (0,4):
  239. if AlbinaQW['StarletsJoined'] = 0 and StoryLine ! 0 and ( month < 10 or ( month = 10 and day < 18 )):
  240. if alterstrtimg = 13:
  241. gt 'AlbStars', 'albina3'
  242. elseif grupTipe = 1 or grupTipe = 2:
  243. gt 'AlbStars', 'albina2'
  244. else
  245. gt 'AlbStars', 'albina1'
  246. end
  247. end
  248. else
  249. gt 'gdksport', 'start'
  250. end
  251. end
  252. end
  253. end
  254. if $ARGS[0] = 'racing2':
  255. *clr & cla
  256. menu_off = 1
  257. gsAboBeg -= 1
  258. timemult = 8
  259. loopcount = 1
  260. :runtimeloop
  261. gs 'exercise', 'tier2', 0, 'run_exp'
  262. if loopcount < timemult: loopcount += 1 & jump 'runtimeloop'
  263. loopcount = 0
  264. timemult = 0
  265. gs 'stat'
  266. '<center><img <<$set_imgh>> src="images/locations/shared/park/parkbeg.jpg"></center>'
  267. 'You spend 20 minutes on warm up, run for 90 minutes then spend 10 minutes on your cool down.'
  268. act 'Leave': gt 'gdksport', 'start'
  269. end
  270. if $ARGS[0] = 'vball2':
  271. *clr & cla
  272. menu_off = 1
  273. gsAboVolley -= 1
  274. if alko < 2:
  275. npc_rel['A69'] += rand(0,2)
  276. timemult = 8
  277. loopcount = 1
  278. :vballtimeloop1
  279. gs 'exercise', 'tier2', 0, 'vball_exp', 'run_exp', 'agil_exp', 'stren_exp', 'vital_exp'
  280. if loopcount < timemult: loopcount += 1 & jump 'vballtimeloop1'
  281. loopcount = 0
  282. timemult = 0
  283. else
  284. timemult = 8
  285. loopcount = 1
  286. :vballtimeloop2
  287. gs 'exercise', 'tier1', 0, 'run_exp'
  288. if loopcount < timemult: loopcount += 1 & jump 'vballtimeloop2'
  289. loopcount = 0
  290. timemult = 0
  291. if pcs_inhib < 40:inhib_exp += rand(0,1)
  292. end
  293. gs 'stat'
  294. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/gdksport.jpg"></center>'
  295. if alko < 2:
  296. 'At the beginning of the workout you ran a few laps around the gym. After some sprints, you did abdominal exercises. Afterwards, you practiced volleying and serving the ball.'
  297. else
  298. npc_rel['A69'] -= rand(0,2)
  299. 'You tried to train, but your level of intoxication doesn''t let you focus. The coach sent you to spend the lesson doing laps.'
  300. end
  301. act 'Leave': gt 'gdksport', 'start'
  302. act 'Talk to the coach': gt 'Voltrener', 'start'
  303. end
  304. if $ARGS[0] = 'vball3':
  305. *clr & cla
  306. menu_off = 1
  307. gsAboVolley -= 1
  308. gs 'stat'
  309. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/gdksport.jpg"></center>'
  310. 'On Fridays they hold intramural competitions. Scouts for professional teams sometime come to see who the stronger and more talented players are.'
  311. if alko < 2:
  312. timemult = 8
  313. loopcount = 1
  314. :vballtimeloop3
  315. gs 'exercise', 'tier2', 0, 'vball_exp', 'run_exp', 'agil_exp', 'stren_exp', 'vital_exp'
  316. if loopcount < timemult: loopcount += 1 & jump 'vballtimeloop3'
  317. loopcount = 0
  318. timemult = 0
  319. if pcs_vball < 25:
  320. 'You were an absolutely lousy player and made constant mistakes. Eventually, the coach had enough and he removed you from the court.'
  321. elseif pcs_vball < 50:
  322. 'You did not play very well. Sometimes you made some blunders. The coach was angry, but tolerated your antics.'
  323. elseif pcs_vball < 75:
  324. 'You played well on the court and rarely made any mistakes. The coach looked pleased with you.'
  325. else
  326. 'You played great on the court, and easily defeated your rivals. The coach looked pleased with your game.'
  327. if rand(0, 1) = 0:
  328. if andGevknow = 0:$nameAndGev = 'some guy'
  329. if andGevknow > 0:$nameAndGev = 'Andrei'
  330. 'During the game you got pushed by <a href="exec: gt ''volAndGev'', ''start''"><<$nameAndGev>></a>.'
  331. end
  332. end
  333. else
  334. minut += 120
  335. 'You took to the court, but kept missing plays because you were too drunk to focus. The coach noticed your state and removed you from the game.'
  336. end
  337. act 'Leave': gt 'gdksport', 'start'
  338. act 'Talk to the coach': gt 'Voltrener', 'start'
  339. end
  340. if $ARGS[0] = 'vball4':
  341. *clr & cla
  342. menu_off = 1
  343. volkomday = daystart
  344. timemult = 8
  345. loopcount = 1
  346. :vballtimeloop4
  347. gs 'exercise', 'tier2', 0, 'vball_exp', 'run_exp', 'agil_exp', 'stren_exp', 'vital_exp'
  348. if loopcount < timemult: loopcount += 1 & jump 'vballtimeloop4'
  349. loopcount = 0
  350. timemult = 0
  351. npc_rel['A69'] += 1
  352. if pcs_inhib < 40:inhib_exp += rand(0,1)
  353. gs 'stat'
  354. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/gdksport.jpg"></center>'
  355. 'Number of games <<volsesongame>>, Win - <<volsesonwin>>, lesions - <<volsesonloss>>.'
  356. 'At the beginning of the workout you ran a few laps around the room. Afterwards the coach has you do push-ups and crunches. Then you practiced receiving and setting up plays and serving the ball. At the end of the workout you had a practice game.'
  357. act 'Leave': gt 'gdksport', 'start'
  358. if $pantyworntype = 'none' and rand(0,1) = 1 and (volleytanga = 1 or VoltrenerVoyeur >= 5):
  359. gs 'willpower', 'exhib', 'self'
  360. if will_cost <= pcs_willpwr:
  361. act 'Correct clothing (<<will_cost>> Willpower)':
  362. *clr & cla
  363. inhib_exp += rand(1,5)
  364. TrenerLust += 3
  365. Voltrenersee += 1 & ! setcheck on gg without panties
  366. gs 'willpower', 'exhib', 'self'
  367. gs 'willpower', 'pay', 'self'
  368. gs 'stat'
  369. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/event/game'+rand(1,2)+'.jpg"></center>'
  370. 'It seems the coach noticed you weren''t wearing any panties, his eyes lit up and he said turning away: "<<$pcs_lastname>>. Come see me after training. I need to show you UH... a few things" '
  371. act 'Leave':gs'stat'& gt 'gdksport', 'start'
  372. act 'Go to the coach''s office': gt 'Voltrenersex', 'start'
  373. end
  374. else
  375. act 'Correct clothing (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  376. end
  377. else
  378. act 'Talk to the coach': gt 'Voltrener', 'start'
  379. end
  380. end
  381. if $ARGS[0] = 'vball5':
  382. *clr & cla
  383. menu_off = 1
  384. timemult = 8
  385. ! loopcount = 1
  386. ! :vballtimeloop5
  387. ! gs 'exercise', 'tier2', 0, 'vball_exp', 'run_exp', 'agil_exp', 'stren_exp', 'vital_exp'
  388. ! if loopcount < timemult: loopcount += 1 & jump 'vballtimeloop5'
  389. ! loopcount = 0
  390. gs 'stat'
  391. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/gdksport.jpg"></center>'
  392. 'The tournament starts at 19:00. Your bus departs at 18:00. You gather your things together with the rest of the team and get on a bus that takes you to the out of town match.'
  393. act 'Leave': gt 'gdksport', 'start'
  394. act 'Get on bus and go to play':
  395. volltime = 0
  396. sorevday = daystart
  397. if hour < 18: hour = 18 & minut = 0
  398. timemult = 0
  399. npc_rel['A69'] += 2
  400. minut += 60 & !total time should be 4 hours, 2 hours for the game and 2 hours travel
  401. gt 'gdksport', 'volley'
  402. end
  403. end
  404. if $ARGS[0] = 'volley':
  405. menu_off = 1
  406. gs 'exercise', 'tier2', 0, 'vball_exp', 'run_exp', 'agil_exp', 'stren_exp', 'vital_exp'
  407. gs 'exercise', 'tier2', 0, 'vball_exp', 'run_exp', 'agil_exp', 'stren_exp', 'vital_exp'
  408. ! minut += 30
  409. gs 'stat'
  410. if volltime = 0:
  411. !! reset the scores
  412. volpoint = 0
  413. volpointv = 0
  414. 'The teams take to the court and start playing.'
  415. !! reserve player or you were caught drinking by the coach and he forbid you from playing
  416. if trener_Speak < 8 or seealko = 1:
  417. volleysostav = 1
  418. poverkomand = 50
  419. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game3.jpg"></center>'
  420. 'You sit on the bench watching your team play.'
  421. !! starter
  422. else
  423. volleysostav = 2
  424. !! between 0 and 200 dependent on player skills
  425. poverkomand = ((pcs_vball*2) + ((pcs_stren + pcs_vital + pcs_agil + pcs_react)/2))/2
  426. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game4.jpg"></center>'
  427. 'After warming up you run out on the court to join your teammates.'
  428. end
  429. !! opponent skill - between 0 and 200. A perfect player should be able to win every match.
  430. poverkomandV = rand(0, 200)
  431. if poverkomand > poverkomandV:
  432. volpoint = 1
  433. 'Your team plays better than your opponents.'
  434. elseif poverkomand < poverkomandV:
  435. volpointv = 1
  436. 'Your opponents play better than your team.'
  437. else
  438. 'The scoring varies one way, then the other, obviously the teams are evenly matched.'
  439. end
  440. act 'Continue':volltime = 1 & gt 'gdksport', 'volley'
  441. !! halftime
  442. elseif volltime = 1:
  443. 'During the break, both teams have a rest.'
  444. if volpointv = 0:
  445. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/teacher/mikhail/volleytrener6.jpg"></center>'
  446. 'Coach tells the team that you can''t relax. "Although we''re winning, you still need to be focused! Don''t let the enemy back into the game!"'
  447. elseif volpoint = 0:
  448. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/teacher/mikhail/volleytrener2.jpg"></center>'
  449. 'Coach tells the team that losing the first half is bad, but it''s not a disaster. "You pick yourselves up and go out and kick their asses. You can still win this game in the second half."'
  450. else
  451. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/teacher/mikhail/volleytrener1.jpg"></center>'
  452. 'Coach tells the team that there is no draws in volleyball, he expects you to keep doing the things that you are doing well, but increase pressure. "With more discipline and toughness, you can win this game!"'
  453. end
  454. if volleysostav = 1:
  455. 'You are sitting on the bench.'
  456. act 'Ask to play':
  457. if seealko = 1:
  458. *clr & cla
  459. 'The coach refuses to let you play because he caught you drinking.'
  460. act 'Continue':volltime = 2 & gt 'gdksport', 'volley'
  461. else
  462. *clr & cla
  463. gs 'stat'
  464. if npc_rel['A69'] >= rand(0, 80):
  465. volleysostav = 2
  466. poverkomand = ((pcs_vball*2) + ((pcs_stren + pcs_vital + pcs_agil + pcs_react)/2))/2
  467. 'The coach agrees to let you play the second half.'
  468. act 'Continue':volltime = 2 & gt 'gdksport', 'volley'
  469. else
  470. 'You ask the coach to play, but he shakes his head and explains that it is not strategically right for the team.'
  471. act 'Continue':volltime = 2 & gt 'gdksport', 'volley'
  472. end
  473. end
  474. end
  475. end
  476. act 'Continue':volltime = 2 & gt 'gdksport', 'volley'
  477. !! 2nd half
  478. elseif volltime = 2:
  479. *clr & cla
  480. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game5.jpg"></center>'
  481. 'Break is over and the team starts the second half.'
  482. if volleysostav = 1:'You sit on the bench watching your team play.'
  483. !! change the opponent skill a bit so both halves are not an entirely static affair.
  484. poverkomandV += rand(-50, 50)
  485. if poverkomand > poverkomandV:
  486. volpoint += 1
  487. 'Your team plays better than your opponents.'
  488. !! you came in and your team scored when they would not have without you
  489. if volleysostav = 2 and volpointv = 1:npc_rel['A69'] += 10
  490. elseif poverkomand < poverkomandV:
  491. volpointv += 1
  492. 'Your opponents play better than your team.'
  493. !! you came in and your team gave up a point they would not have without you
  494. if volleysostav = 2 and volpoint = 1:npc_rel['A69'] -= 5
  495. else
  496. 'The scoring varies one way, then the other. The teams are obviously evenly matched.'
  497. !! you came in and your team tied when they would have lost without you
  498. if volleysostav = 2 and volpointv = 1:npc_rel['A69'] += 5
  499. end
  500. act 'Continue':volltime = 3 & gt 'gdksport', 'volley'
  501. !! end of game
  502. elseif volltime = 3:
  503. *clr
  504. cla
  505. volsesongame += 1
  506. if rand (1, 100) < 3:
  507. if volpointv = 2:
  508. volpoint = 0
  509. volpointv = 2
  510. elseif volpoint = 2:
  511. volpoint = 2
  512. volpointv = 0
  513. end
  514. end
  515. 'Final whistle.'
  516. seealko = 0
  517. if volpoint > volpointv:
  518. volsesonwin += 1
  519. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game6.jpg"></center>'
  520. 'Your team wins.'
  521. elseif volpoint < volpointv:
  522. volsesonloss += 1
  523. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game8.jpg"></center>'
  524. 'Your team loses.'
  525. else
  526. if rand (0, 1) = 0:
  527. volsesonwin += 1
  528. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game7.jpg"></center>'
  529. 'The match was very close, but in the end your team pulls off a win.'
  530. else
  531. volsesonloss += 1
  532. '<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/game7.jpg"></center>'
  533. 'The match was very close, but in the end your team still loses.'
  534. end
  535. end
  536. minut += 60 & !total time should be 4 hours, 2 hours for the game and 2 hours travel
  537. act 'Leave': gt 'gdksport', 'start'
  538. act 'Talk to the coach': gt 'Voltrener', 'start'
  539. end
  540. end
  541. if $ARGS[0] = 'shower':
  542. menu_off = 1
  543. *clr & cla
  544. $location_type = 'bathroom'
  545. if StoryLine = 1 and (SchoolAtestat = 0 or SchoolBlock = 0): noShampoo = 1
  546. dynamic $showerdin
  547. minut += 15
  548. pcs_horny += 1
  549. pcs_makeup = 1
  550. if frost > 0:frost = 0
  551. gs 'stat'
  552. '<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></video></center>'
  553. if IvanShowerYes = 1 and rand(0,3) = 1 and ShowerIvan < 3:
  554. if ShowerIvan = 1: ShowerIvan = 2
  555. 'You enter the women''s shower, and turning the water on, you begin to lather up your body with a washcloth. Suddenly, you hear the door creak open and you remember that you agreed not to lock it for Ivan.'
  556. 'You look around and see Ivan standing there looking at you. "Hello <<$pcs_nickname>>. The men''s shower is full, so I thought I would join you instead." He smiles.'
  557. act 'Shower with Ivan': gt 'gdksport', 'ShowerWithIvan'
  558. gs 'willpower', 'bj', 'resist'
  559. if will_cost <= pcs_willpwr:
  560. act 'Not today (<<will_cost>> Willpower)':
  561. *clr & cla
  562. gs 'willpower', 'bj', 'resist'
  563. gs 'willpower', 'pay', 'resist'
  564. gs 'stat'
  565. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/community/shower1.jpg"></center>'
  566. 'You cover your breasts with one hand and turn sideways crossing your legs while flashing Ivan your best smile.'
  567. '"How about another time Ivan? I''m not feeling it right now." Ivan just laughs and walk out of the shower room.'
  568. 'You quickly lock the door, before finishing your shower in peace.'
  569. act 'Get out of the shower': gt 'gdksport', 'start'
  570. end
  571. else
  572. act 'Not today (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  573. end
  574. !! We only set IvanShowerQW = 1 if the player showers with Ivan because the scene that uses this
  575. !! variable where the player talks to Ivan about the shower at school assumes the player did
  576. !! not run away or kick out Ivan before anything happened. This scene was initially a one-off,
  577. !! but was changed to make it repeatable because showering with Ivan here is non-obviously an
  578. !! intermediate step in becoming a starter on the volleyball team. If avoiding needing this
  579. !! scene to be repeatable is desired, someone with a better sense of Ivan as a character than
  580. !! me could add a version of the followup scene at school for when the player doesn''t shower
  581. !! with Ivan using IvanShowerQW = 2 at some point. If this is done, this scene can be made
  582. !! non-repeatable by removing the (IvanShowerQW = 2 and rand(0,3) = 1) part
  583. elseif (kotovVSprohorov = 1 or (IvanShowerQW = 2 and rand(0,3) = 1)) and ShowerIvan < 3:
  584. 'You enter the women''s shower and turning the water on, begin to lather your body with a washcloth. Suddenly, you hear the door creak open and you remember that you forgot to lock it.'
  585. 'You look around and see Ivan standing in the doorway looking at you. "Hi <<$pcs_nickname>>. Can I join you? The men''s shower is full' + iif(IvanShowerQW = 2, ' again', '') + '." He smiles.'
  586. kotovVSprohorov = 2
  587. IvanShowerQW = 2
  588. gs 'willpower', 'bj', 'resist'
  589. if will_cost <= pcs_willpwr:
  590. act 'Throw Ivan out (<<will_cost>> Willpower)':
  591. *clr & cla
  592. gs 'willpower', 'bj', 'resist'
  593. gs 'willpower', 'pay', 'resist'
  594. gs 'stat'
  595. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/community/shower1.jpg"></center>'
  596. 'You cover your breasts with one hand and turn sideways crossing your legs as you hurl your washcloth at Ivan. He easily dodges the flying cloth and laughs as he exits the shower room.'
  597. 'You quickly lock the door, before finishing your shower in peace.'
  598. act 'Get out of the shower': gt 'gdksport', 'start'
  599. end
  600. else
  601. act 'Throw Ivan out (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  602. end
  603. act 'Uh, what?':
  604. *clr & cla
  605. gs 'stat'
  606. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/shower2.jpg"></center>'
  607. 'Completely surprised and confused by Ivan''s sudden appearance, you are struck speechless. Ivan takes your inaction and silence as consent, and he walks into the shower room and closes the door behind him.'
  608. gs 'willpower', 'bj', 'resist', 'hard'
  609. if will_cost <= pcs_willpwr:
  610. act 'Escape from the shower (<<will_cost>> Willpower)':
  611. *clr & cla
  612. gs 'willpower', 'bj', 'resist', 'hard'
  613. gs 'willpower', 'pay', 'resist'
  614. gs 'stat'
  615. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/community/shower1.jpg"></center>'
  616. 'You cover your breasts with one hand as you quickly grab your towel and run from the shower. As you run into the changing room, you can hear Ivan laughing.'
  617. act 'Get out of the shower': gt 'gdksport', 'start'
  618. end
  619. else
  620. act 'Escape from the shower (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  621. end
  622. act 'Wash together':
  623. IvanShowerQW = 1
  624. IvanShowerYes = 0
  625. if ShowerIvan = 0: ShowerIvan = 1
  626. gt 'gdksport', 'ShowerWithIvan'
  627. end
  628. end
  629. else
  630. 'You enter the women''s shower and turning the water on begin to lather your body with a washcloth. After you rinse off the soap, you wash your hair. You then rinse your hair and feel completely clean.'
  631. if (trenerlust >= 40 or trenersex = 1) and rand(0,3) = 0 and VoltrenerVoyeur = 0:
  632. act 'Continue': gt 'VoltrenerSexShower', '0'
  633. elseif (trenerlust >= 40 or trenersex = 1) and rand(0,3) = 0 and VoltrenerVoyeur = 1:
  634. act 'Continue': gt 'VoltrenerSexShower', '1'
  635. elseif (trenerlust >= 40 or trenersex = 1) and rand(0,3) = 0 and VoltrenerVoyeur = 2 and IvanShowerYes = 0:
  636. act 'Continue': gt 'VoltrenerSexShower', '2'
  637. else
  638. 'After your shower, you get dressed.'
  639. act 'Get out of the shower': gt 'gdksport', 'start'
  640. end
  641. end
  642. if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
  643. end
  644. if $ARGS[0] = 'ShowerWithIvan':
  645. menu_off = 1
  646. *clr & cla
  647. '<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></video></center>'
  648. 'Ivan walks over to you, pulling his boxer shorts down and stepping out of them as they fall around his ankles. Stepping into the shower with you, getting himself wet under the water. His muscular body is very close to yours.'
  649. 'You try not to look at him, but your eyes involuntarily drop to his groin where his thick cock swings as he moves. Ivan, seeing where you are looking winks. "Want to wash me?"'
  650. gs 'arousal', 'foreplay', 5
  651. gs 'stat'
  652. act 'Lather Ivan':
  653. *clr & cla
  654. gs 'boyStat', 'A3'
  655. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/community/shower.jpg"></center>'
  656. 'You take your washcloth and begin to lather Ivan''s body. As you move around him, you can''t help but notice his <<dick>>cm <<$dick_girth>> cock begin to rise up and get hard. You feel it brush against your thigh.'
  657. 'Ivan begins to rubs his hands over your body and caress you. After a few minutes, you feel his hands on your shoulders as he gently but firmly pushes you down to your knees.'
  658. gs 'arousal', 'foreplay', 5
  659. gs 'stat'
  660. act 'Give blowjob':
  661. *clr & cla
  662. if npc_Sex['A3'] = 0: npc_Sex['A3'] = 1 & guy += 1
  663. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/community/shover.jpg"></center>'
  664. 'You slowly sink to your knees in front of Ivan and his <<dick>>cm <<$dick_girth>> cock is in front of your face. Ivan leans forward, probing impatiently with the head of his cock against your lips. Your mouth opens almost against your will and you let his cock slide in your mouth.'
  665. 'Your lips tightly wrap around Ivan''s solid rod and you suck him as the streams of warm water wash over you. Suddenly Ivan pulls his dick out of your mouth and takes you by the hand, pulling you back up to your feet. He brings his lips to your breast and begins to suck on your nipple.'
  666. 'Bliss sweeps over you as he suckles your stiff nipple. Releasing your nipple with a wet pop, Ivan pushes you back onto your knees and bends you backwards as he straddles your face, once again sliding his hot cock into your mouth. He begins pushing it deeper into your throat.'
  667. gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
  668. gs 'stat'
  669. act 'Allow him to continue':
  670. cla & *clr
  671. if pcs_throat < 15:
  672. '<center><video autoplay loop src="images/shared/sex/blowjob/shower6.mp4"></video></center>'
  673. 'Penetrating further and further into your mouth, then into your throat, his member blocks your breath, which causes a gag reflex, nearly causing you to vomit. Freeing your mouth from his dick and wiping your tears, you scream at him. "This isn''t some bottomless hole for you to shove your dick into, you know!" Ivan gives you a guilty look then pulls you back to your feet again as he begins to kiss you and caress your breasts and ass until you begin to moan with desire. He turns you around and bends you over.'
  674. else
  675. '<center><video autoplay loop src="images/shared/sex/blowjob/shower7.mp4"></video></center>'
  676. 'Penetrating further and further into your mouth, then into your throat, you take his member to the base without any problems and without causing you discomfort, bringing Ivan "heavenly delight" if his groans and moans are any indication. Feeling that your classmate would flood your throat with his seed at any moment, you pull your mouth off of his cock and turn and bend over, presenting your ass to him. You also want some satisfaction.'
  677. end
  678. if agape > 0:
  679. act 'Continue':
  680. *clr & cla
  681. if pcs_throat < dick:pcs_throat += 1
  682. spafinloc = 12
  683. gs 'cum_manage'
  684. gs 'stat'
  685. '<center><img <<$set_imgh>> src="images/shared/sex/cum/mouth/cum49.jpg"></center>'
  686. 'Bent over, expecting to feel his <<dick>>cm <<$dick_girth>> cock against your pussy at any moment, you are momentarily surprised when you feel it pressed up against your asshole.'
  687. 'Thinking he is unaware you speak up. "Wrong hole Ivan!" Ivan just snorts in response. "Yeah I know." He then pushes the head of his <<dick>>cm <<$dick_girth>> cock into your ass. You moan in a mixture of pain and pleasure.'
  688. 'He takes it slow, giving you time to adjust to his dick invading your ass. Once your moans turn more to ones of pleasure then pain, he slips it in deeper, slowly working himself balls deep into your ass.'
  689. *nl
  690. 'Once there he begins stroking his <<dick>>cm <<$dick_girth>> cock faster and faster in your ass. Soon, his skin is slapping against your bare ass as he pounds you hard and fast.'
  691. 'One of your hands rubs your clit while the other one stays against the wall to brace yourself. He has amazing stamina in a seemingly endless supply. No matter how much you love him fucking your ass, after a while you feel your ass beginning to get sore, your moans of pleasure start to turn into grunts of pain.'
  692. 'Apparently sensing your growing discomfort, he makes one more powerful thrust with a grunt then pulls out of your ass. He pulls you around and pushes you back down to your knees before he slides his cock back in your mouth. You try to ignore the taste of his cock, considering just where it just was.'
  693. 'You do you best to suck him off quickly and within moments, he is shooting his sperm into your mouth. Once he is done, he goes back to showering, quickly finishing up and starting to get dressed. He watches you as you get dressed. "That was great <<$pcs_nickname>>, we should do that again sometime." Without waiting for a reply, he leaves the room.'
  694. gs 'arousal', 'anal', 5, 'sub', 'rough'
  695. gs 'arousal', 'masturbate', 5
  696. minut -= 5
  697. gs 'arousal', 'end'
  698. gs 'stat'
  699. act 'Get out of the shower': gt 'gdksport', 'start'
  700. end
  701. else
  702. act 'Turn around and bend over':
  703. *clr & cla
  704. lubonus = 2
  705. spafinloc = 3
  706. gs 'Cum_Manage'
  707. if pcs_ass + lubonus + 2 < dick:
  708. if pcs_makeup > 1:pcs_makeup = 0
  709. pcs_horny -= 20
  710. pcs_mood -= 20
  711. if agape < 3:agape = 3
  712. elseif pcs_ass < dick:
  713. pcs_horny += 10
  714. if agape < 2 and lubonus = 0:agape = 2
  715. end
  716. gs 'stat'
  717. '<center><video autoplay loop src="images/shared/sex/vag/doggy/shover2.mp4"></video></center>'
  718. 'As you bend over, you feel Ivan''s hand stroking your ass and his finger starts to massage your anus. You are momentarily surprised when you feel his fingers pressed up against your asshole. Thinking he is unaware you speak up. "That''s my <i>other</i> hole Ivan..."'
  719. 'Ivan just snorts in response. "Yeah I know." He then pushes the head of his <<dick>>cm <<$dick_girth>> cock into your ass. You moan in a mixture of pain and pleasure. He takes it slow, giving you time to adjust to his dick invading your ass.'
  720. 'Once your moans turn more to ones of pleasure then pain, he slips it in deeper, slowly working himself balls deep in your ass. Once there he begins stroking his <<dick>>cm <<$dick_girth>> cock faster and faster in your ass. Soon, his skin is slapping against your bare ass as he pounds you hard and fast.'
  721. 'One of your hands rubs your clit while the other one stays against the wall to brace yourself. He has amazing stamina in a seemingly endless supply. For a while, you buck your hips back against him, fucking him as much as he is fucking you, but no matter how much you love him fucking your ass, after a while you feel your ass beginning to get sore.'
  722. gs 'arousal', 'anal', 5, 'sub', 'rough'
  723. gs 'arousal', 'masturbate', 5
  724. minut -= 5
  725. gs 'stat'
  726. if VoltrenerVoyeur = 3:
  727. act 'Continue': gt 'VoltrenerSexShower', '3'
  728. elseif VoltrenerVoyeur = 4:
  729. act 'Continue': gt 'VoltrenerSexShower', '4'
  730. elseif VoltrenerVoyeur = 5:
  731. act 'Continue': gt 'VoltrenerSexShower', '5'
  732. else
  733. if pcs_horny >= 100:
  734. if stat['anal'] >= 10 and orgasm > 0:
  735. pcs_mood += 20
  736. $orgasm_or = 'custom'
  737. $orgasm_txt = 'Your whole body contracts and then you cry out in orgasm.'
  738. end
  739. end
  740. 'Your moans of pleasure start to turn into grunts of pain. Apparently sensing your growing discomfort, he makes one more powerful thrust with a grunt. His body spasms against yours as you feel him cumming in your ass. Once he is done he pulls out of you and goes back to showering, quickly finishing up and starting to get dressed.'
  741. 'He watches you as you get dressed. "That was great <<$pcs_nickname>>, we should do that again sometime." Without waiting for a reply, he leaves the room.'
  742. cumspclnt = 1
  743. gs 'cum_cleanup'
  744. gs 'arousal', 'end'
  745. gs 'stat'
  746. act 'Get out of the shower': gt 'gdksport', 'start'
  747. end
  748. end
  749. end
  750. end
  751. gs 'willpower', 'anal', 'resist', 'hard'
  752. if will_cost <= pcs_willpwr:
  753. act 'That''s enough for now (<<will_cost>> Willpower)':
  754. gs 'willpower', 'anal', 'resist', 'hard'
  755. gs 'willpower', 'pay', 'resist'
  756. gs 'stat'
  757. cla & *clr
  758. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/community/shower1.jpg"></center>'
  759. 'Ivan pauses for a brief second and you use the chance to quickly stand up and jump out of the shower.'
  760. 'You look back at him and say "I think you''ve had enough of me for today. Maybe you can have more next time."'
  761. act 'Get out of the shower': gt 'gdksport', 'start'
  762. end
  763. else
  764. act 'That''s enough for now (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  765. end
  766. end
  767. end
  768. end
  769. if $ARGS[0] = 'Ivan_bored':
  770. menu_off = 1
  771. *clr & cla
  772. minut += 5
  773. pcs_horny += 10
  774. gs'stat'
  775. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/school/ivan2.jpg"></center>'
  776. 'You look at Ivan for a long moment and bite your lower lip and then whisper just loud enough that he can barely hear you. "I''m bored..." He looks at you for a moment then smiles. He looks around, then takes you by the hand and leads you away from the others, into one of the lesser used areas of the school. He stops at one of the boys restrooms, going inside and leaving you outside. A few moments later, two younger boys are sent packing by Ivan. Once they round the corner, he pulls you into the bathroom.'
  777. gs 'willpower', 'anal', 'resist'
  778. if will_cost <= pcs_willpwr:
  779. act 'Leave (<<will_cost>> Willpower)':
  780. gs 'willpower', 'anal', 'resist'
  781. gs 'willpower', 'pay', 'resist'
  782. gs 'stat'
  783. gt 'gschool_lessons', 'short_break'
  784. end
  785. else
  786. act 'Leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  787. end
  788. act 'Go into the bathroom with Ivan':
  789. *clr & cla
  790. pcs_horny += 20
  791. gs 'boyStat', 'A3'
  792. gs 'stat'
  793. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/school/bbivanbj.jpg"></center>'
  794. 'Once inside, Ivan starts to kiss you passionately while pulling your clothes off and tossing them all over. You return his kiss and help remove your clothes. He backs up, pulling you into one of the stalls. Once your clothes are removed he starts removing his own clothes, which you are only to happy to help with. Once you''re both fully naked, he sits down on the toilet and gently pushes you down to your knees.'
  795. 'He guides your head to his <<dick>>cm <<$dick_girth>> cock. Using one of your hands you grab his dick and start to stroke the shaft while you open your mouth and take his dick into your mouth. You wrap your lips tightly around his shaft and start sucking him, while using your tongue to tease the head. You alternate your hand from stroking him and fondling his balls.'
  796. 'He moans and grabs your hair, you can feel he is restraining himself from forcing your head down and jamming his dick down your throat. After a couple of minutes, he growls a bit and stands up, pulling you up as well. Without explaining he turns you around so quickly you almost stumble, only his strong hands on you keep you from falling into the stall wall. He roughly bends you over, using one hand to guide his cock while the other grabs your butt cheek to spread it open.'
  797. gs 'arousal', 'kiss', 5, 'sub'
  798. gs 'arousal', 'hj', 5, 'dom'
  799. gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
  800. minut -= 5
  801. gs 'stat'
  802. act 'Let him':
  803. *clr & cla
  804. lubonus = 2
  805. gs 'cum_call', 'anus', 'A3', 1
  806. if pcs_ass + lubonus + 2 < dick:
  807. if pcs_makeup > 1:pcs_makeup = 0
  808. pcs_horny -= 20
  809. pcs_mood -= 20
  810. if agape < 3:agape = 3
  811. elseif pcs_ass < dick:
  812. if agape < 2 and lubonus = 0:agape = 2
  813. end
  814. gs 'stat'
  815. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/sex/school/schoolanal.jpg"></center>'
  816. 'He rubs the tip of his dick against your asshole for a couple of moments and then you feel a sharp pain as he pushes it in. With only your saliva as lubrication, it doesn''t slide in as easily. You bite your lip and cry out a little in pain. He relaxes a little and rubs your back as he takes it slow, giving you time to stretch and adjust to his cock invading your ass.'
  817. 'He slowly strokes his <<dick>>cm <<$dick_girth>> cock in your ass, with each stroke pushing it just a little deeper in your ass. Once he is about half way in your moans turn from pain to pleasure, while one of your hands starts rubbing your clit. You start moaning louder and panting, your pussy is now soaking wet. After a couple of minutes the pleasure is building up inside of your body so much you no longer even need to stimulate your clitorous any longer. "Fuck <<$pcs_nickname>>, you not only have the hottest ass of any girls in school, but the tightest one I have ever fucked." Ivan says as he can tell you''re getting into it, grabbing your hips with both hands. He drives himself balls deep into your ass, eliciting a squeak of pain from you, but sensation of pain is quickly overwhelmed by pleasure.'
  818. 'Holding onto your hips with both hands, he holds you steady and keeps you from pulling away, as he jack hammers his <<dick>>cm <<$dick_girth>> cock balls deep in your ass. You moan in pain and pleasure, mostly pleasure, the sounds of your moans, almost drowned out the sounds of his skin slapping against yours, his balls slapping against your wet pussy. You place your hands against the stall wall to keep him from driving your head into it, from his powerful and violent thrusts. As he abuses your poor little asshole, you find yourself loving every second of it.'
  819. *nl
  820. 'You have an intense orgasm that leaves your legs shaking and barely able to keep standing. You are almost to the point where you are unable to take it anymore, either from the intense pleasure or the growing burning sensation in your ass. Either way the matter is moot, as Ivan drives himself once more balls deep into your ass, but this time holds himself there. You feel his cock twitching as he shoots hot sperm deep in your ass, spurt after spurt filling you up with his semen in what seems an almost unending stream. Finally he takes a shuddering breath and pulls out of you, leaving you to almost collapse with out his support.'
  821. 'You both start to get dressed, him faster than you, as your still unsteady on your feet, from your shaky legs. Once he is done getting dressed he helps you gather the rest of your clothes from where he tossed them aside. As you are seeing to the final adjustments of your clothes he goes to the bathroom door and looks out both ways down the hall, motioning you over just as the class bell rings. Oh well, at least you have a good excuse to be a little late, you think to yourself with a smile.'
  822. 'As you start to go out the door, he stops you and squeezes your ass with his strong hand and says. "That was great <<$pcs_nickname>>, you are coolest chick in school, not to mention the hottest. Maybe we can do this again sometime soon, or maybe I will come see you in the shower at the community center some night, maybe even tonight." He grins and winks at you, giving your ass a hard slap, as he rushes off to class. You only have time to nod in agreement to his idea of doing this again, you bite your lip as you watch him go. You have mixed feelings about this, Ivan is a great guy and a lot of fun, but you know he doesn''t want a girlfriend. He just wants to be friends with benefits, but is that enough for you? You don''t have time to think on it more as you hurry to class.'
  823. $orgasm_or = 'yes'
  824. gs 'arousal', 'anal', 5, 'sub', 'rough'
  825. gs 'arousal', 'end'
  826. gs 'stat'
  827. act 'Continue': gt 'gschool_lessons', 'short_break'
  828. end
  829. end
  830. end
  831. if $ARGS[0] = 'Fedor First Date':
  832. menu_off = 1
  833. *clr & cla
  834. numnpc = 5
  835. gs 'stat'
  836. '<center><b><h4><font color="blue"><<"Fyodor [Fedor] Kozlov">></font></h4></b></center>'
  837. '<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big5.jpg"></center>'
  838. if fedorkozbreak = 1:
  839. 'You enter the sports club and see Fedor standing by the front door. He looks as though he is waiting for someone and as soon as he sees you, he flashes you a smile and he approaches with an affable smile on his face. "Hello <<$pcs_firstname>>." he says with a warm smile. He pauses for a moment, then reaches into his pockets and pulls out 2 tickets and says "Here is the deal. I know that we had a bit of a bumpy relationship before, but I would like to try again if you will. So what do you say? Wanna go on another date with me?"'
  840. else
  841. 'You enter the sports club and see Fedor standing by the front door. He looks as though he is waiting for someone and as soon as he sees you, his eyes light up and he approaches you with an affable smile on his face. "Hello <<$pcs_firstname>>." he says with a warm smile. He pauses for a moment, then reaches into his pockets and pulls out 2 tickets and says "Here is the deal. I have an extra ticket to the movies and I would like know if you would be up for a good comedy?"'
  842. end
  843. act 'Agree':
  844. *clr & cla
  845. minut += 15
  846. gs 'stat'
  847. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/park/walk.jpg"></center>'
  848. '"I would like that." you say with a smile and Fedor responds: "Good, I hear that this movie will have us in stiches." With a delighted look on his face, he wraps his arm around yours then walks you to the movie theater.'
  849. act 'Watch a movie':
  850. *clr & cla
  851. minut += 90
  852. pcs_mood += 90
  853. gs 'stat'
  854. '<center><img <<$set_imgh>> src="images/locations/shared/cinema/kino_1.jpg"></center>'
  855. 'Fedor presents the tickets at the entrance and together you walk into the theater. You look around and notice that the seats are mostly empty, so Fedor leads you to the front row and you both sit down. The lights dim and the movie starts. Fedor sits motionless and only occasionally glances at you. The movie was quite interesting and you couldn''t help but laugh occasionally at the wackiness of it. When the movie ends, the lights turn on and Fedor walks you out. "<<$pcs_firstname>>. You seem like a cool girl. Maybe we could go out together. What do you say?"'
  856. act 'Agree':
  857. *clr & cla
  858. npc_rel['A5'] += 20
  859. fedorKozlovQW = 10
  860. minut += 15
  861. gs 'stat'
  862. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/park/walk.jpg"></center>'
  863. '"Sure, I would love to go out with you." you reply and Fedor is visibly delighted. "Alright, I look forward to hanging out with you again. Whenever you are up for another date then meet me in the school yard, after school." Fedor says as he walks you back home. The two of you have fun discussing your favorite movies as you continue your way home.'
  864. act 'Leave': gt 'pav_residential'
  865. end
  866. act 'Refuse':
  867. *clr & cla
  868. if fedorkozbreak = 0:fedorKozlovQW = 0
  869. if fedorkozbreak = 1:fedorKozlovQW = -1
  870. npc_rel['A5'] = 70
  871. minut += 15
  872. gs 'stat'
  873. '<center><b><h4><font color="blue"><<"Fyodor [Fedor] Kozlov">></font></h4></b></center>'
  874. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/fedorsad.jpg"></center>'
  875. if fedorkozbreak = 1:
  876. 'You shake your head. "Sorry Fedor, but I don''t think that this is really working out. I''m sorry." Fedor looks visibly upset as he replies "I guess it was never meant to be, I''m sorry for wasting your time..." He then silently walks you home.'
  877. else
  878. 'You shake your head. "You seem like a cool guy, but I''m just not ready for a relationship right now." Fedor is visibly upset as he replies "I guess it wasn''t a good time. If you ever change your mind then pay me a visit at school." he says with a forced smile as he silently walks you home.'
  879. end
  880. act 'Leave': gt 'pav_residential'
  881. end
  882. end
  883. end
  884. act 'Refuse':
  885. *clr & cla
  886. npc_rel['A5'] = 70
  887. gs 'stat'
  888. '<center><b><h4><font color="blue"><<"Fyodor ">><<"[Fedor]">><<" Kozlov">></font></h4></b></center>'
  889. '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/fedorsad.jpg"></center>'
  890. 'You shake your head. "I have too much that I need to do right now. Maybe some other time." Fedor lowers his head with a frown. "Okay. Maybe some other time."'
  891. act 'Leave': gt 'pav_residential'
  892. end
  893. end
  894. if $ARGS[0] = 'vballreact':
  895. cla
  896. menu_off = 1
  897. 'As you approach the team, your coach notices you and calls you aside. "<<$pcs_firstname>>, are you pregnant? I can''t let you play like that. Also, a pregnant teenager would definitely reflect poorly on me and the rest of the team. Sorry, but off the team." Tears welling in your eyes, you leave.'
  898. minut += 5
  899. gs 'stat'
  900. act 'Continue':npc_pregtalk['A69'] = 1 & gt 'pav_commcenter'
  901. end
  902. --- gdksport ---------------------------------