diff options
Diffstat (limited to 'crawl-ref/source/dgnevent.h')
-rw-r--r-- | crawl-ref/source/dgnevent.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/crawl-ref/source/dgnevent.h b/crawl-ref/source/dgnevent.h index 61134966b7..77791528b4 100644 --- a/crawl-ref/source/dgnevent.h +++ b/crawl-ref/source/dgnevent.h @@ -15,15 +15,18 @@ // Keep event names in luadgn.cc in sync. enum dgn_event_type { - DET_NONE = 0x0000, + DET_NONE = 0x0000, - DET_TURN_ELAPSED = 0x0001, - DET_MONSTER_MOVED = 0x0002, - DET_PLAYER_MOVED = 0x0004, - DET_LEAVING_LEVEL = 0x0008, - DET_ENTERING_LEVEL = 0x0010, - DET_PLAYER_IN_LOS = 0x0020, // Player just entered LOS. - DET_PLAYER_CLIMBS = 0x0040 // Player climbing stairs. + DET_TURN_ELAPSED = 0x0001, + DET_MONSTER_MOVED = 0x0002, + DET_PLAYER_MOVED = 0x0004, + DET_LEAVING_LEVEL = 0x0008, + DET_ENTERING_LEVEL = 0x0010, + DET_PLAYER_IN_LOS = 0x0020, // Player just entered LOS. + DET_PLAYER_CLIMBS = 0x0040, // Player climbing stairs. + DET_MONSTER_DIED = 0x0080, + DET_ITEM_PICKUP = 0x0100, + DET_FEAT_CHANGE = 0x0200 }; class dgn_event @@ -32,11 +35,12 @@ public: dgn_event_type type; coord_def place; int elapsed_ticks; + long arg1, arg2; public: dgn_event(dgn_event_type t, const coord_def &p = coord_def(), - int ticks = you.time_taken) - : type(t), place(p), elapsed_ticks(ticks) + int ticks = you.time_taken, long a1 = 0, long a2 = 0) + : type(t), place(p), elapsed_ticks(ticks), arg1(a1), arg2(a2) { } }; @@ -88,6 +92,7 @@ public: void move_listeners(const coord_def &from, const coord_def &to); void fire_position_event(dgn_event_type et, const coord_def &pos); + void fire_position_event(const dgn_event &e, const coord_def &pos); void fire_event(dgn_event_type et); void fire_event(const dgn_event &e); |