// Path: src/main/java/net/blerf/ftl/parser/SavedGameParser.java
// public enum CrewType {
// 	// TODO: Magic numbers.
// 	ANAEROBIC("anaerobic", 100),
// 	BATTLE   ("battle",    150),
// 	CRYSTAL  ("crystal",   120),
// 	ENERGY   ("energy",     70),
// 	ENGI     ("engi",      100),
// 	GHOST    ("ghost",      50),
// 	HUMAN    ("human",     100),
// 	MANTIS   ("mantis",    100),
// 	ROCK     ("rock",      150),
// 	SLUG     ("slug",      100);
// 
// 	// The following were introduced in FTL 1.5.4.
// 	// ANAEROBIC (when DLC is enabled)
// 
// 	private String id;
// 	private int maxHealth;
// 	CrewType(String id, int maxHealth) {
// 		this.id = id;
// 		this.maxHealth = maxHealth;
// 	}
// 	public String getId() { return id; }
// 	public int getMaxHealth() { return maxHealth; }
// 	public String toString() { return id; }
// 
// 	public static CrewType findById(String id) {
// 		for (CrewType race : values()) {
// 			if (race.getId().equals(id)) return race;
// 		}
// 		return null;
// 	}
// 
// 	public static int getMaxHealth(String id) {
// 		CrewType race = CrewType.findById(id);
// 		if (race != null) return race.getMaxHealth();
// 		throw new RuntimeException("No max health known for crew race: "+ id);
// 	}
// }


import net.blerf.ftl.parser.SavedGameParser.CrewType;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
package net.blerf.ftl.constants;




/**
 * Constants for FTL 1.01-1.03.3.
 */
public class OriginalFTLConstants implements FTLConstants {

	private final List<CrewType> crewTypes;


	public OriginalFTLConstants() {
		List<CrewType> mutableCrewTypes = new ArrayList<>();
		mutableCrewTypes.add(CrewType.BATTLE);
		mutableCrewTypes.add(CrewType.CRYSTAL);
		mutableCrewTypes.add(CrewType.ENERGY);
		mutableCrewTypes.add(CrewType.ENGI);
		mutableCrewTypes.add(CrewType.GHOST);
		mutableCrewTypes.add(CrewType.HUMAN);
		mutableCrewTypes.add(CrewType.MANTIS);
// Path: src/main/java/net/blerf/ftl/parser/SavedGameParser.java
// public enum CrewType {
// 	// TODO: Magic numbers.
// 	ANAEROBIC("anaerobic", 100),
// 	BATTLE   ("battle",    150),
// 	CRYSTAL  ("crystal",   120),
// 	ENERGY   ("energy",     70),
// 	ENGI     ("engi",      100),
// 	GHOST    ("ghost",      50),
// 	HUMAN    ("human",     100),
// 	MANTIS   ("mantis",    100),
// 	ROCK     ("rock",      150),
// 	SLUG     ("slug",      100);
// 
// 	// The following were introduced in FTL 1.5.4.
// 	// ANAEROBIC (when DLC is enabled)
// 
// 	private String id;
// 	private int maxHealth;
// 	CrewType(String id, int maxHealth) {
// 		this.id = id;
// 		this.maxHealth = maxHealth;
// 	}
// 	public String getId() { return id; }
// 	public int getMaxHealth() { return maxHealth; }
// 	public String toString() { return id; }
// 
// 	public static CrewType findById(String id) {
// 		for (CrewType race : values()) {
// 			if (race.getId().equals(id)) return race;
// 		}
// 		return null;
// 	}
// 
// 	public static int getMaxHealth(String id) {
// 		CrewType race = CrewType.findById(id);
// 		if (race != null) return race.getMaxHealth();
// 		throw new RuntimeException("No max health known for crew race: "+ id);
// 	}
// }


// Path: src/main/java/net/blerf/ftl/constants/OriginalFTLConstants.java
import net.blerf.ftl.parser.SavedGameParser.CrewType;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

package net.blerf.ftl.constants;




/**
 * Constants for FTL 1.01-1.03.3.
 */
public class OriginalFTLConstants implements FTLConstants {

	private final List<CrewType> crewTypes;


	public OriginalFTLConstants() {
		List<CrewType> mutableCrewTypes = new ArrayList<>();
		mutableCrewTypes.add(CrewType.BATTLE);
		mutableCrewTypes.add(CrewType.CRYSTAL);
		mutableCrewTypes.add(CrewType.ENERGY);
		mutableCrewTypes.add(CrewType.ENGI);
		mutableCrewTypes.add(CrewType.GHOST);
		mutableCrewTypes.add(CrewType.HUMAN);
		mutableCrewTypes.add(CrewType.MANTIS);
		mutableCrewTypes.add(CrewType.ROCK);