What would be the most efficient and cleanest way of doing this? What I'm currently considering is adding my own global variable, then when the blacksmith starts his work, setting the global to GameDaysPassed + .16 (so it's ~3 hours later). Then I would just use GetGlobalValue as a dialogue condition with >= my global. The issue here is that I want the blacksmith's dialogue to change incrementally as his work progresses. If you ask within the first hour, he says one thing. Second hour, he says another. Third hour, he says he's almost done. Then after the third hour he says he's done and the quest progresses.
The issue is that would then require 3 global variables, and it just seems like it's getting too messy and I'm going about this the wrong way.
Is there a clear, more efficient way to set the time his work started, then have my call a dialogue condition for 'Is within hour 1', 'Is within hour 2', 'Is within hour 3', and 'Is done' or something to that effect?