00001
00002
00003
00004
00005
00006
00007
00008 #ifndef EFFECTS_H
00009 #define EFFECTS_H
00010
00011 struct bolt;
00012
00013 class monster;
00014 struct item_def;
00015
00016 void banished(dungeon_feature_type gate_type, const std::string &who = "");
00017
00018 bool forget_spell(void);
00019
00020 int mushroom_prob(item_def & corpse);
00021
00022 bool mushroom_spawn_message(int seen_targets, int seen_corpses);
00023
00024 int spawn_corpse_mushrooms(item_def &corpse,
00025 int target_count,
00026 int & seen_targets,
00027 beh_type toadstool_behavior = BEH_HOSTILE,
00028 bool distance_as_time = false);
00029
00030 struct mgen_data;
00031 int place_ring(std::vector<coord_def>& ring_points,
00032 const coord_def& origin,
00033 mgen_data prototype,
00034 int n_arcs,
00035 int arc_occupancy,
00036 int& seen_count);
00037
00038 class los_base;
00039
00040
00041 void collect_radius_points(std::vector<std::vector<coord_def> > &radius_points,
00042 const coord_def &origin, const los_base* los);
00043
00044 void random_uselessness(int scroll_slot = -1);
00045
00046 bool recharge_wand(const int item_slot = -1, bool known = true);
00047
00048 void direct_effect(monster* src, spell_type spl, bolt &pbolt, actor *defender);
00049
00050 void yell(bool force = false);
00051
00052 int holy_word(int pow, int caster, const coord_def& where, bool silent = false,
00053 actor *attacker = NULL);
00054
00055 int holy_word_player(int pow, int caster, actor *attacker = NULL);
00056 int holy_word_monsters(coord_def where, int pow, int caster,
00057 actor *attacker = NULL);
00058
00059 int torment(int caster, const coord_def& where);
00060
00061 int torment_player(int pow, int caster);
00062 int torment_monsters(coord_def where, int pow, int caster,
00063 actor *attacker = NULL);
00064
00065 void immolation(int pow, int caster, coord_def where, bool known = false,
00066 actor *attacker = NULL);
00067
00068 void conduct_electricity(coord_def where, actor *attacker);
00069
00070 void cleansing_flame(int pow, int caster, coord_def where,
00071 actor *attacker = NULL);
00072
00073 void change_labyrinth(bool msg = false);
00074
00075 bool vitrify_area(int radius);
00076 void update_corpses(int elapsedTime);
00077 void update_level(int elapsedTime);
00078 void handle_time();
00079 void recharge_rods(int aut, bool floor_only);
00080
00081 void slime_wall_damage(actor* act, int delay);
00082
00083 #endif