00001 /* 00002 * File: godabil.h 00003 * Summary: God-granted abilities. 00004 */ 00005 00006 #ifndef GODABIL_H 00007 #define GODABIL_H 00008 00009 #include "enum.h" 00010 #include "externs.h" 00011 #include "mon-info.h" 00012 00013 struct bolt; 00014 00015 bool zin_sustenance(bool actual = true); 00016 int zin_check_recite_to_single_monster(const coord_def& where); 00017 int zin_check_recite_to_monsters(); 00018 int zin_recite_to_single_monster(const coord_def& where, 00019 bool imprisoned = false, int pow = -1); 00020 bool zin_vitalisation(); 00021 void zin_remove_divine_stamina(); 00022 bool zin_remove_all_mutations(); 00023 bool zin_sanctuary(); 00024 00025 void tso_divine_shield(); 00026 void tso_remove_divine_shield(); 00027 00028 bool elyvilon_destroy_weapons(); 00029 void elyvilon_purification(); 00030 bool elyvilon_divine_vigour(); 00031 void elyvilon_remove_divine_vigour(); 00032 00033 bool vehumet_supports_spell(spell_type spell); 00034 00035 bool trog_burn_spellbooks(); 00036 00037 bool jiyva_can_paralyse_jellies(); 00038 void jiyva_paralyse_jellies(); 00039 bool jiyva_remove_bad_mutation(); 00040 00041 bool beogh_water_walk(); 00042 00043 bool yred_injury_mirror(); 00044 bool yred_can_animate_dead(); 00045 void yred_animate_remains_or_dead(); 00046 void yred_drain_life(); 00047 void yred_make_enslaved_soul(monster* mon, bool force_hostile = false); 00048 00049 bool kiku_receive_corpses(int pow, coord_def where); 00050 00051 bool fedhas_passthrough_class(const monster_type mc); 00052 bool fedhas_passthrough(const monster* target); 00053 bool fedhas_passthrough(const monster_info* target); 00054 bool fedhas_shoot_through(const bolt & beam, const monster* victim); 00055 int fedhas_fungal_bloom(); 00056 bool fedhas_sunlight(); 00057 bool prioritise_adjacent(const coord_def &target, 00058 std::vector<coord_def> &candidates); 00059 bool fedhas_plant_ring_from_fruit(); 00060 int fedhas_rain(const coord_def &target); 00061 int fedhas_corpse_spores(beh_type behavior = BEH_FRIENDLY, 00062 bool interactive = true); 00063 bool mons_is_evolvable(const monster* mon); 00064 bool fedhas_evolve_flora(); 00065 00066 void lugonu_bend_space(); 00067 00068 bool is_ponderousifiable(const item_def& item); 00069 bool ponderousify_armour(); 00070 void cheibriados_time_bend(int pow); 00071 int cheibriados_slouch(int pow); 00072 void cheibriados_time_step(int pow); 00073 bool ashenzari_transfer_knowledge(); 00074 bool ashenzari_end_transfer(bool finished = false, bool force = false); 00075 #endif