diff options
Diffstat (limited to 'crawl-ref/source/skills2.cc')
-rw-r--r-- | crawl-ref/source/skills2.cc | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/crawl-ref/source/skills2.cc b/crawl-ref/source/skills2.cc index 69b6b294ba..53ea25ec97 100644 --- a/crawl-ref/source/skills2.cc +++ b/crawl-ref/source/skills2.cc @@ -75,8 +75,9 @@ typedef skill_title_key_t stk; // Referring to the skill itself is fine ("Transmuter") but not impressive. // No overlaps, high diversity. -// Replace @genus@ with lowercase genus, @Genus@ with uppercase, and %s -// with special cases defined below, including but not limited to species. +// Replace @Adj@ with uppercase adjective form, @genus@ with lowercase genus, +// @Genus@ with uppercase genus, and %s with special cases defined below, +// including but not limited to species. // NOTE: Even though %s could be used with most of these, remember that // the character's race will be listed on the next line. It's only really @@ -88,22 +89,22 @@ const char *skills[50][6] = // Skill name levels 1-7 levels 8-14 levels 15-20 levels 21-26 level 27 {"Fighting", "Skirmisher", "Fighter", "Warrior", "Slayer", "Conqueror"}, // 0 {"Short Blades", "Cutter", "Slicer", "Swashbuckler", "Blademaster", "Eviscerator"}, - {"Long Blades", "Slasher", "Carver", "Fencer", "@Genus@ Blade", "Swordmaster"}, + {"Long Blades", "Slasher", "Carver", "Fencer", "@Adj@ Blade", "Swordmaster"}, {NULL}, // 3- was: great swords {dlb} {"Axes", "Chopper", "Cleaver", "Hacker", "Severer", "Executioner"}, {"Maces & Flails", "Cudgeler", "Basher", "Bludgeoner", "Shatterer", "Skullcrusher"}, // 5 - {"Polearms", "Poker", "Spear-Bearer", "Impaler", "Phalangite", "@Genus@ Porcupine"}, + {"Polearms", "Poker", "Spear-Bearer", "Impaler", "Phalangite", "@Adj@ Porcupine"}, {"Staves", "Twirler", "Cruncher", "Stickfighter", "Pulveriser", "Chief of Staff"}, - {"Slings", "Vandal", "Slinger", "Whirler", "Slingshot", "@Genus@ Catapult"}, + {"Slings", "Vandal", "Slinger", "Whirler", "Slingshot", "@Adj@ Catapult"}, {"Bows", "Shooter", "Archer", "Marks@genus@", "Crack Shot", "Merry @Genus@"}, - {"Crossbows", "Bolt Thrower", "Quickloader", "Sharpshooter", "Sniper", "@Genus@ Arbalest"}, // 10 + {"Crossbows", "Bolt Thrower", "Quickloader", "Sharpshooter", "Sniper", "@Adj@ Arbalest"}, // 10 {"Darts", "Dart Thrower", "Hurler", "Hedgehog", "Darts Champion", "Perforator"}, - {"Throwing", "Chucker", "Thrower", "Deadly Accurate", "Hawkeye", "@Genus@ Ballista"}, + {"Throwing", "Chucker", "Thrower", "Deadly Accurate", "Hawkeye", "@Adj@ Ballista"}, {"Armour", "Covered", "Protected", "Tortoise", "Impregnable", "Invulnerable"}, {"Dodging", "Ducker", "Nimble", "Spry", "Acrobat", "Intangible"}, {"Stealth", "Sneak", "Covert", "Unseen", "Imperceptible", "Ninja"}, // 15 {"Stabbing", "Miscreant", "Blackguard", "Backstabber", "Cutthroat", "Politician"}, - {"Shields", "Shield-Bearer", "Hoplite", "Blocker", "Peltast", "@Genus@ Barricade"}, + {"Shields", "Shield-Bearer", "Hoplite", "Blocker", "Peltast", "@Adj@ Barricade"}, {"Traps & Doors", "Scout", "Disarmer", "Vigilant", "Perceptive", "Dungeon Master"}, // STR based fighters, for DEX/martial arts titles see below {"Unarmed Combat", "Ruffian", "Grappler", "Brawler", "Wrestler", "@Weight@weight Champion"}, @@ -119,7 +120,7 @@ const char *skills[50][6] = {"Enchantments", "Charm-Maker", "Infuser", "Bewitcher", "Enchanter", "Spellbinder"}, {"Summonings", "Caller", "Summoner", "Convoker", "Demonologist", "Hellbinder"}, {"Necromancy", "Grave Robber", "Reanimator", "Necromancer", "Thanatomancer", "@Genus_Short@ of Death"}, - {"Translocations", "Grasshopper", "Placeless @Genus@", "Blinker", "Portalist", "Plane @Walker@"}, // 30 + {"Translocations", "Grasshopper", "Placeless @Genus@", "Blinker", "Portalist", "Plane @Walker@"}, // 30 {"Transmigration", "Changer", "Transmogrifier", "Alchemist", "Malleable", "Shapeless @Genus@"}, {"Divinations", "Seer", "Soothsayer", "Diviner", "Augur", "Oracle"}, @@ -1976,6 +1977,11 @@ int str_to_skill(const std::string &skill) return (SK_FIGHTING); } +static std::string _stk_adj_cap() +{ + return species_name(Skill_Species, 1, false, true); +} + // [ds] @Genus@ distinguishes between Ogre-Mages and Ogres, but // @genus@ does not. This is rather confusing. static std::string _stk_genus_cap() @@ -2022,7 +2028,7 @@ static std::string _stk_weight() case SP_DEEP_ELF: case SP_SLUDGE_ELF: case SP_KENKU: - return "Little"; + return "Light"; case SP_HALFLING: case SP_GNOME: @@ -2035,6 +2041,7 @@ static std::string _stk_weight() } static skill_title_key_t _skill_title_keys[] = { + stk("Adj", _stk_adj_cap), stk("Genus", _stk_genus_cap), stk("genus", _stk_genus_nocap), stk("Genus_Short", _stk_genus_short_cap), |