pain.qsrc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. # pain
  2. if $ARGS[0] = 'calc':
  3. paintmp1 = func('shortgs','modul',pain['head'],pain['hair'],pain['ears'],pain['eyebrows'],pain['eyes'],pain['cheeks'],pain['nose'],pain['mouth'])
  4. paintmp2 = func('shortgs','modul',pain['tummy'],pain['pubic'],pain['vaginal'],pain['labia'],pain['clitoris'],pain['urethra'],pain['cervix'],pain['lips'])
  5. paintmp3 = func('shortgs','modul',pain['throat'],pain['asscheeks'],pain['asshole'],pain['hips'],pain['thighs'],pain['legL'],pain['legR'],pain['feet'])
  6. paintmp4 = func('shortgs','modul',pain['toes'],pain['shoulders'],pain['armL'],pain['armR'],pain['hands'],pain['fingers'],pain['chest'],pain['breasts'])
  7. paintmp5 = func('shortgs','modul',pain['tongue'],pain['neck'],pain['back'],pain['nipples'],pain['ribs'],vgape * 2, agape * 4,spanked * 24)
  8. pain['total'] = func('shortgs','modul',paintmp1,paintmp2,paintmp3,paintmp4,paintmp5)
  9. if pain['total'] > 100: pain['total'] = 100
  10. pain['damage'] = pain['total']
  11. pain['relief'] = 0
  12. gs 'drugs', 'pain_relief'
  13. if pain['relief'] ! 0:
  14. if (pain['total'] / pain['relief']) > 0:
  15. pain['total'] = pain['total'] / pain['relief']
  16. elseif pain['total'] > 0:
  17. pain['total'] = 0
  18. end
  19. end
  20. if pain['total'] > 80:
  21. if (pcs_health * 5) >= healthmax: pcs_health = pcs_health * 20 / 100
  22. if (pcs_mood * 5) >= 100: pcs_mood = pcs_mood * 20 / 100
  23. elseif pain['total'] > 60:
  24. if (pcs_health * 5 / 2) >= healthmax: pcs_health = pcs_health * 40 / 100
  25. if (pcs_mood * 5 / 2) >= 100: pcs_mood = pcs_mood * 40 / 100
  26. elseif pain['total'] > 40:
  27. if (pcs_health * 5 / 3) >= healthmax: pcs_health = pcs_health * 60 / 100
  28. if (pcs_mood * 5 / 3) >= 100: pcs_mood = pcs_mood * 60 / 100
  29. elseif pain['total'] > 20:
  30. if (pcs_health * 5 / 4) >= healthmax: pcs_health = pcs_health * 80 / 100
  31. if (pcs_mood * 5 / 4) >= 100: pcs_mood = pcs_mood * 80 / 100
  32. elseif pain['total'] > 0:
  33. if (pcs_health * 10 / 9) >= healthmax: pcs_health = pcs_health * 90 / 100
  34. if (pcs_mood * 10 / 9) >= 100: pcs_mood = pcs_mood * 90 / 100
  35. end
  36. elseif $ARGS[0] = 'manage':
  37. !! first initialization
  38. if pain['timer'] <= 0 and pain['total'] > 0: pain['timer'] = totminut+10
  39. if pain['timer'] < totminut and pain['total'] > 0:
  40. tmp = max(1, (totminut - pain['timer']) / 10)
  41. if pain['hair'] > 0: pain['hair'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['hair'] ) * max(0, insleep)))
  42. if pain['head'] > 0: pain['head'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['head'] ) * max(0, insleep)))
  43. if pain['ears'] > 0: pain['ears'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['ears'] ) * max(0, insleep)))
  44. if pain['eyebrows'] > 0: pain['eyebrows'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['eyebrows'] ) * max(0, insleep)))
  45. if pain['eyes'] > 0: pain['eyes'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['eyes'] ) * max(0, insleep)))
  46. if pain['cheeks'] > 0: pain['cheeks'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['cheeks'] ) * max(0, insleep)))
  47. if pain['nose'] > 0: pain['nose'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['nose'] ) * max(0, insleep)))
  48. if pain['mouth'] > 0: pain['mouth'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['mouth'] ) * max(0, insleep)))
  49. if pain['lips'] > 0: pain['lips'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['lips'] ) * max(0, insleep)))
  50. if pain['tongue'] > 0: pain['tongue'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['tongue'] ) * max(0, insleep)))
  51. if pain['throat'] > 0: pain['throat'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['throat'] ) * max(0, insleep)))
  52. if pain['neck'] > 0: pain['neck'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['neck'] ) * max(0, insleep)))
  53. if pain['shoulders'] > 0: pain['shoulders'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['shoulders']) * max(0, insleep)))
  54. if pain['armL'] > 0: pain['armL'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['armL'] ) * max(0, insleep)))
  55. if pain['armR'] > 0: pain['armR'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['armR'] ) * max(0, insleep)))
  56. if pain['hands'] > 0: pain['hands'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['hands'] ) * max(0, insleep)))
  57. if pain['fingers'] > 0: pain['fingers'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['fingers'] ) * max(0, insleep)))
  58. if pain['chest'] > 0: pain['chest'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['chest'] ) * max(0, insleep)))
  59. if pain['ribs'] > 0: pain['ribs'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['ribs'] ) * max(0, insleep)))
  60. if pain['breasts'] > 0: pain['breasts'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['breasts'] ) * max(0, insleep)))
  61. if pain['nipples'] > 0: pain['nipples'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['nipples'] ) * max(0, insleep)))
  62. if pain['tummy'] > 0: pain['tummy'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['tummy'] ) * max(0, insleep)))
  63. if pain['back'] > 0: pain['back'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['back'] ) * max(0, insleep)))
  64. if pain['hips'] > 0: pain['hips'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['hips'] ) * max(0, insleep)))
  65. if pain['thighs'] > 0: pain['thighs'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['thighs'] ) * max(0, insleep)))
  66. if pain['pubic'] > 0: pain['pubic'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['pubic'] ) * max(0, insleep)))
  67. if pain['asscheeks'] > 0: pain['asscheeks'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['asscheeks']) * max(0, insleep)))
  68. if pain['asshole'] > 0: pain['asshole'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['asshole'] ) * max(0, insleep)))
  69. if pain['vaginal'] > 0: pain['vaginal'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['vaginal'] ) * max(0, insleep)))
  70. if pain['labia'] > 0: pain['labia'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['labia'] ) * max(0, insleep)))
  71. if pain['clitoris'] > 0: pain['clitoris'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['clitoris'] ) * max(0, insleep)))
  72. if pain['urethra'] > 0: pain['urethra'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['urethra'] ) * max(0, insleep)))
  73. if pain['cervix'] > 0: pain['cervix'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['cervix'] ) * max(0, insleep)))
  74. if pain['legL'] > 0: pain['legL'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['legL'] ) * max(0, insleep)))
  75. if pain['legR'] > 0: pain['legR'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['legR'] ) * max(0, insleep)))
  76. if pain['feet'] > 0: pain['feet'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['feet'] ) * max(0, insleep)))
  77. if pain['toes'] > 0: pain['toes'] -= max(rand(tmp/3, tmp), (rand(tmp/2, tmp) + rand(pain['toes'] ) * max(0, insleep)))
  78. i = arrsize('pain')
  79. :statpainloop
  80. if i > 0:
  81. i -= 1
  82. if pain[i] < 0: pain[i] = 0
  83. jump 'statpainloop'
  84. end
  85. gs 'pain', 'calc'
  86. !! 10 min here, but 30 when just received pain
  87. pain['timer'] = totminut+10
  88. killvar 'tmp'
  89. killvar 'i'
  90. end
  91. else
  92. !For checking pain and when applicable triggering arousal.
  93. !ARGS[0] magnitude of pain inflicted 1 is very light, 9 is the maximum value in the given way of causing pain
  94. !$ARGS[1] should equal the body part being hurt from any of the following:
  95. !BobyPart 'head', 'hair', 'ears', 'eyebrows', 'eyes', 'cheeks', 'nose', 'mouth', 'lips', 'tongue', 'throat', 'neck', 'back',
  96. !'asscheeks', 'asshole', 'hips', 'thighs', 'legL', 'legR', 'feet', 'toes', 'shoulders', 'armL', 'armR', 'handL', 'handR',
  97. !'fingers', 'chest', 'breasts', 'nipples', 'ribs', 'tummy', 'pubic', 'vaginal', 'labia', 'clitoris', 'urethra', 'cervix',
  98. !'wrists', 'ankles'
  99. !$ARGS[2] The action the participant has performed on Sveta (some of these can cause arousal if Sveta is into pain)
  100. !Acts: 'pierce', 'slap', 'spank', 'pinch', 'bite', 'burn', 'freeze', 'hit', 'kick', 'Slam', 'shock', 'bind', 'stretch'
  101. !'tear', 'break', 'twist', 'ache', 'cramp', 'labor', 'choke', 'fall', 'pull'
  102. !Format to use: gs 'pain', n, 'BobyPart', 'Act'
  103. !For pain to multiple body parts, use multiple calls
  104. pain[1] = min(ARGS[0]+ARGS[1]+ARGS[2],9)
  105. if pain[1]<1: exit
  106. pain[2] = 0
  107. if arrpos('$ARGS', 'slap') >= 0: pain[2] = 1
  108. if arrpos('$ARGS', 'bind') >= 0: pain[2] = 1
  109. if arrpos('$ARGS', 'spank') >= 0: pain[2] = 3 & spank += 1
  110. if arrpos('$ARGS', 'choke') >= 0: pain[2] = 3
  111. if arrpos('$ARGS', 'shock') >= 0: pain[2] = 4
  112. if arrpos('$ARGS', 'twist') >= 0: pain[2] = 4
  113. if arrpos('$ARGS', 'pull') >= 0: pain[2] = 4
  114. if arrpos('$ARGS', 'fall') >= 0: pain[2] = 4
  115. if arrpos('$ARGS', 'labor') >= 0: pain[2] = 4
  116. if arrpos('$ARGS', 'pinch') >= 0: pain[2] = 5
  117. if arrpos('$ARGS', 'stretch') >= 0: pain[2] = 6
  118. if arrpos('$ARGS', 'slam') >= 0: pain[2] = 6
  119. if arrpos('$ARGS', 'burn') >= 0: pain[2] = 7
  120. if arrpos('$ARGS', 'freeze') >= 0: pain[2] = 7
  121. if arrpos('$ARGS', 'hit') >= 0: pain[2] = 7
  122. if arrpos('$ARGS', 'pierce') >= 0: pain[2] = 8
  123. if arrpos('$ARGS', 'bite') >= 0: pain[2] = 8
  124. if arrpos('$ARGS', 'tear') >= 0: pain[2] = 9
  125. if arrpos('$ARGS', 'ache') >= 0: pain[2] = 9
  126. if arrpos('$ARGS', 'kick') >= 0: pain[2] = 10
  127. if arrpos('$ARGS', 'break') >= 0: pain[2] = 10
  128. if arrpos('$ARGS', 'cramp') >= 0: pain[2] = 10
  129. if pain[2]<1: exit
  130. pain[3] = 0
  131. if arrpos('$ARGS', 'hair') >= 0: pain[3] = 1 & $painPart = 'hair'
  132. if arrpos('$ARGS', 'asscheeks') >= 0: pain[3] = 2 & $painPart = 'asscheeks'
  133. if arrpos('$ARGS', 'feet') >= 0: pain[3] = 2 & $painPart = 'feet'
  134. if arrpos('$ARGS', 'shoulders') >= 0: pain[3] = 2 & $painPart = 'shoulders'
  135. if arrpos('$ARGS', 'wrists') >= 0: pain[3] = 2 & $painPart = 'wrists'
  136. if arrpos('$ARGS', 'ankles') >= 0: pain[3] = 2 & $painPart = 'ankles'
  137. if arrpos('$ARGS', 'armL') >= 0: pain[3] = 2 & $painPart = 'armL'
  138. if arrpos('$ARGS', 'armR') >= 0: pain[3] = 2 & $painPart = 'armR'
  139. if arrpos('$ARGS', 'cheeks') >= 0: pain[3] = 3 & $painPart = 'cheeks'
  140. if arrpos('$ARGS', 'legL') >= 0: pain[3] = 3 & $painPart = 'legL'
  141. if arrpos('$ARGS', 'legR') >= 0: pain[3] = 3 & $painPart = 'legR'
  142. if arrpos('$ARGS', 'hands') >= 0: pain[3] = 3 & $painPart = 'hands'
  143. if arrpos('$ARGS', 'mouth') >= 0: pain[3] = 4 & $painPart = 'mouth'
  144. if arrpos('$ARGS', 'jaw') >= 0: pain[3] = 4 & $painPart = 'jaw'
  145. if arrpos('$ARGS', 'thighs') >= 0: pain[3] = 4 & $painPart = 'thighs'
  146. if arrpos('$ARGS', 'toes') >= 0: pain[3] = 4 & $painPart = 'toes'
  147. if arrpos('$ARGS', 'fingers') >= 0: pain[3] = 4 & $painPart = 'fingers'
  148. if arrpos('$ARGS', 'nose') >= 0: pain[3] = 5 & $painPart = 'nose'
  149. if arrpos('$ARGS', 'back') >= 0: pain[3] = 5 & $painPart = 'back'
  150. if arrpos('$ARGS', 'ribs') >= 0: pain[3] = 5 & $painPart = 'ribs'
  151. if arrpos('$ARGS', 'hips') >= 0: pain[3] = 5 & $painPart = 'hips'
  152. if arrpos('$ARGS', 'head') >= 0: pain[3] = 6 & $painPart = 'head'
  153. if arrpos('$ARGS', 'ears') >= 0: pain[3] = 6 & $painPart = 'ears'
  154. if arrpos('$ARGS', 'eyebrows') >= 0: pain[3] = 6 & $painPart = 'eyebrows'
  155. if arrpos('$ARGS', 'lips') >= 0: pain[3] = 6 & $painPart = 'lips'
  156. if arrpos('$ARGS', 'throat') >= 0: pain[3] = 6 & $painPart = 'throat'
  157. if arrpos('$ARGS', 'tummy') >= 0: pain[3] = 6 & $painPart = 'tummy'
  158. if arrpos('$ARGS', 'pubic') >= 0: pain[3] = 6 & $painPart = 'pubic'
  159. if arrpos('$ARGS', 'urethra') >= 0: pain[3] = 6 & $painPart = 'urethra'
  160. if arrpos('$ARGS', 'tongue') >= 0: pain[3] = 7 & $painPart = 'tongue'
  161. if arrpos('$ARGS', 'neck') >= 0: pain[3] = 7 & $painPart = 'neck'
  162. if arrpos('$ARGS', 'chest') >= 0: pain[3] = 7 & $painPart = 'chest'
  163. if arrpos('$ARGS', 'eyes') >= 0: pain[3] = 8 & $painPart = 'eyes'
  164. if arrpos('$ARGS', 'breasts') >= 0: pain[3] = 8 & $painPart = 'breasts'
  165. if arrpos('$ARGS', 'vaginal') >= 0: pain[3] = 8 & $painPart = 'vaginal'
  166. if arrpos('$ARGS', 'labia') >= 0: pain[3] = 8 & $painPart = 'labia'
  167. if arrpos('$ARGS', 'cervix') >= 0: pain[3] = 8 & $painPart = 'cervix'
  168. if arrpos('$ARGS', 'asshole') >= 0: pain[3] = 9 & $painPart = 'asshole'
  169. if arrpos('$ARGS', 'nipples') >= 0: pain[3] = 9 & $painPart = 'nipples'
  170. if arrpos('$ARGS', 'clitoris') >= 0: pain[3] = 10 & $painPart = 'clitoris'
  171. if pain[3]<1: exit
  172. curpain = (pain[1] * pain[2] * pain[3]) /10
  173. prevpain = pain[$painPart]
  174. if arrpos('$ARGS', 'get') >= 0:
  175. RESULT = func('shortgs','modul',prevpain,curpain)
  176. else
  177. !! lastpain var can be used elsewhere, do not kill it
  178. $lastpain = $painPart
  179. lastpain = func('shortgs','modul',prevpain,curpain)
  180. pain[$painPart] = lastpain
  181. if pain[$painPart] > 100: pain[$painPart] = 100
  182. pain['timer'] = totminut+30
  183. end
  184. killvar 'prevpain'
  185. killvar 'curpain'
  186. killvar '$painPart'
  187. !arousal calculation
  188. !arousal += (pain[1] * pain[2]) * pain[3] * masochism['pref'] / 1000
  189. end
  190. --- pain ---------------------------------