var/turf/TrapTurf = get_step(usr, usr.dir)
var/Picked = pick(Traps)
var/Skills/Earth_Spike/Trap = new Picked
var/list/Chest = list()
while(!Trap.Move(TrapTurf))
Chest += Picked ; Traps -= Picked
if(length(Traps))
Picked = pick(Traps)
Trap = new Picked
else break
Traps += Chest
while(bounds_dist(usr, Picked ) > 3)
if(step_towards(Picked, usr)) continue
else break
Aaaaand Traps is
Traps = list( /Skills/Earth_Spike/Spike1, /Skills/Earth_Spike/Spike2, /Skills/Earth_Spike/Spike3, /Skills/Earth_Spike/Spike4)
Problem description:
I don't know why it thinks I'm inserting an object in for picked or what, but I keep getting the error even though I'm pretty sure Picked should be a path.
So in your case, you could do: