summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-transit.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-transit.cc')
-rw-r--r--crawl-ref/source/mon-transit.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-transit.cc b/crawl-ref/source/mon-transit.cc
index e04eec7805..708deae8a9 100644
--- a/crawl-ref/source/mon-transit.cc
+++ b/crawl-ref/source/mon-transit.cc
@@ -12,6 +12,7 @@
#include "artefact.h"
#include "coord.h"
#include "coordit.h"
+#include "dactions.h"
#include "dungeon.h"
#include "env.h"
#include "godcompanions.h"
@@ -244,6 +245,39 @@ void place_transiting_items()
ilist = keep;
}
+void apply_daction_to_transit(daction_type act)
+{
+ for (monsters_in_transit::iterator i = the_lost_ones.begin();
+ i != the_lost_ones.end(); ++i)
+ {
+ m_transit_list* m = &i->second;
+ for (m_transit_list::iterator j = m->begin(); j != m->end(); ++j)
+ {
+ monster* mon = &j->mons;
+ if (mons_matches_daction(mon, act))
+ apply_daction_to_mons(mon, act, false);
+ }
+ }
+}
+
+int count_daction_in_transit(daction_type act)
+{
+ int count = 0;
+ for (monsters_in_transit::iterator i = the_lost_ones.begin();
+ i != the_lost_ones.end(); ++i)
+ {
+ m_transit_list* m = &i->second;
+ for (m_transit_list::iterator j = m->begin(); j != m->end(); ++j)
+ {
+ monster* mon = &j->mons;
+ if (mons_matches_daction(mon, act))
+ count++;
+ }
+ }
+
+ return count;
+}
+
//////////////////////////////////////////////////////////////////////////
// follower