In the Lua version, you can convert GetRandomInt(1, 100) to math.random(100).
math.random() returns a float in the range [0, 1], math.random(n) returns an integer in the range [0, n], math.random(m, n) returns an integer in the range [m, n].
I would strongly discourage creating Warcraft objects on Lua root (in or outside a do ... end) as it was shown that desyncs can happen because of that. I'm specifically refering to the creation of
Lua:
local timer = CreateTimer()
in your code. You can look at this source, in "Executing Code" tab:
A comprehensive guide to Mapping in Lua
On the bright side and in conclusion, it's another one of your many spell packs which show creativity and thematic cohesion, marvellous.
Approved.