Sounds like you would want to replace the ticker with an OnUdate script with a countdown that does essentially the same thing but with an added second countdown adjusting the resets etc. of the first when it runs into/outof range. And the added initial check when the code starts to see which settings to use on login.
A second table for adjustment times might be something like (not really required if the adjustment start times etc. are the same (offset (+/- xxx seconds from event start), interval/duration) in every region).
Lua Code:
regionEventAdjustTime = { -- when the "adjustment" event occures
[1] = {
starttime = 1709615040, -- when the "adjustment" time starts
eventDuration = 21600, -- How long "adjustment" lasts [6 hours]
addIntervalInSeconds = 3600, -- Add seconds to event interval when in range, subtract when not
addSomethingElse = 2700, -- Add something else when in adjust period like the event duration?
},
}