diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-11 18:09:32 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-11 18:09:32 +0000 |
commit | ce71111835c88253978c5c0b0417bff0c2afbd17 (patch) | |
tree | ab0fa428595726453b8eb7d6e24144dd62dec88d /crawl-ref/source/abyss.cc | |
parent | 095584f742df63b9b575148133c307a0ff23bec1 (diff) | |
download | crawl-ref-ce71111835c88253978c5c0b0417bff0c2afbd17.tar.gz crawl-ref-ce71111835c88253978c5c0b0417bff0c2afbd17.zip |
Fixed Lugonu's Corruption, remaining cases of truncated monster shouts.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2437 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/abyss.cc')
-rw-r--r-- | crawl-ref/source/abyss.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/crawl-ref/source/abyss.cc b/crawl-ref/source/abyss.cc index 5bf3c7d763..17885b967b 100644 --- a/crawl-ref/source/abyss.cc +++ b/crawl-ref/source/abyss.cc @@ -565,7 +565,7 @@ static bool spawn_corrupted_servant_near(const coord_def &pos) one_chance_in(5 + you.skills[SK_INVOCATIONS] / 4)? BEH_HOSTILE : BEH_NEUTRAL; const int mid = - create_monster( mons, 3, beh, p.x, p.y, MHITNOT, 250 ); + create_monster( mons, 5, beh, p.x, p.y, MHITNOT, 250 ); return (mid != -1); } @@ -584,7 +584,7 @@ static void apply_corruption_effect( for (int i = 0; i < neffects; ++i) { - if (random2(7000) < cmark->duration) + if (random2(4000) < cmark->duration) { if (!spawn_corrupted_servant_near(cmark->pos)) break; @@ -769,6 +769,20 @@ static bool is_level_incorruptible() return (false); } +static void corrupt_choose_colours() +{ + int colour = BLACK; + do + colour = random_uncommon_colour(); + while (colour == env.rock_colour || colour == LIGHTGREY || colour == WHITE); + env.rock_colour = colour; + do + colour = random_uncommon_colour(); + while (colour == env.floor_colour || colour == LIGHTGREY + || colour == WHITE); + env.floor_colour = colour; +} + bool lugonu_corrupt_level(int power) { if (is_level_incorruptible()) @@ -785,7 +799,8 @@ bool lugonu_corrupt_level(int power) generate_abyss(); generate_area(MAPGEN_BORDER, MAPGEN_BORDER, GXM - MAPGEN_BORDER, GYM - MAPGEN_BORDER); - dgn_set_colours_from_monsters(); + + corrupt_choose_colours(); std::auto_ptr<crawl_environment> abyssal(new crawl_environment(env)); env = *backup; |