diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-20 12:23:38 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-20 12:23:38 +0000 |
commit | 5b618acbca35621d699dc4ba3064f2a3228a5131 (patch) | |
tree | d5a68990291723d0252b29dd9193bce34929f50b /crawl-ref/source/spells1.cc | |
parent | 7ca7077ed3e60d71c79c22e07fd0d2491b861ca3 (diff) | |
download | crawl-ref-5b618acbca35621d699dc4ba3064f2a3228a5131.tar.gz crawl-ref-5b618acbca35621d699dc4ba3064f2a3228a5131.zip |
Added throwing nets. These still need work, and thus
are not for 0.3. Obviously.
Summary:
New item type MI_THROWING_NET.
The enchantment of a net describes its state, i.e.
whether it's brand-new or almost falling apart
(happens at -8).
New attribute ATTR_CAUGHT (for monsters ENCH_CAUGHT)
that means the victim cannot move and instead
struggles against the net until it manages to wriggle
out of it (takes a while depending on size) or it
is destroyed.
Monsters can still use items and spells when trapped.
New trap type TRAP_NET that currently is the only
source of throwing nets, though Gladiators (and some
types of hunters maybe?) should start with a few, and
David suggested also allowing the creation of nets
for shops.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2020 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spells1.cc')
-rw-r--r-- | crawl-ref/source/spells1.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc index 85107a9165..2ff342aa70 100644 --- a/crawl-ref/source/spells1.cc +++ b/crawl-ref/source/spells1.cc @@ -117,6 +117,9 @@ int blink(int pow, bool high_level_controlled_blink) } else { + if (you.attribute[ATTR_CAUGHT]) + you.attribute[ATTR_CAUGHT] = 0; + move_player_to_grid(beam.tx, beam.ty, false, true, true); // controlling teleport contaminates the player -- bwr @@ -164,6 +167,9 @@ void random_blink(bool allow_partial_control, bool override_abyss) else { mpr("You blink."); + + if (you.attribute[ATTR_CAUGHT]) + you.attribute[ATTR_CAUGHT] = 0; succ = true; you.moveto(tx, ty); |