public LinkedList<Field> getAttackBorder() {
		LinkedList<Field> fields = this.field.getAttackBorder();
		if (fields == null) {
			fields = new LinkedList<Field>();
			for (Offset offset : Ant.attackBorder) {
				boolean found = false;
				if (!offset.getField(this.field).hasWater()) {
					for (Offset o : Ant.attackOffsets.get(offset)) {
						if (!o.getField(this.field).hasWater()) {
							found = true;
							break;
						} else if (!o.getInverse().getField(
								offset.getField(this.field)).hasWater()) {
							found = true;
							break;
						}
					}
				}
				if (found) {
					fields.add(offset.getField(this.field));
				}
			}
			this.field.setAttackBorder(fields);
		}

		return fields;
	}