Sure!
the anomaly script (attached to the gameobject):
(I need to check on editor to activate the effect)
if self.movement then
movement.initiate(go.get_position(), self.movement_delay, self.movement_range, self.movement_speed)
end
then the main moviment.lua (a module):
(sorry my code is a mess)
function A.initiate(initial_pos, delay, range, speed)
A.isMoving = false
local delay = delay or A.delay
local range = range or A.range
local speed = speed or A.speed_mult
math.randomseed(os.clock() * 10000000)
timer.delay(
delay,
true,
function()
if not A.isMoving then
A.isMoving = true
local next_pos =
vmath.vector3(
math.random(initial_pos.x - range, initial_pos.x + range),
math.random(initial_pos.y - range, initial_pos.y + range),
0
)
local distance = vmath.vector3()
distance.x = go.get_position().x - next_pos.x
distance.y = go.get_position().y - next_pos.y
local sc = math.sqrt(distance.x * distance.x + distance.y * distance.y)
go.animate(
".",
"position",
go.PLAYBACK_ONCE_FORWARD,
next_pos,
go.EASING_OUTELASTIC,
speed * sc,
0,
function()
A.isMoving = false
end
)
end
end
)
end
thanks!