zaprFWash.qsrc 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029
  1. # zaprFWash
  2. ! most complete comments for how the code works can be found in 'wash', 'titsFlash', 'runback', and 'punishSpank'
  3. ! most other code in here are just variations of those sections
  4. if $ARGS[0] = 'start':
  5. $metka = 'start'
  6. $loc = 'zaprFWash'
  7. cla
  8. clr
  9. ! can''t wash cars if have visible cum already
  10. if (cumloc[6] = 1 or cumloc[7] = 1) or cumloc[11] = 1:
  11. minut += 5
  12. mood -= 5
  13. pav_sex += rand(0,2)
  14. 'The gas station worker chases you away: "At least go wash yourself off first, whore!"'
  15. act 'Go to the toilet':gt 'zaprF', 'toilet'
  16. act 'Leave':gt 'zaprF', 'start'
  17. else
  18. gt 'zaprFWash', 'wash'
  19. end
  20. end
  21. if $ARGS[0] = 'wash':
  22. ! only wearing bimbo or prostitute clothing and looking good can get propositioned by a customer
  23. if PCloBimbo = 1 or PCloStyle = 4:
  24. i = rand(1, 4)
  25. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/bimboclean<<i>>.jpg"></center>'
  26. minut += 60
  27. mood -= 5
  28. pcs_sweat += 2
  29. if pcs_apprnc >= 60:
  30. ! slightly more money for wearing bimbo or prostitute clothing and looking good too
  31. 'You washed the windows of several cars and earned 100 <b>₽</b>.'
  32. money += 100
  33. ! min chance of 20 percent; max chance of 80 percent; percent chance scales with pav_prostitute and/or pav_sex
  34. ! as your repuation increases you will be asked more often
  35. ! reputation effects are delayed by 30 because thats the delay in fame as well
  36. skimpyCustomerChance = rand(1, 100)
  37. if skimpyCustomerChance <= min(max(20,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),80):
  38. 'As you finish washing another car, the driver walks up to you to give you a tip. From the way he''s looking at you, it''s obvious he''s interested in something more as well.'
  39. ! starts off with always doing titsQ when rep is low, as rep increases they may skip a question since they know you will do it anyway
  40. ! also different people have different tastes so you wont be asked the same thing in the same order every time by every customer that walks up to you
  41. carwashscene = rand(1, 100)
  42. if carwashscene <= min(max(25,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),50) and carwashscene >= 25:
  43. gt 'zaprFWash', 'assQ'
  44. elseif carwashscene <= min(max(50,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),65) and carwashscene >= 50:
  45. gt 'zaprFWash', 'pussyQ'
  46. elseif carwashscene <= min(max(65,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),85) and carwashscene >= 65:
  47. gt 'zaprFWash', 'handQ'
  48. elseif carwashscene <= min(max(85,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),100) and carwashscene >= 85:
  49. gt 'zaprFWash', 'blowQ'
  50. else
  51. gt 'zaprFWash', 'titsQ'
  52. end
  53. else
  54. gs 'zaprFWash', 'flash_passing'
  55. end
  56. else
  57. ! slightly more money for wearing bimbo or prostitute clothing but not looking too great
  58. 'You washed the windows of several cars and earned 80 <b>₽</b>.'
  59. money += 80
  60. gs 'zaprFWash', 'flash_passing'
  61. end
  62. else
  63. minut += 60
  64. mood -= 5
  65. pcs_sweat += 2
  66. money += 60
  67. i = rand(1, 4)
  68. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/regular<<i>>.jpg"></center>'
  69. ! normal money just for the car washing
  70. 'You washed the windows of several cars and earned 60 <b>₽</b>.'
  71. gs 'zaprFWash', 'flash_passing'
  72. end
  73. end
  74. if $ARGS[0] = 'flash_passing':
  75. ! can flash now if not wearing bimbo or prostitute clothing; just need to meet inhibition or exhibitionism requirements to unlock actions
  76. if pcs_inhib >= 35: act 'Flash your tits at passing cars':gt 'zaprFWash', 'titsFlash', 'Free', 'Flash'
  77. if exhibitionist_lvl > 0: act 'Flash your ass at passing cars':gt 'zaprFWash', 'assFlash', 'Free', 'Flash'
  78. if exhibitionist_lvl > 1: act 'Flash your pussy at passing cars':gt 'zaprFWash', 'pussyFlash', 'Free', 'Flash'
  79. act 'Continue':gt 'zaprF', 'start'
  80. end
  81. if $ARGS[0] = 'titsQ':
  82. i = rand(1, 4)
  83. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/bimboclean<<i>>.jpg"></center>'
  84. 'Want to earn some more cash, girl? Show me your tits. I''ll give you 100 <b>₽</b>. It''s easy money.'
  85. ! inhibition or exhibitionism requirements needed to accept the offer or just have fun with him
  86. if pcs_inhib >= 30 or pcs_horny >= 40: act 'Agree and show him your tits':gt 'zaprFWash', 'titsFlash', 'Paid', 'Question'
  87. act 'Refuse':gt 'zaprFWash', 'refuse'
  88. end
  89. if $ARGS[0] = 'assQ':
  90. i = rand(1, 4)
  91. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/bimboclean<<i>>.jpg"></center>'
  92. 'What a nice ass you have there. Let me see it. Will 100 <b>₽</b> convince you to show it to me?'
  93. ! inhibition or exhibitionism requirements needed to accept the offer or just have fun with him
  94. if exhibitionist_lvl > 0 or pcs_horny >= 60: act 'Agree and show him your ass':gt 'zaprFWash', 'assFlash', 'Paid', 'Question'
  95. act 'Refuse':gt 'zaprFWash', 'refuse'
  96. end
  97. if $ARGS[0] = 'pussyQ':
  98. i = rand(1, 4)
  99. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/bimboclean<<i>>.jpg"></center>'
  100. 'You look like a cool girl. Let me see your pussy. I''ll only look for 100 <b>₽</b>.'
  101. ! inhibition or exhibitionism requirements needed to accept the offer or just have fun with him
  102. if exhibitionist_lvl > 1 or pcs_horny >= 80: act 'Agree and show him your pussy':gt 'zaprFWash', 'pussyFlash', 'Paid', 'Question'
  103. act 'Refuse':gt 'zaprFWash', 'refuse'
  104. end
  105. if $ARGS[0] = 'handQ':
  106. i = rand(1, 4)
  107. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/bimboclean<<i>>.jpg"></center>'
  108. 'Could you help me out girl? It''s getting tight down here in my pants just looking at you. How about you touch it a bit? I''ll pay you 200 <b>₽</b>.'
  109. ! slut or horny requirements needed to accept the offer or just have fun with him
  110. if pav_slut >= 25 or pcs_horny >= 25: act 'Agree and give him a handjob':gt 'zaprFWash', 'handjob', 'Paid'
  111. act 'Refuse':gt 'zaprFWash', 'refuse'
  112. end
  113. if $ARGS[0] = 'blowQ':
  114. i = rand(1, 4)
  115. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/bimboclean<<i>>.jpg"></center>'
  116. 'Looking hot today girl! How about you put your mouth to good use? I''ll pay you 200 <b>₽</b>.'
  117. ! slut or horny requirements needed to accept the offer or just have fun with him
  118. if pav_slut >= 30 or pcs_horny >= 30: act 'Agree and give him a blowjob':gt 'zaprFWash', 'blowjob', 'Paid', 'Question'
  119. act 'Refuse':gt 'zaprFWash', 'refuse'
  120. end
  121. if $ARGS[0] = 'refuse':
  122. ! just being asked can slowly change your inhibitions which will enable a player to eventually agree to the questions above
  123. if pcs_inhib < 35: inhib_exp += rand(1,2)
  124. pcs_dom += 1
  125. mood += 5
  126. gs 'stat'
  127. '<center><video autoplay loop src="images/pc/no.mp4"></video></center>'
  128. 'You begin to consider his offer but decide turn him down and walk away.'
  129. act 'Go back to washing cars':gt 'zaprF', 'start'
  130. end
  131. ! $ARGS[1] = whether you got paid for this
  132. ! $ARGS[2] = whether this act came from a customer question or just flashing for passing cars
  133. if $ARGS[0] = 'titsFlash':
  134. ! reputation and money will depend on whether you were paid
  135. if $ARGS[1] = 'Paid':
  136. money += 50
  137. pav_prostitute += rand(0,1)
  138. elseif $ARGS[1] = 'Free':
  139. gs 'exhibitionism', 1
  140. end
  141. if pcs_inhib < 30: inhib_exp += rand(2,4)
  142. mood += 5
  143. gs 'stat'
  144. gifornot = rand (1, 100)
  145. ! chance for using photos or videos
  146. if gifornot < 50:
  147. i = rand(1, 100)
  148. ! chance of using old pics since there are so many newer pics to choose from
  149. if i < 15:
  150. if PCloPants > 0:
  151. ! loop to sort through old pics since they are jumbled together in the folder but we want to display pics based on clothing
  152. ! will keep looping until it gets a photo with shorts/pants in it
  153. :loop_tits_old_pics1
  154. i = rand(1, 3)
  155. if i = 2: jump 'loop_tits_old_pics1'
  156. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/titsflash<<i>>.jpg"></center>'
  157. elseif PCloSkirt > 0:
  158. ! loop to sort through old pics since they are jumbled together in the folder but we want to display pics based on clothing
  159. ! will keep looping until it gets a photo with a skirt/dress in it
  160. :loop_tits_old_pics2
  161. i = rand(1, 3)
  162. if i = 1 or i = 3: jump 'loop_tits_old_pics2'
  163. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/titsflash<<i>>.jpg"></center>'
  164. end
  165. else
  166. ! newer photos are more neatly organized into different folders so no looping needed
  167. if PCloPants > 0:
  168. i = rand(1, 14)
  169. '<center><img <<$set_imgh>> src="images/pc/flashing/pants/outside/tits/<<i>>.jpg"></center>'
  170. elseif PCloSkirt > 0:
  171. i = rand(1, 12)
  172. '<center><img <<$set_imgh>> src="images/pc/flashing/dress/outside/tits/<<i>>.jpg"></center>'
  173. end
  174. end
  175. else
  176. if PCloPants > 0:
  177. ! loop to sort through old vids since they are jumbled together in the folder but we want to display vids based on clothing
  178. ! will keep looping until it gets a video with shorts/pants in it
  179. :loop_tits_old_vids1
  180. i = rand(1, 7)
  181. if i = 4 or i = 6 or i = 7: jump 'loop_tits_old_vids1'
  182. '<center><video autoplay loop src="images/locations/shared/carwash/titsflash<<i>>.mp4"></video></center>'
  183. elseif PCloSkirt > 0:
  184. ! loop to sort through old vids since they are jumbled together in the folder but we want to display vids based on clothing
  185. ! will keep looping until it gets a video with a skirt/dress in it
  186. :loop_tits_old_vids2
  187. i = rand(1, 7)
  188. if i = 1 or i = 2 or i = 3 or i = 5: jump 'loop_tits_old_vids2'
  189. '<center><video autoplay loop src="images/locations/shared/carwash/titsflash<<i>>.mp4"></video></center>'
  190. end
  191. end
  192. ! text differences depending on whether you were paid, whether you are flashing for a customer or for the cars on the road, and what type of clothing you are wearing
  193. if $ARGS[1] = 'Paid':
  194. if PCloPants > 0:'You lift up your top up and show him your breasts for a few seconds. Then you quickly cover up and take your money.'
  195. if PCloSkirt > 0:'You pull down your top and show him your breasts for a few seconds. Then you quickly cover up and take your money.'
  196. elseif $ARGS[1] = 'Free':
  197. if $ARGS[2] = 'Question':
  198. if PCloPants > 0:'You lift up your top up and show him your breasts for a few seconds. You give your breasts a little shake for him before you cover up.'
  199. if PCloSkirt > 0:'You pull down your top and show him your breasts for a few seconds. You give your breasts a little shake for him before you cover up.'
  200. elseif $ARGS[2] = 'Flash':
  201. if PCloPants > 0:'You lift up your top up and expose your breasts to the road for a few seconds. A couple cars pass by and honk in appreciation. You give your breasts a little shake before you cover up.'
  202. if PCloSkirt > 0:'You pull down your top and expose your breasts to the road for a few seconds. A couple cars pass by and honk in appreciation. You give your breasts a little shake before you cover up.'
  203. end
  204. end
  205. gs 'arousal', 'flashlite', 5
  206. gs 'stat'
  207. ! can only continue with more questions if flashing for a customer
  208. ! also more questions will require either sub or dom or bimbo or horny as well as bimbo or prostitute clothing
  209. ! this has a wide range of requirements so that many different types of characters can still play this content
  210. if (sub >= 10 or pcs_dom >= 10 or bimbolevel >= 1 or pcs_horny >= 5) and (PCloBimbo = 1 or PCloStyle = 4) and $ARGS[2] = 'Question':
  211. ! once again dynamically choosing the next scene to play based on reputation
  212. carwashscene = rand(1, 100)
  213. if carwashscene <= min(max(30,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),60) and carwashscene >= 50:
  214. act 'Continue':gt 'zaprFWash', 'pussyQ'
  215. elseif carwashscene <= min(max(60,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),80) and carwashscene >= 60:
  216. act 'Continue':gt 'zaprFWash', 'handQ'
  217. elseif carwashscene <= min(max(80,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),100) and carwashscene >= 80:
  218. act 'Continue':gt 'zaprFWash', 'blowQ'
  219. else
  220. act 'Continue':gt 'zaprFWash', 'assQ'
  221. end
  222. ! flashing for cars just allows you to return to the gas station
  223. else
  224. act 'Go back to the gas station':gt 'zaprF', 'start'
  225. end
  226. end
  227. ! $ARGS[1] = whether you got paid for this
  228. ! $ARGS[2] = whether this act came from a customer question or just flashing for passing cars
  229. if $ARGS[0] = 'assFlash':
  230. if $ARGS[1] = 'Paid':
  231. money += 50
  232. pav_prostitute += rand(0,1)
  233. elseif $ARGS[1] = 'Free':
  234. gs 'exhibitionism', 2
  235. end
  236. if pcs_inhib < 30: inhib_exp += rand(2,4)
  237. mood += 5
  238. gs 'stat'
  239. gifornot = rand (1, 100)
  240. if gifornot < 50:
  241. i = rand(1, 100)
  242. if i < 10:
  243. if PCloPants > 0:
  244. :loop_ass_old_pics1
  245. i = rand(1, 2)
  246. if i = 1: jump 'loop_ass_old_pics1'
  247. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/assflash<<i>>.jpg"></center>'
  248. elseif PCloSkirt > 0:
  249. :loop_ass_old_pics2
  250. i = rand(1, 2)
  251. if i = 2: jump 'loop_ass_old_pics2'
  252. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/assflash<<i>>.jpg"></center>'
  253. end
  254. else
  255. if PCloPants > 0:
  256. i = rand(1, 16)
  257. '<center><img <<$set_imgh>> src="images/pc/flashing/pants/outside/butt/<<i>>.jpg"></center>'
  258. elseif PCloSkirt > 0:
  259. i = rand(1, 9)
  260. '<center><img <<$set_imgh>> src="images/pc/flashing/dress/outside/butt/<<i>>.jpg"></center>'
  261. end
  262. end
  263. else
  264. if PCloPants > 0:
  265. :loop_ass_old_vids1
  266. i = rand(1, 5)
  267. if i = 2 or i = 3: jump 'loop_ass_old_vids1'
  268. '<center><video autoplay loop src="images/locations/shared/carwash/assflash<<i>>.mp4"></video></center>'
  269. elseif PCloSkirt > 0:
  270. :loop_ass_old_vids2
  271. i = rand(1, 5)
  272. if i = 1 or i = 4 or i = 5: jump 'loop_ass_old_vids2'
  273. '<center><video autoplay loop src="images/locations/shared/carwash/assflash<<i>>.mp4"></video></center>'
  274. end
  275. end
  276. if $ARGS[1] = 'Paid':
  277. if PCloPants > 0:'You pull your pants down and show him your ass for a few seconds. Then you quickly cover up and take your money.'
  278. if PCloSkirt > 0:'You lift your skirt up and show him your ass for a few seconds. Then you quickly cover up and take your money.'
  279. elseif $ARGS[1] = 'Free':
  280. if $ARGS[2] = 'Question':
  281. if PCloPants > 0:'You pull your pants down and show him your ass for a few seconds. You give your ass a little shake for him before you cover up.'
  282. if PCloSkirt > 0:'You lift your skirt up and show him your ass for a few seconds. You give your ass a little shake for him before you cover up.'
  283. elseif $ARGS[2] = 'Flash':
  284. if PCloPants > 0:'You pull your pants down and expose your ass to the road for a few seconds. A couple cars pass by and honk in appreciation. You give your ass a little shake before you cover up.'
  285. if PCloSkirt > 0:'You lift your skirt up and expose your ass to the road for a few seconds. A couple cars pass by and honk in appreciation. You give your ass a little shake before you cover up.'
  286. end
  287. end
  288. gs 'arousal', 'flashlite', 5
  289. gs 'stat'
  290. if (sub >= 10 or pcs_dom >= 10 or bimbolevel >= 1 or pcs_horny >= 10) and (PCloBimbo = 1 or PCloStyle = 4) and $ARGS[2] = 'Question':
  291. carwashscene = rand(1, 100)
  292. if carwashscene <= min(max(50,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),75) and carwashscene >= 50:
  293. act 'Continue':gt 'zaprFWash', 'handQ'
  294. elseif carwashscene <= min(max(75,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),100) and carwashscene >= 75:
  295. act 'Continue':gt 'zaprFWash', 'blowQ'
  296. else
  297. act 'Continue':gt 'zaprFWash', 'pussyQ'
  298. end
  299. else
  300. act 'Go back to the gas station':gt 'zaprF', 'start'
  301. end
  302. end
  303. ! $ARGS[1] = whether you got paid for this
  304. ! $ARGS[2] = whether this act came from a customer question or just flashing for passing cars
  305. if $ARGS[0] = 'pussyFlash':
  306. if $ARGS[1] = 'Paid':
  307. money += 50
  308. pav_prostitute += 1
  309. elseif $ARGS[1] = 'Free':
  310. gs 'exhibitionism', 3
  311. end
  312. if pcs_inhib < 40: inhib_exp += rand(4,6)
  313. mood += 5
  314. gs 'stat'
  315. if PCloPants > 0:
  316. i = rand(1, 9)
  317. '<center><img <<$set_imgh>> src="images/pc/flashing/pants/outside/pussy/<<i>>.jpg"></center>'
  318. elseif PCloSkirt > 0:
  319. i = rand(1, 13)
  320. '<center><img <<$set_imgh>> src="images/pc/flashing/dress/outside/pussy/<<i>>.jpg"></center>'
  321. end
  322. if $ARGS[1] = 'Paid':
  323. if PCloPants > 0:'You pull your pants down and show him your pussy for a few seconds. Then you quickly cover up and take your money.'
  324. if PCloSkirt > 0:'You lift your skirt up and show him your pussy for a few seconds. Then you quickly cover up and take your money.'
  325. elseif $ARGS[1] = 'Free':
  326. if $ARGS[2] = 'Question':
  327. if PCloPants > 0:'You pull your pants down and show him your pussy for a few seconds. You rub your clit a little for him before you cover up.'
  328. if PCloSkirt > 0:'You lift your skirt up and show him your pussy for a few seconds. You rub your clit a little for him before you cover up.'
  329. elseif $ARGS[2] = 'Flash':
  330. if PCloPants > 0:'You pull your pants down and expose your pussy to the road for a few seconds. A couple cars pass by and honk in appreciation. You rub your clit a little before you cover up.'
  331. if PCloSkirt > 0:'You lift your skirt up and expose your pussy to the road for a few seconds. A couple cars pass by and honk in appreciation. You rub your clit a little before you cover up.'
  332. end
  333. end
  334. gs 'arousal', 'flashlite', 5
  335. gs 'stat'
  336. if (sub >= 10 or pcs_dom >= 10 or bimbolevel >= 1 or pcs_horny >= 15) and (PCloBimbo = 1 or PCloStyle = 4) and $ARGS[2] = 'Question':
  337. carwashscene = rand(1, 100)
  338. if carwashscene <= min(max(60,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),100) and carwashscene >= 60:
  339. act 'Continue':gt 'zaprFWash', 'blowQ'
  340. else
  341. act 'Continue':gt 'zaprFWash', 'handQ'
  342. end
  343. else
  344. act 'Go back to the gas station':gt 'zaprF', 'start'
  345. end
  346. end
  347. ! $ARGS[1] = whether you got paid for this
  348. if $ARGS[0] = 'handjob':
  349. ! generate random npc for sex
  350. gs 'npcgeneratec', 0, 'gas station customer', rand(18,40)
  351. gs 'boyStat', $npclastgenerated
  352. if $ARGS[1] = 'Paid':
  353. money += 200
  354. pav_prostitute += 2
  355. elseif $ARGS[1] = 'Free':
  356. pav_sex += 2
  357. end
  358. if pcs_inhib < 50: inhib_exp += rand(6,8)
  359. mood += 5
  360. gs 'stat'
  361. gifornot = rand (1, 100)
  362. if gifornot < 50:
  363. i = rand(1, 2)
  364. if i = 1:
  365. '<center><img <<$set_imgh>> src="images/shared/sex/handjob/hand.jpg"></center>'
  366. else
  367. '<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
  368. end
  369. else
  370. i = rand(0, 2)
  371. if i = 0:
  372. '<center><video autoplay loop src="images/shared/sex/handjob/hj<<i>>.mp4"></video></center>'
  373. else
  374. '<center><video autoplay loop src="images/shared/sex/handjob/HandJob<<i>>.mp4"></video></center>'
  375. end
  376. end
  377. if $ARGS[1] = 'Paid':
  378. 'You follow him behind the gas station, where you get the promised money, kneel down, unzip his pants and start working his shaft with your hands.'
  379. gs 'arousal', 'hj', 15, 'sub', 'prostitute', 'unknown'
  380. elseif $ARGS[1] = 'Free':
  381. 'You lead him behind the gas station, kneel down, unzip his pants and start working his shaft with your hands.'
  382. gs 'arousal', 'hj', 15, 'dom', 'unknown'
  383. end
  384. gs 'stat'
  385. 'After a while, the man starts pulling your head closer and closer to him. He asks you to blow him: "I''ll give you 200 <b>₽</b> if you open that mouth for me.'
  386. if sub >= 10 or pcs_dom >= 10 or bimbolevel >= 1 or pcs_horny >= 30:
  387. if pcs_inhib >= 30 or pcs_horny >= 30:act 'Open your mouth for him':gt 'zaprFWash', 'blowjob', 'Paid', 'handjob'
  388. act 'Rub harder to make him cum':gt 'zaprFWash', 'handjobEndQ'
  389. else
  390. act 'Rub harder to make him cum':gt 'zaprFWash', 'handjobEndQ'
  391. end
  392. end
  393. ! $ARGS[1] = whether you got paid for this
  394. ! $ARGS[2] = whether this act came from a customer question or already giving a customer a handjob
  395. if $ARGS[0] = 'blowjob':
  396. if $ARGS[2] = 'Question':
  397. gs 'npcgeneratec', 0, 'gas station customer', rand(18,40)
  398. gs 'boyStat', $npclastgenerated
  399. end
  400. if $ARGS[1] = 'Paid':
  401. money += 200
  402. pav_prostitute += 2
  403. elseif $ARGS[1] = 'Free':
  404. pav_sex = 2
  405. end
  406. if pcs_inhib < 50: inhib_exp += rand(6,8)
  407. mood += 5
  408. gs 'stat'
  409. gifornot = rand (1, 100)
  410. if gifornot < 50:
  411. i = rand(1, 4)
  412. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/blowjob<<i>>.jpg"></center>'
  413. else
  414. i = rand(1, 3)
  415. '<center><video autoplay loop src="images/locations/shared/carwash/sex/blowjob<<i>>.mp4"></video></center>'
  416. end
  417. if $ARGS[2] = 'Question':
  418. if $ARGS[1] = 'Paid':
  419. 'You follow him behind the gas station, where you get the promised money, kneel down, unzip his pants and start working his shaft with your mouth.'
  420. gs 'arousal', 'bj', 15, 'sub', 'prostitute', 'unknown'
  421. elseif $ARGS[1] = 'Free':
  422. 'You lead him behind the gas station, kneel down, unzip his pants and start working his shaft with your mouth.'
  423. gs 'arousal', 'bj', 15, 'dom', 'unknown'
  424. end
  425. elseif $ARGS[2] = 'handjob':
  426. if $ARGS[1] = 'Paid':
  427. 'You grab the money he tosses at you and switch to working his shaft with your mouth.'
  428. gs 'arousal', 'bj', 15, 'sub', 'prostitute', 'unknown'
  429. elseif $ARGS[1] = 'Free':
  430. 'You switch to working his shaft with your mouth.'
  431. gs 'arousal', 'bj', 15, 'dom', 'unknown'
  432. end
  433. end
  434. gs 'stat'
  435. 'After a while, the man starts trying to remove your clothes. He asks you to let him fuck your pussy: "I''ll give you 400 <b>₽</b> if you let me take your pussy! C''mon!'
  436. if sub >= 10 or pcs_dom >= 10 or bimbolevel >= 1 or pcs_horny >= 40:
  437. if pcs_vag = 0:
  438. if pcs_inhib >= 40 or pcs_horny >= 40: act 'Offer your ass instead (you don''t want to lose your virginity to this stranger...)':gt 'zaprFWash', 'fuckAnal', 'Paid'
  439. else
  440. if pcs_inhib >= 40 or pcs_horny >= 40: act 'Offer your pussy':gt 'zaprFWash', 'fuckPussy', 'Paid'
  441. if pcs_inhib >= 40 or pcs_horny >= 40: act 'Offer your ass':gt 'zaprFWash', 'fuckAnal', 'Paid'
  442. end
  443. act 'Suck harder to make him cum':gt 'zaprFWash', 'blowjobEndQ'
  444. else
  445. act 'Suck harder to make him cum':gt 'zaprFWash', 'blowjobEndQ'
  446. end
  447. end
  448. ! $ARGS[1] = whether you got paid for this
  449. if $ARGS[0] = 'fuckPussy':
  450. if $ARGS[1] = 'Paid':
  451. money += 400
  452. pav_prostitute += 4
  453. elseif $ARGS[1] = 'Free':
  454. pav_sex += 4
  455. end
  456. if pcs_inhib < 60: inhib_exp += rand(14,16)
  457. mood += 10
  458. gs 'stat'
  459. gifornot = rand (1, 100)
  460. if gifornot < 50:
  461. i = rand(1, 4)
  462. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/fuckpussy<<i>>.jpg"></center>'
  463. else
  464. i = rand(1, 4)
  465. '<center><video autoplay loop src="images/locations/shared/carwash/sex/fuckpussy<<i>>.mp4"></video></center>'
  466. end
  467. if $ARGS[1] = 'Paid':
  468. 'You bend over and let the man start fucking your pussy after collecting your money.'
  469. gs 'arousal', 'vaginal', 30, 'sub', 'prostitute', 'unknown'
  470. elseif $ARGS[1] = 'Free':
  471. 'You bend over and let the man start fucking your pussy.'
  472. gs 'arousal', 'vaginal', 30, 'dom', 'unknown'
  473. end
  474. gs 'stat'
  475. act 'Continue':gt 'zaprFWash', 'pussyEndQ'
  476. end
  477. ! $ARGS[1] = whether you got paid for this
  478. if $ARGS[0] = 'fuckAnal':
  479. if $ARGS[1] = 'Paid':
  480. money += 400
  481. pav_prostitute += 4
  482. elseif $ARGS[1] = 'Free':
  483. pav_sex += 4
  484. end
  485. if pcs_inhib < 60: inhib_exp += rand(14,16)
  486. mood += 10
  487. gs 'stat'
  488. gifornot = rand (1, 100)
  489. if gifornot < 50:
  490. i = rand(1, 4)
  491. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/fuckanal<<i>>.jpg"></center>'
  492. else
  493. i = rand(1, 4)
  494. '<center><video autoplay loop src="images/locations/shared/carwash/sex/fuckanal<<i>>.mp4"></video></center>'
  495. end
  496. if $ARGS[1] = 'Paid':
  497. 'You bend over and let the man start fucking your ass after you collect your money. His cock is still wet with your saliva as it slides inside you.'
  498. gs 'arousal', 'vaginal', 30, 'sub', 'prostitute', 'unknown'
  499. elseif $ARGS[1] = 'Free':
  500. 'You bend over and let the man start fucking your ass. His cock is still wet with your saliva as it slides inside you.'
  501. gs 'arousal', 'vaginal', 30, 'dom', 'unknown'
  502. end
  503. gs 'stat'
  504. rapePussyChance = rand(1, 100)
  505. if rapePussyChance <= min(max(1,pav_prostitute-60,pav_sex-60,pav_prostitute+pav_sex-120),20):
  506. act 'Continue':gt 'zaprFWash', 'rapePussy'
  507. else
  508. act 'Continue':gt 'zaprFWash', 'analEndQ'
  509. end
  510. end
  511. if $ARGS[0] = 'rapePussy':
  512. i = rand(1, 5)
  513. '<center><video autoplay loop src="images/locations/shared/carwash/sex/hardanal<<i>>.mp4"></video></center>'
  514. 'The man fucks your ass furiously, taking no heed to your painful moans. As you try to move away a bit to limit the depth he can reach in your ass, he slaps your buttcheeks hard and shouts:'
  515. '"Stop moving bitch! Who do you think you are, that you can tell me what to do?"'
  516. if pcs_vag = 0:
  517. 'He gropes your ass, lifts it up and suddenly spots your hymen.'
  518. '"What, you are a virgin? Such a tease and still a virgin, really?"'
  519. rapeAnyway = rand(1, 100)
  520. if rapeAnyway <= min(max(1,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),50):
  521. '"It would have happened sooner or later anyway, virgin slut. Now enjoy and remember this moment; I know I will!"'
  522. act 'Continue':gt 'zaprFWash', 'rapePussyYes', 'virgin'
  523. else
  524. '"Girls like you should not be acting like this! Someone should have taught you a lesson a long time ago."'
  525. act 'Continue':gt 'zaprFWash', 'punishSpank'
  526. end
  527. else
  528. act 'Continue':gt 'zaprFWash', 'rapePussyYes', 'normal'
  529. end
  530. end
  531. ! $ARGS[1] = whether you were a virgin before this or not
  532. if $ARGS[0] = 'rapePussyYes':
  533. inhib_exp += rand(10,20)
  534. i = rand(1, 3)
  535. '<center><video autoplay loop src="images/locations/shared/carwash/sex/pussytoanal<<i>>.mp4"></video></center>'
  536. if $ARGS[1] = 'virgin':
  537. sub += 10
  538. mood -= 30
  539. 'He gropes your ass, lifts it up and pushes his dick inside your pussy in one thrust! You feel your hymen break and know your virginity is gone forever. What will your friends and family think of you now if they find out?'
  540. elseif $ARGS[1] = 'normal':
  541. sub += 6
  542. mood -= 20
  543. 'He gropes your ass, lifts it up and pushes his dick inside your pussy in one thrust, all the way to the hilt!'
  544. end
  545. gs 'arousal', 'vaginal', 30, 'sub', 'prostitute', 'rough', 'rape', 'unknown'
  546. gs 'stat'
  547. act 'Continue':gt 'zaprFWash', 'vaginaCum', 'rape'
  548. end
  549. if $ARGS[0] = 'pussyEndQ':
  550. 'You can feel that the man is about to orgasm. You decide to...:'
  551. act 'Let him cum inside your vagina':gt 'zaprFWash', 'vaginaCum', 'consensual'
  552. act 'Take his cum on your face':gt 'zaprFWash', 'blowjobEndFace', 'inside'
  553. act 'Let him cum inside your mouth':gt 'zaprFWash', 'blowjobEndMouth', 'inside'
  554. end
  555. if $ARGS[0] = 'analEndQ':
  556. 'You can feel that the man is about to ejaculate. You decide to...:'
  557. act 'Let him cum inside your ass':gt 'zaprFWash', 'assCum'
  558. act 'Take his cum on your face':gt 'zaprFWash', 'blowjobEndFace', 'inside'
  559. act 'Let him cum inside your mouth':gt 'zaprFWash', 'blowjobEndMouth', 'inside'
  560. end
  561. ! $ARGS[1] = whether this was rape or not
  562. if $ARGS[0] = 'vaginaCum':
  563. if pcs_inhib < 40: inhib_exp += rand(4,6)
  564. pcs_vag += 1
  565. pain['vaginal'] += 4
  566. gs 'cum_call', ''
  567. gs 'stat'
  568. i = rand(1, 5)
  569. '<center><video autoplay loop src="images/locations/shared/carwash/sex/cumpussy<<i>>.mp4"></video></center>'
  570. if $ARGS[1] = 'consensual':
  571. mood += 20
  572. 'You let him cum deep inside your vagina. A pleasant warmth fills your insides as he shoots his load deep inside you. When he pulls out, a bit of sperm leaks out of your hole.'
  573. elseif $ARGS[1] = 'rape':
  574. mood -= 20
  575. 'The pounding suddenly stops as he cums deep inside your vagina. You can feel his cum inside of you as he continues to shoot his load inside your vagina. When he pulls out, a bit of sperm leaks out of your hole.'
  576. end
  577. gs 'arousal', 'end'
  578. gs 'stat'
  579. act 'Go back to the gas station':gt 'zaprF', 'start'
  580. end
  581. if $ARGS[0] = 'assCum':
  582. if pcs_inhib < 40: inhib_exp += rand(4,6)
  583. minut += 5
  584. mood += 10
  585. pcs_ass += 1
  586. pain['asshole'] += 1
  587. gs 'cum_call', 'anus'
  588. gs 'stat'
  589. i = rand(1, 2)
  590. '<center><video autoplay loop src="images/locations/shared/carwash/sex/cumanal<<i>>.mp4"></video></center>'
  591. 'You let him cum deep inside your ass. A pleasant warmth fills your insides as he shoots his load deep inside you. When he pulls out, a bit of sperm leaks out of your hole before you can tighten your worn out anus.'
  592. gs 'arousal', 'end'
  593. gs 'stat'
  594. act 'Go back to gas station':gt 'zaprF', 'start'
  595. end
  596. if $ARGS[0] = 'handjobEndQ':
  597. 'You can feel that the man is about to orgasm. You decide to take it...:'
  598. act 'On your face':gt 'zaprFWash', 'blowjobEndFace', 'outside'
  599. act 'On your hands':gt 'zaprFWash', 'handjobEndHands'
  600. end
  601. if $ARGS[0] = 'handjobEndHands':
  602. if pcs_inhib < 30: inhib_exp += rand(2,4)
  603. mood += 5
  604. gs 'cum_call', 'hands'
  605. gs 'stat'
  606. gifornot = rand (1, 100)
  607. if gifornot < 30:
  608. i = rand(0, 1)
  609. '<center><video autoplay loop src="images/shared/sex/cum/handjob/hand0,<<i>>.mp4"></video></center>'
  610. else
  611. i = rand(1, 2)
  612. '<center><img <<$set_imgh>> src="images/shared/sex/cum/handjob/hand<<i>>.jpg"></center>'
  613. end
  614. 'When the man starts to ejaculate, you quickly point his cock away from your face. Your hands are covered in cum by the time he is done ejaculating. His sack was full, you can say that for sure.'
  615. gs 'arousal', 'end'
  616. gs 'stat'
  617. act 'Go back to the gas station':gt 'zaprF', 'start'
  618. end
  619. if $ARGS[0] = 'blowjobEndQ':
  620. 'You can feel that the man is about to orgasm. You decide to take it...:'
  621. act 'On your face':gt 'zaprFWash', 'blowjobEndFace', 'outside'
  622. act 'In your mouth':gt 'zaprFWash', 'blowjobEndMouth', 'outside'
  623. end
  624. ! $ARGS[1] = whether his cock was inside or outside of you before he cums on your face
  625. if $ARGS[0] = 'blowjobEndFace':
  626. if pcs_inhib < 30: inhib_exp += rand(2,4)
  627. mood += 5
  628. gs 'cum_call', 'face'
  629. gs 'stat'
  630. gifornot = rand (1, 100)
  631. if gifornot < 30:
  632. i = rand(1, 2)
  633. '<center><video autoplay loop src="images/locations/shared/carwash/sex/cumface<<i>>.mp4"></video></center>'
  634. else
  635. i = rand(1, 4)
  636. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/cumface<<i>>.jpg"></center>'
  637. end
  638. if $ARGS[1] = 'outside':
  639. 'When the man starts to ejaculate, you quickly point point his cock towards your face. Your face is covered in cum by the time he is done ejaculating. His sack was full, you can say that for sure.'
  640. elseif $ARGS[1] = 'inside':
  641. 'When the man starts to ejaculate, you quickly take his cock out of you and point it towards your face. Your face is covered in cum by the time he is done ejaculating. His sack was full, you can say that for sure.'
  642. end
  643. gs 'arousal', 'end'
  644. gs 'stat'
  645. act 'Go back to the gas station':gt 'zaprF', 'start'
  646. end
  647. ! $ARGS[1] = whether his cock was inside or outside of you before he cums in your mouth
  648. if $ARGS[0] = 'blowjobEndMouth':
  649. gs 'cum_call', 'mouth'
  650. gs 'stat'
  651. gifornot = rand (1, 100)
  652. if gifornot < 60:
  653. i = rand(1, 4)
  654. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/cummouth<<i>>.jpg"></center>'
  655. else
  656. '<center><video autoplay loop src="images/locations/shared/carwash/sex/cummouth1.mp4"></video></center>'
  657. end
  658. if $ARGS[1] = 'outside':
  659. 'When the man starts to ejaculate, you quickly open your mouth while keeping his cock aimed straight at your tongue, giving him a good view of the cum as it flies inside your mouth. His sack was full, you can say that for sure.'
  660. elseif $ARGS[1] = 'inside':
  661. 'When the man starts to ejaculate, you quickly take his cock out of you and aim it straight at your tongue, giving him a good view of the cum as it flies inside your mouth. His sack was full, you can say that for sure.'
  662. end
  663. gs 'arousal', 'end'
  664. gs 'stat'
  665. act 'Continue':gt 'zaprFWash', 'blowjobEndMouthQ'
  666. end
  667. if $ARGS[0] = 'blowjobEndMouthQ':
  668. 'Your mouth is full of sperm. You decide to...:'
  669. act 'Swallow and then show him your empty mouth':gt 'zaprFWash', 'blowjobEndMouthSwallow'
  670. act 'Spit it out in front of him':gt 'zaprFWash', 'blowjobEndMouthSpit'
  671. end
  672. if $ARGS[0] = 'blowjobEndMouthSwallow':
  673. if pcs_inhib < 40: inhib_exp += rand(4,6)
  674. swallow += 1
  675. sub += 1
  676. mood += 10
  677. gs 'stat'
  678. i = rand(1, 4)
  679. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/swallow<<i>>.jpg"></center>'
  680. 'You gulp down the mouthful of sperm and then present your tongue as a proof that all of his seed is now in your belly.'
  681. 'The man smiles, slaps you mildly on your face and says: "What a nice young slut you are. Next time I need a refill, I''ll be sure to stop by."'
  682. gs 'arousal', 'end'
  683. gs 'stat'
  684. act 'Go back to the gas station':gt 'zaprF', 'start'
  685. end
  686. if $ARGS[0] = 'blowjobEndMouthSpit':
  687. if pcs_inhib < 30: inhib_exp += rand(2,4)
  688. pcs_dom += 3
  689. gs 'stat'
  690. gifornot = rand (1, 100)
  691. if gifornot > 50:
  692. i = rand(1, 3)
  693. '<center><img <<$set_imgh>> src="images/locations/shared/carwash/sex/spit<<i>>.jpg"></center>'
  694. else
  695. '<center><video autoplay loop src="images/locations/shared/carwash/sex/spit1.mp4"></video></center>'
  696. end
  697. 'You spit the load of sperm down between the legs of your customer. He doesn''t seem happy about it...'
  698. 'His face darkens and he says: "What, my cum isn''t good enough for you to swallow? I''ll teach you bitch!"'
  699. 'He moves closer to you with an angry look!'
  700. act 'Run back to the gas station':gt 'zaprFWash', 'runback'
  701. end
  702. if $ARGS[0] = 'runback':
  703. minut += 5
  704. ! runSuccess uses a simpler version of the formula used with carwashscene
  705. ! just based on strength and agility; uses whichever is higher to try and run away
  706. ! min 25 percent chance; max 75 percent chance for this initial getaway
  707. runSuccess = rand(1, 100)
  708. if runSuccess <= min(max(25,pcs_stren,pcs_agil),75):
  709. '<center><img <<$set_imgh>> src="images/locations/gadukino/village/turn_back.jpg"></center>'
  710. 'You managed to escape his grasp! You take a quick look behind you to make sure he''s not following you before heading back to the gas station.'
  711. gs 'arousal', 'end'
  712. gs 'stat'
  713. act 'Escape':gt 'zaprF', 'start'
  714. else
  715. pain['cheeks'] += 2
  716. pain['head'] += 2
  717. pain['mouth'] += 2
  718. pain['neck'] += 4
  719. '<center><video autoplay loop src="images/locations/shared/carwash/sex/punishbeatface.mp4"></video></center>'
  720. 'You weren''t quick enough and he caught you. He pushes you down and starts to slap your face!'
  721. gs 'arousal', 'end'
  722. gs 'stat'
  723. act 'Endure his punishment':gt 'zaprFWash', 'punish'
  724. ! gave doms the choice to fight back as long as they have some energy related stat with something left even if they lost the roll for runSuccess
  725. ! these values are based off of the cheat menu values for players who turn off these stats as they can never go below 35
  726. if dom > 0 and (pcs_energy > 35 or pcs_hydra > 35 or pcs_sleep > 35):
  727. act 'Push him off of you and escape':gt 'zaprFWash', 'fight'
  728. end
  729. end
  730. end
  731. if $ARGS[0] = 'fight':
  732. ! maybe at some point this could be an actual fight but with the state of the combat logic is in this will just be left to drain a stat to escape
  733. ! these values are based off of the cheat menu values for players who turn off these stats as they can never go below 35
  734. if pcs_energy >= 35:
  735. pcs_energy -= 35
  736. elseif pcs_hydra >= 35:
  737. pcs_hydra -= 35
  738. elseif pcs_sleep >= 35:
  739. pcs_sleep -= 35
  740. end
  741. gs 'arousal', 'end'
  742. gs 'stat'
  743. gt 'zaprF', 'start'
  744. end
  745. if $ARGS[0] = 'punish':
  746. ! once again punishType uses the same logic as carwashscene for dynamic choices
  747. punishType = rand(1, 100)
  748. if punishType <= min(max(50,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),75) and punishType >= 50:
  749. gt 'zaprFWash', 'punishAnal'
  750. elseif punishType <= min(max(75,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),100) and punishType >= 75:
  751. gt 'zaprFWash', 'punishPussyQ'
  752. else
  753. gt 'zaprFWash', 'punishSpank'
  754. end
  755. end
  756. if $ARGS[0] = 'punishSpank':
  757. pcs_horny = 0
  758. pcs_mood -= 10
  759. sub += 2
  760. inhib_exp += rand(2,4)
  761. pain['asscheeks'] += 5
  762. gs 'stat'
  763. '<center><video autoplay loop src="images/locations/shared/carwash/sex/punishspank.mp4"></video></center>'
  764. 'The angry man drags you to a more secluded area, bends you over and starts to spank your ass very hard.'
  765. 'After twenty minutes of ruthless punishment, you can finally crawl away with your burning ass.'
  766. gs 'arousal', 'foreplay', 15, 'sub', 'rough', 'unknown'
  767. gs 'arousal', 'end'
  768. gs 'stat'
  769. ! reputationScalar has a min of 1 and a max of 180; the more well known you are the higher the chance of being abducted
  770. reputationScalar = min(max(1,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),180)
  771. ! fitnessScalar has a min of 1 and a max of 90; the more fit you are the lower the chance of being abducted
  772. fitnessScalar = min(max(1,pcs_stren,pcs_agil),90)
  773. ! abductionChance is calculated using a combination of these 2 values
  774. ! in the beginning of the game fitness will usually outweigh your reputation and keep your abductionChance very low (min is 0)
  775. ! once reputation begins to rise it will even out with the fitness and abductionChance will stabilize at an average value (around 45)
  776. ! but fitness caps at 100 and reputation does not so eventually if your reputation grows to be very large the abductionChance will continue to rise (max of 90)
  777. abductionChance = reputationScalar-fitnessScalar
  778. if (abductionChance > 0 and abductionChance <= rand(1,100)) or sub > 99:
  779. 'But your perpetrator isn''t done with you.'
  780. 'He catches you again, drags you to his car and pushes you into the trunk...'
  781. 'You have a feeling this probably will not go well for you...'
  782. act 'Cry for help':gt 'abduction', 'start'
  783. else
  784. 'Your perpetrator stands up and just watches as you crawl away in pain.'
  785. 'He turns around and calmly walks away, leaving you alone.'
  786. act 'Escape':gt 'zaprF', 'start'
  787. end
  788. end
  789. if $ARGS[0] = 'punishAnal':
  790. pcs_horny = 0
  791. pcs_mood -= 20
  792. sub += 4
  793. pain['asshole'] += 6
  794. inhib_exp += rand(5,10)
  795. gs 'cum_call', 'anus'
  796. gs 'stat'
  797. i = rand(1, 3)
  798. '<center><video autoplay loop src="images/locations/shared/carwash/sex/punishanal<<i>>.mp4"></video></center>'
  799. 'The angry man drags you to a more secluded area, bends you over, and sticks a finger in your ass.'
  800. 'Your anus fully exposed, he starts fucking it ruthlessly.'
  801. 'After half an hour of rough assfucking he releases his grip on you so you can finally crawl away; your aching ass sore from the brutal penetration.'
  802. gs 'arousal', 'anal', 30, 'sub', 'rough', 'rape', 'unknown'
  803. gs 'arousal', 'end'
  804. gs 'stat'
  805. reputationScalar = min(max(1,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),180)
  806. fitnessScalar = min(max(1,pcs_stren,pcs_agil),90)
  807. abductionChance = reputationScalar-fitnessScalar
  808. if (abductionChance > 0 and abductionChance <= rand(1,100)) or sub > 99:
  809. 'But your perpetrator isn''t done with you.'
  810. 'He catches you again, drags you to his car and pushes you into the trunk...'
  811. 'You have a feeling this probably will not go well for you...'
  812. act 'Cry for help':gt 'abduction', 'start'
  813. else
  814. 'Your perpetrator stands up and just watches as you crawl away in pain.'
  815. 'He turns around and calmly walks away, leaving you alone.'
  816. act 'Escape':gt 'zaprF', 'start'
  817. end
  818. end
  819. if $ARGS[0] = 'punishPussyQ':
  820. 'The angry man drags you to a more secluded area. He bends you over and starts to rub your pussy.'
  821. if pcs_vag = 0:
  822. 'Suddenly he remarks: "What? You''re a virgin? Such slutty tease and still a virgin?'
  823. penetrate = rand (1, 100)
  824. if penetrate <= min(max(50,pav_prostitute-30,pav_sex-30),75) and penetrate >= 50:
  825. 'I''ll spare your virginity but you''ll get fucked anyway. Sluts have more than one hole for a reason, right?'
  826. act 'Endure':gt 'zaprFWash', 'punishAnal'
  827. elseif penetrate <= min(max(75,pav_prostitute-30,pav_sex-30),100) and penetrate >= 75:
  828. 'This makes it even better! I''ll enjoy your tears even more! I haven''t had a virgin in forever!'
  829. act 'Endure':gt 'zaprFWash', 'punishPussy', 'virgin'
  830. else
  831. 'Someone should have done this a long time ago, but I''ll spare you penetration this time!'
  832. act 'Endure':gt 'zaprFWash', 'punishSpank'
  833. end
  834. else
  835. 'Let''s try what you''ve been teasing, you ungrateful whore!'
  836. act 'Endure':gt 'zaprFWash', 'punishPussy', 'normal'
  837. end
  838. end
  839. ! $ARGS[1] = whether you were a virgin before this or not
  840. if $ARGS[0] = 'punishPussy':
  841. pcs_horny = 0
  842. pain['vaginal'] += 4
  843. inhib_exp += rand(5,10)
  844. gs 'cum_call', ''
  845. gs 'stat'
  846. i = rand(1, 5)
  847. '<center><video autoplay loop src="images/locations/shared/carwash/sex/punishpussy<<i>>.mp4"></video></center>'
  848. if $ARGS[1] = 'virgin':
  849. sub += 10
  850. 'Your pussy fully exposed, he slowly inserts his cock inside of you. He pushes right up against your hymen, savoring the moment. Suddenly, you feel your hymen break and know your virginity is gone forever. What will your friends and family think of you now if they find out?'
  851. pcs_mood -= 40
  852. elseif $ARGS[1] = 'normal':
  853. sub += 6
  854. 'Your pussy fully exposed, he starts fucking it ruthlessly.'
  855. pcs_mood -= 20
  856. end
  857. 'After half an hour of destroying your cunt he releases his grip on you so you can finally crawl away; your aching pussy sore from the brutal penetration.'
  858. gs 'arousal', 'vaginal', 30, 'sub', 'rough', 'rape', 'unknown'
  859. gs 'arousal', 'end'
  860. gs 'stat'
  861. reputationScalar = min(max(1,pav_prostitute-30,pav_sex-30,pav_prostitute+pav_sex-60),180)
  862. fitnessScalar = min(max(1,pcs_stren,pcs_agil),90)
  863. abductionChance = reputationScalar-fitnessScalar
  864. if (abductionChance > 0 and rand(1,100) <= abductionChance) or sub > 99:
  865. 'But your perpetrator isn''t done with you.'
  866. 'He catches you again, drags you to his car and pushes you into the trunk...'
  867. 'You have a feeling this probably will not go well for you...'
  868. act 'Cry for help':gt 'abduction', 'start'
  869. else
  870. 'Your perpetrator stands up and just watches as you crawl away in pain.'
  871. 'He turns around and calmly walks away, leaving you alone.'
  872. act 'Escape':gt 'zaprF', 'start'
  873. end
  874. end
  875. --- zaprFWash ---------------------------------