summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/monstuff.cc8
-rw-r--r--crawl-ref/source/religion.cc2
2 files changed, 8 insertions, 2 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 627bfe0643..5376801ed2 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -1452,7 +1452,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
@@ -1473,6 +1473,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 093aaac8fa..641d9f17cc 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -3165,7 +3165,7 @@ void offer_items()
const int value = item_value( item, true );
- if (!god_likes_item(you.religion, item))
+ if (item_is_stationary(item) || !god_likes_item(you.religion, item))
{
i = next;
continue;