summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/effects.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-10 17:38:27 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-10 17:38:27 +0000
commit1beb0abbfd7972efabd7817a0359b2c57cd91524 (patch)
tree91e514b80aaba65b2317817df1725ada648f1d21 /crawl-ref/source/effects.cc
parente5d9773c543dea310c3152f249a8c67e3d8195e3 (diff)
downloadcrawl-ref-1beb0abbfd7972efabd7817a0359b2c57cd91524.tar.gz
crawl-ref-1beb0abbfd7972efabd7817a0359b2c57cd91524.zip
Some more Stealth changes.
(1) Use diminishing returns for passive training depending on skill level. Below skill level 2, chances are unchanged; at level 2 chances are 2/3 of that, and at level 3 at 1/3. From level 4 onwards, Stealth cannot be trained by waiting anymore. (2) Active stealth training only has a 1% chance (instead of 5%) if you're sneaking around monsters while invisible (and the monster cannot see you). Add yet another function for blood potions - I sure hope this works when I eventually get around to actually use them. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4178 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/effects.cc')
-rw-r--r--crawl-ref/source/effects.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 9b08452a0d..31f93b6854 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -594,8 +594,10 @@ void direct_effect(struct bolt &pbolt)
// apply damage and handle death, where appropriate {dlb}
if (damage_taken > 0)
- ouch(damage_taken, pbolt.beam_source, KILLED_BY_BEAM,
+ {
+ ouch(damage_taken, pbolt.beam_source, KILLED_BY_BEAM,
pbolt.aux_source.c_str());
+ }
return;
} // end direct_effect()
@@ -1455,9 +1457,10 @@ bool acquirement(object_class_type class_wanted, int agent,
{
// how sad (and stupid)
if (!silenced(you.pos()) && !quiet)
+ {
mprf(MSGCH_SOUND,
grid_item_destruction_message(grd[you.x_pos][you.y_pos]));
-
+ }
item_was_destroyed(mitm[igrd[you.x_pos][you.y_pos]], NON_MONSTER);
*item_index = NON_ITEM;
}
@@ -2649,7 +2652,8 @@ void handle_time( long time_delta )
return;
}
- if (one_chance_in(18))
+ // diminishing returns for Stealth training by waiting
+ if (you.skills[SK_STEALTH] <= 2 + random2(3) && one_chance_in(18))
exercise(SK_STEALTH, 1);
}
}