From e828bafa67e06c97dad7b9fcf2851e6ab5b00f28 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 4 Jan 2009 20:50:21 +0000 Subject: Introduce a number of new uniques taken from a patch by castamir. These are: * Roxanne (statue spellcaster) * Sonja (Kobold assassin) * Eustachio (human summoner, was: Francisco) * Azrael (efreet, was: Abdul) * Ilsuiw (Merfolk witch * Prince Ribbit (blink frog prince) * Nergalle (orc sorceress) * Saint Roka (orc priest of Beogh) Tweaked make_book_theme_randart() to allow for one forced spell and owner's name. Used to occasionally give Roxanne a randart book containing Statue Form. (Was: always book of earth) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8207 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/mon-util.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/mon-util.cc') diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index 4b00e1208c..58499bc276 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -633,7 +633,8 @@ bool mons_is_statue(int mc) { return (mc == MONS_ORANGE_STATUE || mc == MONS_SILVER_STATUE - || mc == MONS_ICE_STATUE); + || mc == MONS_ICE_STATUE + || mc == MONS_ROXANNE); } bool mons_is_mimic(int mc) @@ -3129,6 +3130,10 @@ const char *mons_pronoun(monster_type mon_type, pronoun_type variant, case MONS_ERICA: case MONS_TIAMAT: case MONS_ERESHKIGAL: + case MONS_ROXANNE: + case MONS_SONJA: + case MONS_ILSUIW: + case MONS_NERGALLE: gender = GENDER_FEMALE; break; case MONS_ROYAL_JELLY: @@ -4908,6 +4913,10 @@ bool monsters::pickup_item(item_def &item, int near, bool force) return pickup_scroll(item, near); case OBJ_POTIONS: return pickup_potion(item, near); + case OBJ_BOOKS: + if (force) + return pickup_misc(item, near); + // else fall through default: return (false); } @@ -7513,6 +7522,9 @@ static inline monster_type _royal_jelly_ejectable_monster() bool monsters::can_drink_potion(potion_type ptype) const { + if (mons_class_is_stationary(this->type)) + return (false); + if (mons_itemuse(this) >= MONUSE_STARTING_EQUIPMENT) { if (mons_is_skeletal(type) || mons_is_insubstantial(type) -- cgit v1.2.3-54-g00ecf