00001 #ifndef AREAS_H 00002 #define AREAS_H 00003 00004 enum area_centre_type 00005 { 00006 AREA_NONE, 00007 AREA_SANCTUARY, 00008 AREA_SILENCE, 00009 AREA_HALO, 00010 AREA_LIQUID, 00011 }; 00012 00013 void invalidate_agrid(bool recheck_new = false); 00014 00015 class actor; 00016 void areas_actor_moved(const actor* act, const coord_def& oldpos); 00017 00018 void create_sanctuary(const coord_def& center, int time); 00019 bool remove_sanctuary(bool did_attack = false); 00020 void decrease_sanctuary_radius(); 00021 00022 coord_def find_centre_for (const coord_def& f, area_centre_type at = AREA_NONE); 00023 00024 bool silenced(const coord_def& p); 00025 00026 // Does the given point lie within a halo? 00027 bool haloed(const coord_def& p); 00028 00029 // or is the ground there liquified? 00030 bool liquefied(const coord_def& p, bool check_actual = true); 00031 00032 #endif