public float GetCost(ObjectInteraction obj){
		// lets try something based on:  skill fit, number of lines, distance to the character?
		
		Vector3 skillLocation = new Vector3(0,0,0);
		if (skillVector != null && skillVector.Length>0) skillLocation = skillVector[0];
		
		float cost = extraCost;
		float skillFactor = 1;
		if (obj != null) skillFactor = (1.0f+obj.SkillMetric(skillLocation));
		cost+= scriptLines.Length*skillFactor;
		
		// we could add in a factor for distance to travel to perform this task
		if (obj != null)
			cost += MoveDistance(obj.gameObject);

		// add a penalty if the script isn't ready
		if (!isReadyFor(obj)) cost+= 10;
		if (!isReadyToRun(obj,false)) cost+= 10;
		
		return cost;
	}