summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/main.cc14
-rw-r--r--crawl-ref/source/player-reacts.cc2
-rw-r--r--crawl-ref/source/player.h1
3 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/main.cc b/crawl-ref/source/main.cc
index 7c99c4dc55..02316dc486 100644
--- a/crawl-ref/source/main.cc
+++ b/crawl-ref/source/main.cc
@@ -3375,6 +3375,20 @@ static void _move_player(coord_def move)
return;
}
+ if (you.duration[DUR_BARBS] && !you.props.exists(BARBS_MOVE_KEY))
+ {
+ string prompt = "The barbs in your skin will harm you if you move."
+ " Continue?";
+ if (!yesno(prompt.c_str(), false, 'n'))
+ {
+ canned_msg(MSG_OK);
+ you.turn_is_over = false;
+ return;
+ }
+
+ you.props[BARBS_MOVE_KEY] = true;
+ }
+
if (!you.attempt_escape()) // false means constricted and did not escape
return;
diff --git a/crawl-ref/source/player-reacts.cc b/crawl-ref/source/player-reacts.cc
index 010d5bec35..50f41bb2b5 100644
--- a/crawl-ref/source/player-reacts.cc
+++ b/crawl-ref/source/player-reacts.cc
@@ -1306,5 +1306,7 @@ void extract_manticore_spikes(const char* endmsg)
// Otherwise, this prevents the damage.
you.attribute[ATTR_BARBS_POW] = 0;
+
+ you.props.erase(BARBS_MOVE_KEY);
}
}
diff --git a/crawl-ref/source/player.h b/crawl-ref/source/player.h
index eb9f3301fd..e2da239e95 100644
--- a/crawl-ref/source/player.h
+++ b/crawl-ref/source/player.h
@@ -26,6 +26,7 @@
#define ICY_ARMOUR_KEY "ozocubu's_armour_pow"
#define STONESKIN_KEY "stoneskin_pow"
#define TRANSFORM_POW_KEY "transform_pow"
+#define BARBS_MOVE_KEY "moved_with_barbs_status"
class targetter;