mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
- Added a comprehensive map of plural card subtypes to their singular counterparts, to the best of my knowledge of how the plural forms are formed (please take a look and update if necessary). Needed for the correct function of text change effects with any type (e.g. Homing Sliver + New Blood).
- Added an exception for the card text generation for the compound subtype "Eldrazi Scion" (e.g. Kor Castigator).
This commit is contained in:
@@ -1651,6 +1651,9 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
}
|
||||
}
|
||||
|
||||
// Kor Castigator and other similar creatures with composite subtype Eldrazi Scion in their text
|
||||
creatures = creatures.replace("Scions or Eldrazis", "Eldrazi Scions");
|
||||
|
||||
StringBuilder sbShort = new StringBuilder();
|
||||
if (allNegative) {
|
||||
boolean isFirst = true;
|
||||
|
||||
@@ -69,6 +69,21 @@ public final class CardUtil {
|
||||
* So Clerics maps to Cleric, Demons to Demon, etc.
|
||||
*/
|
||||
public static final ImmutableBiMap<String, String> singularTypes = ImmutableBiMap.<String, String>builder()
|
||||
// Creature types
|
||||
.put("Advisors", "Advisor")
|
||||
.put("Aetherborn", "Aetherborn")
|
||||
.put("Allies", "Ally")
|
||||
.put("Angels", "Angel")
|
||||
.put("Antelopes", "Antelope")
|
||||
.put("Apes", "Ape")
|
||||
.put("Archers", "Archer")
|
||||
.put("Archons", "Archon")
|
||||
.put("Artificers", "Artificer")
|
||||
.put("Assassins", "Assassin")
|
||||
.put("Assembly-Workers", "Assembly-Worker")
|
||||
.put("Atogs", "Atog")
|
||||
.put("Aurochs", "Aurochs")
|
||||
.put("Avatars", "Avatar")
|
||||
.put("Badgers", "Badger")
|
||||
.put("Barbarians", "Barbarian")
|
||||
.put("Basilisks", "Basilisk")
|
||||
@@ -82,16 +97,215 @@ public final class CardUtil {
|
||||
.put("Boars", "Boar")
|
||||
.put("Bringers", "Bringer")
|
||||
.put("Brushwaggs", "Brushwagg")
|
||||
.put("Camarids", "Camarid")
|
||||
.put("Camels", "Camel")
|
||||
.put("Caribous", "Caribou")
|
||||
.put("Carriers", "Carrier")
|
||||
.put("Cats", "Cat")
|
||||
.put("Centaurs", "Centaur")
|
||||
.put("Cephalids", "Cephalid")
|
||||
.put("Chimeras", "Chimera")
|
||||
.put("Citizens", "Citizen")
|
||||
.put("Clerics", "Cleric")
|
||||
.put("Cockatrices", "Cockatrice")
|
||||
.put("Constructs", "Construct")
|
||||
.put("Cowards", "Coward")
|
||||
.put("Crabs", "Crab")
|
||||
.put("Crocodiles", "Crocodile")
|
||||
.put("Cyclopes", "Cyclops")
|
||||
.put("Dauthis", "Dauthi")
|
||||
.put("Demons", "Demon")
|
||||
.put("Deserters", "Deserter")
|
||||
.put("Devils", "Devil")
|
||||
.put("Djinns", "Djinn")
|
||||
.put("Dragons", "Dragon")
|
||||
.put("Drakes", "Drake")
|
||||
.put("Dreadnoughts", "Dreadnought")
|
||||
.put("Drones", "Drone")
|
||||
.put("Druids", "Druid")
|
||||
.put("Dryads", "Dryad")
|
||||
.put("Dwarves", "Dwarf")
|
||||
.put("Efreets", "Efreet")
|
||||
.put("Elders", "Elder")
|
||||
.put("Eldrazi", "Eldrazi")
|
||||
.put("Elementals", "Elemental")
|
||||
.put("Elephants", "Elephant")
|
||||
.put("Elves", "Elf")
|
||||
.put("Elks", "Elk")
|
||||
.put("Eyes", "Eye")
|
||||
.put("Faeries", "Faerie")
|
||||
.put("Ferrets", "Ferret")
|
||||
.put("Fish", "Fish")
|
||||
.put("Flagbearers", "Flagbearer")
|
||||
.put("Foxes", "Fox")
|
||||
.put("Frogs", "Frog")
|
||||
.put("Fungi", "Fungus")
|
||||
.put("Gargoyles", "Gargoyle")
|
||||
.put("Germs", "Germ")
|
||||
.put("Giants", "Giant")
|
||||
.put("Gnomes", "Gnome")
|
||||
.put("Goats", "Goat")
|
||||
.put("Goblins", "Goblin")
|
||||
.put("Gods", "God")
|
||||
.put("Golems", "Golem")
|
||||
.put("Gorgons", "Gorgon")
|
||||
.put("Graveborn", "Graveborn")
|
||||
.put("Gremlins", "Gremlin")
|
||||
.put("Griffins", "Griffin")
|
||||
.put("Hags", "Hag")
|
||||
.put("Harpies", "Harpy")
|
||||
.put("Hellions", "Hellion")
|
||||
.put("Hippos", "Hippo")
|
||||
.put("Hippogriffs", "Hippogriff")
|
||||
.put("Homarids", "Homarid")
|
||||
.put("Homunculi", "Homunculus")
|
||||
.put("Horrors", "Horror")
|
||||
.put("Horses", "Horse")
|
||||
.put("Hounds", "Hound")
|
||||
.put("Humans", "Human")
|
||||
.put("Hydras", "Hydra")
|
||||
.put("Hyenas", "Hyena")
|
||||
.put("Illusions", "Illusion")
|
||||
.put("Imps", "Imp")
|
||||
.put("Incarnations", "Incarnation")
|
||||
.put("Insects", "Insect")
|
||||
.put("Jackals", "Jackal")
|
||||
.put("Jellyfishes", "Jellyfish")
|
||||
.put("Juggernauts", "Juggernaut")
|
||||
.put("Kavus", "Kavu")
|
||||
.put("Kirins", "Kirin")
|
||||
.put("Kithkins", "Kithkin")
|
||||
.put("Knights", "Knight")
|
||||
.put("Kobolds", "Kobold")
|
||||
.put("Kors", "Kor")
|
||||
.put("Krakens", "Kraken")
|
||||
.put("Lamias", "Lamia")
|
||||
.put("Lammasus", "Lammasu")
|
||||
.put("Leeches", "Leech")
|
||||
.put("Leviathans", "Leviathan")
|
||||
.put("Lhurgoyfs", "Lhurgoyf")
|
||||
.put("Licids", "Licid")
|
||||
.put("Lizards", "Lizard")
|
||||
.put("Manticores", "Manticore")
|
||||
.put("Masticores", "Masticore")
|
||||
.put("Mercenaries", "Mercenary")
|
||||
.put("Merfolks", "Merfolk")
|
||||
.put("Metathrans", "Metathran")
|
||||
.put("Minions", "Minion")
|
||||
.put("Minotaurs", "Minotaur")
|
||||
.put("Moles", "Mole")
|
||||
.put("Mongers", "Monger")
|
||||
.put("Mongooses", "Mongoose")
|
||||
.put("Monks", "Monk")
|
||||
.put("Monkeys", "Monkey")
|
||||
.put("Moonfolks", "Moonfolk")
|
||||
.put("Mutants", "Mutant")
|
||||
.put("Myrs", "Myr")
|
||||
.put("Mystics", "Mystic")
|
||||
.put("Nagas", "Naga")
|
||||
.put("Nautili", "Nautilus")
|
||||
.put("Nephilims", "Nephilim")
|
||||
.put("Nightmares", "Nightmare")
|
||||
.put("Nightstalkers", "Nightstalker")
|
||||
.put("Ninjas", "Ninja")
|
||||
.put("Noggles", "Noggle")
|
||||
.put("Nomads,", "Nomad,")
|
||||
.put("Nymphs,", "Nymph,")
|
||||
.put("Octopi", "Octopus")
|
||||
.put("Ogres", "Ogre")
|
||||
.put("Oozes", "Ooze")
|
||||
.put("Orbs", "Orb")
|
||||
.put("Orcs", "Orc")
|
||||
.put("Orggs", "Orgg")
|
||||
.put("Ouphes", "Ouphe")
|
||||
.put("Oxen", "Ox")
|
||||
.put("Oysters", "Oyster")
|
||||
.put("Pegasi", "Pegasus")
|
||||
.put("Pentavites", "Pentavite")
|
||||
.put("Pests", "Pest")
|
||||
.put("Phelddagrifs", "Phelddagrif")
|
||||
.put("Phoenixes", "Phoenix")
|
||||
.put("Pilots", "Pilot")
|
||||
.put("Pinchers", "Pincher")
|
||||
.put("Pirates", "Pirate")
|
||||
.put("Plants", "Plant")
|
||||
.put("Praetors", "Praetor")
|
||||
.put("Prisms", "Prism")
|
||||
.put("Processors", "Processor")
|
||||
.put("Rabbits", "Rabbit")
|
||||
.put("Rats", "Rat")
|
||||
.put("Rebels", "Rebel")
|
||||
.put("Reflections", "Reflection")
|
||||
.put("Rhinos", "Rhino")
|
||||
.put("Riggers", "Rigger")
|
||||
.put("Rogues", "Rogue")
|
||||
.put("Sables", "Sable")
|
||||
.put("Salamanders", "Salamander")
|
||||
.put("Samurais", "Samurai")
|
||||
.put("Sands", "Sand")
|
||||
.put("Saprolings", "Saproling")
|
||||
.put("Satyrs", "Satyr")
|
||||
.put("Scarecrows", "Scarecrow")
|
||||
.put("Scions", "Scion")
|
||||
.put("Scorpions", "Scorpion")
|
||||
.put("Scouts", "Scout")
|
||||
.put("Serfs", "Serf")
|
||||
.put("Serpents", "Serpent")
|
||||
.put("Servos", "Servo")
|
||||
.put("Shades", "Shade")
|
||||
.put("Shamans", "Shaman")
|
||||
.put("Shapeshifters", "Shapeshifter")
|
||||
.put("Sheep", "Sheep")
|
||||
.put("Sirens", "Siren")
|
||||
.put("Skeletons", "Skeleton")
|
||||
.put("Sliths", "Slith")
|
||||
.put("Slivers", "Sliver")
|
||||
.put("Slugs", "Slug")
|
||||
.put("Snakes", "Snake")
|
||||
.put("Soldiers", "Soldier")
|
||||
.put("Soltaris", "Soltari")
|
||||
.put("Spawns", "Spawn")
|
||||
.put("Specters", "Specter")
|
||||
.put("Spellshapers", "Spellshaper")
|
||||
.put("Sphinxes", "Sphinx")
|
||||
.put("Spiders", "Spider")
|
||||
.put("Spikes", "Spike")
|
||||
.put("Spirits", "Spirit")
|
||||
.put("Splinters", "Splinter")
|
||||
.put("Sponges", "Sponge")
|
||||
.put("Squids", "Squid")
|
||||
.put("Squirrels", "Squirrel")
|
||||
.put("Starfish", "Starfish")
|
||||
.put("Surrakars", "Surrakar")
|
||||
.put("Survivors", "Survivor")
|
||||
.put("Tetravites", "Tetravite")
|
||||
.put("Thalakoses", "Thalakos")
|
||||
.put("Thopters", "Thopter")
|
||||
.put("Thrulls", "Thrull")
|
||||
.put("Treefolks", "Treefolk")
|
||||
.put("Triskelavites", "Triskelavite")
|
||||
.put("Trolls", "Troll")
|
||||
.put("Turtles", "Turtle")
|
||||
.put("Unicorns", "Unicorn")
|
||||
.put("Vampires", "Vampire")
|
||||
.put("Vedalkens", "Vedalken")
|
||||
.put("Viashinos", "Viashino")
|
||||
.put("Volvers", "Volver")
|
||||
.put("Walls", "Wall")
|
||||
.put("Warriors", "Warrior")
|
||||
.put("Weirds", "Weird")
|
||||
.put("Werewolves", "Werewolf")
|
||||
.put("Whales", "Whale")
|
||||
.put("Wizards", "Wizard")
|
||||
.put("Wolves", "Wolf")
|
||||
.put("Wolverines", "Wolverine")
|
||||
.put("Wombats", "Wombat")
|
||||
.put("Worms", "Worm")
|
||||
.put("Wraiths", "Wraith")
|
||||
.put("Wurms", "Wurm")
|
||||
.put("Yetis", "Yeti")
|
||||
.put("Zombies", "Zombie")
|
||||
.put("Zuberas", "Zubera")
|
||||
|
||||
// Land Types
|
||||
.put("Mountains", "Mountain")
|
||||
|
||||
Reference in New Issue
Block a user