diff options
Diffstat (limited to 'crawl-ref/source/trap_def.h')
-rw-r--r-- | crawl-ref/source/trap_def.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/crawl-ref/source/trap_def.h b/crawl-ref/source/trap_def.h new file mode 100644 index 0000000000..90c2cc4372 --- /dev/null +++ b/crawl-ref/source/trap_def.h @@ -0,0 +1,30 @@ +#ifndef TRAP_DEF_H +#define TRAP_DEF_H + +struct trap_def +{ + coord_def pos; + trap_type type; + int ammo_qty; + + dungeon_feature_type category() const; + std::string name(description_level_type desc = DESC_PLAIN) const; + bool is_known(const actor* act = 0) const; + void trigger(actor& triggerer, bool flat_footed = false); + void disarm(); + void destroy(); + void hide(); + void reveal(); + void prepare_ammo(); + bool type_has_ammo() const; + bool active() const; + +private: + void message_trap_entry(); + void shoot_ammo(actor& act, bool was_known); + item_def generate_trap_item(); + int shot_damage(actor& act); +}; + +#endif + |