summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-10 06:51:55 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-10 06:51:55 +0000
commitf10f392d6a401690069553209228f203f9c77975 (patch)
tree764bb99a4d9d2ff6e2103bdadf60cfa21be7014f /crawl-ref
parent63cf0d1babfb27c7d78151d6442ee1070fb7e713 (diff)
downloadcrawl-ref-f10f392d6a401690069553209228f203f9c77975.tar.gz
crawl-ref-f10f392d6a401690069553209228f203f9c77975.zip
Experimentally switch back to glyph colours light red, yellow, and
red, respectively, for orcs, orc warriors, and Urug. I don't play ASCII, so this is solely based on player complaints. (But I figure yellow works as a "lighter" version of orange = light red, possibly better than the standard pair brown/yellow.) Also, add gila monsters to the new colour scheme: they're always magenta now. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4989 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/docs/034_monster_glyphs.txt59
-rw-r--r--crawl-ref/source/abl-show.cc3
-rw-r--r--crawl-ref/source/delay.cc4
-rw-r--r--crawl-ref/source/items.cc14
-rw-r--r--crawl-ref/source/mon-data.h10
-rw-r--r--crawl-ref/source/mon-util.cc3
6 files changed, 49 insertions, 44 deletions
diff --git a/crawl-ref/docs/034_monster_glyphs.txt b/crawl-ref/docs/034_monster_glyphs.txt
index e2f7eb1454..367f24d6aa 100644
--- a/crawl-ref/docs/034_monster_glyphs.txt
+++ b/crawl-ref/docs/034_monster_glyphs.txt
@@ -2,35 +2,35 @@
# overhaul of monster colours and monster glyphs.
#
# The goal of this change was to put monsters into more
-# consistent groups (e.g. group jackals with hounds,
-# move slugs into a group of their own) and to follow
-# a more consistent colour scheme where similar
-# monster would have similar colours (e.g. orc priest
-# and elf priest are both coloured green now) and the
-# higher level (and thus more dangerous) version of
-# an early monster would get the brighter colour.
-# As an example of the latter, the orc sorceror has
-# been recoloured to light magenta because the orc
-# wizard (the easier orc mage version) glyph is
-# coloured magenta. Also, the colours of some pairings
-# including small snake/snake and yaktaur/yaktaur
-# have been switched, following the same rule.
-# Another important point of the change was to avoid
-# the use of dark grey, which can be unreadable on some
-# systems, and use light grey, white, or blue or another
+# consistent groups (e.g. group jackals with hounds, move
+# slugs into a group of their own) and to follow a more
+# consistent colour scheme where similar monsters would
+# have similar colours (e.g. orc priest and elf priest
+# are both coloured green now) and the higher level (and
+# thus more dangerous) version of an early monster would
+# get the brighter colour.
+# As an example of the latter, the orc sorceror has been
+# recoloured to light magenta because the orc wizard (the
+# easier orc mage version) glyph is coloured magenta.
+# Also, the colours of some pairings including small
+# snake/snake and yaktaur/yaktaur captain have been
+# switched, following the same rule.
+# Another important point of the change was to avoid the
+# use of dark grey, which can be unreadable on some
+# systems, and use light grey, white, or blue, or another
# colour in its stead, as appropriate.
#
-# We think that as a result of these changes monsters
-# are coloured more consistently, and that their
-# difficulty level should be easier to grasp for newbies.
+# We think that as a result of these changes monsters are
+# coloured more consistently, and that their difficulty
+# level should be easier to grasp for newbies.
# At the same time we realize that this change might be
-# hard on experienced players. Of course we hope that
-# you will be able to adapt, but in case there are
-# changes you really cannot accept, here are the options
-# necessary to make the glyphs of all affected monsters
-# show up as they did in version 0.3.4.
+# hard on experienced players. Of course we hope that you
+# will be able to adapt, but in case there are changes you
+# really cannot accept, here are the options necessary to
+# make the glyphs of all affected monsters show up as they
+# did in version 0.3.4.
#
-# You'll find a table comparing old and new settings at
+# You'll find a table comparing old and new settings at
# the end of this file.
###########################
@@ -45,9 +45,9 @@ feature = orcish idol { , , darkgrey}
###########################
# orcs
-mon_glyph = orc : lightred
-mon_glyph = Urug : red
-mon_glyph = orc warrior : yellow
+#mon_glyph = orc : lightred
+#mon_glyph = Urug : red
+#mon_glyph = orc warrior : yellow
mon_glyph = orc priest : lightgreen
mon_glyph = orc knight : lightcyan
mon_glyph = orc high priest : green
@@ -72,6 +72,8 @@ mon_glyph = deep elf master archer : lightmagenta
# lizards
mon_glyph = giant newt : lightgreen
mon_glyph = giant lizard : green
+# black means randomly coloured
+mon_glyph = gila monster : black
# snakes and naga
mon_glyph = small snake : lightgreen
@@ -200,6 +202,7 @@ mon_glyph = Frederick : darkgrey
# lizards
# giant newt lightgreen green
# giant lizard green lightgreen
+# gila monster random (black) magenta
#
# monster old colour new colour
# ------- ---------- ----------
diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc
index 98919800d1..b58cb00097 100644
--- a/crawl-ref/source/abl-show.cc
+++ b/crawl-ref/source/abl-show.cc
@@ -378,7 +378,8 @@ const std::string make_cost_description( ability_type ability )
ret << " HP";
}
- if (abil.food_cost && you.is_undead != US_UNDEAD)
+ if (abil.food_cost && you.is_undead != US_UNDEAD
+ && (you.is_undead != US_SEMI_UNDEAD || you.hunger_state > HS_STARVING))
{
if (!ret.str().empty())
ret << ", ";
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index 7fdfb5d74c..8e9b19e5c4 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -431,8 +431,8 @@ void stop_delay( bool stop_stair_travel )
bleed_onto_floor(you.x_pos, you.y_pos, corpse.plus, delay.duration,
false);
corpse.sub_type = CORPSE_SKELETON;
- corpse.special = 90;
- corpse.colour = LIGHTGREY;
+ corpse.special = 90;
+ corpse.colour = LIGHTGREY;
}
did_god_conduct(DID_DRINK_BLOOD, 8);
pop_delay();
diff --git a/crawl-ref/source/items.cc b/crawl-ref/source/items.cc
index 1664396532..7e213f7a0d 100644
--- a/crawl-ref/source/items.cc
+++ b/crawl-ref/source/items.cc
@@ -95,7 +95,6 @@ void fix_item_coordinates(void)
{
// nails all items to the ground (i.e. sets x,y)
for (int x = 0; x < GXM; x++)
- {
for (int y = 0; y < GYM; y++)
{
int i = igrd[x][y];
@@ -107,7 +106,6 @@ void fix_item_coordinates(void)
i = mitm[i].link;
}
}
- }
}
// This function uses the items coordinates to relink all the igrd lists.
@@ -430,7 +428,8 @@ void unlink_item( int dest )
}
// Okay, item is buried, find item that's on top of it:
- for (c = igrd[ mitm[dest].x ][ mitm[dest].y ]; c != NON_ITEM; c = mitm[c].link)
+ for (c = igrd[ mitm[dest].x ][ mitm[dest].y ]; c != NON_ITEM;
+ c = mitm[c].link)
{
// find item linking to dest item
if (is_valid_item( mitm[c] ) && mitm[c].link == dest)
@@ -448,14 +447,15 @@ void unlink_item( int dest )
#if DEBUG
// Okay, the sane ways are gone... let's warn the player:
- mpr( "BUG WARNING: Problems unlinking item!!!", MSGCH_DANGER );
+ mprf( MSGCH_DANGER, "BUG WARNING: Problems unlinking item '%s', (%d, %d)!!!",
+ mitm[dest].name(DESC_PLAIN).c_str(), mitm[dest].x, mitm[dest].y );
// Okay, first we scan all items to see if we have something
// linked to this item. We're not going to return if we find
// such a case... instead, since things are already out of
// alignment, let's assume there might be multiple links as well.
- bool linked = false;
- int old_link = mitm[dest].link; // used to try linking the first
+ bool linked = false;
+ int old_link = mitm[dest].link; // used to try linking the first
// clean the relevant parts of the object:
mitm[dest].base_type = OBJ_UNASSIGNED;
@@ -483,7 +483,6 @@ void unlink_item( int dest )
// Now check the grids to see if it's linked as a list top.
for (c = 2; c < (GXM - 1); c++)
- {
for (cy = 2; cy < (GYM - 1); cy++)
{
if (igrd[c][cy] == dest)
@@ -497,7 +496,6 @@ void unlink_item( int dest )
}
}
}
- }
// Okay, finally warn player if we didn't do anything.
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 6a590fe106..4f6ac69ad7 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -869,8 +869,8 @@
},
{
- // gila monsters colours: lightmagenta, magenta, lightred, yellow
- MONS_GILA_MONSTER, 'l', BLACK, "gila monster",
+ // old colour: black (randomly lightmagenta, magenta, lightred, or yellow)
+ MONS_GILA_MONSTER, 'l', MAGENTA, "gila monster",
M_COLD_BLOOD,
MR_NO_FLAGS,
500, 10, MONS_GIANT_LIZARD, MONS_GILA_MONSTER, MH_NATURAL, -3,
@@ -1002,7 +1002,7 @@
// orcs ('o')
{
- MONS_ORC, 'o', RED, "orc",
+ MONS_ORC, 'o', LIGHTRED, "orc",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
@@ -1035,7 +1035,7 @@
},
{
- MONS_ORC_WARRIOR, 'o', LIGHTRED, "orc warrior",
+ MONS_ORC_WARRIOR, 'o', YELLOW, "orc warrior",
M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
@@ -3794,7 +3794,7 @@
},
{
- MONS_URUG, 'o', YELLOW, "Urug",
+ MONS_URUG, 'o', RED, "Urug",
M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE,
MR_NO_FLAGS,
0, 20, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 92ba348fbb..a10a56b0ab 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -1522,6 +1522,9 @@ void define_monster(monsters &mons)
break;
}
+ if (col == BLACK)
+ col = random_colour();
+
if (spells == MST_NO_SPELLS && mons_class_flag(mons.type, M_SPELLCASTER))
spells = m->sec;