From b2ab02a8348c2ea560a72a62a773c0a0d6820734 Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Fri, 27 Nov 2009 16:53:38 +0100 Subject: Move trap_def from externs.h to trap_def.h. --- crawl-ref/source/env.h | 1 + crawl-ref/source/externs.h | 41 ++++++----------------------------------- crawl-ref/source/trap_def.h | 30 ++++++++++++++++++++++++++++++ crawl-ref/source/traps.cc | 2 +- crawl-ref/source/traps.h | 1 + 5 files changed, 39 insertions(+), 36 deletions(-) create mode 100644 crawl-ref/source/trap_def.h (limited to 'crawl-ref') diff --git a/crawl-ref/source/env.h b/crawl-ref/source/env.h index a104a85e96..1f3c02f142 100644 --- a/crawl-ref/source/env.h +++ b/crawl-ref/source/env.h @@ -4,6 +4,7 @@ #include "map_knowledge.h" #include "monster.h" #include "show.h" +#include "trap_def.h" struct crawl_environment { diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index ac43447fe8..979e7f81a7 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -82,6 +82,12 @@ class melee_attack; struct coord_def; class level_id; class player_quiver; +class map_marker; +class actor; +class player; +class monster; +class KillMaster; +class ghost_demon; struct coord_def { @@ -552,14 +558,8 @@ public: PlaceInfo operator - (const PlaceInfo &other) const; }; - typedef std::vector delay_queue_type; -class KillMaster; - - - - class monster_spells : public FixedVector { public: @@ -569,35 +569,6 @@ public: void clear() { init(SPELL_NO_SPELL); } }; -class ghost_demon; -class actor; - -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); -}; - -class map_marker; class reader; class writer; class map_markers 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 + diff --git a/crawl-ref/source/traps.cc b/crawl-ref/source/traps.cc index eb509420a3..6ec12832cd 100644 --- a/crawl-ref/source/traps.cc +++ b/crawl-ref/source/traps.cc @@ -6,8 +6,8 @@ #include "AppHdr.h" -#include "externs.h" #include "traps.h" +#include "trap_def.h" #include diff --git a/crawl-ref/source/traps.h b/crawl-ref/source/traps.h index 1fe167040f..7d761e85d2 100644 --- a/crawl-ref/source/traps.h +++ b/crawl-ref/source/traps.h @@ -12,6 +12,7 @@ struct bolt; class monsters; +struct trap_def; void disarm_trap(const coord_def& where); void remove_net_from( monsters *mon ); -- cgit v1.2.3-54-g00ecf