Actually, what I ended up doing was adding a timer variable with a certain value (in seconds. actually I probably could have made it in minutes instead...would have made more sense lol) and, similar to what you described, if a second variable is assigned TRUE, the time keeping script in Main (the (if(<> gCurrentTime (= gCurrentTime GetTime(gtTIME_OF_DAY))) part) begins to decrement the former variable each time gTimeSeconds is updated. So it happens perfectly in time with the game clock. Next I used the region script to check whether the timer variable reaches certain numbers and if it does, to change the region's state to specific numbers which have different effects (ie- halfway through, when the countdown reaches 0, etc). It works well, but your way probably makes more sense and is much more clean to base it on the game clock precisely with the difference of how much time is passed instead.