Timers, like the ones I use in Skulltag and Elevator to generate explosions, are NOT DoomRL constructs. They are queues I spin up and manage myself.
Inserting new events into my event queues is done whenever I feel like it. I usually manage my event queue with the OnTick hook. It exists for Level, Module, Challenge, and Core (Lev and Mod being the two you're most likely to use). That 'timer' runs once every tick (once every 0.1 seconds) which is usually good enough for my needs. Other things that could be abused to make timers include affects (which is action based instead of tick based but which is much harder to make work) and a being's OnAction (also action based but since it is tied to a being it really only makes sense to time things here in a manner akin to cooldown). Unfortunately the PLAYER does NOT trigger OnAction hooks, a shame since that would be a perfect answer to a lot of non-absolute timing schemes. Were the player OnAction hook working I'd move most of the Skulltag effects to that timing system in a heartbeat.