diff options
-rw-r--r-- | crawl-ref/source/monstuff.cc | 8 | ||||
-rw-r--r-- | crawl-ref/source/religion.cc | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 01d3cb959d..79bbab27f1 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -1352,7 +1352,7 @@ static bool habitat_okay( const monsters *monster, int targ ) // This doesn't really swap places, it just sets the monster's // position equal to the player (the player has to be moved afterwards). -// It also has a slight problem with the fact the if the player is +// It also has a slight problem with the fact that if the player is // levitating over an inhospitable habitat for the monster the monster // will be put in a place it normally couldn't go (this could be a // feature because it prevents insta-killing). In order to prevent @@ -1373,6 +1373,12 @@ bool swap_places(monsters *monster) int loc_y = you.y_pos; const int mgrid = grd[monster->x][monster->y]; + + if (monster->has_ench(ENCH_HELD)) + { + simple_monster_message(monster, " is held in a net!"); + return (false); + } const bool mon_dest_okay = habitat_okay( monster, grd[loc_x][loc_y] ); const bool you_dest_okay = diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 0541984f4d..092960941b 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -2965,7 +2965,7 @@ void offer_items() const int value = item_value( item, true ); - if (!god_likes_item(you.religion, mitm[i])) + if (item_is_stationary(item) || !god_likes_item(you.religion, mitm[i])) { i = next; continue; |