summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-place.cc
diff options
context:
space:
mode:
authorNicholas Feinberg <pleasingfung@gmail.com>2014-06-07 17:11:56 -0700
committerNicholas Feinberg <pleasingfung@gmail.com>2014-06-15 20:38:27 -0700
commit4d6b2eaccc57a13a8fe72fca8fc3db9678ca7c17 (patch)
tree86f3326b656d621ebd53dec1d4aa3c38f737b4ee /crawl-ref/source/mon-place.cc
parent3c45d0dbb16a72bf7eaa57357a4cf206156a0dab (diff)
downloadcrawl-ref-4d6b2eaccc57a13a8fe72fca8fc3db9678ca7c17.tar.gz
crawl-ref-4d6b2eaccc57a13a8fe72fca8fc3db9678ca7c17.zip
Add torpor snails
Diffstat (limited to 'crawl-ref/source/mon-place.cc')
-rw-r--r--crawl-ref/source/mon-place.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-place.cc b/crawl-ref/source/mon-place.cc
index 4c8e297373..b8adc75d4b 100644
--- a/crawl-ref/source/mon-place.cc
+++ b/crawl-ref/source/mon-place.cc
@@ -2837,6 +2837,38 @@ static band_type _choose_band(monster_type mon_type, int &band_size,
}
break;
+ case MONS_TORPOR_SNAIL:
+ // would be nice to support more branches, generically...
+ if (player_in_branch(BRANCH_LAIR))
+ band = random_choose_weighted(5, BAND_YAKS,
+ 2, BAND_DEATH_YAKS,
+ 1, BAND_SHEEP,
+ 0);
+ else if (player_in_branch(BRANCH_SPIDER))
+ band = coinflip() ? BAND_REDBACK : BAND_RANDOM_SINGLE;
+
+ switch (band)
+ {
+ case BAND_YAKS:
+ band_size = 2 + random2(4); // 2-5
+ break;
+ case BAND_DEATH_YAKS:
+ band_size = 1 + random2(2); // 1-2
+ break;
+ case BAND_SHEEP:
+ band_size = 5 + random2(4); // 5-8
+ break;
+ case BAND_REDBACK:
+ band_size = 2 + random2(3); // 2-4
+ break;
+ case BAND_RANDOM_SINGLE:
+ band_size = 1;
+ break;
+ default:
+ break;
+ }
+ break;
+
default: ;
}