Perhaps the torpedo gets stuck in the player? This could happen if your player entity is not passable.
If so, you can modify your c_move instruction:

..
you = player;
c_move (my, bullet_speed, nullvector, ignore_passable|IGNORE_YOU);
..