summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-22 18:47:22 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-22 18:47:22 +0000
commit1b88ae75470d9067b240b5c6f7114228118e4ca7 (patch)
tree51acbf4798c81e346e859ef31497e069c88c0100
parentb55ce56cc053eb98b9f187c3d9111ffb4db81edb (diff)
downloadcrawl-ref-1b88ae75470d9067b240b5c6f7114228118e4ca7.tar.gz
crawl-ref-1b88ae75470d9067b240b5c6f7114228118e4ca7.zip
Abolish item sacrifices for all gods except Nemelex, Zin and TSO. The
descriptions will have to be updated. If special cases are seen as invaluable part of that god's design, they should be reworked to not to ressemble grinding anymore and/or gain flavour. (Compare with Ely's weapon destruction or Trog's book burning.) Disallow merfolk monsters in the Swamp and reduce their "rare" probability in the main dungeon to that of flying skulls. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6046 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/settings/menu_colours.txt2
-rw-r--r--crawl-ref/source/mon-pick.cc9
-rw-r--r--crawl-ref/source/religion.cc32
3 files changed, 14 insertions, 29 deletions
diff --git a/crawl-ref/settings/menu_colours.txt b/crawl-ref/settings/menu_colours.txt
index e751cc41b4..c0392544cd 100644
--- a/crawl-ref/settings/menu_colours.txt
+++ b/crawl-ref/settings/menu_colours.txt
@@ -56,6 +56,6 @@ ae = >ring.*(sustenance)
# Defaults for normal items
#
menu = lightred:.*equipped.* cursed
-menu = green:.*equipped.*
+menu = lightgreen:.*equipped.*
menu = green:uncursed
menu = red:cursed
diff --git a/crawl-ref/source/mon-pick.cc b/crawl-ref/source/mon-pick.cc
index 381491fae1..2c28233d78 100644
--- a/crawl-ref/source/mon-pick.cc
+++ b/crawl-ref/source/mon-pick.cc
@@ -2123,8 +2123,6 @@ int mons_swamp_level(int mcls)
case MONS_SWAMP_DRAKE:
case MONS_WORM:
case MONS_SWAMP_WORM:
- case MONS_MERFOLK:
- case MONS_MERMAID:
mlev++;
break;
@@ -2202,7 +2200,6 @@ int mons_swamp_rare(int mcls)
return 61;
case MONS_SLIME_CREATURE:
- case MONS_MERFOLK:
return 54;
case MONS_SNAKE:
@@ -2684,8 +2681,6 @@ int mons_standard_level(int mcls)
case MONS_DEEP_ELF_MASTER_ARCHER:
return 33;
- case MONS_MERFOLK:
- case MONS_MERMAID:
case MONS_BIG_FISH:
case MONS_ELECTRICAL_EEL:
case MONS_GIANT_GOLDFISH:
@@ -2706,8 +2701,6 @@ int mons_standard_rare(int mcls)
{
switch (mcls)
{
- case MONS_MERFOLK:
- case MONS_MERMAID:
case MONS_BIG_FISH:
case MONS_ELECTRICAL_EEL:
case MONS_GIANT_GOLDFISH:
@@ -2742,6 +2735,8 @@ int mons_standard_rare(int mcls)
case MONS_SNAKE:
return 80;
+ case MONS_MERFOLK:
+ case MONS_MERMAID:
case MONS_FLYING_SKULL:
case MONS_SLIME_CREATURE:
return 75;
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index fc33282b75..01dbc8d09d 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -3009,8 +3009,7 @@ bool god_dislikes_item_handling(const item_def &item)
{
return (item.base_type == OBJ_BOOKS
&& item.sub_type != BOOK_MANUAL
- && (!item_type_known(item)
- || item.sub_type != BOOK_DESTRUCTION));
+ && item.sub_type != BOOK_DESTRUCTION);
}
return (is_good_god(you.religion) && is_evil_item(item)
@@ -5040,32 +5039,23 @@ bool god_likes_items(god_type god)
{
switch (god)
{
- case GOD_ZIN: case GOD_SHINING_ONE: case GOD_KIKUBAAQUDGHA:
- case GOD_OKAWARU: case GOD_MAKHLEB: case GOD_SIF_MUNA:
- case GOD_TROG: case GOD_NEMELEX_XOBEH:
+ case GOD_ZIN: case GOD_SHINING_ONE: case GOD_NEMELEX_XOBEH:
return (true);
- case GOD_YREDELEMNUL: case GOD_XOM: case GOD_VEHUMET:
- case GOD_LUGONU: case GOD_BEOGH: case GOD_ELYVILON:
- return (false);
-
case GOD_NO_GOD: case NUM_GODS: case GOD_RANDOM:
mprf(MSGCH_ERROR, "Bad god, no biscuit! %d", static_cast<int>(god) );
+ default:
return (false);
}
- return (false);
}
static bool _god_likes_item(god_type god, const item_def& item)
{
if (!god_likes_items(god))
- return false;
+ return (false);
switch (god)
{
- case GOD_KIKUBAAQUDGHA: case GOD_TROG:
- return (item.base_type == OBJ_CORPSES || is_blood_potion(item));
-
case GOD_NEMELEX_XOBEH:
return !is_deck(item);
@@ -5076,7 +5066,7 @@ static bool _god_likes_item(god_type god, const item_def& item)
return item.base_type == OBJ_GOLD;
default:
- return true;
+ return (false);
}
}
@@ -5336,10 +5326,10 @@ void offer_items()
num_sacced++;
}
- if ( num_sacced > 0 && you.religion == GOD_NEMELEX_XOBEH )
+ if (num_sacced > 0 && you.religion == GOD_NEMELEX_XOBEH)
{
const int new_leading = _leading_sacrifice_group();
- if ( old_leading != new_leading || one_chance_in(50) )
+ if (old_leading != new_leading || one_chance_in(50))
_give_sac_group_feedback(new_leading);
#if DEBUG_GIFTS || DEBUG_CARDS || DEBUG_SACRIFICE
@@ -5348,13 +5338,13 @@ void offer_items()
}
else if (num_sacced == 0) // explanatory messages if nothing sacrificed
{
- if (you.religion == GOD_KIKUBAAQUDGHA || you.religion == GOD_TROG)
- simple_god_message(" only cares about primal sacrifices!", you.religion);
- else if (you.religion == GOD_NEMELEX_XOBEH)
+ // Zin was handled above, and the other gods don't care about
+ // sacrifices.
+
+ if (you.religion == GOD_NEMELEX_XOBEH)
simple_god_message(" expects you to use your decks, not offer them!", you.religion);
else if (you.religion == GOD_SHINING_ONE)
simple_god_message(" only cares about evil items!", you.religion);
- // everyone else was handled above (Zin!) or likes everything
}
}