summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorCharles Otto <ottochar@gmail.com>2009-11-13 01:50:58 -0500
committerCharles Otto <ottochar@gmail.com>2009-11-13 01:50:58 -0500
commit63beb01e92ddefa8708b80316fcf27081afe3a06 (patch)
tree59d6007b78f033176414a25029f205a3c1906263 /crawl-ref/source
parente55cf763ffe7a240f57663731d820b8bff78219b (diff)
parentc1676b3f938f1b3106df4370a3002f92c4279636 (diff)
downloadcrawl-ref-63beb01e92ddefa8708b80316fcf27081afe3a06.tar.gz
crawl-ref-63beb01e92ddefa8708b80316fcf27081afe3a06.zip
Merge branch 'master' of ssh://crawl-ref.git.sourceforge.net/gitroot/crawl-ref/crawl-ref into spore_merge2
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/dungeon.cc7
-rw-r--r--crawl-ref/source/mapdef.cc16
-rw-r--r--crawl-ref/source/mon-spll.h2
3 files changed, 18 insertions, 7 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 401c53ab1d..381eb18982 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -19,6 +19,7 @@
#include "branch.h"
#include "chardump.h"
#include "cloud.h"
+#include "colour.h"
#include "defines.h"
#include "effects.h"
#include "enum.h"
@@ -1702,7 +1703,7 @@ static void _build_overflow_temples(int level_number)
// For a single-altar temple, first try to find a temple specialized
// for that god.
- if (num_gods == 1)
+ if (num_gods == 1 && coinflip())
{
CrawlVector &god_vec = temple[TEMPLE_GODS_KEY];
god_type god = (god_type) god_vec[0].get_byte();
@@ -4852,6 +4853,10 @@ int dgn_place_monster(mons_spec &mspec,
mg.colour = mspec.colour;
mg.mname = mspec.monname;
+ // XXX: hack.
+ if (mg.colour == BLACK)
+ mg.colour = random_colour();
+
coord_def place(where);
if (!force_pos && monster_at(place)
&& (mg.cls < NUM_MONSTERS || mg.cls == RANDOM_MONSTER))
diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc
index ebafae76e2..c295cc5394 100644
--- a/crawl-ref/source/mapdef.cc
+++ b/crawl-ref/source/mapdef.cc
@@ -2576,12 +2576,18 @@ mons_list::mons_spec_slot mons_list::parse_mons_spec(std::string spec)
std::string colour = strip_tag_prefix(mon_str, "col:");
if (!colour.empty())
{
- mspec.colour = str_to_colour(colour, BLACK);
- if (mspec.colour == BLACK)
+ if (colour == "any")
+ // XXX: Hack
+ mspec.colour = BLACK;
+ else
{
- error = make_stringf("bad monster colour \"%s\" in \"%s\"",
- colour.c_str(), specs[i].c_str());
- return (slot);
+ mspec.colour = str_to_colour(colour, BLACK);
+ if (mspec.colour == BLACK)
+ {
+ error = make_stringf("bad monster colour \"%s\" in \"%s\"",
+ colour.c_str(), specs[i].c_str());
+ return (slot);
+ }
}
}
diff --git a/crawl-ref/source/mon-spll.h b/crawl-ref/source/mon-spll.h
index 9989ddcd21..8cd482057d 100644
--- a/crawl-ref/source/mon-spll.h
+++ b/crawl-ref/source/mon-spll.h
@@ -1025,7 +1025,7 @@
SPELL_NO_SPELL,
SPELL_HASTE,
SPELL_NO_SPELL,
- SPELL_NO_SPELL,
+ SPELL_SYMBOL_OF_TORMENT,
SPELL_NO_SPELL
}
},