local time = 0
local repelling = false
local repelTimer = 0
local repelCheckTimer = 0
local gravityTime = 0
local vx = 0
local vy = 0
local moving = false
local gravityBoost = 1
local explodeSpeedBoost = 5
function onCreate()
time = math.random() * 100
-- Start at a random frame so each actor looks visually different
my.drawing.currentFrame = math.random(1, 8)
end
function onUpdate(dt)
time = time + dt
gravityTime = gravityTime + dt
-- Decay gravity boost back to 1 smoothly after a tap spike
if gravityBoost > 1 then
gravityBoost = gravityBoost - dt * 4
if gravityBoost < 1 then gravityBoost = 1 end
end
-- Decay explosion speed boost back to normal over time
if explodeSpeedBoost > 5 then
explodeSpeedBoost = explodeSpeedBoost - dt * 15
if explodeSpeedBoost < 5 then explodeSpeedBoost = 5 end
end
-- Externally activated via tag
if not moving and my:hasTag("moving") then
moving = true
my:re