Gave it a try to familiarise myself with *gosub
and the multi-replace.
Here you go:
*temp dayN 1
*temp timeN 1
*temp dayS ""
*temp timeS ""
*comment These variables should of course be global in your project (*create, not *temp).
*gosub updateDayAndTimeStrings
*label start
It's ${dayS} ${timeS}!
*choice
#advance day
*gosub newDay
*goto done
#advance time
*gosub newTime
*goto done
*label done
*goto start
*finish Unreachable
*label newDay
*set timeN 1
*set dayn "@{(dayN < 7) ${dayN + 1} | 1}"
*gosub updateDayAndTimeStrings
*return
*label newTime
*set timeN +1
*if timeN > 7
*gosub newDay
*return
*gosub updateDayAndTimeStrings
*return
*label updateDayAndTimeStrings
*set dayS "@{dayN Monday | Tuesday | Wednesday | Thrusday | Friday | Saturday | Sunday}"
*set timeS "@{timeN morning |mid-morning | noon | afternoon | mid-day | evening | night}"
*return