summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/religion.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-10-03 12:57:29 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-10-03 12:57:29 +0000
commitacb92331527e9fea5cc8dda4c2b71f1dac6253ac (patch)
tree1358eada326eee6dd6268af92dca8034ac450e31 /crawl-ref/source/religion.cc
parent728182b693f4b2e21e27cdc294b33d320ce02ce1 (diff)
downloadcrawl-ref-acb92331527e9fea5cc8dda4c2b71f1dac6253ac.tar.gz
crawl-ref-acb92331527e9fea5cc8dda4c2b71f1dac6253ac.zip
Implement [2142702]: Expand god descriptions to include which collateral
kills they accept. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7101 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r--crawl-ref/source/religion.cc126
1 files changed, 79 insertions, 47 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index f9efc3361d..68f8641afc 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -460,19 +460,19 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
case GOD_SIF_MUNA:
- likes.push_back("train your various spell casting skills");
+ likes.push_back("you train your various spell casting skills");
break;
case GOD_TROG:
- snprintf(info, INFO_SIZE, "destroy spellbooks (especially ones you've "
- "never read)%s",
+ snprintf(info, INFO_SIZE, "you destroy spellbooks (especially ones "
+ "you've never read)%s",
verbose ? " via the <w>a</w> command" : "");
likes.push_back(info);
break;
case GOD_NEMELEX_XOBEH:
- snprintf(info, INFO_SIZE, "draw unmarked cards and use up decks%s",
+ snprintf(info, INFO_SIZE, "you draw unmarked cards and use up decks%s",
verbose ? " (by <w>w</w>ielding and e<w>v</w>oking them)"
: "");
@@ -480,7 +480,7 @@ std::string get_god_likes(god_type which_god, bool verbose)
break;
case GOD_ELYVILON:
- snprintf(info, INFO_SIZE, "destroy weapons (especially evil ones)%s",
+ snprintf(info, INFO_SIZE, "you destroy weapons (especially evil ones)%s",
verbose ? " via the <w>a</w> command (inscribe items with "
"<w>!D</w> to prevent their accidental destruction)"
: "");
@@ -495,20 +495,20 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
case GOD_SHINING_ONE:
- snprintf(info, INFO_SIZE, "sacrifice evil items%s",
+ snprintf(info, INFO_SIZE, "you sacrifice evil items%s",
verbose ? " (by dropping them on an altar and praying)" : "");
likes.push_back(info);
break;
case GOD_NEMELEX_XOBEH:
- snprintf(info, INFO_SIZE, "sacrifice items%s",
+ snprintf(info, INFO_SIZE, "you sacrifice items%s",
verbose ? " (by standing over them and <w>p</w>raying)" : "");
likes.push_back(info);
break;
case GOD_ZIN:
- snprintf(info, INFO_SIZE, "donate money%s",
+ snprintf(info, INFO_SIZE, "you donate money%s",
verbose ? " (by praying at an altar)" : "");
likes.push_back(info);
@@ -520,7 +520,7 @@ std::string get_god_likes(god_type which_god, bool verbose)
if (god_likes_butchery(which_god))
{
- snprintf(info, INFO_SIZE, "butcher corpses while praying%s",
+ snprintf(info, INFO_SIZE, "you butcher corpses while praying%s",
verbose ? " (press <w>pc</w> to do so)" : "");
likes.push_back(info);
@@ -528,10 +528,30 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
- case GOD_KIKUBAAQUDGHA: case GOD_YREDELEMNUL: case GOD_OKAWARU:
- case GOD_VEHUMET: case GOD_MAKHLEB: case GOD_TROG:
- case GOD_BEOGH: case GOD_LUGONU:
- likes.push_back("kill living beings");
+ case GOD_VEHUMET: case GOD_MAKHLEB: case GOD_LUGONU:
+ likes.push_back("you or your allies kill living beings");
+ break;
+
+ case GOD_TROG:
+ likes.push_back("you or your god-given allies kill living beings");
+ break;
+
+ case GOD_YREDELEMNUL:
+ likes.push_back("you or your undead slaves kill living beings");
+ break;
+
+ case GOD_KIKUBAAQUDGHA:
+ likes.push_back("you kill living beings");
+ likes.push_back("your god-given allies kill living beings");
+ likes.push_back("your undead slaves kill living beings");
+ break;
+
+ case GOD_BEOGH:
+ likes.push_back("you or your allied orcs kill living beings");
+ break;
+
+ case GOD_OKAWARU:
+ likes.push_back("you kill living beings");
break;
default:
@@ -541,7 +561,7 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
case GOD_SHINING_ONE:
- likes.push_back("kill living evil beings");
+ likes.push_back("you or your allies kill living evil beings");
break;
default:
@@ -550,9 +570,13 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
- case GOD_SHINING_ONE: case GOD_OKAWARU: case GOD_VEHUMET:
- case GOD_MAKHLEB: case GOD_LUGONU:
- likes.push_back("kill the undead");
+ case GOD_SHINING_ONE: case GOD_VEHUMET: case GOD_MAKHLEB:
+ case GOD_LUGONU:
+ likes.push_back("you or your allies kill the undead");
+ break;
+
+ case GOD_OKAWARU:
+ likes.push_back("you kill the undead");
break;
default:
@@ -561,8 +585,12 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
- case GOD_SHINING_ONE: case GOD_OKAWARU: case GOD_MAKHLEB:
- likes.push_back("kill demons");
+ case GOD_SHINING_ONE: case GOD_MAKHLEB:
+ likes.push_back("you or your allies kill demons");
+ break;
+
+ case GOD_OKAWARU:
+ likes.push_back("you kill demons");
break;
default:
@@ -572,7 +600,11 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
case GOD_KIKUBAAQUDGHA: case GOD_MAKHLEB: case GOD_LUGONU:
- likes.push_back("kill holy beings");
+ likes.push_back("you or your allies kill holy beings");
+ break;
+
+ case GOD_YREDELEMNUL:
+ likes.push_back("your allies kill holy beings");
break;
default:
@@ -583,19 +615,19 @@ std::string get_god_likes(god_type which_god, bool verbose)
switch (which_god)
{
case GOD_ZIN:
- really_likes.push_back("kill monsters which cause mutation or rotting");
+ really_likes.push_back("you kill monsters which cause mutation or rotting");
break;
case GOD_YREDELEMNUL:
- really_likes.push_back("kill holy beings");
+ really_likes.push_back("you kill holy beings");
break;
case GOD_BEOGH:
- really_likes.push_back("kill the priests of other religions");
+ really_likes.push_back("you kill the priests of other religions");
break;
case GOD_TROG:
- really_likes.push_back("kill wizards and other users of magic");
+ really_likes.push_back("you kill wizards and other users of magic");
break;
default:
@@ -606,7 +638,7 @@ std::string get_god_likes(god_type which_god, bool verbose)
text += " %s doesn't like anything? This a bug; please report it.";
else
{
- text += " likes it when you ";
+ text += " likes it when ";
text += comma_separated_line(likes.begin(), likes.end(),
", and ", ", ");
text += ".";
@@ -616,7 +648,7 @@ std::string get_god_likes(god_type which_god, bool verbose)
text += " ";
text += god_name(which_god);
- text += " especially likes it when you ";
+ text += " especially likes it when ";
text += comma_separated_line(really_likes.begin(),
really_likes.end(), ", and ", ", ");
text += ".";
@@ -635,28 +667,28 @@ std::string get_god_dislikes(god_type which_god, bool /*verbose*/)
std::vector<std::string> dislikes;
if (god_hates_butchery(which_god))
- dislikes.push_back("butcher corpses while praying");
+ dislikes.push_back("you butcher corpses while praying");
if (is_good_god(which_god))
{
- dislikes.push_back("drink blood");
- dislikes.push_back("perform cannibalism");
- dislikes.push_back("use necromancy");
- dislikes.push_back("use unholy magic or items");
- dislikes.push_back("attack holy beings");
- dislikes.push_back("kill holy beings");
- dislikes.push_back("attack neutral beings");
+ dislikes.push_back("you drink blood");
+ dislikes.push_back("you perform cannibalism");
+ dislikes.push_back("you use necromancy");
+ dislikes.push_back("you use unholy magic or items");
+ dislikes.push_back("you attack holy beings");
+ dislikes.push_back("you or your allies kill holy beings");
+ dislikes.push_back("you attack neutral beings");
}
switch (which_god)
{
case GOD_ZIN: case GOD_SHINING_ONE: case GOD_ELYVILON:
case GOD_OKAWARU:
- dislikes.push_back("attack allies");
+ dislikes.push_back("you attack allies");
break;
case GOD_BEOGH:
- dislikes.push_back("attack allied orcs");
+ dislikes.push_back("you attack allied orcs");
break;
default:
@@ -666,7 +698,7 @@ std::string get_god_dislikes(god_type which_god, bool /*verbose*/)
switch (which_god)
{
case GOD_ELYVILON: case GOD_ZIN: case GOD_OKAWARU:
- dislikes.push_back("allow an ally to die");
+ dislikes.push_back("you allow an ally to die");
break;
default:
@@ -676,28 +708,28 @@ std::string get_god_dislikes(god_type which_god, bool /*verbose*/)
switch (which_god)
{
case GOD_ZIN:
- dislikes.push_back("cause yourself to mutate in a way that could "
+ dislikes.push_back("you cause yourself to mutate in a way that could "
"have been avoided");
- dislikes.push_back("polymorph monsters");
- dislikes.push_back("eat the flesh of sentient beings");
+ dislikes.push_back("you polymorph monsters");
+ dislikes.push_back("you eat the flesh of sentient beings");
break;
case GOD_SHINING_ONE:
- dislikes.push_back("poison a monster");
- dislikes.push_back("attack in an unchivalric manner");
+ dislikes.push_back("you poison a monster");
+ dislikes.push_back("you attack in an unchivalric manner");
break;
case GOD_ELYVILON:
- dislikes.push_back("kill a living thing while praying");
+ dislikes.push_back("you kill a living thing while praying");
break;
case GOD_YREDELEMNUL:
- dislikes.push_back("use holy magic or items");
+ dislikes.push_back("you use holy magic or items");
break;
case GOD_TROG:
- dislikes.push_back("memorise spells");
- dislikes.push_back("cast spells");
+ dislikes.push_back("you memorise spells");
+ dislikes.push_back("you cast spells");
break;
default:
@@ -708,7 +740,7 @@ std::string get_god_dislikes(god_type which_god, bool /*verbose*/)
return "";
std::string text = god_name(which_god);
- text += " dislikes it when you ";
+ text += " dislikes it when ";
text += comma_separated_line(dislikes.begin(), dislikes.end(),
", or ", ", ");
text += ".";