I don't understand what's wrong with
function Player::getLOSPoint(%this, %mask, %dist)
{
%start = %this.getEyePoint();
%image = %this.getMountedImage(0);
if(isObject(%image))
%this.unMountImage(0);
%vector = %this.getMuzzleVector(0);
if(isObject(%image))
%this.mountImage(%image, 0);
%end = vectorAdd(%start, vectorScale(%vector, %dist));
%ray = containerRayCast(%start, %end, %mask, %this);
if(%ray)
return getWords(%ray, 1, 3);
return %end;
}