private int readSeaEncounters(int offset, List<EncounterSet> areas) {
		while ((rom[offset] & 0xFF) != 0xFF) {
			int mapBank = rom[offset] & 0xFF;
			int mapNumber = rom[offset + 1] & 0xFF;
			String mapName = mapNames[mapBank][mapNumber];
			EncounterSet encset = new EncounterSet();
			encset.rate = rom[offset + 2] & 0xFF;
			encset.displayName = mapName + " Surfing";
			for (int j = 0; j < 3; j++) {
				Encounter enc = new Encounter();
				enc.level = rom[offset + 3 + (j * 2)] & 0xFF;
				enc.maxLevel = 0;
				enc.pokemon = pokes[rom[offset + 3 + (j * 2) + 1] & 0xFF];
				encset.encounters.add(enc);
			}
			areas.add(encset);
			offset += 9;
		}
		return offset + 1;
	}