second round tweaking them some more.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5207 c06c8d41-db1a-0410-9941-cceddc491573
3ZUPHPFVGLZ6GPKZ4NSFUX5Z4FUQCE7NJX2EUNN2AXARWOXX7U7AC LSFSENHBGYSW3C3OASCE4W3ISKOVVBR5INV4N7SLU4MD5HBD5CVQC 3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC SJP5BHX6MFWF3OSQPEF4WUWZWPUGMOVURTT2CUVT6H3A66LETXUAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 7K5P2GRF6QUXTMERG2R3BB6DZFQYJQ6V2KNPMBPFDLOP36NQILPAC /* jmf: some references for words I used below:Peltast http://www.geocities.com/Athens/Aegean/9659/shields_main.htmPhalangite http://www.users.cts.com/funtv/j/jjartist/EpiroteScenario1.htmYeoman: http://snt.student.utwente.nl/campus/sagi/artikel/longbow/longbow.html
/* Basic goals for titles:The higher titles must be come last.Referring to the skill itself is fine ("Transmuter") but not impressive.No overlaps, high diversity.
{"Fighting", "Skirmisher", "Grunt", "Veteran", "Warrior", "Slayer"}, // 0{"Short Blades", "Stabber", "Cutter", "Knifefighter", "Eviscerator", "Blademaster"},{"Long Blades", "Slasher", "Slicer", "Fencer", "Swordfighter", "Swordmaster"},
{"Fighting", "Skirmisher", "Fighter", "Warrior", "Slayer", "Conqueror"}, // 0{"Short Blades", "Cutter", "Slicer", "Swashbuckler", "Blademaster", "Eviscerator"},{"Long Blades", "Slasher", "Carver", "Fencer", "%s Blade", "Swordmaster"},
{"Axes", "Chopper", "Cleaver", "Hacker", "Severer", "Axe Maniac"},{"Maces & Flails", "Basher", "Cudgeler", "Shatterer", "Bludgeoner", "Skullcrusher"}, // 5{"Polearms", "Spear-Bearer", "Pike-%s", "Phalangite", "Lancer", "Halberdier"},{"Staves", "Twirler", "Cruncher", "Smasher", "Stickfighter", "Skullbreaker"},{"Slings", "Vandal", "Slinger", "Whirler", "Crazy %s", "Very Crazy %s"},{"Bows", "Shooter", "Yeoman", "Archer", "Merry %s", "Merry %s"},{"Crossbows", "Shooter", "Sharpshooter", "Archer", "%s Ballista", "%s Ballista"}, // 10{"Darts", "Dart Thrower", "Hurler", "Hurler, First Class", "%s Darts Champion", "Universal Darts Champion"},{"Throwing", "Chucker", "Thrower", "Deadly Accurate", "Hawkeye", "Sniper"},
{"Axes", "Chopper", "Cleaver", "Hacker", "Severer", "Executioner"},{"Maces & Flails", "Cudgeler", "Basher", "Bludgeoner", "Shatterer", "Skullcrusher"}, // 5{"Polearms", "Poker", "Spear-Bearer", "Impaler", "Phalangite", "%s Porcupine"},{"Staves", "Twirler", "Cruncher", "Stickfighter", "Pulverizerr", "Chief of Staff"},{"Slings", "Vandal", "Slinger", "Whirler", "Slingshot", "%s Catapult"},{"Bows", "Shooter", "Archer", "Marks%s", "Crack Shot", "Merry %s"},{"Crossbows", "Bolt Thrower", "Quickloader", "Sharpshooter", "Sniper", "%s Arbalest"}, // 10{"Darts", "Dart Thrower", "Hurler", "Hedgehog", "Darts Champion", "Perforator"},{"Throwing", "Chucker", "Thrower", "Deadly Accurate", "Hawkeye", "%s Ballista"},
{"Dodging", "Ducker", "Dodger", "Nimble", "Spry", "Acrobat"},{"Stealth", "Footpad", "Sneak", "Covert", "Unseen", "Imperceptible"},
{"Dodging", "Ducker", "Nimble", "Spry", "Acrobat", "Intangible"},{"Stealth", "Sneak", "Covert", "Unseen", "Imperceptible", "Ninja"}, // 15
{"Shields", "Shield-Bearer", "Blocker", "%s Barricade", "Peltast", "Hoplite"},{"Traps & Doors", "Disarmer", "Trapper", "Architect", "Engineer", "Dungeon Master"},
{"Shields", "Shield-Bearer", "Hoplite", "Blocker", "Peltast", "%s Barricade"},{"Traps & Doors", "Scout", "Disarmer", "Vigilant", "Perceptive", "Dungeon Master"},
{"Translocations", "Jumper", "Blinker", "Shifter", "Portalist", "Plane Walker"}, // 30{"Transmigration", "Changer", "Transmogrifier", "Transformer", "Alchemist", "Transmuter"},
{"Translocations", "Grasshopper", "Placeless %s", "Blinker", "Portalist", "Plane %s"}, // 30{"Transmigration", "Changer", "Transmogrifier", "Alchemist", "Malleable", "Shapeless %s"},
{"Ice Magic", "Chiller", "Frost Mage", "Ice Mage", "Cryomancer", "Englaciator"},{"Air Magic", "Wind Mage", "Cloud Mage", "Air Mage", "Sky Mage", "Storm Mage"}, // 35
{"Ice Magic", "Chiller", "Frost Mage", "Gelid", "Cryomancer", "Englaciator"},{"Air Magic", "Gusty", "Cloud Mage", "Aerator", "Anemomancer", "Meteorologist"}, // 35
const bool need_cap = (where == 0 && best_skill != SK_NECROMANCY);const std::string sp = species_name(static_cast<species_type>(species),0, true, need_cap);result.replace(where, 2, sp);
if (best_skill == SK_UNARMED_COMBAT){std::string weightclass = "";switch (species){case SP_OGRE:case SP_OGRE_MAGE:case SP_TROLL:weightclass = "Heavy";break;case SP_NAGA:case SP_CENTAUR:weightclass = "Cruiser";break;default:weightclass = "Middle";break;case SP_HIGH_ELF:case SP_GREY_ELF:case SP_DEEP_ELF:case SP_SLUDGE_ELF:case SP_KENKU:weightclass = "Little";break;case SP_HALFLING:case SP_GNOME:case SP_KOBOLD:weightclass = "Feather";break;case SP_SPRIGGAN:weightclass = "Fly";break;}result.replace(where, 2, weightclass);}else if (best_skill == SK_TRANSLOCATIONS && skill_rank == 5){result.replace(where, 2, (species == SP_NAGA ? "Slider": "Walker"));}else{const bool need_cap = (best_skill != SK_BOWS);const std::string sp = species_name(static_cast<species_type>(species),0, true, need_cap);result.replace(where, 2, sp);}