private int writeLandEncounters(int offset, Iterator<EncounterSet> areas,
			boolean useTimeOfDay) {
		while ((rom[offset] & 0xFF) != 0xFF) {
			if (useTimeOfDay) {
				for (int i = 0; i < 3; i++) {
					EncounterSet encset = areas.next();
					Iterator<Encounter> encountersHere = encset.encounters
							.iterator();
					for (int j = 0; j < 7; j++) {
						rom[offset + 5 + (i * 14) + (j * 2) + 1] = (byte) encountersHere
								.next().pokemon.number;
					}
				}
			} else {
				// Write the set to all 3 equally
				EncounterSet encset = areas.next();
				for (int i = 0; i < 3; i++) {
					Iterator<Encounter> encountersHere = encset.encounters
							.iterator();
					for (int j = 0; j < 7; j++) {
						rom[offset + 5 + (i * 14) + (j * 2) + 1] = (byte) encountersHere
								.next().pokemon.number;
					}
				}
			}
			offset += 47;
		}
		return offset + 1;
	}