how the MobTimer's timeout got the Mobs to move
The MobTimer's makes the mobs spawn and gives them a
linear_velocity between max and min speed defined in mobs script. How does they move then? RigidBody2D is moved by physics engine, so if you set the
linear_velocity physics engine will handle the movement with that velocity in the direction the mob is pointing to (which is set with
mov.rotation in the main script). Have in mind that
set_linear_velocity method is already inherited by RigidBody.
On the other hand, the player is not a RigidBody2D but an Area2D, so physics engine will not handle it's movement. Thats why you must handle it yourself inside
_process function (or
_physics_process depending the situation).
Mobs movement has nothing to do with MobTimer's tick or timeout. That timer only instantiate the mobs and sets them the required properties.