body_structure.qsrc 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. # body_structure
  2. if $ARGS[0] = 'get_class':
  3. if ARGS[1] <= 15:
  4. result = 0
  5. elseif ARGS[1] <= 18:
  6. result = 100
  7. elseif ARGS[1] <= 21:
  8. result = 200
  9. elseif ARGS[1] <= 24:
  10. result = 300
  11. elseif ARGS[1] <= 29:
  12. result = 400
  13. elseif ARGS[1] <= 34:
  14. result = 500
  15. elseif ARGS[1] <= 39:
  16. result = 600
  17. elseif ARGS[1] <= 44:
  18. result = 700
  19. else
  20. result = 800
  21. end
  22. if ARGS[2] <= 5:
  23. result += 0
  24. elseif ARGS[2] <= 10:
  25. result += 1
  26. elseif ARGS[2] <= 15:
  27. result += 2
  28. elseif ARGS[2] <= 25:
  29. result += 3
  30. elseif ARGS[2] <= 35:
  31. result += 4
  32. elseif ARGS[2] <= 50:
  33. result += 5
  34. elseif ARGS[2] <= 70:
  35. result += 6
  36. elseif ARGS[2] <= 100:
  37. result += 7
  38. elseif ARGS[2] <= 110:
  39. result += 8
  40. elseif ARGS[2] <= 120:
  41. result += 9
  42. elseif ARGS[2] <= 130:
  43. result += 10
  44. elseif ARGS[2] <= 140:
  45. result += 11
  46. elseif ARGS[2] <= 150:
  47. result += 12
  48. elseif ARGS[2] <= 160:
  49. result += 13
  50. elseif ARGS[2] <= 170:
  51. result += 14
  52. elseif ARGS[2] <= 180:
  53. result += 15
  54. elseif ARGS[2] <= 190:
  55. result += 16
  56. else
  57. result += 17
  58. end
  59. end
  60. if $ARGS[0] = 'bmi_desc':
  61. if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
  62. if arrsize('ARGS') = 2: ARGS[2] = strenbuf
  63. bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
  64. if bs_temp_bs_class < 100:
  65. $result = 'You are severely underweight.'
  66. elseif bs_temp_bs_class < 200:
  67. $result = 'You are underweight'
  68. elseif bs_temp_bs_class < 300:
  69. $result = 'You have a normal, healthy weight.'
  70. elseif bs_temp_bs_class < 400:
  71. $result = 'You have a normal, healthy weight.'
  72. elseif bs_temp_bs_class < 500:
  73. $result = 'You are overweight.'
  74. elseif bs_temp_bs_class < 600:
  75. $result = 'You are moderately obese.'
  76. elseif bs_temp_bs_class < 700:
  77. $result = 'You are severely obese.'
  78. elseif bs_temp_bs_class < 800:
  79. $result = 'You are very severely obese.'
  80. else
  81. $result = 'You are morbidly obese.'
  82. end
  83. killvar 'bs_temp_bs_class'
  84. end
  85. ! For succubus call this as func('body_structure', pcs_bmi, 90)
  86. if $ARGS[0] = 'appearance_bonus':
  87. if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
  88. if arrsize('ARGS') = 2: ARGS[2] = strenbuf
  89. bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
  90. if bs_temp_bs_class < 100:
  91. !! severely underweight
  92. result = -10
  93. elseif bs_temp_bs_class < 200:
  94. !! underweight
  95. result = 25
  96. elseif bs_temp_bs_class < 300:
  97. !! healthy weight
  98. result = 50
  99. elseif bs_temp_bs_class < 400:
  100. !! healthy weight
  101. result = 50
  102. elseif bs_temp_bs_class < 500:
  103. !! overweight
  104. result = 25
  105. elseif bs_temp_bs_class < 600:
  106. !! moderately obese
  107. result = 10
  108. elseif bs_temp_bs_class < 700:
  109. !! severely obese
  110. result = -15
  111. elseif bs_temp_bs_class < 800:
  112. !! very severely obese
  113. result = -40
  114. else
  115. !! morbidly obese
  116. result = -80
  117. end
  118. bs_temp_bs_class = bs_temp_bs_class mod 100
  119. if bs_temp_bs_class = 0:
  120. result -= 30
  121. elseif bs_temp_bs_class = 1:
  122. result -= 20
  123. elseif bs_temp_bs_class = 2:
  124. result -= 15
  125. elseif bs_temp_bs_class = 3:
  126. result -= 10
  127. elseif bs_temp_bs_class = 4:
  128. result -= 5
  129. elseif bs_temp_bs_class = 5:
  130. result += 0
  131. elseif bs_temp_bs_class = 6:
  132. result += 5
  133. elseif bs_temp_bs_class = 7:
  134. result += 10
  135. elseif bs_temp_bs_class = 8:
  136. result += 5
  137. elseif bs_temp_bs_class = 9:
  138. result += 0
  139. elseif bs_temp_bs_class = 10:
  140. result -= 5
  141. elseif bs_temp_bs_class = 11:
  142. result -= 15
  143. elseif bs_temp_bs_class = 12:
  144. result -= 30
  145. elseif bs_temp_bs_class = 13:
  146. result -= 45
  147. elseif bs_temp_bs_class = 14:
  148. result -= 60
  149. elseif bs_temp_bs_class = 15:
  150. result -= 75
  151. elseif bs_temp_bs_class = 16:
  152. result -= 100
  153. else
  154. result -= 130
  155. end
  156. killvar 'bs_temp_bs_class'
  157. end
  158. if $ARGS[0] = 'body_img':
  159. if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600))):
  160. if PregChem <= 2687:
  161. $result = 'images/pc/body/shape/default_preg/0.jpg'
  162. elseif PregChem <= 6215:
  163. $result = 'images/pc/body/shape/default_preg/<<((PregChem - 2184)/504)>>.jpg'
  164. else
  165. $result = 'images/pc/body/shape/default_preg/8.jpg'
  166. end
  167. exit
  168. end
  169. if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
  170. if arrsize('ARGS') = 2: ARGS[2] = strenbuf
  171. bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
  172. if bdsetlock = 1:
  173. if fixbodset = 0:
  174. bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 4
  175. elseif fixbodset = 1:
  176. bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 6
  177. else
  178. bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 8
  179. end
  180. end
  181. ! starving:
  182. if bs_temp_bs_class <= 17:
  183. $result = 'images/pc/body/shape/0.jpg'
  184. ! underweight
  185. elseif bs_temp_bs_class <= 105:
  186. $result = 'images/pc/body/shape/default_low/1.jpg'
  187. elseif bs_temp_bs_class <= 107:
  188. $result = 'images/pc/body/shape/default_mid/1.jpg'
  189. elseif bs_temp_bs_class <= 117:
  190. $result = 'images/pc/body/shape/default_high/1.jpg'
  191. ! slender
  192. elseif bs_temp_bs_class <= 205:
  193. $result = 'images/pc/body/shape/default_low/2.jpg'
  194. elseif bs_temp_bs_class <= 207:
  195. $result = 'images/pc/body/shape/default_mid/2.jpg'
  196. elseif bs_temp_bs_class <= 217:
  197. $result = 'images/pc/body/shape/default_high/2.jpg'
  198. ! healthy
  199. elseif bs_temp_bs_class <= 305:
  200. $result = 'images/pc/body/shape/default_low/3.jpg'
  201. elseif bs_temp_bs_class <= 307:
  202. $result = 'images/pc/body/shape/default_mid/3.jpg'
  203. elseif bs_temp_bs_class <= 317:
  204. $result = 'images/pc/body/shape/default_high/3.jpg'
  205. ! overweight
  206. elseif bs_temp_bs_class <= 405:
  207. $result = 'images/pc/body/shape/default_low/4.jpg'
  208. elseif bs_temp_bs_class <= 407:
  209. $result = 'images/pc/body/shape/default_mid/4.jpg'
  210. elseif bs_temp_bs_class <= 417:
  211. $result = 'images/pc/body/shape/default_high/4.jpg'
  212. ! moderately obese
  213. elseif bs_temp_bs_class <= 517:
  214. elseif bs_temp_bs_class <= 505:
  215. $result = 'images/pc/body/shape/default_low/5.jpg'
  216. elseif bs_temp_bs_class <= 507:
  217. $result = 'images/pc/body/shape/default_mid/5.jpg'
  218. elseif bs_temp_bs_class <= 517:
  219. $result = 'images/pc/body/shape/default_high/5.jpg'
  220. ! severely obese
  221. elseif bs_temp_bs_class <= 617:
  222. $result = 'images/pc/body/shape/6.jpg'
  223. ! very severely obese
  224. elseif bs_temp_bs_class <= 717:
  225. $result = 'images/pc/body/shape/7.jpg'
  226. ! morbidly obese
  227. else
  228. $result = 'images/pc/body/shape/8.jpg'
  229. end
  230. killvar 'bs_temp_bs_class'
  231. end
  232. if $ARGS[0] = 'body_desc':
  233. if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600)):
  234. if PregChem <= 2687:
  235. $result = 'pregnant, but not showing'
  236. elseif PregChem <= 3191:
  237. $result = 'glowing'
  238. elseif PregChem <= 3695:
  239. $result = 'starting to show'
  240. elseif PregChem <= 4199:
  241. $result = 'clearly showing'
  242. elseif PregChem <= 4703:
  243. $result = 'fairly pregnant'
  244. elseif PregChem <= 5207:
  245. $result = 'quite pregnant'
  246. elseif PregChem <= 5711:
  247. $result = 'very pregnant'
  248. elseif PregChem <= 6215:
  249. $result = 'extremely pregnant'
  250. else
  251. $result = 'ready to pop'
  252. end
  253. exit
  254. end
  255. if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
  256. if arrsize('ARGS') = 2: ARGS[2] = strenbuf
  257. bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
  258. ! starving:
  259. if bs_temp_bs_class <= 17:
  260. $result = 'starving'
  261. ! underweight
  262. elseif bs_temp_bs_class <= 105:
  263. $result = 'underweight'
  264. elseif bs_temp_bs_class <= 107:
  265. $result = 'slight'
  266. elseif bs_temp_bs_class <= 117:
  267. $result = 'wiry'
  268. ! slender
  269. elseif bs_temp_bs_class <= 205:
  270. $result = 'slender'
  271. elseif bs_temp_bs_class <= 207:
  272. $result = 'skinny'
  273. elseif bs_temp_bs_class <= 217:
  274. $result = 'lean'
  275. ! healthy
  276. elseif bs_temp_bs_class <= 305:
  277. $result = 'healthy'
  278. elseif bs_temp_bs_class <= 307:
  279. $result = 'toned'
  280. elseif bs_temp_bs_class <= 317:
  281. $result = 'ripped'
  282. ! overweight
  283. elseif bs_temp_bs_class <= 405:
  284. $result = 'overweight'
  285. elseif bs_temp_bs_class <= 407:
  286. $result = 'curvy'
  287. elseif bs_temp_bs_class <= 417:
  288. $result = 'heavy set'
  289. ! moderately obese
  290. elseif bs_temp_bs_class <= 517:
  291. $result = 'moderately obese'
  292. ! severely obese
  293. elseif bs_temp_bs_class <= 617:
  294. $result = 'severely obese'
  295. ! very severely obese
  296. elseif bs_temp_bs_class <= 717:
  297. $result = 'very severely obese'
  298. ! morbidly obese
  299. else
  300. $result = 'morbidly obese'
  301. end
  302. killvar 'bs_temp_bs_class'
  303. end
  304. --- body_structure ---------------------------------