summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-04 20:50:21 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-04 20:50:21 +0000
commite828bafa67e06c97dad7b9fcf2851e6ab5b00f28 (patch)
tree77fbcd20c3485501851302796dfa70640a5e2c90 /crawl-ref/source/mon-util.cc
parent07828b78525d85498811687311f0a9cff5901e03 (diff)
downloadcrawl-ref-e828bafa67e06c97dad7b9fcf2851e6ab5b00f28.tar.gz
crawl-ref-e828bafa67e06c97dad7b9fcf2851e6ab5b00f28.zip
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
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc14
1 files changed, 13 insertions, 1 deletions
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)