public Situation AdvanceBatter(Event e, Player p)
    {
	int start = 0;
	int end = 0;
	if (p != null){
	    start = e.desc.indexOf(p.FullName(), (e.desc.indexOf(p.FullName()) + 1));
	    end   = e.desc.indexOf(".", start);
	}
	if (start > 0 && end > start){
	    String sub = e.desc.substring(start, end);
	    e.after.ClearBase(e.after.GetPlayerBase(p));
	    if (sub.indexOf("to 1st") > -1){
		e.after.first = p;
	    }
	    else if (sub.indexOf("to 2nd") > -1){
		e.after.second = p;
	    }
	    else if (sub.indexOf("to 3rd") > -1){
		e.after.third = p;
	    }
	    else if (sub.indexOf("scores") > -1){
		e.after.AddRuns(1);
	    }
	    else if (sub.indexOf("out at") > -1){
		e.after.AddOuts(1);
	    }
	}
	return e.after;
    }