package com.vdom.api;
public enum GameType {
// Base Game
FirstGame("First Game (Base)"), BigMoney("Big Money (Base)"), Interaction("Interaction (Base)"), SizeDistortion("Size Distortion (Base)"), VillageSquare("Village Square (Base)"), RandomBaseGame("Random Base Game"),
// Intrigue
VictoryDance("Victory Dance (Intr)"), SecretSchemes("Secret Schemes (Intr)"), BestWishes("Best Wishes (Intr)"), RandomIntrigue("Random Intrigue"),
// Base and Intrigue
Deconstruction("Deconstruction (Base, Intr)"), HandMadness("Hand Madness (Base, Intr)"), Underlings("Underlings (Base, Intr)"),
// Seaside
HighSeas("High Seas (Sea)"), BuriedTreasure("Buried Treasure (Sea)"), Shipwrecks("Shipwrecks (Sea)"), RandomSeaside("Random Seaside"),
// Alchemy
RandomAlchemy("Random Alchemy"),
// Base and Alchemy
ForbiddenArts("Forbidden Arts (Base, Alch)"), PotionMixers("Potion Mixers (Base, Alch)"), ChemistryLesson("Chemistry Lesson (Base, Alch)"),
// Intrigue and Alchemy
Servants("Servants (Intr, Alch)"), SecretResearch("Secret Research (Intr, Alch)"), PoolsToolsAndFools("Pools, Tools, and Fools (Intr, Alch)"),
// Base and Seaside
ReachForTomorrow("Reach for Tomorrow (Base, Sea)"), Repetition("Repetition (Base, Sea)"), GiveAndTake("Give and Take (Base, Sea)"),
// Prosperity
Beginners("Beginners (Prsp)"), FriendlyInteractive("Friendly Interactive (Prsp)"), BigActions("Big Actions (Prsp)"), RandomProsperity("Random Prosperity"),
// Base and Prosperity
BiggestMoney("Biggest Money (Base, Prsp)"), TheKingsArmy("The King's Army (Base, Prsp)"), TheGoodLife("The Good Life (Base, Prsp)"),
// Intrigue and Prosperity
PathToVictory("Path to Victory (Intr, Prsp)"), AllAlongTheWatchtower("All Along the Watchtower (Intr, Prsp)"), LuckySeven("Lucky Seven (Intr, Prsp)"),
// Cornucopia
RandomCornucopia("Random Cornucopia"),
// Base and Cornucopia
BountyOfTheHunt("Bounty of the Hunt (Base, Corn)"), BadOmens("Bad Omens (Base, Corn)"), TheJestersWorkshop("The Jester's Workshop (Base, Corn)"),
// Intrigue and Cornucopia
LastLaughs("Last Laughs (Intr, Corn)"), TheSpiceOfLife("The Spice of Life (Intr, Corn)"), SmallVictories("Small Victories (Intr, Corn)"),
// Hinterlands
HinterlandsIntro("Hinterlands Intro (Hntr)"), FairTrades("Fair Trades (Hntr)"), Bargains("Bargains (Hntr)"), Gambits("Gambits (Hntr)"), RandomHinterlands("Random Hinterlands"),
// Base and Hinterlands
HighwayRobbery("Highway Robbery (Base, Hntr)"), AdventuresAbroad("Adventures Abroad (Base, Hntr)"),
// Hinterlands and Intrigue
MoneyForNothing("Money for Nothing (Hntr, Intr)"), TheDukesBall("The Duke's Ball (Hntr, Intr)"),
// Hinterlands and Seaside
Travelers("Travelers (Hntr, Sea)"), Diplomacy("Diplomacy (Hntr, Sea)"),
// Hinterlands and Alchemy
SchemesAndDreams("Schemes and Dreams (Hntr, Alch)"), WineCountry("Wine Country (Hntr, Alch)"),
// Hinterlands and Prosperity
InstantGratification("Instant Gratification (Hntr, Prsp)"), TreasureTrove("Treasure Trove (Hntr, Prsp)"),
// Hinterlands and Cornucopia
BlueHarvest("Blue Harvest (Hntr, Corn)"), TravelingCircus("Traveling Circus (Hntr, Corn)"),
// Dark Ages
RandomDarkAges("Random Dark Ages"), PlayingChessWithDeath("Playing Chess With Death (DA)"), GrimParade("Grim Parade (DA)"),
// Dark Ages and Base
HighAndLow("HighAndLow (DA, Base)"), ChivalryAndRevelry("ChivalryAndRevelry (DA, Base)"),
// Dark Ages and Intrigue
Prophecy("Prophecy (DA, Intr)"), Invasion("Invasion (DA, Intr)"),
// Dark Ages and Seaside
WateryGraves("Watery Graves (DA, Sea)"), Peasants("Peasants (DA, Sea)"),
Infestations("Infestations (DA, Alch)"), Lamentations("Lamentations (DA, Alch)"),
OneMansTrash("One Man's Trash (DA, Prsp)"), HonorAmongThieves("Honor Among Thieves (DA, Prsp)"),
DarkCarnival("Dark Carnival (DA, Corn)"), ToTheVictor("To The Victor (DA, Corn)"),
FarFromHome("Far From Home (DA, Hntr)"), Expeditions("Expeditions (DA, Hntr)"),
// Guilds
RandomGuilds("Random Guilds"),
// Guilds + Base
ArtsAndCrafts("Arts and Crafts (Guilds, Base)"), CleanLiving("Clean Living (Guilds, Base)"), GildingTheLily("Gilding the Lily (Guilds, Base)"),
// Guilds + Intrigue
NameThatCard("Name That Card (Guilds, Intr)"), TricksOfTheTrade("Tricks of the Trade (Guilds, Intr)"), DecisionsDecisions("Decisions, Decisions (Guilds, Intr)"),
// All Cards
Random("Random"),
// Card set is specified from Dominion Shuffle
Specified("Specified");
private final String name;
GameType(String name) {
this.name = name;
}
public String getName() {
return name;
}
public static GameType fromName(String name) {
name = name.replace(" the ", " The ");
name = name.replace(" for ", " For ");
name = name.replace(" of ", " Of ");
name = name.replace(" to ", " To ");
name = name.replace(" and ", " And ");
name = name.replace("," , "");
name = name.replace("'" , "");
name = name.replace(" ", "");
int paren = name.indexOf("(");
if(paren != -1) {
name = name.substring(0, paren);
}
return GameType.valueOf(name);
}
}