katja_procedural.qsrc 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573
  1. # katja_procedural
  2. !2022/08/02
  3. !!This files governs Katja''s procedural actions that are called form many places.
  4. !! The model used for Katja''s porn scene was originally the porn actress Faye Reagan, lately Red Fox/Michelle H have also been used for a lot of content. But several other have also been used.
  5. !! The following variables are part of her story line (the name in the parenthesis is the old name of that variable):
  6. !! katjaQW['QWstage'] = 1 You have agreed to hang out with Katja afer school. (meynoldQW = 1)
  7. !! katjaQW['QWstage'] = 2 You have been to Katja''s house and you can go there to hang out with her. (meynoldQW = 2)
  8. !! katjaQW['QWstage'] = 3 You have kissed Katja and she might be interested in more. (katjaFirstKiss = 1 and KatjaOTN)
  9. !! npc_sex['A14'] = 1 You have had at least one sexual experience with Katja.
  10. !! katjaQW['QWstage'] = 4 Katja have asked you to help have sex with a boy.
  11. !! katjaQW['QWstage'] = 5 You have agreed to help Katja have sex with a boy.
  12. !! katjaQW['QWstage'] = 6 You have talked with Katja about her first experience with a boy.
  13. !! katjaQW['QWstage'] = 7 You have told Katja about the boys in the park.
  14. !! katjaQW['liberated'] is set to one after some time if the player have not started Katja''s quest. It means she will start to be sexually active with out having the player character help her.
  15. !! katjaQW['first_time_in_nightclub'] is set to 1 if you have sex with Katja during a threesome at the night club before you start her storyline, and 2 if you make her come during that scene. Used trigger a different introduction to her storyline.
  16. !! katjaQW['boy_block'] is set to 1 if you tell Katja that you have no interest in boys when she ask about you sex experience whit boy.
  17. !! katjaQW['relationship_count_start'] is set to daystart when you have had sex with Katja and the yearstart is more than on (that is in the second year). It starts a countdown of 6 to 12 months before Katja will ask you about your relationship.
  18. !! katjaQW['relationship_talk'] = 1 you have had a discussion about your relationship.
  19. !! katjaQW['couple'] is set to 1 when you agree to be a couple.
  20. !! katjaQW['faithful'] is sent to 1 if you are a couple and agree not to have sex with others (unless you both participate)
  21. !! katjaQW['cheat_warning'] is set the first time Katja confronts the player because the caught them cheating and to 2 after the player have been caught so many times that Katja warns them that she will also starts to sleep around.
  22. !! katjaQW['cheat_times'] the number of times since her last waring that Katja is certain that you cheated on her.
  23. !! katjaQW['sex_clossedness'] 0 mean no restriction on sex scenes with Katja, 1 mean only scenes with Katja and the player character are available, 2 mean that the player character wont have sex with Katja
  24. !! katjaQW['anal_quest'] =1 Katja has asked you to help her have anal sex with a boy.
  25. !! katjaQW['anal_quest'] =2 You have agreed to help Katja have anal sex with a boy.
  26. !! katjaQW['anal_quest'] =3 Katja has had anal sex with a boy and you discussed it afterwards.
  27. !! katjaQW['pantiesQWstage'] The stages of the side quest of getting Katja to go commando to school. 1 to 3 are just temporary counts,
  28. !! 4 means you have gotten Katja to take off her panties when you ask her, and 5 means that she won''t wear panties to school anymore.
  29. !! If you want to check if Katja is not wearing panties at school use katjaQW['pantiesQWstage'] >= 5. (katjaTanga, katja_tanga_end)
  30. !! katjaQW['school_kiss'] Increases the first two times you kiss at school. Used to trigger the kissing competition in the park. (flag_start_parc)
  31. !! katjaQW['slut'] a number that increases as Katja becomes more and more sexually liberated, and allows her to be willing to do more sexual stuff. (katjaSlut)
  32. !! katjaQW['dom'] a number that tells if Katja is dominant or submissive. 0 is neutral, a negative means she is submissive and a positive means she is dominant. In general the absolute value needs to be above 30 before you will see any effect. (katjaDom but not a 1 to 1 translation since that variable was all over the place.)
  33. !! katjaQW['simultanous_boys'] the number of boys Katja have been with at the same time, Is not really set before the number is 2.
  34. !! katjaQW['simultanous_girls'] the number of girls Katja have been with at the same time including the player character, so it is not really set before the number is 2.
  35. !! katjaQW['horny'] a measure of Katja''s arousal. Grows until she have an orgasm and will determine how willing she is at the moment to have sex.
  36. !! katjaQw['drinks'] a measure of how drunk Katja is. 0 means sober, 8 quit drunk and 12 that she can barely stand.
  37. !! katjaQW['under_influnece_of_cocaine'] if positive it means that her inhibition is still affected by the cocaine she used.
  38. !! katjaQW['coke_stage'] = 0 Katja have never tried cocaine, and would need to be convinced by a difficult willpower check to try, the circumstances can make the check harder or easier,
  39. !! katjaQW['coke_stage'] = 1 Katja have tried cocaine at least once, but is still reluctant. Still need to be convinced by a willpower check try again, but not as difficult as the first time.
  40. !! katjaQW['coke_stage'] = 2 Katja have tried cocaine several times and is getting less reluctant to use it. Still need to be convinced by a willpower check try again, but easier and can at times be removed if the circumstances are right.
  41. !! katjaQW['coke_stage'] = 3 Katja have tried cocaine several times and is getting comfortable with using it. Does in general not need a willpower check to use it if offered, and might take it if offered even if the player character don''t unless forced not to by a willpower check.
  42. !! katjaQW['coke_stage'] = 4 Katja is starting to get into using cocaine. Does not need a willpower check to be convinced to take it, might ask the player character or other for it in the right situation (in general before or at a party), and would usually need a willpower check to be convinced to not use it. Might try to convince the player character to also take it.
  43. !! katjaQW['coke_stage'] = 5 Katja is getting even more into it. She will start to sometimes buy it herself and offer it to the Player characters in the right situations (at a party or such) and will need convincing to not take it herself. Still only a party user but might now take it at a party without the player being there.
  44. !! katjaQW['coke_stage'] = 6 Katja is starting to get addicted. She will almost always have some and will now start suggesting you are taking it more often, for example just hanging out an normal afternoon/evening and need willpower checks to be convinced not to take even if the Player character done''t take any. Still only takes some without the player being present at parties together with others.
  45. !! katjaQW['coke_stage'] = 7 Katja is addicted. Will take several times a week even with out the player characters presence. It will start to slowly affect her every day life. But will still be able to function more or less normally.
  46. !! katjaQW['coke_stage'] = 8 Katja is very addicted. Will take every day, and unless the player character provides she will start doing stuff to earn money for that takes time away from studying which will harm her education. She might not turn up to class because she was out all night trying to precure money for it, and will often not be found since she is trying to earn money for it, might prostitutes herself for the money.
  47. !! katjaQW['coke_stage'] = -1 Katja have been true a cold turkey/rehab and wont touch cocaine for the fear of getting addicted again.
  48. !! katjaQW['coke_point'] A a variable used to change the katjaQW['coke_stage'].
  49. !! katjaQW['financial_strain'] A variable that is used to check if Katja is using more money on drugs thatn she have, so that she will start doing things to earn those money.
  50. !! katjaQW['park_sex'] a measure of what experience Katja has had with random guys in the park. 0 means she has not had sex with anybody in the park,
  51. !! 1 means that she has had sex with one guy at a time (either alone, in a threesome with the player character or while the player had sex with another guy next to them)
  52. !! 2 means she has had a threesome with 2 guys you met in the park, and 3 means she has paticipated in an orgy with guys from the park. (katjaSex)
  53. !! katjaQW['masturbates'] = 1 Katja has started masturbating at night if she get too horny. (KatjaMastr)
  54. !! The following 3 variables functions as pcs_throat, pcs_vag and pcs_ass does for the player character. So whenever Katja has sex with a guy or a dildo is used on her you should add code to change them as is done for the player character in arousal.
  55. !! npc_throat['A14'] The capacity for Katja to take a dick (or dildo) down her throat. (KatjaThroat)
  56. !! npc_vag['A14'] The capacity for Katja to take a dick (or dildo) in the vagina.
  57. !! npc_ass['A14'] The capacity for Katja to take a dick (or dildo) in her ass. (KatjaAnus)
  58. !! katjaQW['pussy_sex'] = 1 Katja have had pussy sex with guy where the player character wasn''t present.
  59. !! katjaQW['anal_sex'] = 1 Katja have had anal sex with guy where the player character wasn''t present.
  60. !! katjaQW['deepthroat'] Number of time Katja have deepthroated
  61. !! katjaQW['dp'] the number of times Katja have been double penetrated.
  62. !! katjaQW['creampie'] number of creampies Katja have received
  63. !! katjaQW['bondage_sex'] number of times Katja and the player character have had sex where the player character was bound and/or blindfolded.
  64. !! katjaQW['strapon_bj'] = 1 Katja has given a BJ to your strap-on.
  65. !! katjaQW['strapon_vag'] = 1 You have fucked Katja''s pussy with your strap-on.
  66. !! katjaQW['strapon_ass'] = 1 You have fucked Katja''s ass with your strap-on.
  67. !! katjaQW['fisted_vag'] = 1 You have fisted Katja''s vagina.
  68. !! katjaQW['ivan_pussy'] = 1 Katja has taken Ivan''s cock in her pussy.
  69. !! katjaQW['ivan_anal'] = 1 Katja has taken Ivan''s cock in her ass.
  70. !! katjaQW['marcus_pussy'] = 1 Katja has taken Marcus''s cock in her pussy.
  71. !! katjaQW['marcus_anal'] = 1 Katja has taken Marcus''s cock in her ass.
  72. !! katjaQW['marcus_disco'] = 1 Katja and the player character have had a threesome with Marcus at the community center disco.
  73. !! katjaQW['lazar_pussy'] = 1 Katja has taken Lazar''s cock in her pussy.
  74. !! katjaQW['lazar_anal'] = 1 Katja has taken Lazar''s cock in her ass.
  75. !! katjaQW['lazar_pussy_talk'] = 1 Katja and the player character have talked about having sex with Lazar.
  76. !! katjaQW['lazar_anal_talk'] = 1 Katja and the player character have talked about having anal sex with Lazar.
  77. !! katjaQW['Lazar_Ivan_4some'] 1 means the had a foursome but no double penetration, 2 means that the player character received a double penetration during the first foursome and have not talked about it yet, and 3 is if the player character have received a double penetration and they have talked about the first foursome.
  78. !! katjaQW['Marcus_day'] is set to daystart if you or Katja ask to have a threesome with Marcus. Such that the question will only be asked once per day.
  79. !! katjaQW['Lazar_day'] is set to daystart if you or Katja ask to have a threesome with Lazar. Such that the question will only be asked once per day.
  80. !! katjaQW['birth_control_start_day'] This is set to the daystart value from the day Katja''s birth control will be effective if the player tells her to use it. Should be used to check if Katja can become pregnant by if katjaQW['birth_control_start_day'] ! 0 and katjaQW['birth_control_start_day'] < daystart to make sure she is protected.
  81. !! katjaQW['birth_control_know'] = 1 Katja started taking birth control without talking with the player character, and has now told the player character that she uses birth control. Only used in one scene so that the player character does not continue to ask about it every time.
  82. !! KatjaQW['orgasm_day'] Is set to be equal to daystart when Katja gain an orgasm (It is not set all places). (KatjaOrgasm)
  83. !! katjaQW['take_of_panties_day'] is set to daystart if you get katja to take of her panties during school break.
  84. !! katjaQW['afterschool_hangout_day'] Is set to be equal daystart when you choose to hang out with Katja after school. (katjaMeynoldday)
  85. !! katjaQW['no_panties_day'] Is set to daystart if you show Katja that you are not wearing panties.
  86. !! katjaQW['no_panties_day_disco'] Is set to daystart if you show Katja that you are not wearing panties at the pav disco. (tangaday)
  87. !! katjaQW['knows_masturbation'] = 1 You have told Katja how you masturbate (KatjaKnowMastr =1)
  88. !! katjaQW['knows_self_fisting'] = 1 You have told Katja how you stuck your fist into your pussy
  89. !! katjaQW['knows_self_fisting_anal'] = 1 You have told Katja how you stuck your fist into your ass
  90. !! katjaQW['knows_BJ'] = 1 You have told Katja that you have given a guy a blow-job (KatjaKnowBJ =1)
  91. !! katjaQW['knows_sex'] = 1 You have told Katja that you have had virginal sex with a guy (KatjaKnowSex =1)
  92. !! katjaQW['knows_anal'] = 1 You have told Katja that you have had anal sex with a guy (KatjaKnowAnal =1)
  93. !! katjaQW['knows_cuni'] = 1 You have told Katja that have gone down on another girl (KatjaKnowKuni =1)
  94. !! katjaQW['know_Pirced_tongue'] = 1 katja have noticed your tongue piercing (KatjaKnowPirsA =1)
  95. !! katjaQW['school_sex'] = 1 Katja have taken you to a storage room at school to have sex. (katschoolsex)
  96. !! katjaQW['disco_Foto'] =1 somebody have takien a picture of Katja''s exposed breast at the disco. Right now to only use of this variable is so that another foto wont be taken. (katja_disco_Foto)
  97. !! katjaQW['drunk_help'] is set to 1 when Katja walks you home from the disco because you are to drunk. Will be reset to 0 after you talk to her about it at school. (meynoldQW = 3)
  98. !! katjaQW['no_panties_at_disco'] is set if Katja shows you at the disco that she is not vearing panties. Will be reset to 0 at night. (katja_disco_end)
  99. !! KatjaQW['sex_in_the_park_comment'] temposry varibale which is set during sex with guys in the park to make sure she give the right comment before she says goodbuy. Will be rest to 0 when going home after sex. (KatjaOhrenet)
  100. !! katjaQW['know_katja_uni'] = 1 Katja has told you she is going to uni to study teaching.
  101. !! katjaQW['know_going_to_teaching_degree'] =1 you have told Katja that you are going to the university to study in the teaching program.
  102. !! katjaQW['meet_uni_class'] = 1 You have meet Katja in you uni class.
  103. if $ARGS[0] = 'hourly':
  104. !! Modifies Katja''s state each hour, mainly reducing drugs and alcohol levels
  105. gs 'katja_meynold_schedule'
  106. if katjaQw['drinks'] > 0:
  107. if (locat['katja'] > 0 and locat['katja'] < 4) or (locat['katja'] > 19 and locat['katja'] < 24):
  108. katjaQw['drinks'] -= 2
  109. if katjaQw['drinks'] < 0: katjaQw['drinks'] = 0
  110. else
  111. katjaQw['drinks'] -= rand(0,1)
  112. end
  113. end
  114. if katjaQW['under_influnece_of_cocaine'] > 0: katjaQW['under_influnece_of_cocaine'] -= 1
  115. !! Resetting her sublocation at the nightclub after she leaves the nightclub
  116. if locat['katja'] ! 53: katjaQW['disco_loc'] = 0
  117. !! Setting the sex stat for Katja if she went to a private room at the nightclub and the player character did not spy on her.
  118. if katjaQW['nightclub_private_room_boy'] = 1 and katjaQW['disco_loc'] ! 7:
  119. katjaQW['nightclub_private_room_boy'] = 0
  120. if rand(0,katjaQw['slut']/25) > 0: gs 'katja_procedural', 'sex_set', 1
  121. end
  122. end
  123. if $ARGS[0] = 'cikl':
  124. !!Modifying Katja''s arousal level.
  125. if katjaQW['QWstage'] > 2:
  126. if katjaQW['horny'] >= 0: katjaQW['horny'] += (katjaQW['slut'] - rand(1,50))/10
  127. if katjaQW['horny'] < 0:katjaQW['horny'] = 0
  128. if katjaQW['horny'] >= 100:
  129. if rand(0,2) = 0 and week < 6:
  130. katjaQW['horny'] = max(katjaQW['slut']/2,50)
  131. if katjaQW['masturbates'] = 0: katjaQW['masturbates'] = 1
  132. else
  133. katjaQW['horny'] = 100
  134. end
  135. end
  136. else
  137. !! During the uni year, Katja might start masturbate even if the player have not started her quest.
  138. if yearstart > 1 and katjaQW['masturbates'] = 0 and rand(0,50) = 50: katjaQW['masturbates'] = 1 & katjaQW['slut'] += 5
  139. end
  140. !! Start the countdown for Katja''s relationship talk
  141. if yearstart > 1 and npc_sex['A14'] > 0 and katjaQW['relationship_count_start'] = 0: katjaQW['relationship_count_start'] = daystart
  142. !! When she starts at uni a sexual active Katja will start using birth control even if the player character don''t tell her to.
  143. if yearstart > 1 and katjaQW['QWstage'] >= 6 and katjaQW['birth_control_start_day'] = 0: katjaQW['birth_control_start_day'] = daystart
  144. !! If the player have not gotten to the point where they have sex with Katja by the start of the second year of uni, she will then start to be sexually active without the player. (Does not prevent the player from starting her storyline, but it might be at a later stage in the stroryline, since Katja is now more experienced.
  145. if yearstart > 2 and npc_sex['A14'] = 0 and katjaQW['liberated'] = 0:
  146. katjaQW['liberated'] = 1
  147. katjaQW['slut'] += 20
  148. if katjaQW['birth_control_start_day'] = 0: katjaQW['birth_control_start_day'] = daystart
  149. if katjaQW['masturbates'] = 0: katjaQW['masturbates'] = 1
  150. end
  151. !! Set some variables related to her sexual experience that is not taking care of in all the acts.
  152. if (katjaQW['QWstage'] >= 6 or katjaQW['anal_quest'] >= 3) and katjaQW['simultanous_boys'] = 0: katjaQW['simultanous_boys'] = 1
  153. if npc_sex['A14'] >= 1 and katjaQW['simultanous_girls'] = 0: katjaQW['simultanous_girls'] = 1
  154. !! Katja learning about you sexual experience from other sources because you are a slut.
  155. if (fame['pav_slut'] >= 150 or (fame['city_slut'] >= 150 and yearstart > 1)) and stat['bj'] > 0 and katjaQW['knows_BJ'] ! 1: katjaQW['knows_BJ'] = 1
  156. if (fame['pav_slut'] >= 250 or (fame['city_slut'] >= 250 and yearstart > 1) or preg > 0) and stat['vaginal'] > 0 and katjaQW['knows_sex'] ! 1: katjaQW['knows_sex'] = 1
  157. !!Resetting if Katja have shown you that she is not wearing panties at the disco. The reason to not use a daystart variable, is the if you show it very late Friday it might prevent you from seeing it Saturday (daystart can change during the event)
  158. if katjaQW['no_panties_at_disco'] > 0: katjaQW['no_panties_at_disco'] = 0
  159. !!Out commented Katja becoming pregnant until more content for a pregnant Katja is done
  160. !!if katjaPreg = 0 and month >= 2 and year > 2016: katjaPreg = 1
  161. !! Degeneration of katja slut if it is high
  162. if katjaQW['slut'] > 100:
  163. katjaQW['slut'] -= 1
  164. elseif katjaQW['slut'] > 80:
  165. if week mod 2 = 0: katjaQW['slut'] -= 1
  166. elseif katjaQW['slut'] > 50:
  167. if week = 1: katjaQW['slut'] -= 1
  168. end
  169. !! Changing of preferences as Katja becomes more slutty
  170. if katjaQW['slut'] > 50 and katjaQW['preference_change'] = 0:
  171. katjaQW['preference_change'] = 1
  172. gs 'npc_set_preference', 'A14', 'short_skirt', 'like'
  173. elseif katjaQW['slut'] > 100 and katjaQW['preference_change'] = 1:
  174. katjaQW['preference_change'] = 2
  175. gs 'npc_set_preference', 'A14', 'clothes_thin', 'like'
  176. gs 'npc_set_preference', 'A14', 'short_skirt', 'love'
  177. end
  178. !! Changing of preferences as Katja slowly get convinced to not wear panties at school
  179. if katjaQW['pantiesQWstage'] > 0 and katjaQW['preference_change_pantQW'] = 0:
  180. katjaQW['preference_change_pantQW'] = 1
  181. gs 'npc_set_preference', 'A14', 'clothes_exposed_ass', 'neutral'
  182. gs 'npc_set_preference', 'A14', 'clothes_exposed_bra', 'neutral'
  183. gs 'npc_set_preference', 'A14', 'clothes_exposed_panties', 'neutral'
  184. gs 'npc_set_preference', 'A14', 'clothes_exposed_pussy', 'dislike'
  185. gs 'npc_set_preference', 'A14', 'clothes_exposed_tits', 'dislike'
  186. elseif katjaQW['pantiesQWstage'] > 4 and katjaQW['preference_change_pantQW'] = 1:
  187. katjaQW['preference_change_pantQW'] = 2
  188. gs 'npc_set_preference', 'A14', 'clothes_exposed_pussy', 'neutral'
  189. gs 'npc_set_preference', 'A14', 'clothes_exposed_tits', 'neutral'
  190. end
  191. !! Check if she had sex with other after being at the disco alone
  192. if katjaQW['liberated'] = 1 or (katjaQW['relationship_talk'] = 1 and katjaQW['faithful'] = 0):
  193. if locat['katja_save2'] = 53 and (katjaQW['disco_arrival'] + 600 < totminut or katjaQW['disco_met'] + 600 < totminut):
  194. if (rand(1,15) <= (min(func('katja_procedural', 'willing_to_be_naughty'), 100) - 50)/10 and katjaQW['relationship_talk'] = 1 and katjaQW['faithful'] = 0) or (katjaQW['relationship_talk'] = 0 and katjaQW['liberated'] and rand(0,3) = 0):
  195. gs 'katja_procedural', 'sex_set', rand(0,katjaQW['simultanous_boys'] + 1), rand(0,katjaQW['simultanous_girls']+1)
  196. end
  197. end
  198. end
  199. !! Check if she did drugs with others
  200. if katjaQW['coke_stage'] >= 5:
  201. if locat['katja_save2'] = 53 and (katjaQW['disco_arrival'] + 600 < totminut or katjaQW['disco_met'] + 600 < totminut):
  202. if rand(0,katjaQW['coke_stage']) >= 5: gs 'katja_procedural', 'take_cocaine', 1, 1
  203. elseif katjaQw['alone_with_other_day'] >= daystart -1:
  204. if rand(2,katjaQW['coke_stage']) >= 5: gs 'katja_procedural', 'take_cocaine', 1, 1
  205. end
  206. end
  207. !! Taking care of her cocaine tolerance/addiction
  208. if katjaQW['coke_stage'] = 1 and katjaQW['coke_point'] > 3:
  209. katjaQW['coke_stage'] = 2
  210. elseif katjaQW['coke_stage'] = 2 and katjaQW['coke_point'] > 8:
  211. katjaQW['coke_stage'] = 3
  212. elseif katjaQW['coke_stage'] = 3 and katjaQW['coke_point'] > 15:
  213. katjaQW['coke_stage'] = 4
  214. elseif katjaQW['coke_stage'] = 4:
  215. if katjaQW['coke_point'] > 25:
  216. katjaQW['coke_stage'] = 5
  217. elseif katjaQW['coke_point'] < 8:
  218. katjaQW['coke_stage'] = 3
  219. end
  220. elseif katjaQW['coke_stage'] = 5:
  221. if katjaQW['coke_point'] > 35:
  222. katjaQW['coke_stage'] = 6
  223. elseif katjaQW['coke_point'] < 25:
  224. katjaQW['coke_stage'] = 5
  225. end
  226. elseif katjaQW['coke_stage'] = 6:
  227. if katjaQW['coke_point'] > 50:
  228. katjaQW['coke_stage'] = 7
  229. elseif katjaQW['coke_point'] < 35:
  230. katjaQW['coke_stage'] = 5
  231. end
  232. elseif katjaQW['coke_stage'] = 7:
  233. if katjaQW['coke_day'] + 1 < daystart and rand(0,3)= 0: gs 'katja_procedural', 'take_cocaine', 1, 1
  234. if katjaQW['coke_point'] > 70:
  235. katjaQW['coke_stage'] = 8
  236. elseif katjaQW['coke_point'] < 45:
  237. katjaQW['coke_stage'] = 6
  238. end
  239. elseif katjaQW['coke_stage'] = 8:
  240. if katjaQW['coke_day'] + 1 < daystart: katjaQW['financial_strain'] += rand(0,1) & gs 'katja_procedural', 'take_cocaine', 1, 1
  241. if katjaQW['coke_point'] < 55: katjaQW['coke_stage'] = 7
  242. end
  243. if katjaQW['coke_day'] + 7 < daystart and katjaQW['coke_day_lapse'] = 1: katjaQW['coke_day_lapse'] = 0 & katjaQW['coke_point'] -= 1
  244. if katjaQW['coke_point'] < 0: katjaQW['coke_point'] = 0
  245. end
  246. if $ARGS[0] = 'face_color':
  247. !! To print the colour of her face, for the player to get an idea of her arousal
  248. if katjaQW['QWstage'] > 2:
  249. if katjaQW['horny'] < 20:
  250. if $ARGS[1] = 'func':
  251. $result = 'Katja looks calm and stoic.'
  252. else
  253. 'Katja looks calm and stoic.'
  254. end
  255. elseif katjaQW['horny'] < 40:
  256. if $ARGS[1] = 'func':
  257. $result = 'Katja looks at you with a naughty twinkle in her eyes.'
  258. else
  259. 'Katja looks at you with a naughty twinkle in her eyes.'
  260. end
  261. elseif katjaQW['horny'] < 60:
  262. if $ARGS[1] = 'func':
  263. $result = 'Katja looks at you, a faint blush on her cheeks as she smiles at you mischievously.'
  264. else
  265. 'Katja looks at you, a faint blush on her cheeks as she smiles at you mischievously.'
  266. end
  267. elseif katjaQW['horny'] < 80:
  268. if $ARGS[1] = 'func':
  269. $result = 'Katja is blushing fairly obviously and looks at you longingly.'
  270. else
  271. 'Katja is blushing fairly obviously and looks at you longingly.'
  272. end
  273. else
  274. if $ARGS[1] = 'func':
  275. $result = 'Katja''s face is flushed bright red and her chest is heaving from her heavy breathing. She''s idly rubbing her thighs against one another.'
  276. else
  277. 'Katja''s face is flushed bright red and her chest is heaving from her heavy breathing. She''s idly rubbing her thighs against one another.'
  278. end
  279. end
  280. else
  281. if $ARGS[1] = 'func':
  282. $result = 'Katja looks at you with a smile.'
  283. else
  284. 'Katja looks at you with a smile.'
  285. end
  286. end
  287. end
  288. if $ARGS[0] = 'makeup':
  289. !! Routine for Katja to apply makeup to the player character
  290. 'Katja looks at you with a smile. "<<$pcs_nickname>>, I bet you would look great with a little make-up on you! What do you say?"'
  291. $temp_loc = $ARGS[1]
  292. $temp_loc_arg = $ARGS[2]
  293. act 'Let her put makeup on you':
  294. *clr & cla
  295. pcs_hairbsh = 1
  296. minut += 10
  297. gs 'stat'
  298. '<center><b><font color="maroon"><<$npc_firstname[''A14'']>> <<$npc_lastname[''A14'']>></font></b></center>'
  299. '<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
  300. 'Katja happily grins as she quickly straightens your hair. "What do you want? A light touch-up, some normal make-up or shall I just shovel it on?"'
  301. act 'Light touch-up':
  302. cla
  303. pcs_makeup = 2
  304. 'Katja subtly applies some neutral tones, with a light application of makeup to bring out your natural beauty.'
  305. if katjaQW['QWstage'] > 2:katjaQW['horny'] += 5*(1 + npc_sex['A14']) & 'Katja suddenly becomes aware that she is staring into your eyes and blushes.'
  306. act 'Thank Katja for the makeup': gt $temp_loc, $temp_loc_arg
  307. end
  308. act 'Normal make-up':
  309. cla
  310. pcs_makeup = 3
  311. 'Katja applies some mildly vibrate tones and colors of makeup to cover your minor imperfections and enhance your best features.'
  312. if katjaQW['QWstage'] > 2:katjaQW['horny'] += 5*(1 + npc_sex['A14']) & 'Katja suddenly becomes aware that she is staring into your eyes and blushes.'
  313. act 'Thank Katja for the makeup': gt $temp_loc, $temp_loc_arg
  314. end
  315. act 'Heavy make-up':
  316. cla
  317. pcs_makeup = 4
  318. 'Katja applies some deeper, richer shades of makeup that are thick enough to cover most imperfections while drawing attention to your eyes and lips.'
  319. if katjaQW['QWstage'] > 2:katjaQW['horny'] += 5*(1 + npc_sex['A14']) & 'Katja suddenly becomes aware that she is staring into your eyes and blushes.'
  320. act 'Thank Katja for the makeup': gt $temp_loc, $temp_loc_arg
  321. end
  322. act 'You really don''t need it': gt $temp_loc, $temp_loc_arg
  323. end
  324. end
  325. if $ARGS[0] = 'willing_to_be_naughty':
  326. !! A version of katjaQW['slut'] modified for drug and alcohol use to make her more willing to do stuff when drunk and/or high
  327. temp = KatjaQW['slut']
  328. if katjaQW['under_influnece_of_cocaine'] > 0: temp += 10/katjaQW['coke_stage']
  329. temp += katjaQW['drinks']
  330. RESULT = temp
  331. end
  332. if $ARGS[0] = 'take_cocaine':
  333. !! Use if Katja takes cocaine. The extra argument is set to 1 if you only want the effect on her tolerance/addiction. Use it if she takes cocaine in a without the player character being present. The second extra argument is only used by the cikl argument in this file, such that Katja taking drugs counts for the day that just passed and not the day starting.
  334. if katjaQW['coke_stage'] = 0:
  335. katjaQW['slut'] += 10
  336. katjaQW['coke_stage'] = 1
  337. elseif katjaQW['coke_stage'] = 1:
  338. katjaQW['slut'] += 2
  339. elseif katjaQW['coke_stage'] = 2:
  340. katjaQW['slut'] += rand(1,2)
  341. elseif katjaQW['coke_stage'] = 3:
  342. katjaQW['slut'] += rand(0,1)
  343. end
  344. if katjaQW['coke_stage'] = -1 and rand(0,1) = 0: katjaQW['coke_stage'] = 4
  345. if ARGS[1] = 0:
  346. katjaQW['under_influnece_of_cocaine'] += 2
  347. if katjaQW['coke_stage'] > 0:
  348. katjaQW['horny'] += 4*(11-katjaQW['coke_stage'])
  349. else
  350. katjaQW['horny'] += 40
  351. end
  352. end
  353. if katjaQW['coke_stage'] < 3:
  354. katjaQW['coke_point'] += 1
  355. elseif katjaQW['coke_stage'] < 6:
  356. if katjaQW['coke_day'] + 7 > daystart - ARGS[2]: katjaQW['coke_point'] += 1
  357. elseif katjaQW['coke_stage'] < 8:
  358. if katjaQW['coke_day'] + 2 > daystart - ARGS[2]: katjaQW['coke_point'] += 1
  359. elseif katjaQW['coke_stage'] = 8:
  360. if katjaQW['coke_day'] = daystart - ARGS[2]: katjaQW['coke_point'] += 1
  361. end
  362. katjaQW['coke_day'] = daystart - ARGS[2]
  363. katjaQW['coke_day_lapse'] = 1
  364. end
  365. if $ARGS[0] = 'sex_set':
  366. !! Test to see if Katja have sex with somebody whiteout the player presents, and updates Katja''s stat accordingly. ARGS[1] is the number of boys Katja is with and ARGS[2] the number of girls.
  367. if ARGS[1] > 0:
  368. !! Katja was in a situation with one or more boys where she might have had sex if some of them.
  369. if katjaQW['simultanous_boys'] = 0 and rand(0,4) <= katjaQW['slut']/25:
  370. !! Katja have never had sex with a boy before
  371. if npc_vag['A14'] = 0 and npc_ass['A14'] = 0:
  372. if rand(0,4) = 0:
  373. npc_ass['A14'] += 2
  374. katjaQW['anal_sex'] = 1
  375. else
  376. npc_vag['A14'] += 2
  377. katjaQW['pussy_sex'] = 1
  378. end
  379. else
  380. if npc_vag['A14'] > 0 and rand(0,3) > 0:
  381. if katjaQW['pussy_sex'] = 0: katjaQW['pussy_sex'] = 1
  382. if npc_vag['A14'] < rand(5,10):
  383. npc_vag['A14'] += 2
  384. elseif npc_vag['A14'] < rand(10,20):
  385. npc_vag['A14'] += 1
  386. end
  387. else
  388. if rand(0,5) = 0:
  389. if npc_vag['A14'] < rand(10,20): npc_vag['A14'] += 2
  390. if katjaQW['pussy_sex'] = 0: katjaQW['pussy_sex'] = 1
  391. end
  392. end
  393. if npc_ass['A14'] > 0 and rand(0,3) > 0:
  394. if katjaQW['anal_sex'] = 0: katjaQW['anal_sex'] = 1
  395. if npc_ass['A14'] < rand(5,10):
  396. npc_ass['A14'] += 2
  397. elseif npc_ass['A14'] < rand(10,20):
  398. npc_ass['A14'] += 1
  399. end
  400. else
  401. if rand(0,7) = 0:
  402. if npc_ass['A14'] < rand(10,20): npc_vag['A14'] += 2
  403. if katjaQW['anal_sex'] = 0: katjaQW['anal_sex'] = 1
  404. end
  405. end
  406. end
  407. if npc_throat['A14'] > 0 and rand(0,7) > 0:
  408. if npc_throat['A14'] < rand(8,22): npc_throat['A14'] += 1
  409. else
  410. if rand(0,3) = 0 and npc_throat['A14'] < rand(8,22): npc_throat['A14'] += 1
  411. end
  412. !! It this case Katja will have sex with at most 2 of the boys present
  413. katjaQW['simultanous_boys'] = rand(1,min(2,ARGS[1]))
  414. katjaQW['slut'] += katjaQW['simultanous_boys']*5
  415. elseif katjaQW['simultanous_boys'] > 0 and rand(0,2) <= katjaQW['slut']/50:
  416. !! Katja have had sex with one or more boys before
  417. if npc_vag['A14'] > 0 and rand(0,3) > 0:
  418. if katjaQW['pussy_sex'] = 0: katjaQW['pussy_sex'] = 1
  419. if npc_vag['A14'] < rand(5,10):
  420. npc_vag['A14'] += 2
  421. elseif npc_vag['A14'] < rand(10,20):
  422. npc_vag['A14'] += 1
  423. end
  424. if katjaQW['creampie'] > 0 and rand(0,5) = 0: katjaQW['creampie'] += 1
  425. else
  426. if rand(0,5) = 0:
  427. if npc_vag['A14'] < rand(10,20): npc_vag['A14'] += 2
  428. if katjaQW['pussy_sex'] = 0: katjaQW['pussy_sex'] = 1
  429. end
  430. end
  431. if npc_ass['A14'] > 0 and rand(0,3) > 0:
  432. if katjaQW['anal_sex'] = 0: katjaQW['anal_sex'] = 1
  433. if npc_ass['A14'] < rand(5,10):
  434. npc_ass['A14'] += 2
  435. elseif npc_ass['A14'] < rand(10,20):
  436. npc_ass['A14'] += 1
  437. end
  438. else
  439. if rand(0,7) = 0:
  440. if npc_ass['A14'] < rand(10,20): npc_vag['A14'] += 2
  441. if katjaQW['anal_sex'] = 0: katjaQW['anal_sex'] = 1
  442. end
  443. end
  444. if npc_throat['A14'] > 0 and rand(0,7) > 0:
  445. if npc_throat['A14'] < rand(8,22): npc_throat['A14'] += 1
  446. else
  447. if rand(0,3) = 0 and npc_throat['A14'] < rand(8,22): npc_throat['A14'] += 1
  448. end
  449. !! In this case she can have sex with all the boys present
  450. katjaQW['simultanous_boys'] += max(0,rand(0,ARGS[1] - katjaQW['simultanous_boys']))
  451. katjaQW['slut'] += min(katjaQW['simultanous_boys'],ARGS[1])*3
  452. end
  453. end
  454. if ARGS[2] > 0:
  455. !! Katja was in a situation with one or more girls where she might have had sex if some of them.
  456. if katjaQW['simultanous_girls'] = 0 and rand(0,3) <= katjaQW['slut']/33:
  457. !! Katja have never had sex with a girl before
  458. if ARGS[1] = 0:
  459. if npc_vag['A14'] > 0 and rand(0,5) > 0 and npc_vag['A14'] < 15:
  460. npc_vag['A14'] += 1
  461. else
  462. if rand(0,9) = 0: npc_vag['A14'] += 1
  463. end
  464. if npc_ass['A14'] > 0 and rand(0,7) > 0 and npc_ass['A14'] < 15:
  465. npc_ass['A14'] += 1
  466. else
  467. if rand(0,14) = 0: npc_ass['A14'] += 1
  468. end
  469. if npc_throat['A14'] > 0 and rand(0,2) = 0 and npc_throat['A14'] < 15:
  470. npc_throat['A14'] += 1
  471. else
  472. if rand(0,6) = 0: npc_throat['A14'] += 1
  473. end
  474. end
  475. !! In this case Katja will have sex with at most 3 of the girls present
  476. katjaQW['simultanous_girls'] = rand(1,min(3,ARGS[1]))
  477. katjaQW['slut'] += katjaQW['simultanous_girls']*4
  478. elseif katjaQW['simultanous_girls'] > 0 and rand(0,1) <= katjaQW['slut']/50:
  479. !! Katja have had sex with one or more girls before
  480. if npc_vag['A14'] > 0 and rand(0,5) > 0:
  481. npc_vag['A14'] += 1
  482. else
  483. if rand(0,9) = 0: npc_vag['A14'] += 1
  484. end
  485. if npc_ass['A14'] > 0 and rand(0,7) > 0:
  486. npc_ass['A14'] += 1
  487. else
  488. if rand(0,14) = 0: npc_ass['A14'] += 1
  489. end
  490. if npc_throat['A14'] > 0 and rand(0,2) = 0:
  491. npc_throat['A14'] += 1
  492. else
  493. if rand(0,6) = 0: npc_throat['A14'] += 1
  494. end
  495. !! In this case she can have sex with all the girls present
  496. katjaQW['simultanous_girls'] += max(0,rand(0,ARGS[2] - katjaQW['simultanous_girls']))
  497. katjaQW['slut'] += min(katjaQW['simultanous_gitls'],ARGS[2])*2
  498. end
  499. end
  500. end
  501. --- katja_procedural ---------------------------------