summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index df3c1dd027..6cc016e777 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2389,6 +2389,13 @@ void beam_drop_object( bolt &beam, item_def *item, int x, int y )
return;
}
+ // doesn't get destroyed by throwing
+ if (item->sub_type == MI_THROWING_NET)
+ {
+ copy_item_to_grid( *item, x, y, 1 );
+ return;
+ }
+
if (YOU_KILL(beam.thrower)) // you threw it
{
int chance;
@@ -3342,6 +3349,9 @@ static int affect_player( bolt &beam )
poison_player( 1 + random2(3) );
}
}
+
+ if (beam.name.find("throwing net") != std::string::npos)
+ player_caught_in_net();
if (beam.name.find("curare") != std::string::npos)
{
@@ -3695,6 +3705,9 @@ static int affect_monster(bolt &beam, monsters *mon)
mprf(MSGCH_SOUND, "The %s hits something.", beam.name.c_str());
}
+ if (beam.name.find("throwing net") != std::string::npos)
+ monster_caught_in_net(mon);
+
// note that hurt_final was calculated above, so we don't need it again.
// just need to apply flavoured specials (since we called with
// doFlavouredEffects = false above)