# exercise
!{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'
For direct calls use this format: gs 'exercise', $ARGS[0], ARG[1], $ARGS[2], $ARGS[3], $ARGS[4]
$ARGS[0] is the workout tier and the higher the tier, the greater the workout intensity.
Values: 'tier1' 'tier2' 'tier3' 'tier4'
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
Values: 0 (default of 15 minutes) 1 (time set to 0)
$ARGS[2] and on are the stats to be affected by the workout NOTE: use the _exp variant, not the pcs_!!!!
Values: 'stren_exp' 'vital_exp' 'agil_exp' 'sprt_exp' 'react_exp'
Other stats can be added if desired - for a dance-a-thon you might use gs 'exercise', 'tier1', 0, 'agil_exp', 'danc_exp'
}
if $ARGS[0] = 'start':
if (pcs_stam >=15 or pcs_stam >= 10 and bookYog + obruch > 0):
'There is enough space in the room to exercise.'
else
'There is enough space in the room for a variety of exercises, but you don''t have the energy to work out now.'
end
end
if $ARGS[0] = 'workout':
cla
$sportloc = $ARGS[2]
if $ARGS[1] = 'nude':
if $sportloc = 'Meadow':
if exhibitionQW < 3: 'Your cheeks feel hot with embarrassment as you strip off your clothes. You giggle nervously at the thought of getting caught in the nude, the thought terrifies you but it also excites you.'
clothesAtLocation = FUNC('lost_clothes_here',$sportloc)
gs 'arousal', 'foreplay', 15, 'exhibitionism'
gs 'arousal', 'end'
minut -= 15
end
end
gs 'stat'
*nl
'Click here to set up your automated exercise options.'
if clothesAtLocation = 1:
act 'End workout and get dressed':
cla
minut += 5
gs 'underwear', 'wear'
gs 'clothing', 'recover_lost_clothes', $sportloc, 1
gt $loc, $metka
end
else
if $sportloc = 'Meadow': gs 'underwear', 'wear'
act 'Leave': gt $loc, $metka
end
gs 'wardrobe', 'sports_outfit_option', 'workout'
act 'Manual': gt 'exercise', 'manual'
if exer_stam[1] ! 0 and pcs_stam > exer_stam[1]: act '<<$excer_name[1]>> - (<> stamina)': exercisex = 1 & gt 'exercise', 'auto'
if exer_stam[2] ! 0 and pcs_stam > exer_stam[2]: act '<<$excer_name[2]>> - (<> stamina)': exercisex = 2 & gt 'exercise', 'auto'
if exer_stam[3] ! 0 and pcs_stam > exer_stam[3]: act '<<$excer_name[3]>> - (<> stamina)': exercisex = 3 & gt 'exercise', 'auto'
if exer_stam[4] ! 0 and pcs_stam > exer_stam[4]: act '<<$excer_name[4]>> - (<> stamina)': exercisex = 4 & gt 'exercise', 'auto'
end
if $ARGS[0] = 'auto':
exer_auto = 1
if exer_rout0[exercisex] > 0:
timemult = exer_rout0[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'push', 'auto'
elseif exer_rout1[exercisex] > 0:
timemult = exer_rout1[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'auto'
elseif exer_rout2[exercisex] > 0:
timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'auto'
elseif exer_rout3[exercisex] > 0:
timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'auto'
elseif exer_rout4[exercisex] > 0:
timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'auto'
end
end
if $ARGS[0] = 'auto1':
if exer_rout1[exercisex] > 0:
timemult = exer_rout1[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'auto'
elseif exer_rout2[exercisex] > 0:
timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'auto'
elseif exer_rout3[exercisex] > 0:
timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'auto'
elseif exer_rout4[exercisex] > 0:
timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'auto'
else
gt 'exercise', 'auto_end'
end
end
if $ARGS[0] = 'auto2':
if exer_rout2[exercisex] > 0:
timemult = exer_rout2[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'auto'
elseif exer_rout3[exercisex] > 0:
timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'auto'
elseif exer_rout4[exercisex] > 0:
timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'auto'
else
gt 'exercise', 'auto_end'
end
end
if $ARGS[0] = 'auto3':
if exer_rout3[exercisex] > 0:
timemult = exer_rout3[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'auto'
elseif exer_rout4[exercisex] > 0:
timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'auto'
else
gt 'exercise', 'auto_end'
end
end
if $ARGS[0] = 'auto4':
if exer_rout4[exercisex] > 0:
timemult = exer_rout4[exercisex] & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'auto'
else
gt 'exercise', 'auto_end'
end
end
if $ARGS[0] = 'auto_end':
exer_auto = 0
if clothesAtLocation = 1:
cla
minut += 5
gs 'underwear', 'wear'
gs 'clothing', 'recover_lost_clothes', $sportloc, 1
gt $loc, $metka
else
if $sportloc = 'Meadow': gs 'underwear', 'wear'
gt 'exercise', 'workout'
end
end
if $ARGS[0] = 'manual':
cla
if clothesAtLocation = 1:
act 'End workout and get dressed':
cla
minut += 5
gs 'underwear', 'wear'
gs 'clothing', 'recover_lost_clothes', $sportloc, 1
gt $loc, $metka
end
else
if $sportloc = 'Meadow': gs 'underwear', 'wear'
act 'Return': gt 'exercise', 'workout'
end
if pcs_stam >= 15:
Act 'Do pushups for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'push', 'manual'
Act 'Do crunches for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'manual'
if skak > 0 and $sportloc ! 'Meadow':
Act 'Jump rope for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'manual'
end
end
if pcs_stam >= 10:
if bookYog > 0:
Act 'Do yoga for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'manual'
end
if obruch > 0 and $sportloc ! 'Meadow':
Act 'Use your hula hoop for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'manual'
end
end
if pcs_stam >= 30:
Act 'Do pushups for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'push', 'manual'
Act 'Do crunches for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'manual'
if skak > 0 and $sportloc ! 'Meadow':
Act 'Jump rope for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'manual'
end
end
if pcs_stam >= 20:
if bookYog > 0:
Act 'Do yoga for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'manual'
end
if obruch > 0 and $sportloc ! 'Meadow':
Act 'Use your hula hoop for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'manual'
end
end
if pcs_stam >= 45:
Act 'Do pushups for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'push', 'manual'
Act 'Do crunches for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'manual'
if skak > 0 and $sportloc ! 'Meadow':
Act 'Jump rope for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'manual'
end
end
if pcs_stam >= 30:
if bookYog > 0:
Act 'Do yoga for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'manual'
end
if obruch > 0 and $sportloc ! 'Meadow':
Act 'Use your hula hoop for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'manual'
end
end
if pcs_stam >= 60:
Act 'Do pushups for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'push', 'manual'
Act 'Do crunches for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'manual'
if skak > 0 and $sportloc ! 'Meadow':
Act 'Jump rope for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'rope', 'manual'
end
end
if pcs_stam >= 40:
if bookYog > 0:
Act 'Do yoga for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga', 'manual'
end
if obruch > 0 and $sportloc ! 'Meadow':
Act 'Use your hula hoop for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'hula', 'manual'
end
end
if pcs_stam < 10 or pcs_stam < 15 and bookYog + obruch = 0:
'You don''t have the energy to work out anymore now.'
end
end
if $ARGS[0] = 'setup':
*clr
cla
'Define up to 4 automated exercise routines.'
*nl
*nl
*nl
*nl
' | | Push ups | Crunches | Jump rope | Yoga | Hula hoop | '
'<<$excer_name[1]>> | rename | <> minutes | <> minutes | <> minutes | <> minutes | <> minutes | '
'
<<$excer_name[2]>> | rename | <> minutes | <> minutes | <> minutes | <> minutes | <> minutes | '
'
<<$excer_name[3]>> | rename | <> minutes | <> minutes | <> minutes | <> minutes | <> minutes | '
'
<<$excer_name[4]>> | rename | <> minutes | <> minutes | <> minutes | <> minutes | <> minutes | '
'
'
act 'Return': gt 'exercise', 'workout'
act 'Define <<$excer_name[1]>>':i = 1 & gt 'exercise', 'matrix'
act 'Define <<$excer_name[2]>>':i = 2 & gt 'exercise', 'matrix'
act 'Define <<$excer_name[3]>>':i = 3 & gt 'exercise', 'matrix'
act 'Define <<$excer_name[4]>>':i = 4 & gt 'exercise', 'matrix'
!!exer_rout1 = default
end
if $ARGS[0] = 'blank':
cla
*clr
act 'Return': gt 'exercise', 'setup'
end
if $ARGS[0] = 'matrix':
*clr
cla
exer_stam[i] = exer_stam0[i] + exer_stam1[i] + exer_stam2[i] + exer_stam3[i] + exer_stam4[i]
act'Confirm':
gt 'exercise', 'setup'
end
'Choose your exercise options from the following table:'
'Exercise | None | 15 mins | 30 mins | 45 mins | 60 mins | '
gs 'exercise', 'matrixdata', 0, 'Push ups'
gs 'exercise', 'matrixdata', 1, 'Crunches'
if skak > 0 and $sportloc ! 'Meadow': gs 'exercise', 'matrixdata', 2, 'Jump rope'
if bookYog > 0: gs 'exercise', 'matrixdata', 3, 'Yoga'
if obruch > 0 and $sportloc ! 'Meadow': gs 'exercise', 'matrixdata', 4, 'Hula hoop'
'
'
*nl
'Total stamina required - <>'
end
if $ARGS[0] = 'matrixdata':
''
*p '<<$ARGS[2]>> | '
if dyneval('RESULT = exer_rout<>[<>]') = 0:
dynamic 'exer_stam<>[<>] = 0'
*p 'Selected | '
else
*p 'Select | '
end
if dyneval('RESULT = exer_rout<>[<>]') = 1:
if ARGS[1] >= 3:
dynamic 'exer_stam<>[<>] = 10'
else
dynamic 'exer_stam<>[<>] = 15'
end
*p 'Selected | '
else
*p 'Select | '
end
if dyneval('RESULT = exer_rout<>[<>]') = 2:
if ARGS[1] >= 3:
dynamic 'exer_stam<>[<>] = 20'
else
dynamic 'exer_stam<>[<>] = 30'
end
*p 'Selected | '
else
*p 'Select | '
end
if dyneval('RESULT = exer_rout<>[<>]') = 3:
if ARGS[1] >= 3:
dynamic 'exer_stam<>[<>] = 30'
else
dynamic 'exer_stam<>[<>] = 45'
end
*p 'Selected | '
else
*p 'Select | '
end
if dyneval('RESULT = exer_rout<>[<>]') = 4:
if ARGS[1] >= 3:
dynamic 'exer_stam<>[<>] = 40'
else
dynamic 'exer_stam<>[<>] = 60'
end
*p 'Selected | '
else
*p 'Select | '
end
exer_stam[i] = exer_stam0[i] + exer_stam1[i] + exer_stam2[i] + exer_stam3[i] + exer_stam4[i]
end
if $ARGS[0] = 'hula':
cla
*clr
loopcount = 1
:timeloophula
gs 'exercise', 'tier2', 0, 'agil_exp', 'react_exp'
if loopcount < timemult: loopcount += 1 & jump 'timeloophula'
loopcount = 0
timemult = 0
if $clothingworntype ! 'nude':
if $location_type = 'secluded':
if month >=5 and month <= 9:
'> src="images/pc/activities/hulaoutdoors.jpg">'
else
''
end
else
''
end
elseif $pantyworntype ! 'none':
''
else
''
end
'You improve your dexterity by using your hula hoop for <<$timestring>> minutes.'
gs 'stat'
if exer_auto = 1:
act 'Continue': gt 'exercise', 'auto_end'
else
act 'Continue': gt 'exercise', 'manual'
end
end
if $ARGS[0] = 'yoga':
cla
*clr
loopcount = 1
:timeloopyoga
gs 'exercise', 'tier2', 0, 'sprt_exp', 'agil_exp', 'pcs_willpwr'
if loopcount < timemult: loopcount += 1 & jump 'timeloopyoga'
loopcount = 0
timemult = 0
if $clothingworntype ! 'nude':
if $location_type = 'secluded':
'> src="images/pc/activities/yoga_dressed.jpg">'
else
''
end
elseif $pantyworntype ! 'none':
''
else
''
end
'You meditate for <<$timestring>> minutes, improving your will.'
gs 'stat'
if exer_auto = 1:
act 'Continue': gt 'exercise', 'auto4'
else
act 'Continue': gt 'exercise', 'manual'
end
end
if $ARGS[0] = 'rope':
cla
*clr
loopcount = 1
:timelooprope
gs 'exercise', 'tier3', 0, 'agil_exp', 'react_exp'
if loopcount < timemult: loopcount += 1 & jump 'timelooprope'
loopcount = 0
timemult = 0
if $clothingworntype ! 'nude':
''
elseif $pantyworntype ! 'none':
'> src="images/pc/activities/rope_underwear.jpg">'
else
''
end
'You jump rope for <<$timestring>> minutes, improving your speed.'
gs 'stat'
if exer_auto = 1:
act 'Continue': gt 'exercise', 'auto3'
else
act 'Continue': gt 'exercise', 'manual'
end
end
if $ARGS[0] = 'press':
cla
*clr
loopcount = 1
:timelooppress
gs 'exercise', 'tier3', 0, 'vital_exp'
if loopcount < timemult: loopcount += 1 & jump 'timelooppress'
loopcount = 0
timemult = 0
if $clothingworntype ! 'nude':
''
elseif $pantyworntype ! 'none':
''
else
''
end
'You do a series of abdominal exercises for <<$timestring>> minutes, improving your endurance.'
gs 'stat'
if exer_auto = 1:
act 'Continue': gt 'exercise', 'auto2'
else
act 'Continue': gt 'exercise', 'manual'
end
end
if $ARGS[0] = 'push':
cla
*clr
loopcount = 1
:timelooppush
gs 'exercise', 'tier3', 0, 'stren_exp'
if loopcount < timemult: loopcount += 1 & jump 'timelooppush'
loopcount = 0
timemult = 0
if $clothingworntype ! 'nude':
''
elseif $pantyworntype ! 'none':
''
else
''
end
'You do push-ups for <<$timestring>> minutes, improving your strength.'
randpushfact = rand(-5,5)
if pcs_energy < 40: randpushfact -= RAND(1,10)
pushnum = (pcs_stren * pcs_sleep * pcs_health) / ( 1 * 67 * healthmax) + randpushfact
if pushnum < 1: pushnum = rand(1,5)
KILLVAR 'randpushfact'
'
You managed to do <> push-ups. Your previous record is <>.'
if pushrecord < pushnum:pushrecord = pushnum & 'This is a new record!'
gs 'stat'
if exer_auto = 1:
act 'Continue': gt 'exercise', 'auto1'
else
act 'Continue': gt 'exercise', 'manual'
end
end
if $ARGS[0] = 'tier1':
if ARGS[1] = 0:
minut += 15
else
minut += ARGS[1]
end
gs 'exercise', 'get_sport_clothes_exercise_bonus'
pcs_stam -= (5 * (10 - sport_clothes_exercise_bonus)) / 10
pcs_sweat += 3
fat -= 1
pcs_mood += 3
pcs_willpwr += 3
if $ARGS[3] = '':
dynamic '<<$ARGS[2]>> += 1'
if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
end
else
i = 2
:exploop
if $ARGS[i] ! '':
dynamic '<<$ARGS[i]>> += rand(0,1)'
if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
i += 1
jump 'exploop'
else
if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
killvar 'steroidcheck'
killvar 'i'
exit
end
end
end
if $ARGS[0] = 'tier2':
if ARGS[1] = 0:
minut += 15
else
minut += ARGS[1]
end
gs 'exercise', 'get_sport_clothes_exercise_bonus'
pcs_stam -= (10 * (10 - sport_clothes_exercise_bonus)) / 10
pcs_sweat += 10
fat -= 2
pcs_mood += 5
pcs_willpwr += 5
if $ARGS[3] = '':
dynamic '<<$ARGS[2]>> += rand(2,3)'
if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
end
else
i = 2
:exploop2
if $ARGS[i] ! '':
dynamic '<<$ARGS[i]>> += rand(1,2)'
if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
i += 1
jump 'exploop2'
else
if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
killvar 'steroidcheck'
killvar 'i'
end
end
end
if $ARGS[0] = 'tier3':
if ARGS[1] = 0:
minut += 15
else
minut += ARGS[1]
end
gs 'exercise', 'get_sport_clothes_exercise_bonus'
pcs_stam -= (15 * (10 - sport_clothes_exercise_bonus)) / 10
pcs_sweat += 15
fat -= 3
pcs_mood += 5
pcs_willpwr += 5
if $ARGS[3] = '':
dynamic '<<$ARGS[2]>> += rand(3,5)'
if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
end
else
i = 2
:exploop3
if $ARGS[i] ! '':
dynamic '<<$ARGS[i]>> += rand(2,3)'
if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
i += 1
jump 'exploop3'
else
if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
killvar 'steroidcheck'
killvar 'i'
end
end
end
if $ARGS[0] = 'tier4':
if ARGS[1] = 0:
minut += 15
else
minut += ARGS[1]
end
gs 'exercise', 'get_sport_clothes_exercise_bonus'
pcs_stam -= (25 * (10 - sport_clothes_exercise_bonus)) / 10
pcs_sweat += 25
fat -= 4
pcs_mood += 5
pcs_willpwr += 5
if $ARGS[3] = '':
dynamic '<<$ARGS[2]>> += rand(7,10)'
if $ARGS[2] = 'vital_exp' or $ARGS[2] = 'stren_exp':
dynamic '<<$ARGS[2]>> += rand(0,steroid_dose)'
if steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
end
else
i = 2
:exploop4
if $ARGS[i] ! '':
dynamic '<<$ARGS[i]>> += rand(3,5)'
if $ARGS[i] = 'vital_exp' or $ARGS[i] = 'stren_exp': dynamic '<<$ARGS[i]>> += rand(0,steroid_dose) & steroidcheck = 1'
i += 1
jump 'exploop4'
else
if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1)
killvar 'steroidcheck'
killvar 'i'
end
end
end
if $ARGS[0] = 'timestring':
if timemult = 1: $timestring = 'fifteen'
if timemult = 2: $timestring = 'thirty'
if timemult = 3: $timestring = 'forty-five'
if timemult = 4: $timestring = 'sixty'
end
if $ARGS[0] = 'get_sport_clothes_exercise_bonus':
sport_clothes_exercise_bonus = 0
if $braworntype = 'sport':
sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
end
if $pantyworntype = 'sport':
sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
end
if $clothingworntype = 'exercise':
sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
end
if $shoeworntype = 'trainers':
sport_clothes_exercise_bonus = sport_clothes_exercise_bonus + 1
end
end
--- exercise ---------------------------------