summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dgnevent.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/dgnevent.cc')
-rw-r--r--crawl-ref/source/dgnevent.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/crawl-ref/source/dgnevent.cc b/crawl-ref/source/dgnevent.cc
index 96d87fecc4..20533a5cc5 100644
--- a/crawl-ref/source/dgnevent.cc
+++ b/crawl-ref/source/dgnevent.cc
@@ -2,7 +2,7 @@
* File: dgnevent.cc
* Summary: General dungeon events.
*
- * Modified for Crawl Reference by $Author: dshaligram $ on $Date: 2007-07-20T11:40:25.964128Z $
+ * Modified for Crawl Reference by $Author$ on $Date$
*
*/
@@ -41,11 +41,17 @@ bool dgn_event_dispatcher::has_listeners_at(const coord_def &pos) const
void dgn_event_dispatcher::fire_position_event(
dgn_event_type event, const coord_def &pos)
{
+ const dgn_event et(event, pos);
+ fire_position_event(et, pos);
+}
+
+void dgn_event_dispatcher::fire_position_event(
+ const dgn_event &et, const coord_def &pos)
+{
dgn_square_alarm *alarm = grid_triggers[pos.x][pos.y].get();
- if (alarm && (alarm->eventmask & event))
+ if (alarm && (alarm->eventmask & et.type))
{
dgn_square_alarm alcopy = *alarm;
- const dgn_event et(event, pos);
for (std::list<dgn_event_listener*>::iterator
i = alcopy.listeners.begin();
i != alcopy.listeners.end(); ++i)
@@ -53,6 +59,7 @@ void dgn_event_dispatcher::fire_position_event(
(*i)->notify_dgn_event(et);
}
}
+
}
void dgn_event_dispatcher::fire_event(const dgn_event &e)