00001 #ifndef FPROP_H
00002 #define FPROP_H
00003
00004 struct coord_def;
00005
00006 enum feature_property_type
00007 {
00008 FPROP_NONE = 0,
00009 FPROP_SANCTUARY_1 = (1 << 0),
00010 FPROP_SANCTUARY_2 = (1 << 2),
00011 FPROP_BLOODY = (1 << 3),
00012 FPROP_UNUSED_2 = (1 << 4),
00013 FPROP_HIGHLIGHT = (1 << 5),
00014
00015 FPROP_UNUSED = (1 << 6),
00016 FPROP_NO_CLOUD_GEN = (1 << 7),
00017 FPROP_NO_RTELE_INTO = (1 << 8),
00018 FPROP_NO_CTELE_INTO = (1 << 9),
00019 FPROP_NO_TELE_INTO = FPROP_NO_RTELE_INTO | FPROP_NO_CTELE_INTO,
00020
00021
00022 FPROP_NO_TIDE = (1 << 10),
00023 FPROP_NO_SUBMERGE = (1 << 11),
00024 FPROP_MOLD = (1 << 12),
00025 FPROP_GLOW_MOLD = (1 << 13),
00026
00027 FPROP_NO_JIYVA = (1 << 14),
00028
00029 FPROP_SEEN_OR_NOEXP = (1 << 15),
00030 };
00031
00032
00033 bool is_sanctuary(const coord_def& p);
00034 bool is_bloodcovered(const coord_def& p);
00035 bool is_tide_immune(const coord_def &p);
00036 bool is_moldy(const coord_def & p);
00037 bool glowing_mold(const coord_def & p);
00038 void remove_mold(const coord_def & p);
00039 feature_property_type str_to_fprop(const std::string &str);
00040
00041 #endif