@@ -0,0 +1,700 @@
+package edu.wheaton.simulator.expression;%0D%0A%0D%0Aimport net.sourceforge.jeval.EvaluationException;%0D%0A%0D%0Apublic class GetFieldOfAgentAt extends AbstractExpressionFunction %7B%0D%0A%0D%0A%09@Override%0D%0A%09public String getName() %7B%0D%0A%09%09return %22getFieldOfAgentAt%22;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int getResultType() %7B%0D%0A%09%09return AbstractExpressionFunction.RESULT_TYPE_NUMERIC;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public String execute(String%5B%5D args) throws EvaluationException %7B%0D%0A%09%09Double x = Double.valueOf(args%5B0%5D);%0D%0A%09%09Double y = Double.valueOf(args%5B1%5D);%0D%0A%09%09String fieldName = args%5B2%5D;%0D%0A%09%09Object fieldValue = resolveAgent(%22this%22).getGrid().getAgent(x.intValue(), y.intValue()).getFieldValue(fieldName);%0D%0A%09%09return fieldValue.toString();%0D%0A%09%09%7D%0D%0A%7D%0D%0A

I re-added the expression function called GetFieldOfAgentAt which will return the field value of the agent at a given position. getFieldOfAgentAt(x, y, fieldName)