diff options
-rw-r--r-- | crawl-ref/source/misc.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/traps.cc | 3 | ||||
-rw-r--r-- | crawl-ref/source/view.cc | 10 |
3 files changed, 13 insertions, 1 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index 161bb3bfde..f2ef0b10e1 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -299,6 +299,7 @@ void search_around( bool only_adjacent ) { grd[srx][sry] = trap_category(env.trap[i].type); mpr("You found a trap!"); + exercise(SK_TRAPS_DOORS, ((coinflip()) ? 2 : 1)); } else { diff --git a/crawl-ref/source/traps.cc b/crawl-ref/source/traps.cc index 35b7880c8e..2635663816 100644 --- a/crawl-ref/source/traps.cc +++ b/crawl-ref/source/traps.cc @@ -461,6 +461,9 @@ void handle_traps(trap_type trt, int i, bool trap_known) break; } learned_something_new(TUT_SEEN_TRAP, you.x_pos, you.y_pos); + + if (!trap_known) // Now you know... + exercise(SK_TRAPS_DOORS, ((coinflip()) ? 2 : 1)); } // end handle_traps() void disarm_trap( struct dist &disa ) diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc index 0c4d5044f8..721aab0e38 100644 --- a/crawl-ref/source/view.cc +++ b/crawl-ref/source/view.cc @@ -60,6 +60,7 @@ #include "overmap.h" #include "player.h" #include "religion.h" +#include "skills.h" #include "skills2.h" #include "stuff.h" #include "spells4.h" @@ -1201,7 +1202,14 @@ bool check_awaken(monsters* monster) if (mons_perc < 0) mons_perc = 0; - return (random2(stealth) <= mons_perc); + if (random2(stealth) <= mons_perc) + return (true); // Oops, the monster wakes up! + + // You didn't wake the monster! + if (one_chance_in(20)) + exercise(SK_STEALTH, 1); + + return (false); } // end check_awaken() static void set_show_backup( int ex, int ey ) |