shortgs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. # shortgs
  2. !! smoker - handles all changes which happen when PC smokes one cigarette
  3. !! use : gs 'shortgs','smoker'
  4. if $ARGS[0] = 'smoker':
  5. siga -= 1
  6. smoker += 1
  7. smokeHour = hour
  8. smokeDay = daystart
  9. smokeminut = minut + 5
  10. smokerNeed = 0
  11. cumspclnt = 2
  12. gs 'cum_cleanup'
  13. pcs_breath = 0
  14. pcs_mood += 100
  15. wipo += 100
  16. if pcs_energy < 80: pcs_energy += 4
  17. gs '$menu_obnovit'
  18. end &!--- smoker ---
  19. !! milk_me
  20. !! use href="exec:gt ''shortgs'',''milk_me''"
  21. if $ARGS[0] = 'milk_me':
  22. minut += 15
  23. if $location_type ! 'bathroom':
  24. 'You can''t use it here.'
  25. elseif lactatemv > 0 and pain['nipples'] < 60:
  26. '<center><img <<$set_imgh>> src="images/pc/body/tits/pump_lactating.jpg"></center>'
  27. 'You attach the pump to your breast and start rythmically squeezing the bulb until your breasts feel empty.<br>You give it a few more pumps and detach the pump.<br>You filled the bottle with <<lactatemv>>ml of your milk.'
  28. breastcounter += 1
  29. lactatemv = 0
  30. if breastpumped = 1:pain['nipples'] += 10 & 'Your nipples are feeling sore.'
  31. breastpumped = 1
  32. pcs_nips += rand(0,1)
  33. if bcream_used = 1:pcs_nips += 1
  34. elseif lactate = 0 and pain['nipples'] < 60:
  35. if rand(1,100) + breastcounter >= rand(100,200):
  36. '<center><img <<$set_imgh>> src="images/pc/body/tits/lactate_start.jpg"></center>'
  37. 'As usual, you attach the pump but after a few pumps white liquid suddenly starts spurting from your nipples.<br>You started lactating!'
  38. lactate = 1
  39. lactatemv = 0
  40. lactatemm = 10
  41. else
  42. '<center><img <<$set_imgh>> src="images/pc/body/tits/t<<tits>>.jpg"></center>'
  43. 'You attach the pump to your nipples and start squeezing the bulb. The vacuum feels good on your nipples.<br>A few droplets of liquid come out of your nipples but it is not milk.'
  44. breastcounter += 1
  45. if breastpumped = 1:pain['nipples'] += 10 & 'Your nipples are feeling sore.'
  46. breastpumped = 1
  47. pcs_nips += rand(0,1)
  48. if bcream_used = 1:pcs_nips += 1
  49. end
  50. else
  51. 'Your nipples feel too sore to use the pump right now.'
  52. end
  53. act 'Finish':gt $loc, $metka
  54. end &! --- milk_me ---
  55. !! following function counts the number of guys which PC slept with.
  56. !! use func('shortgs','guy') or func('shortgs','guy',X) for subset (X can be 'A','B','C','AB','AC','BC')
  57. if $ARGS[0] = 'guy':
  58. r_sht=0
  59. if $ARGS[1] = '': $temptask = 'ABC' else $temptask = $ARGS[1]
  60. :loop_shtty
  61. $temptaskchar = mid($temptask,1,1)
  62. $temptask = mid($temptask,2,len($temptask)-1)
  63. s_sht=0
  64. :loop_shya
  65. if s_sht<=dyneval("result = <<$temptaskchar>>arraynumber"):
  66. s_sht += 1
  67. if npc_sex['<<$temptaskchar>><<s_sht>>'] > 0: r_sht = r_sht + iif(npc_gender['<<$temptaskchar>><<s_sht>>'] = 0,1,0)
  68. jump 'loop_shya'
  69. end
  70. if len($temptask) > 0:jump 'loop_shtty'
  71. result = r_sht
  72. killvar 'r_sht'
  73. killvar '$temptask'
  74. killvar '$temptaskchar'
  75. killvar 's_sht'
  76. end &! --- guy ---
  77. !! following function counts the number of girls which PC slept with.
  78. !! use func('shortgs','girl') or func('shortgs','girl',X) for subset (X can be 'A','B','C','AB','AC','BC')
  79. if $ARGS[0] = 'girl':
  80. r_sht=0
  81. if $ARGS[1] = '': $temptask = 'ABC' else $temptask = $ARGS[1]
  82. :loop_shttl
  83. $temptaskchar = mid($temptask,1,1)
  84. $temptask = mid($temptask,2,len($temptask)-1)
  85. s_sht=0
  86. :loop_shl
  87. if s_sht<=dyneval("result = <<$temptaskchar>>arraynumber"):
  88. s_sht += 1
  89. if npc_sex['<<$temptaskchar>><<s_sht>>'] > 0: r_sht = r_sht + iif(npc_gender['<<$temptaskchar>><<s_sht>>'] = 1,1,0)
  90. jump 'loop_shl'
  91. end
  92. if len($temptask) > 0: jump 'loop_shttl'
  93. result = r_sht
  94. killvar 'r_sht'
  95. killvar '$temptask'
  96. killvar '$temptaskchar'
  97. killvar 's_sht'
  98. end &! --- girl ---
  99. !! following procedure should be used when PC gets naked, but it should be paired with the reverse procedure
  100. !! use gs 'shortgs','undress'
  101. if $ARGS[0] = 'undress':
  102. gs 'clothing','strip'
  103. gs 'underwear', 'remove'
  104. end &! --- undress ---
  105. !! reverse procedure, it can be modified for lose or stolen panties later.
  106. !! use gs 'shortgs','dress'
  107. if $ARGS[0] = 'dress':
  108. gs 'clothing','wear_last_worn'
  109. gs 'underwear', 'wear'
  110. end &! --- dress ---
  111. !! procedure, which prevents PC to leave a room naked.
  112. !! use gs 'shortgs','checkdress',' <<$loc>>,<<$metka>> ' or equivalent
  113. if $ARGS[0] = 'checkdress':
  114. if $clothingworntype = 'nude':
  115. msg '<b><font color="red">You need to get dressed before going out.</font></b>'
  116. dynamic 'gt <<$ARGS[1]>>'
  117. end
  118. end &! --- checkdress ---
  119. !! this is an integer sqrt function
  120. !! call func('shortgs','sqrt', n)
  121. if $ARGS[0] = 'sqrt':
  122. sqrtnum = ARGS[1]
  123. if sqrtnum = 0: result = 0 & exit
  124. sqrtn = sqrtnum/2 + 1
  125. sqrtn1 = (sqrtn + sqrtnum / sqrtn) / 2
  126. :sqrtloop
  127. if sqrtn1 < sqrtn:
  128. sqrtn = sqrtn1
  129. sqrtn1 = (sqrtn + sqrtnum / sqrtn) / 2
  130. jump 'sqrtloop'
  131. end
  132. result = sqrtn
  133. end
  134. !! this function calculates modul of given arguments as it was coordinates in cartezian systeme
  135. !! use func('shortgs','modul',n1,n2,..n8)
  136. if $ARGS[0] = 'modul':
  137. modul_sum = ARGS[1]*ARGS[1]+ARGS[2]*ARGS[2]+ARGS[3]*ARGS[3]+ARGS[4]*ARGS[4]+ARGS[5]*ARGS[5]+ARGS[6]*ARGS[6]+ARGS[7]*ARGS[7]+ARGS[8]*ARGS[8]
  138. result = func('shortgs','sqrt',modul_sum)
  139. killvar 'modul_sum'
  140. end
  141. !! day of week 1 - Monday .. 7 - Sunday
  142. if $ARGS[0] = 'dow':
  143. dow_a = (14 - month) / 12
  144. dow_Y = year - dow_a
  145. dow_M = month + 12*dow_a - 2
  146. dummy = (day + dow_y + dow_y/4 - dow_y/100 + dow_y/400 + (31*dow_m)/12) mod 7
  147. if dummy = 0: dummy = 7
  148. result = dummy
  149. end
  150. !! day of year
  151. if $ARGS[0] = 'doy':
  152. doy_N1 = 275 * ARGS[2] / 9
  153. doy_N2 = (ARGS[2] + 9) / 12
  154. doy_N3 = 1 + (ARGS[1] - 4 * (ARGS[1] / 4) + 2) / 3
  155. result = doy_N1 - (doy_N2 * doy_N3) + ARGS[3] - 30
  156. end
  157. if $ARGS[0] = 'mk':
  158. gs 'saveposition'
  159. *clr & cla
  160. $mk_subst['0'] = 'M' & $mk_subst['1'] = 'F' & $mk_subst['2'] = 'O' & $mk_subst['3'] = 'L' & $mk_subst['4'] = 'R' & $mk_subst['5'] = 'P'
  161. '<center><font face="courier" size=1>'
  162. '<table border = 1>'
  163. '<tr><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th>
  164. <th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></tr>'
  165. i = ArrSize('$MenCal')
  166. empty0 = week + 29 - i - 1
  167. empty1 = min(28,empty0)
  168. full1 = max(0,28 - empty0)
  169. empty2 = max(0,empty0-28)
  170. full2 = i - full1
  171. empty3 = 28 - empty2 - full2
  172. count=0
  173. $tabmc = '<tr>'
  174. :tabmcl1
  175. if empty1 > 0: empty1 -=1 & $tabmc +='<td>&nbsp</td>' & jump 'tabmcl1'
  176. :tabmcl2
  177. if full1 > 0:
  178. full1 -=1
  179. if $MenCal[count]='0': $tabmc +='<td bgcolor="red"><<$mk_subst[$MenCal[count]]>></td>' else $tabmc +='<td><<$mk_subst[$MenCal[count]]>></td>'
  180. count +=1
  181. jump 'tabmcl1'
  182. end
  183. $tabmc += '</tr><tr>'
  184. :tabmcl3
  185. if empty2 > 0: empty2 -=1 & $tabmc +='<td>&nbsp</td>' & jump 'tabmcl3'
  186. :tabmcl4
  187. if full2 > 0:
  188. full2 -=1
  189. if $MenCal[count]='0': $tabmc +='<td bgcolor="red"><<$mk_subst[$MenCal[count]]>></td>' else $tabmc +='<td><<$mk_subst[$MenCal[count]]>></td>'
  190. count +=1
  191. jump 'tabmcl4'
  192. end
  193. :tabmcl5
  194. if empty3 > 0: empty3 -=1 & $tabmc +='<td></td>' & jump 'tabmcl5'
  195. $tabmc += '</tr><table></font></center>'
  196. $tabmc
  197. act 'Back': gt 'restoreposition'
  198. end
  199. --- shortgs ---------------------------------