Some times you just have to make sure the inputs are really a float.
Was: (where position_origon is an array containing ints)
var vectro2_position_origin = Vector2(position_origin[0] , position_origin[1));
card.position = card_position(vectro2_position_origin, offset, "noshift");
Now:
var vectro2_position_origin = Vector2(float(position_origin[0]) , float(position_origin[1]));
card.position = card_position(vectro2_position_origin, offset, "noshift");