git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5709 c06c8d41-db1a-0410-9941-cceddc491573
TDXC5VWE2B5VVGNXEF7V5E6UCKCSAIZVLJXFIOQ4G4A2PK5L7BBQC
UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
22QXEMVWB4WB7NRHBLXMRVAYNG36KKTJJABENPBRXYERXEYVBLFQC
X6JLXMSRNWRGP2PVQYX6Z4OUZLDSSQ2VL3EQQM5Q427MXBMRILEQC
7ZMJTRJP6PQW4OLFDNTYLMVAZLYQ3IEBIQZVBZN2BSRJEADHUZ7AC
RM2JXW3ATVYRYHF3NMG5ALGI64OJ7IP2F3MDUDPUT5TBKSSN4KVQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
VS3WVE6ORJ76O3TRRJCR4JJVFVRKKFK5YHZ6AA4AU63DWM3KR3UAC
WX4M72MBE2CUPJWOR6HOGQVLV2HX7UPFRPP4HOT4DXQIXQUJMGRAC
2BTN774TDEFKS7L23YNEDQJSLSUWWKXPC5GA73ZGKLCKDHVEWSJAC
PEJKH4SVPTELLFQ4NWOA7GIC636MOBLLLYDUMIHXFXRCPREL4EOQC
5SUSEJ2RAOAXSTKDGDUSE4Q7FGOYA4XVG6JMUWIDA7MDEILRCUCAC
CQD3RU44235F3CYFDZBC3JRT2H3AE7PXJNVBBMCRF65Q5LPA3EHQC
VEOWM6UDFNWRAXP5YUO7XBH4ZALAJXCWRA4IRDITXJ3QWH42CTWAC
LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC
WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC
Q4YYTFXYZUDBYWT37U354CJOAQMAAIWM5W72TAEGMEUKZIUZBMGAC
CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC
GL7TJGUGV4JPLZCDWH6QVST4RYW7UJV6IP7UAEWEKNBWJO2H2ZHAC
FXMCYF3SEOI7OY5Y5Q335TAE53L4WETNOYAVTK3EI6YI3IU5UKGQC
RLN5WLM2K5U6QBIBWBLK5XTDD3MPPXXXOVPUT33JKOQF3PHF6WZQC
EJEHTLHZ5DL4SJQJBMQL5K3IV2ZMCZQBVCRRERER7SPOMNKFJTVQC
// The various titles granted by the god of your choice.
// Note that Xom doesn't actually use piety, so it's completely useless.
const char *divine_title[NUM_GODS][8] =
{
// No god
{"Buglet", "Firebug", "Bogeybug", "Bugger",
"Bugbear", "Bugged One", "Giant Bug", "Lord of the Bugs"},
// Zin
{"Sinner", "Anchorite", "Apologist", "Pious",
"Devout", "Orthodox", "Immaculate", "Bringer of Law"},
// the Shining One
{"Sinner", "Acolyte", "Righteous", "Unflinching",
"Holy Warrior", "Exorcist", "Demon Slayer", "Bringer of Light"},
// Kikubaaqudgha -- scholarly death
{"Sinner", "Purveyor of Pain", "Death's Scholar", "Merchant of Misery",
"Death's Artisan", "Dealer of Despair", "Black Sun", "Lord of Darkness"},
// Yredelemnul -- zombie death
{"Sinner", "Zealot", "Exhumer", "Fey %s",
"Soul Tainter", "Sculptor of Flesh", "Harbinger of Death", "Grim Reaper"},
// Xom
{"Toy", "Toy", "Toy", "Toy",
"Toy", "Toy", "Toy", "Teddy Bear"},
// Vehumet
{"Meek", "Sorceror's Apprentice", "Scholar of Destruction", "Caster of Ruination",
"Battle Magician", "Warlock", "Annihilator", "Luminary of Lethal Lore"},
// Okawaru
{"Coward", "Struggler", "Combattant", "Warrior",
"Knight", "Warmonger", "Commander", "Victor of a Thousand Battles"},
// Makhleb
{"Sinner", "Spawn of Chaos", "Disciple of Annihilation", "Fanfare of Bloodshed",
"Fiendish", "Demolition %s", "Demon Caller", "Champion of Chaos"},
// Sif Muna
{"Ignorant", "Disciple", "Student", "Adept",
"Scribe", "Scholar", "Sage", "Genius of the Arcane"},
// Trog
{"Faithless", "Troglodyte", "Angry Troglodyte", "Frenzied",
"%s of Prey", "Rampant", "Wild %s", "Bane of Scribes"},
// Nemelex Xobeh -- alluding to Tarot and cards
{"Unlucky %s", "The Pannier", "The Charlatan", "The Dreamer",
"The Fortune-Teller", "The Soothsayer", "The Magus", "%s in Luck"},
// Elyvilon
{"Sinner", "Comforter", "Caregiver", "Practitioner",
"Pacifier", "Purifying %s", "Faith Healer", "Bringer of Life"},
// Lugonu
{"Faithless", "Abyss-Baptised", "Unweaver", "Distorting %s",
"Agent of Entropy", "Schismatic", "Envoy of Void", "Corrupter of Planes"},
// Beogh
{"Apostate", "Messenger", "Proselytizer", "Priest",
"Missionary", "Evangelist", "Apostle", "Messiah"}
};
static int _piety_level()
{
return ((you.piety > 160) ? 7 :
(you.piety >= 120) ? 6 :
(you.piety >= 100) ? 5 :
(you.piety >= 75) ? 4 :
(you.piety >= 50) ? 3 :
(you.piety >= 30) ? 2 :
(you.piety > 5) ? 1
: 0 );
}
// mv: if your piety is high enough you get title
// based on your god
if (you.piety > 160)
{
cprintf("%s",
(which_god == GOD_ZIN) ? "Champion of Law" :
(which_god == GOD_SHINING_ONE) ? "Divine Warrior" :
(which_god == GOD_ELYVILON) ? "Champion of Light" :
(which_god == GOD_OKAWARU) ? "Master of a Thousand Battles" :
(which_god == GOD_YREDELEMNUL) ? "Master of Eternal Death" :
(which_god == GOD_KIKUBAAQUDGHA) ? "Lord of Darkness" :
(which_god == GOD_MAKHLEB) ? "Champion of Chaos" :
(which_god == GOD_VEHUMET) ? "Lord of Destruction" :
(which_god == GOD_TROG) ? "Great Slayer" :
(which_god == GOD_NEMELEX_XOBEH) ? "Great Trickster" :
(which_god == GOD_SIF_MUNA) ? "Master of the Arcane" :
(which_god == GOD_LUGONU) ? "Agent of Entropy" :
(which_god == GOD_BEOGH) ? "Messiah" :
(which_god == GOD_XOM) ? "Teddy Bear"
: "Bogy the Lord of the Bugs");
}
else
{
//mv: most titles are still universal - if any one wants to
//he might write specific titles for all gods or rewrite current
//ones (I know they are not perfect)
//btw. titles are divided according to piety levels on which you get
//new abilities.In the main it means - new ability = new title
switch (which_god)
{
case GOD_ZIN:
case GOD_SHINING_ONE:
case GOD_KIKUBAAQUDGHA:
case GOD_YREDELEMNUL:
case GOD_VEHUMET:
case GOD_OKAWARU:
case GOD_MAKHLEB:
case GOD_TROG:
case GOD_NEMELEX_XOBEH:
case GOD_ELYVILON:
case GOD_LUGONU:
cprintf ( (you.piety >= 120) ? "High Priest" :
(you.piety >= 100) ? "Elder" :
(you.piety >= 75) ? "Priest" :
(you.piety >= 50) ? "Deacon" :
(you.piety >= 30) ? "Novice" :
(you.piety > 5) ? "Believer"
: "Sinner" );
break;
case GOD_SIF_MUNA:
cprintf ( (you.piety >= 120) ? "Oracle" :
(you.piety >= 100) ? "Scholar" :
(you.piety >= 75) ? "Adept" :
(you.piety >= 50) ? "Disciple" :
(you.piety >= 30) ? "Apprentice" :
(you.piety > 5) ? "Believer"
: "Sinner" );
break;
case GOD_BEOGH:
cprintf ( (you.piety >= 120) ? "Saint" :
(you.piety >= 100) ? "High Priest" :
(you.piety >= 75) ? "Missionary" :
(you.piety >= 50) ? "Priest" :
(you.piety >= 30) ? "Disciple" :
(you.piety > 5) ? "Believer"
: "Sinner" );
break;
case GOD_XOM:
cprintf("Toy");
break;
std::string title = divine_title[which_god][_piety_level()];
title = replace_all(title, "%s",
species_name(you.species, 1, true, false));
// mv: now let's print favor as Brent suggested
// I know these messages aren't perfect so if you can
// think up something better, do it
// mv: Now let's print favour as Brent suggested.
// I know these messages aren't perfect so if you can think up
// something better, do it.
//mv: player is praying at altar without appropriate religion
//it means player isn't checking his own religion and so we only
//display favour and will go out
//mv: Player is praying at altar without appropriate religion.
// It means player isn't checking his own religion and so we only
// display favour and go out.