summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-10 21:42:05 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-10 21:42:05 +0000
commit63ade43aec4adc4a3759878b5de6765d8f07cf4a (patch)
treeba63b1ceaa9fd8b6119d84ce6f76176d61b23a51 /crawl-ref/source
parent9be5f760e240035249df824060d978db37128404 (diff)
downloadcrawl-ref-63ade43aec4adc4a3759878b5de6765d8f07cf4a.tar.gz
crawl-ref-63ade43aec4adc4a3759878b5de6765d8f07cf4a.zip
Apply some more commits to bring 0.4 up to date.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6484 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/food.cc11
-rw-r--r--crawl-ref/source/newgame.cc371
-rw-r--r--crawl-ref/source/ouch.cc7
-rw-r--r--crawl-ref/source/quiver.cc6
-rw-r--r--crawl-ref/source/travel.cc11
-rw-r--r--crawl-ref/source/util/docs/README.tex32
-rw-r--r--crawl-ref/source/view.cc2
7 files changed, 354 insertions, 86 deletions
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc
index 210b6f50f7..0723e53728 100644
--- a/crawl-ref/source/food.cc
+++ b/crawl-ref/source/food.cc
@@ -582,9 +582,9 @@ bool butchery(int which_corpse)
&& god_likes_butchery(you.religion));
// We don't need to check for undead because
- // * Mummies can't eat
- // * Ghouls relish the bad things
- // * Vampires won't bottle bad corpses
+ // * Mummies can't eat.
+ // * Ghouls relish the bad things.
+ // * Vampires won't bottle bad corpses.
// Also, don't bother colouring if it's only for sacrificing.
if (!sacrifice && !you.is_undead)
{
@@ -1187,10 +1187,13 @@ int eat_from_floor()
}
found_valid = true;
+ std::string item_name = get_message_colour_tags(*si, DESC_NOCAP_A,
+ MSGCH_PROMPT);
+
mprf(MSGCH_PROMPT, "%s %s%s? (ye/n/q/i?)",
(you.species == SP_VAMPIRE ? "Drink blood from" : "Eat"),
((si->quantity > 1) ? "one of " : ""),
- si->name(DESC_NOCAP_A).c_str());
+ item_name.c_str());
int keyin = tolower(c_getch());
switch (keyin)
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc
index f59d414632..9a9f89d7d0 100644
--- a/crawl-ref/source/newgame.cc
+++ b/crawl-ref/source/newgame.cc
@@ -742,7 +742,6 @@ static void _initialise_branch_depths()
branches[BRANCH_SWAMP].startdepth = -1;
branches[BRANCH_SHOALS].startdepth = random_range(2, 7);
}
-
branches[BRANCH_SNAKE_PIT].startdepth = random_range(3, 8);
branches[BRANCH_VAULTS].startdepth = random_range(14, 19);
branches[BRANCH_CRYPT].startdepth = random_range(2, 4);
@@ -1452,23 +1451,17 @@ static char_choice_restriction _class_allowed( species_type speci,
{
case SP_DEMIGOD:
return CC_BANNED;
- case SP_HIGH_ELF:
case SP_GREY_ELF:
case SP_DEEP_ELF:
- case SP_SLUDGE_ELF:
case SP_MERFOLK:
case SP_HALFLING:
case SP_GNOME:
- case SP_KOBOLD:
case SP_SPRIGGAN:
case SP_NAGA:
- case SP_CENTAUR:
case SP_OGRE:
case SP_OGRE_MAGE:
case SP_TROLL:
- case SP_MINOTAUR:
case SP_KENKU:
- case SP_RED_DRACONIAN:
case SP_GHOUL:
case SP_VAMPIRE:
return CC_RESTRICTED;
@@ -1496,6 +1489,7 @@ static char_choice_restriction _class_allowed( species_type speci,
switch (speci)
{
case SP_GREY_ELF:
+ case SP_GNOME:
case SP_SPRIGGAN:
case SP_NAGA:
case SP_OGRE_MAGE:
@@ -2418,26 +2412,154 @@ static bool _choose_weapon()
// Gods are not restricted but there are some choices that are banned (false).
// Everything else will be unrestricted.
-static bool _is_valid_religion(god_type god)
+static char_choice_restriction _religion_restriction(god_type god)
{
// Sanity check.
if (you.species == SP_DEMIGOD)
- return (false);
-
- if (god == GOD_BEOGH)
- return (you.species == SP_HILL_ORC);
+ return (CC_BANNED);
- switch (you.species)
+ switch (god)
{
- case SP_DEMONSPAWN:
- case SP_MUMMY:
- case SP_GHOUL:
- case SP_VAMPIRE:
- return (!is_good_god(god));
+ case GOD_BEOGH:
+ if (you.species == SP_HILL_ORC)
+ return (CC_UNRESTRICTED);
+ return (CC_BANNED);
+
+ case GOD_ZIN:
+ switch (you.species)
+ {
+ case SP_DEMONSPAWN:
+ case SP_MUMMY:
+ case SP_GHOUL:
+ case SP_VAMPIRE:
+ return (CC_BANNED);
+ case SP_HIGH_ELF:
+ case SP_MOUNTAIN_DWARF:
+ case SP_CENTAUR:
+ case SP_MINOTAUR:
+ return (CC_UNRESTRICTED);
+ default:
+ return (CC_RESTRICTED);
+ }
+
+ case GOD_YREDELEMNUL:
+ switch (you.species)
+ {
+ case SP_HILL_ORC:
+ // Restrict in favour of Beogh, else unrestricted.
+ if (you.char_class == JOB_PRIEST)
+ return (CC_RESTRICTED);
+ return (CC_UNRESTRICTED);
+
+ case SP_DEEP_ELF:
+ case SP_OGRE_MAGE:
+ case SP_KENKU:
+ // Unrestrict these only for Priests as Zin is worse, but
+ // Necromancy (DK) the better choice.
+ if (you.char_class == JOB_PRIEST)
+ return (CC_UNRESTRICTED);
+ return (CC_RESTRICTED);
+
+ case SP_HUMAN:
+ case SP_HIGH_ELF:
+ case SP_GREY_ELF:
+ case SP_SLUDGE_ELF:
+ case SP_MOUNTAIN_DWARF:
+ case SP_MERFOLK:
+ case SP_HALFLING:
+ case SP_KOBOLD:
+ case SP_GNOME:
+ case SP_SPRIGGAN:
+ case SP_CENTAUR:
+ case SP_OGRE:
+ case SP_TROLL:
+ case SP_MINOTAUR:
+ case SP_DEMONSPAWN:
+ case SP_MUMMY:
+ case SP_GHOUL:
+ case SP_VAMPIRE:
+ return (CC_UNRESTRICTED);
+ default:
+ if (player_genus(GENPC_DRACONIAN))
+ return (CC_UNRESTRICTED);
+ return (CC_RESTRICTED);
+ }
+
+ case GOD_XOM:
+ switch (you.species)
+ {
+ case SP_HUMAN:
+ case SP_MOUNTAIN_DWARF:
+ case SP_HILL_ORC:
+ case SP_MERFOLK:
+ case SP_CENTAUR:
+ case SP_OGRE:
+ case SP_TROLL:
+ case SP_MINOTAUR:
+ case SP_KENKU:
+ case SP_DEMONSPAWN:
+ case SP_VAMPIRE:
+ return (CC_UNRESTRICTED);
+ default:
+ if (player_genus(GENPC_DRACONIAN))
+ return (CC_UNRESTRICTED);
+ return (CC_RESTRICTED);
+ }
+
+ case GOD_MAKHLEB:
+ switch (you.species)
+ {
+ case SP_HUMAN:
+ case SP_HIGH_ELF:
+ case SP_GREY_ELF:
+ case SP_DEEP_ELF:
+ case SP_SLUDGE_ELF:
+ case SP_MOUNTAIN_DWARF:
+ case SP_MERFOLK:
+ case SP_HALFLING:
+ case SP_GNOME:
+ case SP_KOBOLD:
+ case SP_NAGA:
+ case SP_CENTAUR:
+ case SP_OGRE:
+ case SP_OGRE_MAGE:
+ case SP_TROLL:
+ case SP_MINOTAUR:
+ case SP_DEMONSPAWN:
+ case SP_MUMMY:
+ case SP_GHOUL:
+ case SP_VAMPIRE:
+ return (CC_UNRESTRICTED);
+ default:
+ if (player_genus(GENPC_DRACONIAN))
+ return (CC_UNRESTRICTED);
+ return (CC_RESTRICTED);
+ }
+
+ case GOD_LUGONU:
+ switch (you.species)
+ {
+ case SP_HUMAN:
+ case SP_MOUNTAIN_DWARF:
+ case SP_HILL_ORC:
+ case SP_MERFOLK:
+ case SP_SPRIGGAN:
+ case SP_CENTAUR:
+ case SP_OGRE:
+ case SP_TROLL:
+ case SP_MINOTAUR:
+ case SP_DEMONSPAWN:
+ case SP_GHOUL:
+ case SP_VAMPIRE:
+ return (CC_UNRESTRICTED);
+ default:
+ if (player_genus(GENPC_DRACONIAN))
+ return (CC_UNRESTRICTED);
+ return (CC_RESTRICTED);
+ }
default:
- // All gods are allowed.
- return (true);
+ return (CC_RESTRICTED);
}
}
@@ -2449,6 +2571,7 @@ static bool _necromancy_okay()
case SP_SLUDGE_ELF:
case SP_OGRE_MAGE:
case SP_DEMONSPAWN:
+ case SP_KENKU:
case SP_MUMMY:
case SP_VAMPIRE:
return (true);
@@ -4181,20 +4304,42 @@ bool _give_items_skills()
}
else
{
+ const god_type gods[3] = { GOD_ZIN, GOD_YREDELEMNUL, GOD_BEOGH };
+
// Disallow invalid choices.
- if (!_is_valid_religion(Options.priest))
+ if (_religion_restriction(Options.priest) == CC_BANNED)
Options.priest = GOD_NO_GOD;
if (Options.priest != GOD_NO_GOD && Options.priest != GOD_RANDOM)
ng_pr = you.religion = static_cast<god_type>( Options.priest );
else if (Options.random_pick || Options.priest == GOD_RANDOM)
{
- you.religion = coinflip() ? GOD_YREDELEMNUL : GOD_ZIN;
+ bool did_chose = false;
+ if (Options.good_random)
+ {
+ int count = 0;
+ for (int i = 0; i < 3; i++)
+ {
+ if (_religion_restriction(gods[i]) == CC_BANNED)
+ continue;
- // For orcs 50% chance of Beogh instead.
- if (you.species == SP_HILL_ORC && coinflip())
- you.religion = GOD_BEOGH;
+ if (_religion_restriction(gods[i]) == CC_UNRESTRICTED
+ && one_chance_in(++count))
+ {
+ you.religion = gods[i];
+ did_chose = true;
+ }
+ }
+ }
+ if (!did_chose)
+ {
+ you.religion = (coinflip() ? GOD_YREDELEMNUL : GOD_ZIN);
+
+ // For orcs 50% chance of Beogh instead.
+ if (you.species == SP_HILL_ORC && coinflip())
+ you.religion = GOD_BEOGH;
+ }
ng_pr = GOD_RANDOM;
}
else
@@ -4204,34 +4349,40 @@ bool _give_items_skills()
textcolor( CYAN );
cprintf(EOL "Which god do you wish to serve?" EOL);
- // Zin and Yredelemnul are valid for everyone.
- // (The undead have been handled above.)
- textcolor(LIGHTGREY);
- cprintf("a - Zin (for traditional priests)" EOL);
- cprintf("b - Yredelemnul (for priests of death)" EOL);
+ const char* god_name[3] = {"Zin (for traditional priests)",
+ "Yredelemnul (for priests of death)",
+ "Beogh (for priests of Orcs)"};
- if (_is_valid_religion(GOD_BEOGH))
+ for (int i = 0; i < 3; i++)
{
- textcolor(LIGHTGREY);
- cprintf("c - Beogh (priest of Orcs)" EOL);
+ if (_religion_restriction(gods[i]) == CC_BANNED)
+ continue;
+
+ if (_religion_restriction(gods[i]) == CC_UNRESTRICTED)
+ textcolor(LIGHTGREY);
+ else
+ textcolor(DARKGREY);
+
+ const char letter = 'a' + i;
+ cprintf("%c - %s" EOL, letter, god_name[i]);
}
textcolor( BROWN );
- cprintf(EOL "* - Random choice; "
+ cprintf(EOL "* - Random choice; + - Good random choice" EOL
"Bksp - Back to species and class selection; "
"X - Quit" EOL);
- if (!_is_valid_religion(Options.prev_pr))
+ if (_religion_restriction(Options.prev_pr) == CC_BANNED)
Options.prev_pr = GOD_NO_GOD;
if (Options.prev_pr != GOD_NO_GOD)
{
textcolor(BROWN);
cprintf(EOL "Enter - %s" EOL,
- Options.prev_pr == GOD_ZIN ? "Zin" :
+ Options.prev_pr == GOD_ZIN ? "Zin" :
Options.prev_pr == GOD_YREDELEMNUL ? "Yredelemnul" :
- Options.prev_pr == GOD_BEOGH ? "Beogh"
- : "Random");
+ Options.prev_pr == GOD_BEOGH ? "Beogh"
+ : "Random");
}
do
@@ -4265,8 +4416,27 @@ bool _give_items_skills()
}
keyn = '*'; // for ng_pr setting
// fall-through for random
- case '*':
case '+':
+ if (keyn == '+')
+ {
+ int count = 0;
+ for (int i = 0; i < 3; i++)
+ {
+ if (_religion_restriction(gods[i]) == CC_BANNED)
+ continue;
+
+ if (_religion_restriction(gods[i])
+ == CC_UNRESTRICTED
+ && one_chance_in(++count))
+ {
+ you.religion = gods[i];
+ }
+ }
+ if (count > 0)
+ break;
+ }
+ // intentional fall-through
+ case '*':
you.religion = coinflip() ? GOD_ZIN : GOD_YREDELEMNUL;
if (you.species == SP_HILL_ORC && coinflip())
you.religion = GOD_BEOGH;
@@ -4317,6 +4487,8 @@ bool _give_items_skills()
if (!_choose_weapon())
return (false);
+ const god_type gods[3] = { GOD_XOM, GOD_MAKHLEB, GOD_LUGONU };
+
if (Options.chaos_knight != GOD_NO_GOD
&& Options.chaos_knight != GOD_RANDOM)
{
@@ -4325,9 +4497,30 @@ bool _give_items_skills()
}
else if (Options.random_pick || Options.chaos_knight == GOD_RANDOM)
{
- you.religion = (one_chance_in(3) ? GOD_XOM :
- coinflip() ? GOD_MAKHLEB
- : GOD_LUGONU);
+ bool did_chose = false;
+ if (Options.good_random)
+ {
+ int count = 0;
+ for (int i = 0; i < 3; i++)
+ {
+ if (_religion_restriction(gods[i]) == CC_BANNED)
+ continue;
+
+ if (_religion_restriction(gods[i]) == CC_UNRESTRICTED
+ && one_chance_in(++count))
+ {
+ you.religion = gods[i];
+ did_chose = true;
+ }
+ }
+ }
+
+ if (!did_chose)
+ {
+ you.religion = (one_chance_in(3) ? GOD_XOM :
+ coinflip() ? GOD_MAKHLEB
+ : GOD_LUGONU);
+ }
ng_ck = GOD_RANDOM;
}
else
@@ -4337,14 +4530,26 @@ bool _give_items_skills()
textcolor( CYAN );
cprintf(EOL "Which god of chaos do you wish to serve?" EOL);
- // Xom, Makhleb, and Lugonu are okay choices for everyone.
- textcolor( LIGHTGREY );
- cprintf("a - Xom of Chaos" EOL);
- cprintf("b - Makhleb the Destroyer" EOL);
- cprintf("c - Lugonu the Unformed" EOL);
+ const char* god_name[3] = {"Xom of Chaos",
+ "Makhleb the Destroyer",
+ "Lugonu the Unformed"};
+
+ for (int i = 0; i < 3; i++)
+ {
+ if (_religion_restriction(gods[i]) == CC_BANNED)
+ continue;
+
+ if (_religion_restriction(gods[i]) == CC_UNRESTRICTED)
+ textcolor(LIGHTGREY);
+ else
+ textcolor(DARKGREY);
+
+ const char letter = 'a' + i;
+ cprintf("%c - %s" EOL, letter, god_name[i]);
+ }
textcolor( BROWN );
- cprintf(EOL "* - Random choice; "
+ cprintf(EOL "* - Random choice; + - Good random choice" EOL
"Bksp - Back to species and class selection; "
"X - Quit" EOL);
@@ -4385,8 +4590,27 @@ bool _give_items_skills()
}
keyn = '*'; // for ng_ck setting
// fall-through for random
- case '*':
case '+':
+ if (keyn == '+')
+ {
+ int count = 0;
+ for (int i = 0; i < 3; i++)
+ {
+ if (_religion_restriction(gods[i]) == CC_BANNED)
+ continue;
+
+ if (_religion_restriction(gods[i])
+ == CC_UNRESTRICTED
+ && one_chance_in(++count))
+ {
+ you.religion = gods[i];
+ }
+ }
+ if (count > 0)
+ break;
+ }
+ // intentional fall-through
+ case '*':
you.religion = (one_chance_in(3) ? GOD_XOM :
coinflip() ? GOD_MAKHLEB
: GOD_LUGONU);
@@ -4472,9 +4696,24 @@ bool _give_items_skills()
{
ng_dk = DK_RANDOM;
- if (Options.good_random && !_necromancy_okay())
- choice = DK_YREDELEMNUL;
- else
+ bool did_chose = false;
+ if (Options.good_random)
+ {
+ if (_necromancy_okay())
+ {
+ choice = DK_NECROMANCY;
+ did_chose = true;
+ }
+
+ if (_religion_restriction(GOD_YREDELEMNUL) == CC_UNRESTRICTED)
+ {
+ if (!did_chose || coinflip())
+ choice = DK_YREDELEMNUL;
+ did_chose = true;
+ }
+ }
+
+ if (!did_chose)
choice = (coinflip() ? DK_NECROMANCY : DK_YREDELEMNUL);
}
else
@@ -4492,11 +4731,15 @@ bool _give_items_skills()
cprintf("a - Necromantic magic" EOL);
// Yredelemnul is an okay choice for everyone.
- textcolor(LIGHTGREY);
+ if (_religion_restriction(GOD_YREDELEMNUL) == CC_UNRESTRICTED)
+ textcolor(LIGHTGREY);
+ else
+ textcolor(DARKGREY);
+
cprintf("b - the god Yredelemnul" EOL);
textcolor( BROWN );
- cprintf(EOL "* - Random choice; "
+ cprintf(EOL "* - Random choice; + - Good random choice " EOL
"Bksp - Back to species and class selection; "
"X - Quit" EOL);
@@ -4536,10 +4779,24 @@ bool _give_items_skills()
keyn = '*'; // for ng_dk setting
// fall-through for random
case '+':
- if (keyn == '+' && !_necromancy_okay())
+ if (keyn == '+')
{
- choice = DK_YREDELEMNUL;
- break;
+ bool did_chose = false;
+ if (_necromancy_okay())
+ {
+ choice = DK_NECROMANCY;
+ did_chose = true;
+ }
+
+ if (_religion_restriction(GOD_YREDELEMNUL)
+ == CC_UNRESTRICTED)
+ {
+ if (!did_chose || coinflip())
+ choice = DK_YREDELEMNUL;
+ did_chose = true;
+ }
+ if (did_chose)
+ break;
}
// fall-through for random
case '*':
diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc
index 79ba0944ee..f53fa8d9bb 100644
--- a/crawl-ref/source/ouch.cc
+++ b/crawl-ref/source/ouch.cc
@@ -309,8 +309,7 @@ void weapon_acid( char acid_strength )
msg::stream << "Your " << your_hand(true) << " burn!" << std::endl;
ouch( roll_dice( 1, acid_strength ), 0, KILLED_BY_ACID );
}
-
- if (x_chance_in_y(acid_strength + 1, 20))
+ else if (x_chance_in_y(acid_strength + 1, 20))
item_corrode( hand_thing );
}
@@ -320,9 +319,9 @@ void item_corrode( int itco )
bool it_resists = false; // code simplifier {dlb}
bool suppress_msg = false; // code simplifier {dlb}
int how_rusty = ((you.inv[itco].base_type == OBJ_WEAPONS)
- ? you.inv[itco].plus2 : you.inv[itco].plus);
+ ? you.inv[itco].plus2 : you.inv[itco].plus);
- // early return for "oRC and cloak/preservation {dlb}:
+ // Early return for "oRC and cloak/preservation {dlb}.
if (wearing_amulet(AMU_RESIST_CORROSION) && !one_chance_in(10))
{
#if DEBUG_DIAGNOSTICS
diff --git a/crawl-ref/source/quiver.cc b/crawl-ref/source/quiver.cc
index da0ee0305b..e40a76159a 100644
--- a/crawl-ref/source/quiver.cc
+++ b/crawl-ref/source/quiver.cc
@@ -234,6 +234,7 @@ void player_quiver::on_item_fired(const item_def& item, bool explicitly_chosen)
// Don't do anything if this item is not really fit for throwing.
if (projected == LRET_FUMBLED)
return;
+
#ifdef DEBUG_QUIVER
mprf(MSGCH_DIAGNOSTICS, "item %s is for throwing",
item.name(DESC_PLAIN).c_str());
@@ -405,6 +406,10 @@ void player_quiver::_get_fire_order( std::vector<int>& order,
if (you.equip[EQ_WEAPON] == i_inv)
continue;
+ // Don't do anything if this item is not really fit for throwing.
+ if (is_launched(&you, you.weapon(), item) == LRET_FUMBLED)
+ continue;
+
// =f prevents item from being in fire order.
if (!ignore_inscription_etc
&& strstr(item.inscription.c_str(), "=f"))
@@ -415,6 +420,7 @@ void player_quiver::_get_fire_order( std::vector<int>& order,
for (unsigned int i_flags = 0; i_flags < Options.fire_order.size();
i_flags++)
{
+
if (_item_matches(item, (fire_type) Options.fire_order[i_flags],
launcher))
{
diff --git a/crawl-ref/source/travel.cc b/crawl-ref/source/travel.cc
index 6326b38708..e8fbe6dc2b 100644
--- a/crawl-ref/source/travel.cc
+++ b/crawl-ref/source/travel.cc
@@ -1983,7 +1983,7 @@ static bool _is_known_branch_id(int branch)
return (true);
// The Vestibule is special: there are no stairs to it, just a
- // portal
+ // portal.
if (branch == BRANCH_VESTIBULE_OF_HELL)
return overmap_knows_portal(DNGN_ENTER_HELL);
@@ -3430,13 +3430,16 @@ void LevelInfo::fixup()
bool TravelCache::know_stair(const coord_def &c) const
{
travel_levels_map::const_iterator i = levels.find(level_id::current());
- return (i == levels.end()? false : i->second.know_stair(c));
+ return (i == levels.end() ? false : i->second.know_stair(c));
}
void TravelCache::travel_to_waypoint(int num)
{
- if (num < 0 || num >= TRAVEL_WAYPOINT_COUNT) return;
- if (waypoints[num].id.depth == -1) return;
+ if (num < 0 || num >= TRAVEL_WAYPOINT_COUNT)
+ return;
+
+ if (waypoints[num].id.depth == -1)
+ return;
start_translevel_travel(waypoints[num]);
}
diff --git a/crawl-ref/source/util/docs/README.tex b/crawl-ref/source/util/docs/README.tex
index 3654108a16..712058a700 100644
--- a/crawl-ref/source/util/docs/README.tex
+++ b/crawl-ref/source/util/docs/README.tex
@@ -53,7 +53,7 @@ and prevail against overwhelming odds.
\para
Players of versions 0.3.4 and older beware: please read the file
-\key{034\_changes.pdf} in the \key{docs} directory for a list of
+\key{key\_changes.pdf} in the \key{docs} directory for a list of
interface changes, and how you could possibly retrieve the 0.3.4
standards.
@@ -71,7 +71,7 @@ manual in-game; pressing \key{?} brings up a menu for that.
\sex{Internet play}
You can play \crawl\ online, both competing with other players and watching
-them. Check the homepage \key{crawl.akrasiac.org} for details, including
+them. Check the homepage \key{http://crawl.akrasiac.org} for details, including
information about additional servers. You just need a \texttt{ssh} or
\texttt{telnet} console; on Windows, the \key{PuTTY} program works very
well. Read \key{ssh\_guide.txt} in the \key{docs} folder for a step by step
@@ -84,7 +84,7 @@ guide on how to set this up.
\crawl\ features an alternative to the classical ASCII display; Tile-based
Crawl is often a lot more accessible by new players. Tiles are available for
Linux, Windows and OS X.
-Unfortunately, it is not yet possible to combine tiles and internet play.
+Unfortunately, it is not yet possible to combine tiles and Internet play.
\subsection*{The most important files}
@@ -92,12 +92,12 @@ Unfortunately, it is not yet possible to combine tiles and internet play.
The file \key{crawl.exe} (just \key{crawl} if on Unix) in \crawl's main
folder starts the game.
\\ \\
-The \sex{settings/} directory contains \key{init.txt}, the options file for
-\crawl\ (on linux systems there may also be a \key{.crawlrc} in your home
-directory). Since the defaults are well suited for playing, you can ignore
+The \key{settings} directory contains \key{init.txt}, the options file for
+\crawl\ (on Linux systems there may also be a \key{.crawlrc} in your home
+directory). Since the defaults are well-suited for playing, you can ignore
these at first.
\\
-This folder also contains \key{macro.txt}, a list of redefined key
+This folder may also contain \key{macro.txt}, a list of redefined key
bindings and macros. These make playing \crawl\ even more convenient.
You will probably not need to redefine key mappings until after you have
spent some time playing the game.
@@ -106,7 +106,7 @@ spent some time playing the game.
\spacecolumn
%
\begin{minipage}[t]{7cm}
-The following files in the \sex{docs/} directory may be helpful, all of
+The following files in the \key{docs} directory may be helpful, all of
which can be read in-game (press \key{?}):
\\
\key{crawl\_manual.txt} is the full manual. It explains all races, classes,
@@ -136,8 +136,8 @@ Unix, Windows, OS X, and DOS).
Next, there is the newsgroup \key{rec.games.roguelike.misc}. Since other
games are discussed there as well, it is polite to flag your post with
\key{-crawl-}. If you are not familiar with Usenet netiquette, you might
-want to check that first, too. Also try to maintain netiquette to the
-benefit of your addresses.
+want to check that first, too. Also try to maintain netiquette for the
+benefit of your addressees.
\\
Finally, you can use the mailing list
\key{crawl-ref-discuss@lists.sourceforge.net}
@@ -145,19 +145,19 @@ to discuss specific details of the game's design and implementation.
\subsection*{License and history information}
-What you have downloaded is a descendant of Linley's \dungeon\ \crawl.
+This is a descendant of \textsc{Linley's} \dungeon\ \crawl.
Development of the main branch stalled at version 4.0.0b26, with a final
alpha of 4.1 being released by Brent Ross in 2005. Since 2006, the
-\dungeon \crawl\ \soup\ team has been continuing the
+\dungeon\ \crawl\ \soup\ team has been continuing the
development. See the \key{CREDITS} in the main folder for a myriad of
contributors, past and present; \key{license.txt} contains the legal blurb.
\dungeon\ \crawl\ \soup\ is an open source, freeware roguelike. It is
-supported on Linux, Windows, OS/X and, to a lesser extent, on DOS. The
+supported on Linux, Windows, OS X and, to a lesser extent, on DOS. The
source should compile and run on any reasonably modern Unix. \soup\
features both ASCII and graphical (Tiles) display.
-\crawl\ gladly and gratuitously uses the following open-source packages: \\
+\crawl\ gladly and gratuitously uses the following open source packages: \\
The \textbf{Lua} script language, see \key{docs/lualicense.txt}.\\
The \textbf{PCRE} library for regular expressions, see
\key{docs/pcre\_license.txt}.\\
@@ -176,7 +176,7 @@ of ways to do so:
\textbf{Playtesting:}
At any time, there will be bugs --- playing and reporting these is a great
help. There is a beta server around hosting the most recent version of the
-current code; the akrasiac page links to it. Besides finding bugs, ideas on
+current code; \key{http://crawl.akrasiac.org} links to it. Besides finding bugs, ideas on
how to improve interface or gameplay are welcome as well.
\para
@@ -205,7 +205,7 @@ have added something, send the files to the list.
\textbf{Monster descriptions:}
You can look up the current monster descriptions in-game with \key{?/} or
just read them in \key{dat/descript/monsters.txt}. The following conventions
-should be more or less obeyed: descriptions ought to contain flavour text,
+should be more or less obeyed: Descriptions ought to contain flavour text,
ideally pointing out major weaknesses/strengths. No numbers, please.
Citations are okay, but try to stay away from the most generic ones.
If you like, you can similarly modify the descriptions for features, items or
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index c6c0ca1420..67ded0088c 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -3962,7 +3962,7 @@ void init_feature_table( void )
case DNGN_ORCISH_IDOL:
Feature[i].dchar = DCHAR_STATUE;
- Feature[i].colour = LIGHTRED; // plain orc colour
+ Feature[i].colour = BROWN; // same as clay golem, I hope that's okay
break;
case DNGN_WAX_WALL: