exercise.qsrc 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  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 _exp variant, not the pcs_!!!!
  9. Values: 'stren_exp' 'vital_exp' 'agil_exp' 'sprt_exp' 'react_exp'
  10. Other stats can be added if desired - for a dance-a-thon you might use gs 'exercise', 'tier1', 0, 'agil_exp', 'danc_exp'
  11. }
  12. if $ARGS[0] = 'start':
  13. if (pcs_stam >=15 or pcs_stam >= 10 and bookYog + obruch > 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, $metka
  35. end
  36. else
  37. act 'End workout':
  38. gt $loc, $metka
  39. end
  40. end
  41. if $clothingworntype = 'nude' or $clothingworntype = 'exercise':
  42. act 'Manual routines': gt 'exercise', 'manual'
  43. act 'Define routines': gt 'exercise', 'setup'
  44. if exer_stam[1] ! 0 and pcs_stam > exer_stam[1]: act '<<$excer_name[1]>> - (<<exer_stam[1]>> stamina)': exercisex = 1 & gt 'exercise', 'auto'
  45. if exer_stam[2] ! 0 and pcs_stam > exer_stam[2]: act '<<$excer_name[2]>> - (<<exer_stam[2]>> stamina)': exercisex = 2 & gt 'exercise', 'auto'
  46. if exer_stam[3] ! 0 and pcs_stam > exer_stam[3]: act '<<$excer_name[3]>> - (<<exer_stam[3]>> stamina)': exercisex = 3 & gt 'exercise', 'auto'
  47. if exer_stam[4] ! 0 and pcs_stam > exer_stam[4]: act '<<$excer_name[4]>> - (<<exer_stam[4]>> stamina)': exercisex = 4 & gt 'exercise', 'auto'
  48. if exer_stam[5] ! 0 and pcs_stam > exer_stam[5]: act '<<$excer_name[5]>> - (<<exer_stam[5]>> stamina)': exercisex = 5 & gt 'exercise', 'auto'
  49. elseif $clothingworntype ! 'nude' or $clothingworntype ! 'exercise':
  50. '<b>You need to equip the proper attire before you can exercise</b>'
  51. end
  52. end
  53. if $ARGS[0] = 'auto':
  54. exer_auto = 1
  55. if exer_rout0[exercisex] > 0:
  56. timemult = exer_rout0[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  57. elseif exer_rout1[exercisex] > 0:
  58. timemult = exer_rout1[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  59. elseif exer_rout2[exercisex] > 0:
  60. timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  61. elseif exer_rout3[exercisex] > 0:
  62. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  63. elseif exer_rout4[exercisex] > 0:
  64. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  65. end
  66. end
  67. if $ARGS[0] = 'auto1':
  68. if exer_rout1[exercisex] > 0:
  69. timemult = exer_rout1[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  70. elseif exer_rout2[exercisex] > 0:
  71. timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  72. elseif exer_rout3[exercisex] > 0:
  73. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  74. elseif exer_rout4[exercisex] > 0:
  75. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  76. else
  77. gt 'exercise', 'auto_end'
  78. end
  79. end
  80. if $ARGS[0] = 'auto2':
  81. if exer_rout2[exercisex] > 0:
  82. timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  83. elseif exer_rout3[exercisex] > 0:
  84. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  85. elseif exer_rout4[exercisex] > 0:
  86. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  87. else
  88. gt 'exercise', 'auto_end'
  89. end
  90. end
  91. if $ARGS[0] = 'auto3':
  92. if exer_rout3[exercisex] > 0:
  93. timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  94. elseif exer_rout4[exercisex] > 0:
  95. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  96. else
  97. gt 'exercise', 'auto_end'
  98. end
  99. end
  100. if $ARGS[0] = 'auto4':
  101. if exer_rout4[exercisex] > 0:
  102. timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  103. else
  104. gt 'exercise', 'auto_end'
  105. end
  106. end
  107. if $ARGS[0] = 'auto_end':
  108. exer_auto = 0
  109. gt 'exercise', 'workout'
  110. end
  111. if $ARGS[0] = 'manual':
  112. $menu_loc = 'exercise'
  113. $menu_arg = 'manual'
  114. menu_off = 0
  115. cla
  116. act 'Return':gt 'exercise', 'workout'
  117. if pcs_stam >= 15:
  118. Act 'Do pushups for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  119. Act 'Do crunches for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  120. if skak > 0 and $loc ! 'meadow':
  121. Act 'Jump rope for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  122. end
  123. end
  124. if pcs_stam >= 10:
  125. if bookYog > 0:
  126. Act 'Do yoga for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  127. end
  128. if obruch > 0 and $loc ! 'meadow':
  129. Act 'Use your hula hoop for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  130. end
  131. end
  132. if pcs_stam >= 30:
  133. Act 'Do pushups for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  134. Act 'Do crunches for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  135. if skak > 0 and $loc ! 'meadow':
  136. Act 'Jump rope for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  137. end
  138. end
  139. if pcs_stam >= 20:
  140. if bookYog > 0:
  141. Act 'Do yoga for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  142. end
  143. if obruch > 0 and $loc ! 'meadow':
  144. Act 'Use your hula hoop for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  145. end
  146. end
  147. if pcs_stam >= 45:
  148. Act 'Do pushups for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  149. Act 'Do crunches for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  150. if skak > 0 and $loc ! 'meadow':
  151. Act 'Jump rope for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  152. end
  153. end
  154. if pcs_stam >= 30:
  155. if bookYog > 0:
  156. Act 'Do yoga for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  157. end
  158. if obruch > 0 and $loc ! 'meadow':
  159. Act 'Use your hula hoop for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  160. end
  161. end
  162. if pcs_stam >= 60:
  163. Act 'Do pushups for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
  164. Act 'Do crunches for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
  165. if skak > 0 and $loc ! 'meadow':
  166. Act 'Jump rope for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
  167. end
  168. end
  169. if pcs_stam >= 40:
  170. if bookYog > 0:
  171. Act 'Do yoga for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
  172. end
  173. if obruch > 0 and $loc ! 'meadow':
  174. Act 'Use your hula hoop for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
  175. end
  176. end
  177. if pcs_stam < 10 or pcs_stam < 15 and bookYog + obruch = 0:
  178. 'You don''t have the energy to work out anymore now.'
  179. end
  180. end
  181. if $ARGS[0] = 'routines':
  182. *clr & cla
  183. '<center><h2>Exercise Routines</h2></center>'
  184. *nl
  185. '<center><table>'
  186. '<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>'
  187. '<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>'
  188. '<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>'
  189. '<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>'
  190. '<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>'
  191. '<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>'
  192. '<TR><TD colspan="7"><br><br><center><a href="exec:gt ''exercise'', ''setup''">Define up to 5 automated exercise routines.</a></center></TD></TR>'
  193. '</table></center>'
  194. *nl
  195. end
  196. if $ARGS[0] = 'setup':
  197. $menu_loc = 'exercise'
  198. $menu_arg = 'setup'
  199. menu_off = 0
  200. *clr & cla
  201. exer_menu = 1
  202. gs 'exercise', 'routines'
  203. act 'Return': gt 'exercise', 'workout'
  204. act 'Define <<$excer_name[1]>>':i = 1 & gt 'exercise', 'matrix'
  205. act 'Rename <<$excer_name[1]>>':
  206. $excer_name[1] = input ('<center>Enter name for exercise routine 1<br>Leave blank to restore default name.</center>')
  207. gs 'exercise', 'rename'
  208. gt 'exercise', 'setup'
  209. end
  210. act 'Define <<$excer_name[2]>>':i = 2 & gt 'exercise', 'matrix'
  211. act 'Rename <<$excer_name[2]>>':
  212. $excer_name[2] = input ('<center>Enter name for exercise routine 2<br>Leave blank to restore default name.</center>')
  213. gs 'exercise', 'rename'
  214. gt 'exercise', 'setup'
  215. end
  216. act 'Define <<$excer_name[3]>>':i = 3 & gt 'exercise', 'matrix'
  217. act 'Rename <<$excer_name[3]>>':
  218. $excer_name[3] = input ('<center>Enter name for exercise routine 3<br>Leave blank to restore default name.</center>')
  219. gs 'exercise', 'rename'
  220. gt 'exercise', 'setup'
  221. end
  222. act 'Define <<$excer_name[4]>>':i = 4 & gt 'exercise', 'matrix'
  223. act 'Rename <<$excer_name[4]>>':
  224. $excer_name[4] = input ('<center>Enter name for exercise routine 4<br>Leave blank to restore default name.</center>')
  225. gs 'exercise', 'rename'
  226. gt 'exercise', 'setup'
  227. end
  228. act 'Define <<$excer_name[5]>>':i = 5 & gt 'exercise', 'matrix'
  229. act 'Rename <<$excer_name[5]>>':
  230. $excer_name[5] = input ('<center>Enter name for exercise routine 5<br>Leave blank to restore default name.</center>')
  231. gs 'exercise', 'rename'
  232. gt 'exercise', 'setup'
  233. end
  234. !!exer_rout1 = default
  235. end
  236. if $ARGS[0] = 'rename':
  237. if $excer_name[1] = '':$excer_name[1] = 'Default 1'
  238. if $excer_name[2] = '':$excer_name[2] = 'Default 2'
  239. if $excer_name[3] = '':$excer_name[3] = 'Default 3'
  240. if $excer_name[4] = '':$excer_name[4] = 'Default 4'
  241. if $excer_name[5] = '':$excer_name[5] = 'Default 5'
  242. end
  243. if $ARGS[0] = 'matrix':
  244. *clr & cla
  245. exer_stam[i] = exer_stam0[i] + exer_stam1[i] + exer_stam2[i] + exer_stam3[i] + exer_stam4[i]
  246. act'Confirm': gt 'exercise', 'setup'
  247. 'Choose your exercise options from the following table:'
  248. '<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>'
  249. gs 'exercise', 'matrixdata', 0, 'Push ups'
  250. gs 'exercise', 'matrixdata', 1, 'Crunches'
  251. if skak > 0 and $loc ! 'meadow': gs 'exercise', 'matrixdata', 2, 'Jump rope'
  252. if bookYog > 0: gs 'exercise', 'matrixdata', 3, 'Yoga'
  253. if obruch > 0 and $loc ! 'meadow': gs 'exercise', 'matrixdata', 4, 'Hula hoop'
  254. '</center></table>'
  255. *nl
  256. 'Total stamina required - <<exer_stam[i]>>'
  257. end
  258. if $ARGS[0] = 'matrixdata':
  259. '<TR>'
  260. *p '<TD><<$ARGS[2]>></TD>'
  261. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<i>>]') = 0:
  262. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 0'
  263. *p '<TD>Selected</TD>'
  264. else
  265. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[i] = 0'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  266. end
  267. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<i>>]') = 1:
  268. if ARGS[1] >= 3:
  269. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 10'
  270. else
  271. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 15'
  272. end
  273. *p '<TD>Selected</TD>'
  274. else
  275. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[i] = 1'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  276. end
  277. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<i>>]') = 2:
  278. if ARGS[1] >= 3:
  279. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 20'
  280. else
  281. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 30'
  282. end
  283. *p '<TD>Selected</TD>'
  284. else
  285. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[i] = 2'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  286. end
  287. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<i>>]') = 3:
  288. if ARGS[1] >= 3:
  289. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 30'
  290. else
  291. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 45'
  292. end
  293. *p '<TD>Selected</TD>'
  294. else
  295. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[i] = 3'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  296. end
  297. if dyneval('RESULT = exer_rout<<ARGS[1]>>[<<i>>]') = 4:
  298. if ARGS[1] >= 3:
  299. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 40'
  300. else
  301. dynamic 'exer_stam<<ARGS[1]>>[<<i>>] = 60'
  302. end
  303. *p '<TD>Selected</TD>'
  304. else
  305. *p '<TD><a href="exec:dynamic ''exer_rout<<ARGS[1]>>[i] = 4'' & gt ''exercise'', ''matrix''">Select</a></TD>'
  306. end
  307. exer_stam[i] = exer_stam0[i] + exer_stam1[i] + exer_stam2[i] + exer_stam3[i] + exer_stam4[i]
  308. end
  309. if $ARGS[0] = 'hula':
  310. cla
  311. *clr
  312. loopcount = 1
  313. :timeloophula
  314. gs 'exercise', 'tier2', 0, 'agil_exp', 'react_exp'
  315. if loopcount < timemult: loopcount += 1 & jump 'timeloophula'
  316. loopcount = 0
  317. timemult = 0
  318. if $clothingworntype ! 'nude':
  319. if $location_type = 'secluded':
  320. if month >=5 and month <= 9:
  321. '<center><img <<$set_imgh>> src="images/pc/activities/hulaoutdoors.jpg"></center>'
  322. else
  323. '<center><video autoplay loop src="images/pc/activities/hulawinter.mp4"></video></center>'
  324. end
  325. else
  326. '<center><video autoplay loop src="images/pc/activities/huladressed.mp4"></video></center>'
  327. end
  328. elseif $pantyworntype ! 'none':
  329. '<center><video autoplay loop src="images/pc/activities/hula_underwear.mp4"></video></center>'
  330. else
  331. '<center><video autoplay loop src="images/pc/activities/obruch.mp4"></video></center>'
  332. end
  333. 'You improve your dexterity by using your hula hoop for <<$timestring>> minutes.'
  334. gs 'stat'
  335. if exer_auto = 1:
  336. act 'Continue': gt 'exercise', 'auto_end'
  337. else
  338. act 'Continue': gt 'exercise', 'manual'
  339. end
  340. end
  341. if $ARGS[0] = 'yoga':
  342. *clr & cla
  343. loopcount = 1
  344. :timeloopyoga
  345. if willday_yoga ! daystart: willday_yoga = daystart & yoga_counter = 0
  346. gs 'exercise', 'tier2', 0, 'sprt_exp', 'agil_exp', iif(yoga_counter < 4, 'pcs_willpwr', '')
  347. yoga_counter += 1
  348. if loopcount < timemult: loopcount += 1 & jump 'timeloopyoga'
  349. loopcount = 0
  350. timemult = 0
  351. if $clothingworntype ! 'nude':
  352. if $location_type = 'secluded':
  353. '<center><img <<$set_imgh>> src="images/pc/activities/yoga_dressed_outdoor.jpg"></center>'
  354. else
  355. '<center><video autoplay loop src="images/pc/activities/yoga_dressed.mp4"></video></center>'
  356. end
  357. elseif $pantyworntype ! 'none':
  358. '<center><video autoplay loop src="images/pc/activities/yoga_underwear.mp4"></video></center>'
  359. else
  360. '<center><video autoplay loop src="images/pc/activities/yoga_naked.mp4"></video></center>'
  361. end
  362. 'You meditate for <<$timestring>> minutes, improving your will.'
  363. gs 'stat'
  364. if exer_auto = 1:
  365. act 'Continue': gt 'exercise', 'auto4'
  366. else
  367. act 'Continue': gt 'exercise', 'manual'
  368. end
  369. end
  370. if $ARGS[0] = 'rope':
  371. cla
  372. *clr
  373. loopcount = 1
  374. :timelooprope
  375. gs 'exercise', 'tier3', 0, 'agil_exp', 'react_exp'
  376. if loopcount < timemult: loopcount += 1 & jump 'timelooprope'
  377. loopcount = 0
  378. timemult = 0
  379. if $clothingworntype ! 'nude':
  380. '<center><video autoplay loop src="images/pc/activities/rope_dressed.mp4"></video></center>'
  381. elseif $pantyworntype ! 'none':
  382. '<center><img <<$set_imgh>> src="images/pc/activities/rope_underwear.jpg"></center>'
  383. else
  384. '<center><video autoplay loop src="images/pc/activities/rope_naked.mp4"></video></center>'
  385. end
  386. 'You jump rope for <<$timestring>> minutes, improving your speed.'
  387. gs 'stat'
  388. if exer_auto = 1:
  389. act 'Continue': gt 'exercise', 'auto3'
  390. else
  391. act 'Continue': gt 'exercise', 'manual'
  392. end
  393. end
  394. if $ARGS[0] = 'press':
  395. cla
  396. *clr
  397. loopcount = 1
  398. :timelooppress
  399. gs 'exercise', 'tier3', 0, 'vital_exp'
  400. if loopcount < timemult: loopcount += 1 & jump 'timelooppress'
  401. loopcount = 0
  402. timemult = 0
  403. if $clothingworntype ! 'nude':
  404. '<center><video autoplay loop src="images/pc/activities/abdominal_dressed.mp4"></video></center>'
  405. elseif $pantyworntype ! 'none':
  406. '<center><video autoplay loop src="images/pc/activities/abdominal_underwear.mp4"></video></center>'
  407. else
  408. '<center><video autoplay loop src="images/pc/activities/abdominal_naked.mp4"></video></center>'
  409. end
  410. 'You do a series of abdominal exercises for <<$timestring>> minutes, improving your endurance.'
  411. gs 'stat'
  412. if exer_auto = 1:
  413. act 'Continue': gt 'exercise', 'auto2'
  414. else
  415. act 'Continue': gt 'exercise', 'manual'
  416. end
  417. end
  418. if $ARGS[0] = 'push':
  419. cla
  420. *clr
  421. loopcount = 1
  422. :timelooppush
  423. gs 'exercise', 'tier3', 0, 'stren_exp'
  424. if loopcount < timemult: loopcount += 1 & jump 'timelooppush'
  425. loopcount = 0
  426. timemult = 0
  427. if $clothingworntype ! 'nude':
  428. '<center><video autoplay loop src="images/pc/activities/push_dressed.mp4"></video></center>'
  429. elseif $pantyworntype ! 'none':
  430. '<center><video autoplay loop src="images/pc/activities/push_underwear.mp4"></video></center>'
  431. else
  432. '<center><video autoplay loop src="images/pc/activities/push_naked.mp4"></video></center>'
  433. end
  434. 'You do push-ups for <<$timestring>> minutes, improving your strength.'
  435. randpushfact = rand(-5,5)
  436. if pcs_energy < 40: randpushfact -= RAND(1,10)
  437. pushnum = (pcs_stren * pcs_sleep * pcs_health) / ( 1 * 67 * healthmax) + randpushfact
  438. if pushnum < 1: pushnum = rand(1,5)
  439. KILLVAR 'randpushfact'
  440. '<br>You managed to do <<pushnum>> push-ups. Your previous record is <<pushrecord>>.'
  441. if pushrecord < pushnum:pushrecord = pushnum & 'This is a new record!'
  442. gs 'stat'
  443. if exer_auto = 1:
  444. act 'Continue': gt 'exercise', 'auto1'
  445. else
  446. act 'Continue': gt 'exercise', 'manual'
  447. end
  448. end
  449. if $ARGS[0] = 'tier1':
  450. if ARGS[1] = 0:
  451. minut += 15
  452. else
  453. minut += ARGS[1]
  454. end
  455. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  456. pcs_stam -= (5 * (10 - sport_clothes_exercise_bonus)) / 10
  457. gs 'sweat', 'add', 3
  458. fat -= 1
  459. pcs_mood += 3
  460. if $ARGS[3] = '':
  461. dynamic '<<$ARGS[2]>> += 1'
  462. if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
  463. dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
  464. if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  465. end
  466. else
  467. i = 2
  468. :exploop
  469. if $ARGS[i] ! '':
  470. dynamic '<<$ARGS[i]>> += rand(0,1)'
  471. if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
  472. i += 1
  473. jump 'exploop'
  474. else
  475. if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  476. killvar 'steroidcheck'
  477. killvar 'i'
  478. exit
  479. end
  480. end
  481. end
  482. if $ARGS[0] = 'tier2':
  483. if ARGS[1] = 0:
  484. minut += 15
  485. else
  486. minut += ARGS[1]
  487. end
  488. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  489. pcs_stam -= (10 * (10 - sport_clothes_exercise_bonus)) / 10
  490. gs 'sweat', 'add', 10
  491. fat -= 2
  492. pcs_mood += 5
  493. if $ARGS[3] = '':
  494. dynamic '<<$ARGS[2]>> += rand(2,3)'
  495. if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
  496. dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
  497. if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  498. end
  499. else
  500. i = 2
  501. :exploop2
  502. if $ARGS[i] ! '':
  503. dynamic '<<$ARGS[i]>> += rand(1,2)'
  504. if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
  505. i += 1
  506. jump 'exploop2'
  507. else
  508. if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  509. killvar 'steroidcheck'
  510. killvar 'i'
  511. end
  512. end
  513. end
  514. if $ARGS[0] = 'tier3':
  515. if ARGS[1] = 0:
  516. minut += 15
  517. else
  518. minut += ARGS[1]
  519. end
  520. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  521. pcs_stam -= (15 * (10 - sport_clothes_exercise_bonus)) / 10
  522. gs 'sweat', 'add', 15
  523. fat -= 3
  524. pcs_mood += 5
  525. if $ARGS[3] = '':
  526. dynamic '<<$ARGS[2]>> += rand(3,5)'
  527. if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
  528. dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
  529. if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  530. end
  531. else
  532. i = 2
  533. :exploop3
  534. if $ARGS[i] ! '':
  535. dynamic '<<$ARGS[i]>> += rand(2,3)'
  536. if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
  537. i += 1
  538. jump 'exploop3'
  539. else
  540. if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  541. killvar 'steroidcheck'
  542. killvar 'i'
  543. end
  544. end
  545. end
  546. if $ARGS[0] = 'tier4':
  547. if ARGS[1] = 0:
  548. minut += 15
  549. else
  550. minut += ARGS[1]
  551. end
  552. gs 'exercise', 'get_sport_clothes_exercise_bonus'
  553. pcs_stam -= (25 * (10 - sport_clothes_exercise_bonus)) / 10
  554. gs 'sweat', 'add', 25
  555. fat -= 4
  556. pcs_mood += 5
  557. if $ARGS[3] = '':
  558. dynamic '<<$ARGS[2]>> += rand(7,10)'
  559. if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
  560. dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
  561. if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  562. end
  563. else
  564. i = 2
  565. :exploop4
  566. if $ARGS[i] ! '':
  567. dynamic '<<$ARGS[i]>> += rand(3,5)'
  568. if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
  569. i += 1
  570. jump 'exploop4'
  571. else
  572. if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
  573. killvar 'steroidcheck'
  574. killvar 'i'
  575. end
  576. end
  577. end
  578. if $ARGS[0] = 'timestring':
  579. if timemult = 1: $timestring = 'fifteen'
  580. if timemult = 2: $timestring = 'thirty'
  581. if timemult = 3: $timestring = 'forty-five'
  582. if timemult = 4: $timestring = 'sixty'
  583. end
  584. if $ARGS[0] = 'get_sport_clothes_exercise_bonus':
  585. sport_clothes_exercise_bonus = 0
  586. if $braworntype = 'sport':
  587. sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
  588. end
  589. if $pantyworntype = 'sport':
  590. sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
  591. end
  592. if $clothingworntype = 'exercise':
  593. sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
  594. end
  595. if $shoeworntype = 'trainers':
  596. sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
  597. end
  598. end
  599. --- exercise ---------------------------------