exercise.qsrc 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763
  1. # exercise
  2. !{This will centralize calls for exercise. For calls where you wish to allow multiple types of exercises, such as a bedroom or yard, use gs 'exercise', 'start'
  3. For direct calls use this format: gs 'exercise', $ARGS[0], ARG[1], $ARGS[2], $ARGS[3], $ARGS[4]
  4. $ARGS[0] is the workout tier and the higher the tier, the greater the workout intensity.
  5. Values: 'tier1' 'tier2' 'tier3' 'tier4'
  6. ARG[1] is the time override. By default the tiers are in 15 minute segments if being called from an event with predetermined time set this to 1
  7. Values: 0 (default of 15 minutes) 1 (time set to 0)
  8. $ARGS[2] and on are the stats to be affected by the workout NOTE: use the gs 'exp_gain', 'name of varibale' variant, not the pcs_!!!!
  9. Values: 'stren' 'vital' 'agil' 'sprt' 'react'
  10. Other stats can be added if desired - for a dance-a-thon you might use gs 'exercise', 'tier1', 0, 'agil', 'danc'
  11. }
  12. if $ARGS[0] = 'start':
  13. if (pcs_stam >=15 or pcs_stam >= 10 and mc_inventory['book_yoga'] + mc_inventory['hula_hoop'] > 0):
  14. 'There is enough space in the room to <a href="exec: gt ''exercise'', ''workout''">exercise</a>.'
  15. else
  16. 'There is enough space in the room for a variety of exercises, but you don''t have the energy to work out now.'
  17. end
  18. end
  19. if $ARGS[0] = 'workout':
  20. $menu_loc = 'exercise'
  21. $menu_arg = 'workout'
  22. menu_off = 0
  23. *clr & cla
  24. exer_menu = 0
  25. gs 'exercise', 'routines'
  26. clothesAtLocation = FUNC('lost_clothes_here',$loc)
  27. if $clothingworntype = 'nude' and clothesAtLocation = 1:
  28. act 'End workout and get dressed':
  29. cla
  30. minut += 5
  31. gs 'underwear', 'wear'
  32. gs 'clothing', 'recover_lost_clothes', $loc, 1
  33. gs 'stat'
  34. gt $loc, $loc_arg
  35. end
  36. else
  37. act 'End workout':
  38. gt $loc, $loc_arg
  39. end
  40. end
  41. if pcs_stam < stammax / 5:
  42. 'You do not have the energy/stamina to exercise currently'
  43. elseif $clothingworntype = 'nude' or $clothingworntype = 'danilovich_outfits':
  44. act 'Manual routines': gt 'exercise', 'manual'
  45. act 'Define routines': gt 'exercise', 'setup'
  46. if exer_stam[1] ! 0 and pcs_stam > exer_stam[1]: act '<<$excer_name[1]>> - (<<exer_stam[1]>> stamina)': exercisex = 1 & gt 'exercise', 'auto'
  47. if exer_stam[2] ! 0 and pcs_stam > exer_stam[2]: act '<<$excer_name[2]>> - (<<exer_stam[2]>> stamina)': exercisex = 2 & gt 'exercise', 'auto'
  48. if exer_stam[3] ! 0 and pcs_stam > exer_stam[3]: act '<<$excer_name[3]>> - (<<exer_stam[3]>> stamina)': exercisex = 3 & gt 'exercise', 'auto'
  49. if exer_stam[4] ! 0 and pcs_stam > exer_stam[4]: act '<<$excer_name[4]>> - (<<exer_stam[4]>> stamina)': exercisex = 4 & gt 'exercise', 'auto'
  50. if exer_stam[5] ! 0 and pcs_stam > exer_stam[5]: act '<<$excer_name[5]>> - (<<exer_stam[5]>> stamina)': exercisex = 5 & gt 'exercise', 'auto'
  51. else
  52. '<b>You need to equip the proper attire before you can exercise</b>'
  53. end
  54. end
  55. if $ARGS[0] = 'auto':
  56. exer_auto = 1
  57. if exer_rout0[exercisex] > 0:
  58. timemult = exer_rout0[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  59. elseif exer_rout1[exercisex] > 0:
  60. timemult = exer_rout1[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  61. elseif exer_rout2[exercisex] > 0:
  62. timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  63. elseif exer_rout3[exercisex] > 0:
  64. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  65. elseif exer_rout4[exercisex] > 0:
  66. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  67. elseif exer_rout5[exercisex] > 0:
  68. timemult = exer_rout5[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  69. end
  70. end
  71. if $ARGS[0] = 'auto1':
  72. if exer_rout1[exercisex] > 0:
  73. timemult = exer_rout1[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  74. elseif exer_rout2[exercisex] > 0:
  75. timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  76. elseif exer_rout3[exercisex] > 0:
  77. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  78. elseif exer_rout4[exercisex] > 0:
  79. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  80. elseif exer_rout5[exercisex] > 0:
  81. timemult = exer_rout5[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  82. else
  83. gt 'exercise', 'auto_end'
  84. end
  85. end
  86. if $ARGS[0] = 'auto2':
  87. if exer_rout2[exercisex] > 0:
  88. timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  89. elseif exer_rout3[exercisex] > 0:
  90. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  91. elseif exer_rout4[exercisex] > 0:
  92. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  93. elseif exer_rout5[exercisex] > 0:
  94. timemult = exer_rout5[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  95. else
  96. gt 'exercise', 'auto_end'
  97. end
  98. end
  99. if $ARGS[0] = 'auto3':
  100. if exer_rout3[exercisex] > 0:
  101. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  102. elseif exer_rout4[exercisex] > 0:
  103. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  104. elseif exer_rout5[exercisex] > 0:
  105. timemult = exer_rout5[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  106. else
  107. gt 'exercise', 'auto_end'
  108. end
  109. end
  110. if $ARGS[0] = 'auto4':
  111. if exer_rout4[exercisex] > 0:
  112. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  113. elseif exer_rout5[exercisex] > 0:
  114. timemult = exer_rout5[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  115. else
  116. gt 'exercise', 'auto_end'
  117. end
  118. end
  119. if $ARGS[0] = 'auto5':
  120. if exer_rout5[exercisex] > 0:
  121. timemult = exer_rout5[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  122. else
  123. gt 'exercise', 'auto_end'
  124. end
  125. end
  126. if $ARGS[0] = 'auto_end':
  127. exer_auto = 0
  128. gt 'exercise', 'workout'
  129. end
  130. if $ARGS[0] = 'manual':
  131. $menu_loc = 'exercise'
  132. $menu_arg = 'manual'
  133. menu_off = 0
  134. cla
  135. act 'Return':gt 'exercise', 'workout'
  136. if pcs_stam < 5 * (10 - sport_clothes_exercise_bonus):
  137. 'You don''t have the energy/stamina to work out anymore now.'
  138. else
  139. act 'Do pushups':
  140. cla
  141. act 'Return':gt 'exercise', 'manual'
  142. if pcs_stam >= (15*1 * (10 - sport_clothes_exercise_bonus)) / 2: act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  143. if pcs_stam >= (15*2 * (10 - sport_clothes_exercise_bonus)) / 2: act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  144. if pcs_stam >= (15*3 * (10 - sport_clothes_exercise_bonus)) / 2: act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  145. if pcs_stam >= (15*4 * (10 - sport_clothes_exercise_bonus)) / 2: act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  146. end
  147. act 'Do crunches':
  148. cla
  149. act 'Return':gt 'exercise', 'manual'
  150. if pcs_stam >= (15*1 * (10 - sport_clothes_exercise_bonus)) / 2: act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  151. if pcs_stam >= (15*2 * (10 - sport_clothes_exercise_bonus)) / 2: act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  152. if pcs_stam >= (15*3 * (10 - sport_clothes_exercise_bonus)) / 2: act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  153. if pcs_stam >= (15*4 * (10 - sport_clothes_exercise_bonus)) / 2: act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  154. end
  155. act 'Do squats':
  156. cla
  157. act 'Return':gt 'exercise', 'manual'
  158. if pcs_stam >= 5*1 * (10 - sport_clothes_exercise_bonus): act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  159. if pcs_stam >= 5*2 * (10 - sport_clothes_exercise_bonus): act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  160. if pcs_stam >= 5*3 * (10 - sport_clothes_exercise_bonus): act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  161. if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
  162. end
  163. if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow':
  164. act 'Jump rope':
  165. cla
  166. act 'Return':gt 'exercise', 'manual'
  167. if pcs_stam >= (15*1 * (10 - sport_clothes_exercise_bonus)) / 2: act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  168. if pcs_stam >= (15*2 * (10 - sport_clothes_exercise_bonus)) / 2: act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  169. if pcs_stam >= (15*3 * (10 - sport_clothes_exercise_bonus)) / 2: act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  170. if pcs_stam >= (15*4 * (10 - sport_clothes_exercise_bonus)) / 2: act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  171. end
  172. end
  173. if mc_inventory['book_yoga'] > 0:
  174. act 'Do yoga':
  175. cla
  176. act 'Return':gt 'exercise', 'manual'
  177. if pcs_stam >= 5*1 * (10 - sport_clothes_exercise_bonus): act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  178. if pcs_stam >= 5*2 * (10 - sport_clothes_exercise_bonus): act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  179. if pcs_stam >= 5*3 * (10 - sport_clothes_exercise_bonus): act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  180. if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  181. end
  182. end
  183. if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow':
  184. act 'Use your hula hoop':
  185. cla
  186. act 'Return':gt 'exercise', 'manual'
  187. if pcs_stam >= 5*1 * (10 - sport_clothes_exercise_bonus): act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  188. if pcs_stam >= 5*2 * (10 - sport_clothes_exercise_bonus): act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  189. if pcs_stam >= 5*3 * (10 - sport_clothes_exercise_bonus): act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  190. if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  191. end
  192. end
  193. if pcs_stam < (15*1 * (10 - sport_clothes_exercise_bonus)) / 2:
  194. delact 'Jump rope'
  195. delact 'Do crunches'
  196. delact 'Do pushups'
  197. end
  198. end
  199. end
  200. if $ARGS[0] = 'routines':
  201. *clr & cla
  202. '<center><h2>Exercise Routines</h2></center>'
  203. *nl
  204. '<center><table>'
  205. '<TD><b>Routine</b></TD><TD><b>Push ups</b></TD><TD><b>Crunches</b></TD><TD><b>Jump rope</b></TD><TD><b>Yoga</TD><TD><b>Hula hoop</b></TD><TD><b>Squats</b></TD>'
  206. '<TR><TD width="100" cellspacing="2" align="left">'+iif(exer_menu = 1,'<a href="exec:$excer_name[1] = input (''<center>Enter name for exercise routine 1<br>Leave blank to restore default name.</center>'') & gs ''exercise'', ''rename'' & gt ''exercise'', ''setup''"><<$excer_name[1]>>:</a> ','<<$excer_name[1]>>:</a> ')+'</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout0[1]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout1[1]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout2[1]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout3[1]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout4[1]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout5[1]*15>></b> minutes</TD>'
  207. '<TR><TD width="100" cellspacing="2" align="left">'+iif(exer_menu = 1,'<a href="exec:$excer_name[2] = input (''<center>Enter name for exercise routine 2<br>Leave blank to restore default name.</center>'') & gs ''exercise'', ''rename'' & gt ''exercise'', ''setup''"><<$excer_name[2]>>:</a> ','<<$excer_name[2]>>:</a> ')+'</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout0[2]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout1[2]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout2[2]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout3[2]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout4[2]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout5[2]*15>></b> minutes</TD>'
  208. '<TR><TD width="100" cellspacing="2" align="left">'+iif(exer_menu = 1,'<a href="exec:$excer_name[3] = input (''<center>Enter name for exercise routine 3<br>Leave blank to restore default name.</center>'') & gs ''exercise'', ''rename'' & gt ''exercise'', ''setup''"><<$excer_name[3]>>:</a> ','<<$excer_name[3]>>:</a> ')+'</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout0[3]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout1[3]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout2[3]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout3[3]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout4[3]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout5[3]*15>></b> minutes</TD>'
  209. '<TR><TD width="100" cellspacing="2" align="left">'+iif(exer_menu = 1,'<a href="exec:$excer_name[4] = input (''<center>Enter name for exercise routine 4<br>Leave blank to restore default name.</center>'') & gs ''exercise'', ''rename'' & gt ''exercise'', ''setup''"><<$excer_name[4]>>:</a> ','<<$excer_name[4]>>:</a> ')+'</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout0[4]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout1[4]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout2[4]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout3[4]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout4[4]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout5[4]*15>></b> minutes</TD>'
  210. '<TR><TD width="100" cellspacing="2" align="left">'+iif(exer_menu = 1,'<a href="exec:$excer_name[5] = input (''<center>Enter name for exercise routine 5<br>Leave blank to restore default name.</center>'') & gs ''exercise'', ''rename'' & gt ''exercise'', ''setup''"><<$excer_name[5]>>:</a> ','<<$excer_name[5]>>:</a> ')+'</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout0[5]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout1[5]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout2[5]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout3[5]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout4[5]*15>></b> minutes</TD><TD width="100" cellspacing="2" align="left"><b><<exer_rout5[5]*15>></b> minutes</TD>'
  211. '<TR><TD colspan="7"><br><br><center><a href="exec:gt ''exercise'', ''setup''">Define up to 5 automated exercise routines.</a></center></TD></TR>'
  212. '</table></center>'
  213. *nl
  214. end
  215. if $ARGS[0] = 'setup':
  216. $menu_loc = 'exercise'
  217. $menu_arg = 'setup'
  218. menu_off = 0
  219. *clr & cla
  220. exer_menu = 1
  221. gs 'exercise', 'routines'
  222. act 'Return': gt 'exercise', 'workout'
  223. act 'Define <<$excer_name[1]>>':stamindx = 1 & gt 'exercise', 'matrix'
  224. act 'Rename <<$excer_name[1]>>':
  225. $excer_name[1] = input ('<center>Enter name for exercise routine 1<br>Leave blank to restore default name.</center>')
  226. gs 'exercise', 'rename'
  227. gt 'exercise', 'setup'
  228. end
  229. act 'Define <<$excer_name[2]>>':stamindx = 2 & gt 'exercise', 'matrix'
  230. act 'Rename <<$excer_name[2]>>':
  231. $excer_name[2] = input ('<center>Enter name for exercise routine 2<br>Leave blank to restore default name.</center>')
  232. gs 'exercise', 'rename'
  233. gt 'exercise', 'setup'
  234. end
  235. act 'Define <<$excer_name[3]>>':stamindx = 3 & gt 'exercise', 'matrix'
  236. act 'Rename <<$excer_name[3]>>':
  237. $excer_name[3] = input ('<center>Enter name for exercise routine 3<br>Leave blank to restore default name.</center>')
  238. gs 'exercise', 'rename'
  239. gt 'exercise', 'setup'
  240. end
  241. act 'Define <<$excer_name[4]>>':stamindx = 4 & gt 'exercise', 'matrix'
  242. act 'Rename <<$excer_name[4]>>':
  243. $excer_name[4] = input ('<center>Enter name for exercise routine 4<br>Leave blank to restore default name.</center>')
  244. gs 'exercise', 'rename'
  245. gt 'exercise', 'setup'
  246. end
  247. act 'Define <<$excer_name[5]>>':stamindx = 5 & gt 'exercise', 'matrix'
  248. act 'Rename <<$excer_name[5]>>':
  249. $excer_name[5] = input ('<center>Enter name for exercise routine 5<br>Leave blank to restore default name.</center>')
  250. gs 'exercise', 'rename'
  251. gt 'exercise', 'setup'
  252. end
  253. !!exer_rout1 = default
  254. end
  255. if $ARGS[0] = 'rename':
  256. if $excer_name[1] = '':$excer_name[1] = 'Default 1'
  257. if $excer_name[2] = '':$excer_name[2] = 'Default 2'
  258. if $excer_name[3] = '':$excer_name[3] = 'Default 3'
  259. if $excer_name[4] = '':$excer_name[4] = 'Default 4'
  260. if $excer_name[5] = '':$excer_name[5] = 'Default 5'
  261. end
  262. if $ARGS[0] = 'matrix':
  263. *clr & cla
  264. exer_stam[stamindx] = exer_stam0[stamindx] + exer_stam1[stamindx] + exer_stam2[stamindx] + exer_stam3[stamindx] + exer_stam4[stamindx] + exer_stam5[stamindx]
  265. act'Confirm': gt 'exercise', 'setup'
  266. 'Choose your exercise options from the following table:'
  267. '<center><table border=0 cellspacing=0 cellpadding=10 width=1000><TH>Exercise</TH><TH>None</TH><TH>15 mins</TH><TH>30 mins</TH><TH>45 mins</TH><TH>60 mins</TH>'
  268. gs 'exercise', 'matrixdata', 0, 'Push ups'
  269. gs 'exercise', 'matrixdata', 1, 'Crunches'
  270. if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow': gs 'exercise', 'matrixdata', 2, 'Jump rope'
  271. if mc_inventory['book_yoga'] > 0: gs 'exercise', 'matrixdata', 3, 'Yoga'
  272. if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow': gs 'exercise', 'matrixdata', 4, 'Hula hoop'
  273. gs 'exercise', 'matrixdata', 5, 'Squats'
  274. '</center></table>'
  275. *nl
  276. 'Total stamina required - <<exer_stam[stamindx]>>'
  277. end
  278. if $ARGS[0] = 'matrixdata':
  279. '<TR>'
  280. *p '<TD><<$ARGS[2]>></TD>'
  281. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<stamindx>>]') = 0:
  282. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = 0'
  283. *p '<TD>Selected</TD>'
  284. else
  285. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[stamindx] = 0'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  286. end
  287. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<stamindx>>]') = 1:
  288. if ARGS[1] >= 3:
  289. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = 5 * (10 - sport_clothes_exercise_bonus)'
  290. else
  291. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = (15 * (10 - sport_clothes_exercise_bonus)) / 2'
  292. end
  293. *p '<TD>Selected</TD>'
  294. else
  295. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[stamindx] = 1'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  296. end
  297. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<stamindx>>]') = 2:
  298. if ARGS[1] >= 3:
  299. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = 10 * (10 - sport_clothes_exercise_bonus)'
  300. else
  301. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = (30 * (10 - sport_clothes_exercise_bonus)) / 2'
  302. end
  303. *p '<TD>Selected</TD>'
  304. else
  305. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[stamindx] = 2'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  306. end
  307. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<stamindx>>]') = 3:
  308. if ARGS[1] >= 3:
  309. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = 15 * (10 - sport_clothes_exercise_bonus)'
  310. else
  311. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = (45 * (10 - sport_clothes_exercise_bonus)) / 2'
  312. end
  313. *p '<TD>Selected</TD>'
  314. else
  315. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[stamindx] = 3'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  316. end
  317. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<stamindx>>]') = 4:
  318. if ARGS[1] >= 3:
  319. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = 20 * (10 - sport_clothes_exercise_bonus)'
  320. else
  321. dynamic 'exer_stam<<ARGS[1]>>[<<stamindx>>] = (60 * (10 - sport_clothes_exercise_bonus)) / 2'
  322. end
  323. *p '<TD>Selected</TD>'
  324. else
  325. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[stamindx] = 4'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  326. end
  327. exer_stam[stamindx] = exer_stam0[stamindx] + exer_stam1[stamindx] + exer_stam2[stamindx] + exer_stam3[stamindx] + exer_stam4[stamindx] + exer_stam5[stamindx]
  328. end
  329. if $ARGS[0] = 'butt':
  330. cla
  331. *clr
  332. gs 'exercise', 'tier2', (15*timemult), 'stren', 'butt_tr'
  333. timemult = 0
  334. if $clothingworntype ! 'nude':
  335. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/butt_home_dressed.jpg"></center>'
  336. elseif $pantyworntype ! 'none':
  337. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/butt_home_underwear.jpg"></center>'
  338. else
  339. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/butt_home_nude.jpg"></center>'
  340. end
  341. 'You do squats for <<$timestring>> minutes, strengthening your thighs and scupting your butt.'
  342. gs 'stat'
  343. if exer_auto = 1:
  344. act 'Continue': gt 'exercise', 'auto_end'
  345. else
  346. act 'Continue': gt 'exercise', 'manual'
  347. end
  348. end
  349. if $ARGS[0] = 'hula':
  350. cla
  351. *clr
  352. gs 'exercise', 'tier2', (timemult*15), 'agil', 'react'
  353. timemult = 0
  354. if $clothingworntype ! 'nude':
  355. if $location_type = 'secluded':
  356. if month >=5 and month <= 9:
  357. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/hula_outdoor.jpg"></center>'
  358. else
  359. '<center><video autoplay loop src="images/pc/activities/exercises/hula_winter.mp4"></video></center>'
  360. end
  361. else
  362. '<center><video autoplay loop src="images/pc/activities/exercises/hula_dressed.mp4"></video></center>'
  363. end
  364. elseif $pantyworntype ! 'none':
  365. '<center><video autoplay loop src="images/pc/activities/exercises/hula_underwear.mp4"></video></center>'
  366. else
  367. '<center><video autoplay loop src="images/pc/activities/exercises/hula_nude.mp4"></video></center>'
  368. end
  369. 'You improve your dexterity by using your hula hoop for <<$timestring>> minutes.'
  370. gs 'stat'
  371. if exer_auto = 1:
  372. act 'Continue': gt 'exercise', 'auto5'
  373. else
  374. act 'Continue': gt 'exercise', 'manual'
  375. end
  376. end
  377. if $ARGS[0] = 'yoga':
  378. *clr & cla
  379. gs 'exercise', 'tier2', (timemult*15), 'sprt', 'agil'
  380. if willday_yoga ! daystart:
  381. willday_yoga = daystart
  382. yoga_counter = 4
  383. end
  384. :timeloopyoga
  385. if yoga_counter > 0 and timemult > 0:
  386. pcs_willpwr += rand(1,2)
  387. yoga_counter -= 1
  388. timemult -= 1
  389. if yoga_counter = 0: will_counter += 1
  390. jump 'timeloopyoga'
  391. end
  392. timemult = 0
  393. if $clothingworntype ! 'nude':
  394. if $location_type = 'secluded':
  395. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/yoga_dressed_outdoor.jpg"></center>'
  396. else
  397. '<center><video autoplay loop src="images/pc/activities/exercises/yoga_dressed.mp4"></video></center>'
  398. end
  399. elseif $pantyworntype ! 'none':
  400. '<center><video autoplay loop src="images/pc/activities/exercises/yoga_underwear.mp4"></video></center>'
  401. else
  402. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/yoga_nude.jpg"></center>'
  403. end
  404. 'You spend <<$timestring>> minutes stretching and straining your muscles in various poses, improving your will and flexibility.'
  405. gs 'stat'
  406. if exer_auto = 1:
  407. act 'Continue': gt 'exercise', 'auto4'
  408. else
  409. act 'Continue': gt 'exercise', 'manual'
  410. end
  411. end
  412. if $ARGS[0] = 'rope':
  413. cla
  414. *clr
  415. gs 'exercise', 'tier3', (15*timemult), 'agil', 'react'
  416. timemult = 0
  417. if $clothingworntype ! 'nude':
  418. '<center><video autoplay loop src="images/pc/activities/exercises/rope_dressed.mp4"></video></center>'
  419. elseif $pantyworntype ! 'none':
  420. '<center><img <<$set_imgh>> src="images/pc/activities/exercises/rope_underwear.jpg"></center>'
  421. else
  422. '<center><video autoplay loop src="images/pc/activities/exercises/rope_nude.mp4"></video></center>'
  423. end
  424. 'You jump rope for <<$timestring>> minutes, improving your speed.'
  425. gs 'stat'
  426. if exer_auto = 1:
  427. act 'Continue': gt 'exercise', 'auto3'
  428. else
  429. act 'Continue': gt 'exercise', 'manual'
  430. end
  431. end
  432. if $ARGS[0] = 'press':
  433. cla
  434. *clr
  435. gs 'exercise', 'tier3', (15*timemult), 'vital'
  436. timemult = 0
  437. if $clothingworntype ! 'nude':
  438. '<center><video autoplay loop src="images/pc/activities/exercises/abdominal_dressed.mp4"></video></center>'
  439. elseif $pantyworntype ! 'none':
  440. '<center><video autoplay loop src="images/pc/activities/exercises/abdominal_underwear.mp4"></video></center>'
  441. else
  442. '<center><video autoplay loop src="images/pc/activities/exercises/abdominal_nude.mp4"></video></center>'
  443. end
  444. 'You do a series of abdominal exercises for <<$timestring>> minutes, improving your endurance.'
  445. gs 'stat'
  446. if exer_auto = 1:
  447. act 'Continue': gt 'exercise', 'auto2'
  448. else
  449. act 'Continue': gt 'exercise', 'manual'
  450. end
  451. end
  452. if $ARGS[0] = 'push':
  453. cla
  454. *clr
  455. gs 'exercise', 'tier3', (15*timemult), 'stren'
  456. timemult = 0
  457. if $clothingworntype ! 'nude':
  458. '<center><video autoplay loop src="images/pc/activities/exercises/push_dressed.mp4"></video></center>'
  459. elseif $pantyworntype ! 'none':
  460. '<center><video autoplay loop src="images/pc/activities/exercises/push_underwear.mp4"></video></center>'
  461. else
  462. '<center><video autoplay loop src="images/pc/activities/exercises/push_nude.mp4"></video></center>'
  463. end
  464. 'You do push-ups for <<$timestring>> minutes, improving your strength.'
  465. randpushfact = rand(-5,5)
  466. if pcs_energy < 40: randpushfact -= RAND(1,10)
  467. pushnum = (pcs_stren * pcs_sleep * pcs_health) / ( 1 * 67 * healthmax) + randpushfact
  468. if pushnum < 1: pushnum = rand(1,5)
  469. KILLVAR 'randpushfact'
  470. '<br>You managed to do <<pushnum>> push-ups. Your previous record is <<pushrecord>>.'
  471. if pushrecord < pushnum:pushrecord = pushnum & 'This is a new record!'
  472. gs 'stat'
  473. if exer_auto = 1:
  474. act 'Continue': gt 'exercise', 'auto1'
  475. else
  476. act 'Continue': gt 'exercise', 'manual'
  477. end
  478. end
  479. if $ARGS[0] = 'tier1':
  480. if ARGS[1] = 0:
  481. minut += 15
  482. mult = 1
  483. if pcs_traits['fitness_freak'] = 1: pcs_horny += 15
  484. else
  485. minut += ARGS[1]
  486. mult = (ARGS[1]-1)/15 + 1
  487. if pcs_traits['fitness_freak'] = 1: pcs_horny += ARGS[1] / 2
  488. end
  489. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  490. pcs_stam -= (5*mult * (10 - sport_clothes_exercise_bonus)) / 2
  491. gs 'sweat', 'add', (3*mult)
  492. fat -= (4 + mult/2)
  493. pcs_energy -= 1*mult
  494. pcs_hydra -= 2*mult
  495. pcs_mood += (3 + mult)
  496. mcnt = 0
  497. :timeexploop1
  498. if $ARGS[3] = '':
  499. gs 'exp_gain', $ARGS[2], 1
  500. if $ARGS[2] = 'vital' or $ARGS[2] = 'stren':
  501. gs 'exp_gain', $ARGS[2], rand(0, drugVars['steroids_dose'])
  502. if drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  503. end
  504. else
  505. i = 2
  506. :exploop1
  507. if $ARGS[i] ! '':
  508. gs 'exp_gain', $ARGS[i], rand(0,1)
  509. if $ARGS[i] = 'vital' or $ARGS[i] = 'stren':
  510. gs 'exp_gain', $ARGS[i], rand(0, drugVars['steroids_dose'])
  511. steroidcheck = 1
  512. end
  513. i += 1
  514. jump 'exploop1'
  515. end
  516. if steroidcheck = 1 and drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  517. killvar 'steroidcheck'
  518. killvar 'i'
  519. end
  520. mcnt += 1
  521. if mcnt < mult: jump 'timeexploop1'
  522. stat['last_workout_trig'] = 1
  523. killvar 'mcnt'
  524. killvar 'mult'
  525. end
  526. if $ARGS[0] = 'tier2':
  527. if ARGS[1] = 0:
  528. minut += 15
  529. mult = 1
  530. if pcs_traits['fitness_freak'] = 1: pcs_horny += 15
  531. else
  532. minut += ARGS[1]
  533. mult = (ARGS[1]-1)/15 + 1
  534. if pcs_traits['fitness_freak'] = 1: pcs_horny += ARGS[1] / 2
  535. end
  536. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  537. pcs_stam -= 5*mult * (10 - sport_clothes_exercise_bonus)
  538. gs 'sweat', 'add', (10*mult)
  539. fat -= (3 + mult/2)
  540. pcs_energy -= 2*mult
  541. pcs_hydra -= 4*mult
  542. pcs_mood += (5 + mult)
  543. mcnt = 0
  544. :timeexploop2
  545. if $ARGS[3] = '':
  546. gs 'exp_gain', $ARGS[2], rand(2,3)
  547. if $ARGS[2] = 'vital' or $ARGS[2] = 'stren':
  548. gs 'exp_gain', $ARGS[2], rand(0, drugVars['steroids_dose'])
  549. if drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  550. end
  551. else
  552. i = 2
  553. :exploop2
  554. if $ARGS[i] ! '':
  555. gs 'exp_gain', $ARGS[i], rand(1,2)
  556. if $ARGS[i] = 'vital' or $ARGS[i] = 'stren':
  557. gs 'exp_gain', $ARGS[i], rand(0, drugVars['steroids_dose'])
  558. steroidcheck = 1
  559. end
  560. i += 1
  561. jump 'exploop2'
  562. end
  563. if steroidcheck = 1 and drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  564. killvar 'steroidcheck'
  565. killvar 'i'
  566. end
  567. mcnt += 1
  568. if mcnt < mult: jump 'timeexploop2'
  569. stat['last_workout_trig'] = 1
  570. killvar 'mcnt'
  571. killvar 'mult'
  572. end
  573. if $ARGS[0] = 'tier3':
  574. if ARGS[1] = 0:
  575. minut += 15
  576. mult = 1
  577. if pcs_traits['fitness_freak'] = 1: pcs_horny += 15
  578. else
  579. minut += ARGS[1]
  580. mult = (ARGS[1]-1)/15 + 1
  581. if pcs_traits['fitness_freak'] = 1: pcs_horny += ARGS[1]
  582. end
  583. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  584. pcs_stam -= (15*mult * (10 - sport_clothes_exercise_bonus)) / 2
  585. gs 'sweat', 'add', (15*mult)
  586. fat -= (2 + mult/2)
  587. pcs_energy -= 3*mult
  588. pcs_hydra -= 6*mult
  589. pcs_mood += (5 + mult)
  590. mcnt = 0
  591. :timeexploop3
  592. if $ARGS[3] = '':
  593. gs 'exp_gain', $ARGS[2], rand(3,5)
  594. if $ARGS[2] = 'vital' or $ARGS[2] = 'stren':
  595. gs 'exp_gain', $ARGS[2], rand(0, drugVars['steroids_dose'])
  596. if drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  597. end
  598. else
  599. i = 2
  600. :exploop3
  601. if $ARGS[i] ! '':
  602. gs 'exp_gain', $ARGS[i], rand(2,3)
  603. if $ARGS[i] = 'vital' or $ARGS[i] = 'stren':
  604. gs 'exp_gain', $ARGS[i], rand(0, drugVars['steroids_dose'])
  605. steroidcheck = 1
  606. end
  607. i += 1
  608. jump 'exploop3'
  609. end
  610. if steroidcheck = 1 and drugVars['steroids_dose'] > 0 and rand(1,5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  611. killvar 'steroidcheck'
  612. killvar 'i'
  613. end
  614. mcnt += 1
  615. if mcnt < mult: jump 'timeexploop3'
  616. stat['last_workout_trig'] = 1
  617. killvar 'mcnt'
  618. killvar 'mult'
  619. end
  620. if $ARGS[0] = 'tier4':
  621. if ARGS[1] = 0:
  622. minut += 15
  623. mult = 1
  624. if pcs_traits['fitness_freak'] = 1: pcs_horny += 15
  625. else
  626. minut += ARGS[1]
  627. mult = (ARGS[1]-1)/15 + 1
  628. if pcs_traits['fitness_freak'] = 1: pcs_horny += ARGS[1]
  629. end
  630. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  631. pcs_stam -= (25*mult * (10 - sport_clothes_exercise_bonus))/2
  632. gs 'sweat', 'add', (25*mult)
  633. fat -= (1 + mult/2)
  634. pcs_energy -= 4*mult
  635. pcs_hydra -= 12*mult
  636. pcs_mood += (5 + mult)
  637. mcnt = 0
  638. :timeexploop4
  639. if $ARGS[3] = '':
  640. gs 'exp_gain', $ARGS[2], rand(7,10)
  641. if $ARGS[2] = 'vital' or $ARGS[2] = 'stren':
  642. gs 'exp_gain', $ARGS[2], rand(0, drugVars['steroids_dose'])
  643. if drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  644. end
  645. else
  646. i = 2
  647. :exploop4
  648. if $ARGS[i] ! '':
  649. gs 'exp_gain', $ARGS[i], rand(3,5)
  650. if $ARGS[i] = 'vital' or $ARGS[i] = 'stren':
  651. gs 'exp_gain', $ARGS[i], rand(0, drugVars['steroids_dose'])
  652. steroidcheck = 1
  653. end
  654. i += 1
  655. jump 'exploop4'
  656. end
  657. if steroidcheck = 1 and drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1)
  658. killvar 'steroidcheck'
  659. killvar 'i'
  660. end
  661. mcnt += 1
  662. if mcnt < mult: jump 'timeexploop4'
  663. stat['last_workout_trig'] = 1
  664. killvar 'mcnt'
  665. killvar 'mult'
  666. end
  667. if $ARGS[0] = 'timestring':
  668. if timemult = 1: $timestring = 'fifteen'
  669. if timemult = 2: $timestring = 'thirty'
  670. if timemult = 3: $timestring = 'forty-five'
  671. if timemult = 4: $timestring = 'sixty'
  672. end
  673. if $ARGS[0] = 'get_sport_clothes_exercise_bonus':
  674. sport_clothes_exercise_bonus = 0
  675. if $braworntype = 'sport' or $braworntype = 'danilovich':
  676. sport_clothes_exercise_bonus += 1
  677. elseif PCloBra = 1 and $clothingworntype = 'danilovich_outfits':
  678. sport_clothes_exercise_bonus += 1
  679. end
  680. if $pantyworntype = 'sport' or $pantyworntype = 'danilovich':
  681. sport_clothes_exercise_bonus += 1
  682. elseif PCLoPanties = 1 and $clothingworntype = 'danilovich_outfits':
  683. sport_clothes_exercise_bonus += 1
  684. end
  685. if $clothingworntype = 'danilovich_outfits':
  686. sport_clothes_exercise_bonus += 1
  687. end
  688. if $shoeworntype = 'danilovich':
  689. sport_clothes_exercise_bonus += 1
  690. end
  691. end
  692. --- exercise ---------------------------------